воскресенье, 12 ноября 2017 г.

proxmox 5.1 best practis windows 2016



Если долго мучиться, что-нибудь получится! В данной статье будут рекомендации по оптимизации работы виртуалок с Windows 2016. Этого нет в официальных источниках. А если оставить дефолтные настройки, можно схлопотать нехилые лаги при нагрузке. Основной упор делается на паравиртуализацию виртуалок. В случае lvm-thin можно еще включить Discard  в самом LVM.

- Gues OS: Type - Windows; Version - 10/2016
- Memory: Use fixed size memory (если выбрать динамическую, будут фризы)
- CPU: Enable NUMA - yes; Type - host (NUMA - чутка добавляет производительности, как и host)
- Bus/Device: VirtIO SCSI (sinngle)
- Cache: Write back
- Discard - YES
- Storage: local-lvm (or local-zfs, or RAW disk)
- IO Thread - YES
- Network model: VirtIO (paravirtualized)


Фанатам голого QEMU+KVM посвящается

[Unit] Description=Windows 7 Professional amd64 Wants=network.target After=network.target [Service] ExecStartPre=/sbin/setcap cap_net_admin+ep /usr/lib/qemu/qemu-bridge-helper ExecStart=/usr/bin/kvm -nodefaults \ -vga std \ -rtc base=localtime \ -cpu host -smp cores=2,threads=1 -m 2048 \ -vnc 127.0.0.1:3 \ -boot c \ -monitor unix:/var/lib/kvm/monitors/win7-amd64.sock,server,nowait \ -usbdevice tablet \ -balloon virtio \ -netdev bridge,id=hn0,br=br0 \ -device virtio-net-pci,netdev=hn0,id=nic0,mac=DE:AD:BE:EF:A9:6E \ -drive file=/var/lib/kvm/images/virtio-win.iso,media=cdrom \ -drive file=/var/lib/kvm/images/win7-amd64.qcow2,if=none,id=drive0 \ -object iothread,id=iothread0 \ -device virtio-scsi-pci,iothread=iothread0,id=scsi0 \ -device scsi-hd,bus=scsi0.0,drive=drive0 ExecStop=-/bin/sh -c "echo system_powerdown | socat - UNIX-CONNECT:/var/lib/kvm/monitors/win7-amd64.sock > /dev/null 2>&1" KillMode=none PermissionsStartOnly=true TimeoutStopSec=3600 Restart=on-failure User=kvm [Install] WantedBy=multi-user.target

пятница, 10 ноября 2017 г.

Переезд с Promxox 5.1 на vmware 6.5, и знакомство с ним!

Давеча на производстве потребовался гипервизор, чтобы развернуть на нем виртуальные машины для производственных нужд. Ввиду своей любви к OpenSource, я поставил на сервер Proxmox 5.1, и был страшно разочарован низкой производительностью дисковой системы виртуальных машин с ОС Windows. Постоянно были BSOD, фризы и не выдает всю мощь железо.

Довольно часто слышал позитивные отзывы о VMWare, поэтому в оперативном порядке пришлось перейти на него. Не все так просто, как бы этого хотелось, поэтому пишу эту заметку тем (и для себя), кто надумает переезжать на VMWare 6.5. Если решились на vmware, будьте готовы к трудностям, и разминайте булки.

В Proxmox необходимо сконвертировать диски виртуальных машин в .vmdk файлы, чтобы было потом проще их добавлять в vmware.

В VMWare имеется Compability list, чтобы узнать, есть ли поддержка имеющегося железа. К сожалению,  в списке не было Супернегра x9dr3-f, поэтому пришлось действовать на свой страх и риск. Могу сказать одно. Завелось. Причем, не просто завелось, а все работает как надо. Теперь по порядку.

1. Регистрируемся на сайте VMWare (заполняем анкету на запрос ключа)
2. Заходим сюда и скачиваем VMware vSphere Hypervisor (ESXi ISO) image (Includes VMware Tools)
3. Записываем на флешку
4. загружаем сервер с флешки
5. Устанавливаем (установка довольно примитивная, в стиле Далее-Далее-Готово)
6. Перезагружаем сервер

В 6.5 довольно хорошо поработали над web-мордой сервера, но некоторые функции пришлось делать через любимую консоль-пердоль.

Подключаем NFS-шару (на которой диски виртуалок)

1. В случае если с веб-морды не получается подрубить NFS-шару, необходимо залогиниться по SSH, и сделать это посредством команды:

esxcfg-nas -a nas-share -o 10.1.1.20 -s /volume1/nfs-back

Перенос созданных виртуальные машины на новый гипервизор

1. Необходимо создать виртуальную машину (достаточно простой мастер, описывать нет смысла)

2. После создания виртуалки, необходимо подключить ранее сохраненные файлы дисков виртуальных машин.
Нельзя так просто взять и подрубить файл диска, его нужно сначала импортировать. Если этого не сделать, будет ошибка импорта.

3. Импорт диска выполняется командой:

vmkfstools -i /vmfs/volumes/nas-share/vm1/vm1.vmdk /vmfs/volumes/datastore1/vm-1/vm.vmdk

После импорта, необходимо кликнуть ПКМ на новую виртуальнмую машину, выбрать Edit settings, нажать Add hard dis -> Add existing hard drive
Выбрать диск, и нажать Save.
Всё, на этом виртуалка готова, можно нажать Run, и она запустится. Хотя, нет, не все. Без VMWare Tools виртуалка будет иметь ряд ограничений. После загрузки виртуалки, в панели управления VMWare кликаем ПКМ по виртуалке, выбираем Guest -> Install VMWare tools
Если виртуалка вендовая, появится еще один виртуальный CD-ROM, и нужно будет запустить файл Setup.exe (тоже Далее-Далее-Готово). Перезагрузка, и наслаждаемся. Также рекомендуется устанавливать VMWare Tools, чтобы виртуальная машина могла принимать сигнал shutdown, а не жестко выключаться.


На этом настройка гипервизора не закачивается. Нужно же еще настроить автозапуск виртуалок при загрузке физического сервера.

Идём в Manage -> Autostart -> Edit settings (Enable - YES)
и по личному усмотрению выставить таймауты включения и выключения. Данные таймауты универсальны, но можно настроить персонально для каждой виртуалке.

После включения возможности автозапуска виртуалок, нужно включить эту опцию в конкретных виртуальных машинах. Для этого достаточно кликнуть ПКМ -> Autostart -> Enable

Теперь виртуалки включаются автоматически. Не стоит забывать о возможности отключения электроэнергии, поэтому необходимо настроить корректное завершение работы сервера при низком заряде батареи ИБП.

В случае с ИБП от компании APC  все гораздо проще, но в данном кейсе подключаем Ippon innova RT1000 к VMWare
Можно прочитать официальный мануал, а можно последовать краткой форме написанной ниже



Не много оффтопа. Для управления гипервизором понадобится VMware vSphere Management Assistant (vMA). В 6.5 планировали выпилить vMA, но все же оставили. Поэтому идем сюда и качаем zip-архив. Создаем виртуалку (SLES 11), импортируем .vmdk файл, подключаем его, и получаем рабочую vMA. Сосстно vMA и будет вырубать гипервизор, если вдруг чего.

Через веб-интерфейс подключаемся к vMA, включаем ssh, логинимся по ssh

ssh vi-admin@ip-address-of-vma

качаем Winpower

wget http://www.ups-software-download.com/winpower/data/Linux%20AMD64/Winpower_setup_LinuxAMD64.tar.gz

tar -xvf Winpower_setup_LinuxAMD64.tar.gz
cd Winpower_setup_LinuxAMD64/

настраиваем права на каталоги

sudo chmod -R 777 InstallerData
sudo chmod -R 777 LinuxAMD64

устанавливаем winpower (может запросить ключ, он гуглим)

sudo ./setup_console.bin

#перезагружаем vma

reboot

Снова логинимся по ssh, добавляем текущий хост (или несколько хостов, если один ИБП запитывает не один физический сервер)

cd /opt/MonitorSoftware/
sudo ./config.pl
вбиваем ip физ.сервера, логин и пароль.
Чекаем
cat hostlist
Должно быть что-то такое
172.10.13.9 root Sn9PvJ1d=

Ехал Linux через Windows

Теперь надо настроить с вендовой машины работу wipower в vma (Устанавока в венду Winpower проходит быстро, тоже Далее-Далее-Готово).  На этом мне дальше лень вдаваться в подробности.