Kvm панель управления сервером
После установки оборудования не обязательно приезжать в дата-центр для его технического обслуживания. Можно воспользоваться IP-KVM для удалённого доступа к серверу. В ежемесячную плату включены 10 часов использования IP-KVM.
Для работы с внешними KVM требуется установить ПО Java согласно инструкции установка Java для работы с внешними KVM.
Можно делегировать обслуживание размещенного оборудования специалистам инженерно-технического отдела Selectel в рамках дополнительной услуги Удаленное обслуживание оборудования.
Настройка сетевого моста
Переходим к настройке сетевого моста, это необходимо для того, что бы интегрировать виртуальные машины в ту же сеть что и хост. В веб интерфейсе переходим переходим во вкладку “Networking”, затем нажимаем на кнопку “Add Bridge”:
В открывшемся окне необходимо вписать название создаваемого сетевого интерфейса, можно оставить и по умолчанию “bridge0”, я же назову его сокращенно “br0”, затем необходимо выбрать интерфейс, в моем же случае он один “enp0s3”. После чего нажимаем кнопку “Apply”:
После проведенных манипуляций, у вас должен появится интерфейс с вашим именем, в моем же случае это “br0”, а интерфейс “Ethernet” должен отключится:
Не работает клавиатура в консоли KVM
Попробуйте выполнить сброс устройства KVM. Для этого авторизуйтесь в веб-интерфейсе KVM, перейдите в раздел «Maintenance» и выполните сброс. Обычно данный пункт носит название «Unit Reset», «Reset USB». Через 2 минуты после сброса проверьте работу клавиатуры в KVM.
Если в консоли KVM черный экран, надпись «No Signal»
В случае длительного бездействия экран будет отключен (появится надпись «No Signal»), для возобновления необходимо нажать любую клавишу в консоли (рекомендуем нажимать «Alt» или «Ctrl» вместо «Enter» во избежание выполнения команды, набранной в консоли ранее).
Включение Java 6 в MacOS X
Согласно официальной документации достаточно выполнить несколько команд в терминале (требуются права администратора):
Создаем виртуальные машины с KVM
Переходим к созданию виртуальных машин, для этого в панели Cockpit переходим к пункту “Virtual Machines”, далее нажимаем на кнопку “Create VM”:
В открывшимся окне в поле “Name” вводим название операционной системы, или же название самой виртуальной машины. Далее, в поле “Installation Source” необходимо указать путь к ISO образу дистрибутива, это можно сделать вручную, либо, нажать на галочку в данном пункте в правой стороне поля:
Поля “OS Vendor” и “Operating System” должны заполнится автоматически, при необходимости можно отредактировать поля “Operating System”, как в случае с Debian, данное поля выбирает установку Debian Testing. После чего в поле “Memory” выставляем количество отведенной оперативной памяти для создаваемой машины, а в поле “Storage Size” задаем размер виртуального жесткого диска. Так же можно отметить поле немедленного запуска “Immediately Start VM”, после чего нажимаем кнопку “Create”. После нажатия кнопки “Create” у вас должна появится загрузка операционной системы:
Теперь давайте установим “virt-manager”, о котором писалось выше. Он позволит вам управлять виртуальными машинами KVM. Для его установки вводим команду:
После установки вы найдете virt-manager в установленных программах, он будет называться “Менеджер виртуальных машин”. После его запуска в окне программы увидите ваши виртуальные машины:
Возможно, вам так же необходимо будет добавить вашего пользователя в группу “libvirt” и “kvm”, у меня такой необходимости не было, но, на всякий пожарный как говорится…Для этого вводим команды:
Работа через утилиты
При работе через утилиты, нет необходимости настраивать Java.
Для управления KVM пользователи Windows могут воспользоваться утилитами:
- CN8000 WinClient — для KVM от производителя ATEN;
- CN8000A WinClient — для KVM от производителя ATEN;
- CN8000 JavaClient — для KVM от производителя ATEN;
- CN8000A JavaClient — для KVM от производителя ATEN;
- KVM Vision Viewer — для KVM от других производителей.
Не работает KVM
Работа в браузере
Для работы с KVM браузер должен поддерживать Java. Браузеры Opera и Chrome (начиная с версии Cromium 42) и стандартная редакция Firefox (версии выше 52) больше не поддерживают Java. Из обновляемых браузеров, поддержка Java есть в Firefox ESR (вплоть до марта 2018 года).
Работа web-интерфейса для моделей KVM CN8000A гарантирована только в браузерах на основе движка Gecko (например, FireFox). В Webkit (Chromium и основанные на нём) могут наблюдаться проблемы c отображением элементов. В этом случае рекомендуем использовать Windows или Java-клиенты.
Заключение
Вы так же можете установить систему виртуализации KVM на сервер под управлением Debian 10 используя данную статью, только в этом случае в настройках virt-manager необходимо указать IP адрес сервера, на который вы устанавливали панель Cockpit и KVM. В остальном же, вы точно так же создаете и используете виртуальные машины, разницы нет. Замечу, что KVM используется многими компаниями, которые предоставляют услуги виртуализации, например тот же Digital Ocean или Amazon.
А на этом сегодня все. Надеюсь данная статья будет вам полезна.
Журнал Cyber-X
Что делать, если из браузера открылось окно KVM на Java, но в строке состояния ошибка
Как и было обещано в предыдущей статье, сегодня мы поговорим о базовой настройке хост-машины для работы KVM.
Для начала необходимо узнать, есть ли у нашего процессора необходимые инструкции для поддержки виртуализации.
$ egrep '(vmx|svm)' /proc/cpuinfo
Если есть — это замечательно.
Подготовка операционной системы
Установку Debian Squeeze я, пожалуй, описывать не буду: если уж вы добрались до KVM, то установка системы — плёвое дело.
Устанавливать нужно будет 64-битную OS, поскольку необходимые пакеты есть только для этой архитектуры.
В Debian Squeeze «свежесть» пакетов с KVM и сопутствующих программами нас совсем не устраивает, поскольку очень много всяких фиксов и фич попросту пройдут мимо нас. Поэтому мы добавим репозитории Debian Sid и experimental:
Указываем, что у нас базовый дистрибутив stable, а не то, что подумала система:
Оттуда нам понадобятся пакеты:
Из стабильного репозитория нам будут нужны:
На вашем рабочем десктопе вы можете поставить virt-manager (GUI-утилита), который позволит удобно создавать нужные конфигурации виртуальных машин.
Ядро чем «свежее» — тем лучше (в известных пределах конечно: из git, например, я бы ставить не рекомендовал). Хорошим вариантом будет 2.6.39, вышедшее недавно.
Следует отметить, что в стандартном ядре отсутствует модуль для поддержки записи в UFS2, и если планируется запускать гостевую FreeBSD, потребуется собрать ядро с этим модулем. Ну и, конечно, в Debian-овском ядре отсутствуют свежие версии cgroups.
Что должно быть включено в ядре для использования максимального объема требуемого функционала:
CONFIG_VIRTIO_BLK=y
CONFIG_VIRTIO_NET=y
CONFIG_VIRTIO_CONSOLE=y
CONFIG_HW_RANDOM_VIRTIO=y
CONFIG_VIRTIO=y
CONFIG_VIRTIO_RING=y
CONFIG_VIRTIO_PCI=y
CONFIG_VIRTIO_BALLOON=y
CONFIG_CGROUPS=y
CONFIG_CGROUP_NS=y
CONFIG_CGROUP_FREEZER=y
CONFIG_CGROUP_DEVICE=y
CONFIG_CGROUP_CPUACCT=y
CONFIG_CGROUP_MEM_RES_CTLR=y
CONFIG_CGROUP_MEM_RES_CTLR_SWAP=y
CONFIG_CGROUP_MEM_RES_CTLR_SWAP_ENABLED=y
CONFIG_CGROUP_SCHED=y
CONFIG_BLK_CGROUP=y
CONFIG_NET_CLS_CGROUP=y
Затем идём по ссылке и устанавливаем все deb-пакеты оттуда, копируем insmod.static в /sbin/insmod.static (это нужно, поскольку в работе libguestfs использует статически скомпилированную версию insmod, а в Debian и Ubuntu такого файла просто нет, однако в последней версиии febootstrap эту проблему устранили, insmod.static более не нужно загружать на сервер). libguestfs позволяет нам получать доступ к диску VDS через API libguestfs(C, Perl, Python, PHP) или через утилиту guestfish.
Первый блин
Сейчас мы установили все, необходимое для запуска VDS, их доступа в сеть и установки самой виртуальной машины.
Давайте попробуем что-нибудь поставить, например, тот же самый Debian. Пока без настройки сети, просто, по умолчанию.
Скачиваем установщик netinstall:
Редактируем /etc/libvirt/qemu.conf, чтобы виртуальные машины работали у нас от непривилегированного пользователя:
user = "username"
group = "libvirt"
Поскольку у нас будут использоваться tun-устройства, нужно выставить capability CAP_NET_ADMIN, сделать это можно как для отдельного исполняемого файла, так и для пользователя в целом, или настроить чтобы libvirt не сбрасывал нужные права для qemu/kvm.
Выставляем для отдельного файла:
sudo setcap cap_net_admin=ei /usr/bin/kvm
Или выставляем для пользователя в целом в файле /etc/security/capability.conf:
Или выставляем соответствующую настройку в /etc/libvirt/qemu.conf:
Добавим пользователя в группу libvirt и kvm:
Запустим установку виртуальной машины:
$ virt-install --connect qemu:///system -n debian_guest -r 512 --arch=i686 --vcpus=1 --os-type=linux --os-variant=debiansqueeze --disk debian-6.0.1a-i386-netinst.iso,device=cdrom --disk debian_guest.img,bus=virtio,size=2,sparse=false,format=raw --network=default,model=virtio --hvm --accelerate --vnc
Подробно разберём параметры, которые мы указали:
- --connect qemu:///system URL, по которому мы подключаемся к KVM. Подключаться можно через ssh.
- -n debian_guest Имя гостевой системы.
- -r 512 Выделяемый объём оперативной памяти в мегабайтах.
- --arch=i686 Архитектура гостевой операционной системы.
- --vcpus=1 Количество виртуальных процессоров, доступных гостю.
- --os-type=linux --os-variant=debianlenny Специфичные для данной операционной системы параметры.
- --disk debian-6.0.1a-i386-netinst.iso,device=cdrom Загружаемся с диска, образ которого указали.
- --disk debian_guest.img,bus=virtio,size=2,sparse=false,format=raw Создаём образ системы размером 2Гб, который сразу помещаем на диск (можно создать образ нулевого размера, но тогда возможна фрагментация, что получается несколько медленнее). Формат простой, можно сделать с dd файл. Драйвер диска virtio, использовать лучше virtio, чем ide: производительность их отличается если не на порядок, то в разы.
- --network=default,model=virtio Сетевые настройки по умолчанию. В этом случае libvirt создаст мост, сделает dhcp сервер и выдаст через него адрес для доступа виртуальной машины.
- --hvm Полная виртуализация — то есть, можно использовать собственные ядра.
- --accelerate Работа через /dev/kvm.
- --vnc Запускаем VNC, чтобы подключаться к текстовой консоли.
Утилиты настройки и управления
Для управления установкой и для клонирования виртуальных машин у нас есть две замечательные утилиты — графическая и консольная: virt-manager и virsh, соответственно. Конечно, консольная версия намного богаче по возможностям, но ничто не сравнится с видом графиков, от которых сердце сисадмина млеет.
Думаю с virt-manager вы и сами разберётесь, давайте попробуем покопаться в консольных внутренностях virsh. Вот несколько команд которые стоит выполнить и посмотреть что из этого получится:
$ virsh --connect qemu:///system list --all
$ virsh --connect qemu:///system dominfo debian_guest
$ virsh --connect qemu:///system stop debian_guest
Чтобы тысячу раз не писать --connect qemu:///system, добавьте:
export VIRSH_DEFAULT_CONNECT_URI= qemu:///system
В .bashrc или просто выполните эту команду в терминале.
Подготовка сети
В официальной документации предлагается использовать несколько вариантов организации сети: NAT, bridged и прямое использование сетевых карт. И, к сожалению, в различных примерах, которые я нашел в сети и на официальном сайте, рассматриваются только NAT и bridged сети.
В моей конфигурации используются TUN/TAP устройства, на которые с eth0 маршрутизируется трафик. Коротко опишу, почему выбран именно такой способ маршрутизации:
NAT нам не подходит, поскольку каждая VDS должна быть доступна из сети напрямую.
Схема с мостами не очень надёжная, поскольку теоретически есть возможность «захвата» IP адреса чужой виртуальной машины.
Итак:
Данный участок конфигурации нужно указывать непосредственно в конфигурационном файле гостя, расположенного по адресу /etc/libvirt/qemu/debian_guest.xml. Редактировать лучше всего через:
$ virsh edit debian_guest
Тогда конфигурация обновится на лету, при условии, что машина не запущена. В противном случае нужно будет подождать, пока она остановится, и запустить ее снова.
Создадим необходимое нам виртуальное устройство.
Для начала нам нужно дать нашему пользователю возможность беспарольного обращения к системным командам. Для этого добавим в sudoers:
Cmnd_Alias QEMU = /sbin/ifconfig, /sbin/modprobe, /usr/sbin/brctl, /usr/sbin/tunctl, /sbin/sysctl, /bin/ip, /usr/bin/cgcreate, /usr/bin/cgdelete, /sbin/tc
username ALL=(ALL:ALL) NOPASSWD: QEMU
Включим возможность форвардинга и проксирования arp-запросов:
sudo sysctl net.ipv4.conf.all.forwarding=1
sudo sysctl net.ipv4.conf.all.proxy_arp=1
Также можно добавить эти параметры в /etc/sysctl.conf и применить их:
Создадим виртуальную сетевую карту и поднимем устройство:
sudo tunctl -b -u username -t debian_guest
sudo ifconfig debian_guest 0.0.0.0 up
Создадим маршрут на нужное нам устройство с нужного IP-адреса:
sudo ip route add 10.10.10.100 dev debian_guest
Теперь можно запустить VDS:
$ virsh start debian_guest
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR=="xx:xx:xx:xx:xx:xx", ATTR=="0x0", ATTR=="1", KERNEL=="eth*", NAME="eth1"
Нужно удалить этот файл и перезагрузить VDS — после этого сетевая карта определится корректно.
Пропишем новые сетевые настройки в гостевой системе:
10.10.10.10 — это IP-адрес хост-системы. Теперь мы сможем попинговать другие машины.
Добавим DNS-серверы в /etc/resolv.conf, и будет совсем замечательно:
К слову, замечу, что оказалось очень удобно называть сетевые устройства, принадлежащие VDS, также, как и сами VDS — отпадает необходимость искать, кому принадлежит устройство tap0 или vnet0, или как там ещё можно их обозвать.
Если понадобится выдать виртуальной машине ещё один IP-адрес, достаточно будет просто на хост-машине прописать ещё один маршрут:
А в гостевой системе создать алиас для сетевого устройства:
В следующей части
В следующей статье я расскажу о том, как создать образ VDS, что вообще меняется от системы к системе, и как эти параметры можно удобно менять.
Сегодня хочу поделиться с вами одним из своих наработанных мануалов, который отточен многоразовым применением, про который с уверенностью могу сказать, что «точно работает!» без лишних танцев с бубном.
Ориентирована статья скорее на начинающих системных администраторов, чем на гуру (для них тут ничего нового нет :) ), и в ней я постараюсь раскрыть рабочий и довольно быстрый вариант развертывания сервера виртуальных машин, стараясь при этом охватись как можно больше нюансов и подводных камней.
Поправьте, если не так, но в поиске я не нашел реализации данной задачи именно на CentOS с подробным описанием всех шагов для новичков.
Хорошая серия статей написана librarian, но они для Debian.
Естественно, для бывалых админов, в этом никакой проблемы нет, но повторюсь, моя задача — описать подробную инструкцию для новичков.
Вопрос: в Интернете есть множество руководств для установки Qemu KVM под CentOS, возразите вы, и чем же данная статья будет интересна?
Ответ: здесь описывается полный цикл установки и настройки необходимых для виртуализации компонентов, установка гостевых виртуальных машин (ВМ), настройка белой и серой сети для ВМ, а также некоторые аспекты, которые помогут упростить управление ВМ, используя проброс графики с удаленного сервера на свой ПК и запуском virt-manager.
Начнем с того, что если Вы читаете это, то у вас уже готова ОС CentOS 6 (я использовал версию 6.3), причем для установки гостевых ВМ разной битности (32 или 64), хост-сервер (физический сервер, на котором и будем устанавливать KVM вместе с ВМ) должен быть именно с 64-битной ОС.
Все действия выполняются из-под пользователя root.
Итак, приступим к руководству.
1. Шаг — Подготовка
Проверяем, поддерживает ли CPU аппаратную виртуализацию:
Если вывод не пустой, значит — процессор поддерживает аппаратную виртуализацию.
Кому интересно, все действия выполнялись на конфигурации Intel Xeon Quad Core E3-1230 3.20 GHz / 8GB / 2x 1TB.
Устанавливаем KVM и библиотеки виртуализации:
Запускаем сервис KVM
Смотрим, загружен ли модуль KVM
Должны получить вывод:
В данном случае видим, что загружен модуль kvm_intel, так как произволитель CPU — Intel.
Проверка подключения к KVM
Должны получить вывод:
2. Шаг — Создание хранилища для виртуальных машин (Storage Pool)
Здесь приводится описание, как настроить хранилище разных видов.
В рассматриваемом же примере описан простой тип хранилища — для каждой ВМ создается свой файл *.img под виртуальный жесткий диск (или диски — если добавить их несколько), размещены они будут в директории /guest_images.
Только у нас эта директория будет точкой монтирования отдельного жесткого диска хост-сервера, специально отведенного для этих нужд.
Безопасность сохранения данных и то, что нужно создавать как минимум зеркальный raid массив, чтобы не потерять данные ВМ в случае сбоя жесткого диска, мы не будем, так как это — отдельная тема.
Просмотрим список физических дисков на хост-сервере:
На жестком диске sda установлена ОС, его не трогаем, а вот на sdb создаем раздел на все свободное место диска с файловой системой ext4:
(более подробно про следующие операции можно почитать здесь)
Выбираем диск для редактирования
Создаем новый раздел
Создаем файловую систему ext4 на всем свободном месте диска /dev/sdb
Создаем точку монтирования нашего жесткого диска для файлов виртуальных машин:
Многие советуют отключить вообще Selinux, однако мы выберем иной путь. Мы настроим его правильно.
Если выполнение этой команды не будет успешным, надо установить дополнительный пакет. Сначала узнаем, какой пакет предоставляет данную команду
После этого снова:
Смонтируем раздел /dev/sdb1 в /guest_images
Отредактируем файл /etc/fstab для того, чтобы при перезагрузке хост-сервера раздел с ВМ монтировался автоматически
Добавляем строку по примеру тех, что уже имеются в файле
Сохраняем файл и продолжаем создание хранилища:
Проверяем, создалось ли оно:
Добавляем в автозагрузку:
3. Шаг — Настройка сети на хост-сервере
. ВАЖНО.
Перед выполнением этого шага, надо убедиться, что на хост-сервере установлен пакет bridge-utils,
иначе при выполнении операций с сетью вы рискуете потерять связь с сервером, особенно обидно если он удаленный, и физического доступа к нему у вас нет. Если вывод предыдущей команды пустой, то:
Положим, что для выхода «в мир» использовался интерфейс eth0 и он был соответствующим образом настроен.
На нем настроен IP-адрес 10.110.10.15 из /24 сети, маска — 255.255.255.0, шлюз 10.110.10.1.
Продолжаем, создаем сетевой интерфейс типа «bridge» на хост-сервере
Содержимое файла
Приводим основной сетевой интерфейс, который использовался для выхода в «мир», к виду:
. Важно.
DEVICE=«eth0» Имя интерфейса должно остаться таким, как было в системе. Если у вас для выхода в Интернет использовался интерфейс eth1, тогда редактировать надо его.
HWADDR=«00:2C:C2:85:29:A3» МАС-адрес также должен остаться таким, как был в системе
Когда проверили все, перезагружаем сеть:
Проверяем состояние подключения типа «bridge»:
Получаем что-то вроде этого
Делаем настройки в iptables, чтобы трафик виртуалок «ходил» через соединение типа bridge
Опционально: можно улучшить быстродействие соединения bridge, поправив настройки в /etc/sysctl.conf
4. Шаг — Установка новой виртуальной машины
Установка CentOS на гостевую ВМ:
Примечание 1:
VMName_2 — имя новой виртуальной машины
–ram 1024 — кол-во виртуальной памяти
–arch=x86_64 — архитектура ОС виртуалки
–vcpus=1 — кол-во виртуальных процессоров
–os-type linux — тип ОС
–disk pool=guest_images_dir,size=50 — размещение хранилища, размер вирт. диска
–network=bridge:br0
Примечание 2:
Если на ВМ нужна «белая сеть», тогда ставим
--network=bridge:br0
Если на ВМ требуется «серая сеть», тогда ставим
--network=bridge:virbr0
В этом случае для ВМ будет присвоен серый IP по DHCP от хост-сервера.
--graphics vnc,listen=0.0.0.0,keymap=ru,password=some.password.here
Тут указываем пароль для подключения к ВМ по vnc
Установка Windows на гостевую ВМ:
Примечание:
Параметры такие же, как и в примере с установкой CentOS. Но есть различия.
При установке ОС Windows не увидит виртуального жесткого диска, поэтому надо подгрузить дополнительный виртуальный cdrom с драйверами /iso/virtio-win.iso — расположение файла ISO с драйверами виртуального диска. Взять можно отсюда.
Выполняем команду на установку новой ВМ, затем подключаемся по vnc к хост-серверу для продолжения установки ОС. Для того, чтобы узнать порт для подключения, выполняем:
При установке новой ВМ, порт vnc-сервера увеличится на 1. При удалении ВМ, порт освобождается,
и затем выдается новой ВМ. То есть, номер порта последней ВМ не обязательно самый большой из 590…
Чтобы узнать, на каком порту vnc виртуалка с определенным названием, вводим:
где VMName_1 — имя ВМ, :3 — номер по порядку порта, начиная с 5900, то есть подключаться надо на порт 5903, но в программе UltraVNC сработает и так 10.110.10.15:3
Примечание
Если при создании ВМ вылетает ошибка Permission denied, kvm не может открыть файл диска ВМ *.img,
значит, надо разрешить выполнение действий qemu-kvm из-под root (предполагается, что управление
ВМ производится из-под специально созданного для этих целей пользователя, например, libvirt). Но мы обойдемся и пользователем root.
Находим и раскомментируем в нем строки:
Полезно знать:
Конфиги ВМ находятся здесь /etc/libvirt/qemu/
Для того, чтобы отредактировать параметры (добавить процессор, ОЗУ или еще что-то),
ищем конфиг ВМ с нужным названием, редактируем:
К примеру, можно указать статический порт vnc для конкретной ВМ, чтобы всегда подключаться к нужному порту
Теперь у этой ВМ порт vnc будет — 5914. Не забудьте перезагрузить libvirtd для применения изменений. Саму ВМ тоже следует перезагрузить. Поэтому изменяйте конфигурационный файл ВМ пока она выключена, далее выполняйте service libvirtd reload, затем стартуйте ВМ.
Команды для управления ВМ:
5. Шаг — Настройка сети в случае «серых» IP-адресов в ВМ
Если на 4 шаге вы выбрали серую сеть для новой ВМ (--network=bridge:virbr0), то надо выполнить следующие действия (на хост-сервере!) для проброса трафика на ВМ
Разрешить форвардинг трафика на уровне ядра ОС:
Здесь 10.110.10.15 — белый (внешний) IP хост-сервера. 192.168.122.170 — серый IP-адрес гостевой ОС.
На примере установки ОС CentOS на гостевой машине, когда установка перешла в графический режим, и предлагает подключиться на локальный порт 5901 гостевой ОС.
Подключаемся из ПК, за которым сидите, по vnc к 10.110.10.15:5910 или 10.110.10.15:10 тоже сработает в UltraVNC.
По такому же принципу можно прокинуть порт (стандартный) RDP 3389 или SSH 22 в гостевую ОС.
6. Шаг — Подготовка к управлению виртуальными машинами удаленного сервера с удобным графическим интерфейсом (используя virt-manager)
Есть много способов «прокинуть» графику удаленного сервера на ПК, за которым выполняете действия администрирования. Мы остановимся на ssh-туннелировании.
Положим, что вы выполняете действия с локального ПК под управлением Windows (в операционных системах под управлением Linux сделать это куда легче :), нужно выполнить всего одну команду ssh -X username@12.34.56.78, конечно, с оговоркой, что на удаленном сервере X11 forwarding разрешен и вы сидите за локальным Linux ПК c графической оболочкой), тогда нам необходимо
1. Всем знакомый PuTTY,
2. Порт сервера X для Windows — Xming
3. В настройках PuTTY включить «Enable X11 Forwarding»
Сделать, как показано на картинке:
В момент подключения к удаленному серверу Xming должен быть уже запущен.
На хост-сервере с CentOS для SSH включить X11 Forwarding, для этого отредактируйте файл sshd_config:
Устанавливаем virt-manager на хост-сервере:
Еще один компонент
Чтобы окна отображались без крякозябр
7. Шаг — Непосредственный запуск virt-manager
После этого надо перезайти по SSH к удаленному серверу. Xming должен быть запущен.
Запускаем графическую утилиту управления виртуальными машинами
Откроется окно virt-manager
Консоль управления ВМ
Конфигурация ВМ и ее изменение
Надеюсь, читателю понравилась статья. Лично я, прочитай бы подобную в своё время, резко сократил бы потраченное время на то, чтобы перелопатить множество мануалов от разных админов, для разных ОС; сохранил бы кучу времени, потраченное на гугление, когда появлялись все новые и новые нюансы.
KVM это система виртуализации, от части сравнить ее можно например с VMWare об установки которой вы можете прочесть в этой статье. С помощью KVM вы можете создавать виртуальные машины с любыми операционными системами, про установку KVM в Ubuntu можно прочесть в этой статье. Но, на сей раз мы будем устанавливать KVM с веб интерфейсом, используя при этом панель управления сервером Cockpit. Вы же можете поставить KVM например вместо того же VirtualBox, и использовать как Cockpit для создания виртуальных машин, так же, можно использовать для этих целей и Virt Manager (графический интерфейс для управления виртуальными машинами через). С помощью данного руководства можно поднять сервер виртуализации, либо, установить KVM вместо VirtualBox на ваш компьютер.
Проверяем поддержку виртуализации
Для начала давайте убедимся что процессор поддерживает виртуализацию, сделать это просто, переходим в терминал и вводим команду:
Если вывод будет больше нуля, значит ваш процессор поддерживает виртуализацию и можно двигаться дальше. А в том случае если вам данная команда выдаст ноль, то увы, ваш процессор не поддерживает виртуализацию и установка KVM в этом случае не возможна. Так же есть вариант, что вам необходимо включить виртуализацию в настройках Bios, как это сделать, читайте в документации к материнской плате:
Как подключить KVM к серверу
Пролистайте открывшуюся страницу вниз и нажмите Больше услуг в блоке «Рекомендуем»:
Нажмите Заказать в строке «KVM-доступ»:
Готово! Вы получите KVM-доступ к серверу на выбранный период времени (до 2-х часов). В течение 15-20 минут доступы поступят на контактный e-mail.
Установка Java для работы с внешними KVM
Установка Java в Linux
Для работы KVM консоли требуется наличие в вашей системе Java Runtime Environment и Java Web Plugin в браузере. Рекомендуем использовать только Oracle JRE, работа с Open JRE не гарантируется. Обычно необходимое ПО устанавливается автоматически, но если у вас возникли затруднения, то воспользуйтесь следующими инструкциями. Также можно установить пакеты Java вручную (в данном примере дистрибутив Ubuntu), скачав их с официального сайта и установив по следующей инструкции:
Распакуйте архив (”*” - версия скачанных пакетов Java):
Переместите распакованные файлы в системную папку:
Добавьте версии пакетов Java, которые собираетесь использовать. “[number]” — номер пункта, для дальнейшей установки, может быть любым (пример: 0, 1, 2, 3. использовать отличный от нуля, в том случае, если установлены другие версии пакетов java, которые при необходимости можно удалить):
Запустите добавленные пакеты, выбирая в появившемся меню необходимый номер, указанный ранее (в поле [number]), и нажмите Enter:
Проверьте версию Java, чтобы удостовериться, что пакеты активированы:
Сделайте символьную ссылку для браузера, используя папку для своей архитектуры системы, предварительно удалив данные файлы (и пакеты), если они уже установлены:
Теперь все должно работать. Подробнее.
При необходимости данные пакеты можно аналогично поставить в любой другой дистрибутив Linux, соблюдая дерево используемой системы.
Возможные неполадки в работе KVM консоли и их решение:
- в MacOS X если в Security & privacy пункт Allow applications downloaded from стоит в Mac app store and identified developers, то апплет KVM консоли не запустится (недоступна кнопка Allow). Необходимо в настройке Allow applications downloaded from выбрать значение Anywhere;
- если у вас запускается Java апплет, но появляется ошибка соединения, то вам следует проверить, не закрыты ли у исходящие порты файерволом. Подробности вы можете уточнить у технической поддержки.
Что делать, если не открывается окно KVM на Java
Если не открывается окно KVM продолжительное время, проверьте, установлена ли Java на ПК. Перейдите на официальный сайт Java, затем кликните на ссылку «Установлено ли на моем компьютере программное обеспечение Java?». Если Java установлена, то следуйте инструкции ниже.
Для запуска консоли KVM нужно выполнить три пункта:
Внести изменения в файл java.security. Файл находится в JDK_HOME/jre/lib/security/java.security , обычно это пути:
для ОС Windows:
C:\Program Files\Java\jre1.8.0_91\lib\security для 64-битных версий JAVA или
C:\Program Files (x86)\Java\jre1.8.0_91\lib\security для 32-битных версий.
для ОС Linux:
/usr/lib/jvm/java-7-openjdk-amd64/jre/lib/security/java.security
либо можно найти файл командой в консоли Linux:
find /usr/lib/ -name java.security
В этом файле нужно закомментировать строку, которая начинается на:
Обратите внимание, что для правки файла java.security необходимо запустить текстовый редактор от имени администратора (для Windows) или суперпользователя root (для Linux).
Добавить в список исключения URL ресурса в настройках Java Control Panel по инструкции. Действия нужно выполнить во вкладке Security.
Перезагрузить браузер по инструкции. Для запуска KVM рекомендуем использовать Internet Explorer либо Firefox (браузер Chrome не поддерживает запуск Java-апплетов, работа консоли KVM невозможна).
В случае, если проблема сохранится, попробуйте установить Java 7 и настроить уровень безопасности Medium (см. выше).
В качестве решения попробуйте использовать ОС Windows и браузер Internet Explorer версии 9.
Также возможна работа в системах Linux x32 при использовании Firefox и 7 версии Java.
Дополнительно вы можете воспользоваться режимом эмуляции старых браузеров в браузере Internet Explorer 11 (доступно по кнопке F12).
Установка панель Cockpit и KVM
После того как убедились в поддержке виртуализации, переходим к установки панели Cockpit и пакета cockpit-machines, который отвечает за возможность создания виртуальных машин с поддержкой KVM. Для установки панели Cockpit и пакета cockpit-machines вводим команду:
Когда установка панели Cockpit завершится, не лишним будет запустить панель Cockpit, а так же добавить в автозапуск при старте вашей системы, ну и конечно проверить состояния Cockpit. Это можно сделать выполнив следующие команды:
В итоге вы должны увидеть статус работоспособности, он должен быть активным и подсвечиваться зеленым:
Для того что бы попасть в веб интерфейс, вводим ваш IP адрес в строке браузера, а затем порт “9090”. В моем же случае IP адрес “192.168.88.241”, у вас же он будет другим:
Теперь осталось лишь ввести логин и пароль, по умолчанию используется логин и пароль вашего пользователя, так же возможно войти и из под root. После входа, первым делом давайте русифицируем панель Cockpit, для этого нажимаем на кнопку с именем вашего пользователя и в выпадающем окне выбираем пункт “Display Language”. Затем в выпадающем списке выбираем язык интерфейса панели Cockpit, я же оставлю Английский:
Теперь необходимо проверить, настроен ли хост на запуск гипервизора libvirt, для этого в веб интерфейсе переходим к пункту “Terminal” и вводим команду:
После того как убедились что все работает правильно, необходимо включить демон libvirtd, добавить его в автозапуск и проверить статус, для этого выполняем следующую последовательность команд:
Дистрибутивы
В связи с удалением дистрибутивов Java 6 из интернета и включением блокировки не подписанных приложений в последних версиях Java 7, выкладываем 100% рабочие версии тут:
KVM (или kvm over ip) — устройство, позволяющее передавать видеосигнал и ввод с мыши/клавиатуры по сети с использованием IP-протокола от вашего сервера. При помощи KVM вы можете перезагрузить сервер, получить доступ в BIOS сервера и к другим функциям, которые невозможно выполнить на сервере через терминал. KVM-доступ вы можете бесплатно подключить на странице услуги.
KVM предоставляется на первые два часа в день бесплатно. Плата за последующее подключение KVM составляет 30 минут — 300 рублей.
Быстрый старт Java в Ubuntu
- Перейдите на страницу скачивания Java 8.
- Выберите нужный вариант архива (в зависимости от операционной системы) и скопируйте оттуда ссылку на скачивание.
Перейдите в директорию с исполняемыми файлами:
Используйте команду для запуска скачанного апплета наших IP-KVM:
Читайте также: