Планета Calculate

Облако тэгов

звуковые карты wi-fi udev news полезное работа mail swap abi_x86_32 KDE5 xsel серые листы winbind tracker ДНК cld cp1251 live-flash valve syslog QupZilla kvm cairo-dock автологин настройка цветов принтера freerdp mpg123 форматирование текста профиль пользователя bonding book dwm NetworkManager apvlv CLDG qemu rtorrent uptime rutorrent ati autologin ccze asus n10j press радио mailman BINHOST builder persistence icons bash CSS клавиатура kde5 cldg strategy benchmark форум lm_sensors screenshot alpha пресса feh tun slim maillist lighttpd шаблоны домашний сервер Gnome3 hdmi CSC remoteapp zswap networking flashplayer atom n270 Книги foto тема pam power KDE dhcpcd android textile bond Tor elogv многопоточная закачка asus revision tint browser ati-drivers asterisk lirc vaio games desktop ups ускорение Xorg windows MultiTail BugTracker cpu family mplayer реестр PowerTOP su ПО RT mencoder package unmasking установка net cl-builder vulnerability blog tint2 программист LXC qrencode сайт утилитки на Icon EFI ControlMaster помощь день рождение LXD рассылка man LTE фидонет pre qupzilla db Calculate E17 wiki umd persistence-mode mirrorselect aufs xfce оптимизация AMD bootchart cryptsetup pxe birthday obmenu доступ rdp emerge radeon pf-kernel udisks ntfs-3g xen grub openbox midori кодировка CP1251 настройка цветов сканера beta keyboard systemd-udevd Calculate package sound gcc handbook ini.env grc MATE kernel pwkl cds командная строка firefox mate make.conf XZ kernek win7 acl jabber recordmydesktop windows 7 tweaks autounmask ext4 minicom двойная загрузка #calculatelinux linux tbn bug виртуализация benchmarking raid Firefox hibernate calculate2 w2k3 маршрутизатор gnome vpn support calculate-install-gui calculate utilities glx-dock CLC 4G calculate utils otter features profile Windows 7 Huawei new tools CDS dns dhcp настройка цветов фотоаппарата Calculate Linux Enlightenment сглаживание udisks-glue reader цветовой профиль icc фидо перенесено костыли распространение pdf cmc dropbox kde xfce pastebin twitter ssh шрифт authentication cls канал wget uksm LVM world мышка день программиста Midnight Commander sudo kde nano calculate-sources templates temperature pitivi calculate 2.2 portage CMC xchat ПДУ howto theme звук dvcs meta djvu cl-update-profile X linuxdcpp 1C postgresql apache fontconfig lcdfilter fonts шрифты DPI atheros9285 ratigan монитор экран разрешение sony smplayer описание tuxonice flags optimization fonts bluetooth uefi VirtualBox nm-applet weechat 11.6 backdor qr-code alsa torrent tail forum интервью Audio utilities donation сеты monitoring распространение программ systemd Office security загрузчик dhcp binhost Скоростной алгоритм сжатия LZ4 TV GSC canto браузер CL14 xxkb участие USE samba screensaver MyRuLib lto distro xbmc keyexec python3 Снобизм stage luks UTF-8 оптимизация linux lautre дизайн energy saving plan репозиторий Summer Camp 3G курсор мыши install Calculate Utilities Библиотека shorewall gnome3 GPT steam производительность gentoo vlc p2p mp3 Plasma plugn ldap screencast icon w2k8 mc lvm Compose установка Icon в Calculate nexus repo git team CLDC Atheros XFCE cldm сборка из исходников openssh pulseaudio pgo помощь проекту CLDM liveusb ppp0 tap mouse vim перемещаемые профили cl-kernel iptables mirror android kde mtp livecd Gnome cpp livedvd установка linux e4rat calculate3 начало update caffeine binary code dns calculate linux antivirus free documentation calculate-install dmidecode kde и многопоточный звук codelite euse CLSK rip grub2 интернет unclutter freshplayerplugin hdd most openrc container release Либрусек acoola новости SSD bsa font iphone dconf btrfs E17 nut настройка цветов монитора план RSS безопасность ebuild ядро gnome 2 github ncurses почта удаленная сеть qutim разработка xorg packages openldap udisks template calculate postfix ffmpeg ubuntu clementine глобальное меню загрузка CL17 CLSL EAPI 2 CLS обмен опытом E17 Calculate telegram chromium OpenRC Timeless overlay libvirt создание подсветки синтаксиса bittorrent АТС nouveau network calculate-utils developers вакансия ParaType facebook locale Desktop eudev DNA irc оптимизация ядра CDS настройка linux atheros calculate linux obconf automagic pptp MidnightCommander cl-console-bg cl CLDX linux CLDL internet history objecticon видео blueman firewall layout Zen softraid CLD подсветка синтаксиса video python dmix debian localepurge google talk-plugin smart блог bash-completion кеширование proxy Icon Calculate USB Creator Calculate Linux Spamassassin брелок programming сервер Cinnamon unicode

Установка Windows на QEMU/KVM с использованием libvirt

Добавил(а) Mikhail Hiretsky 3 месяца назад

Хотим мы того или нет, но программное обеспечение, для которого необходима Windows, никуда из офисов не исчезло. В ситуации, когда его использование необходимо лучше всё же иметь виртуальную ОС.

Один из вариантов - это выделенная машина, на которой будут запускаться виртуальные. Для решения такой задачи подходит связка libvirt и qemu, в которой libvirt служит для управления виртуальными машинами, а qemu обеспечивает виртуализацию.

Настройка хост машины

Под хост машиной подразумевается компьютер, на котором будет выполняться виртуальная машина.

Установка программного обеспечения

Устанавливаем пакет app-emulation/libvirt (он вытянет все зависимости, включая app-emulation/qemu)

emerge libvirt

Настройка сети

Один из вариантов подключение виртуальной машины - через мост хоста. В этом случае виртуальные машины смогут находится в основной локальной сети, и получать настройки от DHCP сервера. Для этого выполним настройку сети в /etc/conf.d/net.

config_eth0="null" 
bridge_br0="eth0" 
config_br0="dhcp" 
bridge_forward_delay_br0_1=0
bridge_hello_time_br0_1=1000
bridge_stp_state_br0_1=0

или в случае статического IP адреса 192.168.1.10/24 со шлюзом 192.168.1.1

config_eth0="null" 
bridge_br0="eth0" 
config_br0="192.168.1.10/24" 
routes_br0="default via 192.168.1.1" 
bridge_forward_delay_br0_1=0
bridge_hello_time_br0_1=1000
bridge_stp_state_br0_1=0

После изменения /etc/conf.d/net удалим /etc/init.d/net.eth0 и создадим /etc/init.d/net.br0

rm /etc/init.d/net.eth0
ln -sf /etc/init.d/net.lo /etc/init.d/net.br0
/etc/init.d/net.br0 restart

Запуск сервера виртуальных машин

Добавим модуль tun в автозагрузку

echo tun > /etc/modules-load.d/libvirt.conf

Запустим /etc/init.d/libvirtd и добавим его в автозапуск.

/etc/init.d/libvirtd start
rc-update add libvirtd

Подключение к серверу виртуальных машин

Для настройки и запуска виртуальных машин будем использовать программу virt-manager, из пакета app-emulation/virt-manager.

Для того, чтобы подключить к серверу виртуальных машин на удалённом хосте, выбираем "Файл->Добавить соединение". В открывшемся окне выбираем "Удалённое подключени", Тип SSH, Пользователь root, узел - адрес удалённого хоста. При подключении будет запрошен пароль - нужно ввести пароль пользователя root удалённого хоста.

Для того, чтобы постоянно не спрашивался пароль root, можно настроить мультиплексирование ssh ~/.ssh/config:

Host *
  ControlMaster auto
  ControlPersist 1h
  ControlPath ~/.ssh/cm_socket/%r@%h:%p

Или же настроить вход по ключу

ssh-keygen
ssh-copy-id root@ip_хоста

Создание виртуальной машины

Выполняем ПКМ на строке подключения к серверу виртуальных машин и выбираем "Создать".

Выбираем Локальный ISO, переходим к следующему шагу, на котором выбираем тип операционной системы и нажимаем обзор для выбора iso образа.

При выборе ISO образа откроется диалоговое окно для выбора хранилища. Прежде, чем выбрать образ необходимо добавить каталог в котором он находится как хранилище. Нажимаем кнопку "Добавить пул" в нижнем левом углу. Вписываем название и путь. Выбираем хранилище в левой части окна и из списка томов выбираем необходимый iso образ.

Выбираем память и количество процессоров (в дальнейшем можно будет изменить в настройках виртуальной машины).

На следующем шаге необходимо настроить жёсткий диск. Выбираем пункт "Выбрать или создать дополнительное пространство данных". Нажимем кнопку "Настроить".

Снова откроется диалоговое хранилища томов. Добавляем каталог, как уже делали ранее для ISO - здесь будут находится образы жёстких дисков виртуальной машины. Нажимаем "Создать том" и выбираем параметры жёсткого диска.

Выбираем созданный образ из списка и переходим к завершающему шагу, после которого запуститься виртуальная машина, в которой выполняем обычную установку Windows.

После установки с системой можно будет работать через интерфейс гипервизора, или же настроить на ней rdp.

Настройка Windows

Отключение обновлений

  • Нажимаем клавиши Win+R, вводим services.msc в окно «Выполнить» и нажимаем Enter. Откроется окно «Службы».
  • Находим в списке службу «Центр обновления Windows» (Windows Update), дважды кликаем по ней.
  • Нажимаем «Остановить» и выбираем тип запуска «Отключена».

RDP доступ

Сам по себе удалённый рабочий стол на операционной системе Windows 10 не запускается, ему ещё необходимо разрешить подключение по протоколу RDP:

  • Заходим в панель управления и щёлкаем по пункту Система.
  • Слева будет список, в котором нужно выбрать Настройка удалённого доступа.

Откроется окно Параметры, в котором кликаем по пункту Разрешить удалённые подключения к этому компьютеру и Разрешить подключения удалённого помощника к этому компьютеру. Лучше конкретно прописывать тех пользователей, которые будут подключаться к машине. Также есть возможность специально создавать пользователя, для которого будет актуальна настройка рабочего стола. Убираем галку "Разрешить подключение только..."

Изменить тип сети для с публичной на частную

Один из способов, заключается в том, чтобы использовать стандартные возможности в настройках Windows 10.

  • Делаем ЛКМ на значке сети в трее и в меню выбираем команду "Сетевые параметры"
  • Делаем клик на "Ethernet" (или на WiFi) и в правой панели кликаем на имени адаптера
  • В самом верху нового экрана (свойства адаптера) включаем (или выключаем) переключатель, Положение "Вкл" изменяет тип сети на "Частная". Положение "Выкл" изменяет тип сети на "Общедоступная".

Удалённое подключение

Подключить rdp терминал можно следующим образом:
rdesktop <ip-адрес-windows> -u <имя пользователя> -p <пароль> -g <размер-окна>
  • ip-адрес-windows - это IP адрес машины
  • имя пользователя - логин в windows
  • пароль - пароль для windows
  • размер окна - например 1400x900

Или настроить подключение через remmina

Возможные проблемы

Во время запуска виртуальной машины можно получить сообщение с ошибкой

internal error: process exited while connecting to monitor: qemu-system-x86_64

В этом случае нужно остановить libvird и перезагрузить модули kvm

/etc/init.d/libvirtd stop
rmmod kvm-amd
rmmod kvm-intel
rmmod kvm
modprobe -a kvm-intel kvm-amd kvm
/etc/init.d/libvirtd start

KVM не работает одновременно с виртуализацией VirtualBox

В случае, если виртуальная машина сильно тормозит - убедитесь, что в BIOS включена поддержка аппаратной виртуализации, а виртуальная машина использует гипервизор KVM. Это можно увидеть в параметрах машины, на вкладке обзор.

rdp.jpg (165,46 КБ)

kvm_windows.jpeg (31,4 КБ)

creating_hdd.jpeg (19,32 КБ)

cpu_mem2.jpeg (23,97 КБ)

win10.jpeg (49,43 КБ)

select_iso_pool2.jpeg (33,94 КБ)

select_iso_in_pool2.jpeg (35,31 КБ)

select_hdd_pool2.jpeg (35,24 КБ)

add_connect.jpeg (22,68 КБ)

remmina.jpeg (27,94 КБ)

install_qemu_kvm.jpg (11,53 КБ)

hypervisorkvm.png (67 КБ)


Комментарии

Comment

Добавил(а) Виктор Кустов 3 месяца назад

Статья об установке Windows имеет номер 666. Совпадение? Не думаю.

Comment

Добавил(а) Igor Kadomtsev 3 месяца назад

Не получилось диски пробросить из хоста в виртуалку
Вот про это было бы интересно прочитать

Comment

Добавил(а) amartog none 3 месяца назад

Виктор Кустов писал(а):

Статья об установке Windows имеет номер 666. Совпадение? Не думаю.

во-во...

Comment

Добавил(а) Алексей Долотов 3 месяца назад

Хорошая статья. Настраивал и работал примерно с такой схемой. Единственное что не пытался делать это пробрасывать устройства usb в виртуальную машину.

Comment

Добавил(а) Igor Kadomtsev 3 месяца назад

Алексей Долотов писал(а):

Хорошая статья. Настраивал и работал примерно с такой схемой. Единственное что не пытался делать это пробрасывать устройства usb в виртуальную машину.

Не получилось ни usb ни диски увидеть. Для этого надо ядро пересобирать и какие-то сторонние утилиты ставить :(

Comment

Добавил(а) Юрий Мурашко 3 месяца назад

А следующей статьёй тоже самое но про удалённую работу с любым linux в графическим окружением пожалуйста.

Comment

Добавил(а) B. X. 2 месяца назад

А может лучше модули Virtualbox сделать подключаемыми по умолчанию? И проще и быстрее. Здесь же столько лишних движений надо сделать... и зачем, если Virtualbox просто работает...

Добавлено:
Впрочем, ещё один инструмент не помешает, учитывая что это всё полностью свободно и бесплатно... жаль только, что в Virtualbox'е всё просто и понятно, а здесь нужно всё расписывать... вроде бы всё как раз наоборот должно быть... Кстати, а почему не XEN использовать? Интересно, сложно было бы превратить Calculate во что-то наподобие Qubes OS? Вот там и безопасность и Windows и удобство обновления (основное ядро минимально, а программы можно отдельно обновлять).

Ещё было бы интересно почитать про docker и как бы иметь разные "почти полноценные" дистрибутивы не тратя на это много ресурсов...

Спасибо!