Настройка kvm на ubuntu server

Использование KVM в Ubuntu 16.04

Вы справились с задачей установить kvm в Ubuntu, но вы еще не можете  использовать эту среду виртуализации но ее нужно еще настроить. Далее, мы рассмотрим как выполняется настройка kvm Ubuntu. Сначала необходимо настроить сеть. Нам необходимо создать мост, с помощью которого виртуальная машина будет подключаться к сети компьютера.

Настройка моста в NetworkManager

Это можно сделать несколькими способами, например, можно использовать программу конфигурации сети NetworkManager.

Кликните по значку NetworkManager на панели, затем выберите изменить соединения, затем нажмите кнопку Добавить:

Затем выберите тип соединения Мост и нажмите Создать:

В открывшемся окне нажмите кнопку Добавить, чтобы связать наш мост с подключением к интернету:

Из списка выберите Ethernet и нажмите Создать:

В следующем окне выберите в поле устройство, сетевой интерфейс, с которым следует связать наш мост:

Затем нажмите сохранить, еще раз сохранить в предыдущем окне и закрыть, чтобы выйти из интерфейса настройки.

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

Ручная настройка моста

Сначала нужно установить набор утилит bridge-utils если вы еще этого не сделали:

Затем, с помощью программы brctl мы можем создать нужный нам мост. Для этого используйте такие команды:

Первая команда добавляет устройство моста br0, с помощью второй вам нужно определить какой сетевой интерфейс является основным подключением к внешней сети, в моем случае это eth0. И с помощью последней команды мы связываем мост br0 с eth0.

Теперь необходимо добавить несколько строк в настройки сети чтобы все поднималось автоматически после старта системы. Для этого откройте файл /etc/network/interfaces и добавьте туда такие строки:

Когда настройки будут добавлены перезагрузите сеть:

Теперь установка и настройка KVM полностью завершена и вы можете создать свою первую виртуальную машину. После этого вы можете посмотреть доступные мосты с помощью команды:

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

Настройка KVM Ubuntu завершена и теперь мы можем перейти к ее использованию. Сначала давайте просмотрим список уже существующих виртуальных машин:

Он пуст. Создать виртуальную машину можно через терминал или в графическом интерфейсе. Для создания через терминал используйте команду virt-install. Сначала перейдем в папку libvirt:

Для установки CentOS команда будет выглядеть вот так:

Разберем подробнее что означают параметры этой команды:

  • virt-type — тип виртуализации, в нашем случае kvm;
  • name — имя новой машины;
  • ram — количество памяти в мегабайтах;
  • vcpus — количество ядер процессора;
  • os-variant — тип операционной системы;
  • cdrom — установочный образ системы;
  • network-bridge — сетевой мост, который мы настроили ранее;
  • graphics — способ получения доступа к графическому интерфейсу;
  • diskpath — адрес нового жесткого диска для этой виртуальной машины;

После завершения установки виртуальной машины вы можете узнать параметры подключения по VNC с помощью команды:

Теперь вы можете ввести полученные данные в вашем клиенте VNC и подключится к виртуальной машине даже удаленно. Для Debian команда будет немного отличаться, но все выглядит похожим образом:

Переходим в папку для образов:

Можно скачать установочный образ из интернета если это необходимо:

Затем создадим виртуальную машину:

Теперь снова посмотрим список доступных машин:

Для запуска виртуальной машины можно использовать команду:

Для остановки:

Для перевода в режим сна:

Для перезагрузки:

Сброс:

Для полного удаления виртуальной машины:

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

Если у вас есть доступ к графическому интерфейсу то нет никакой необходимости использовать терминал, вы можете применить полноценный графический интерфейс менеджера виртуальных машин Virtual Manager. Программу можно запустить из главного меню:

Для создания новой машины кликните по иконке со значком монитора. Дальше вам будет необходимо выбрать образ ISO вашей системы. Также можно использовать реальный CD/DVD привод:

На следующем экране выберите количество памяти, которая будет доступна для виртуальной машины, а также количество ядер процессора:

На этом экране вам нужно выбрать размер жесткого диска, который будет доступен в вашей машине:

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

После этого машина будет готова к использованию и появится в списке. Вы можете запустить ее с помощью зеленого треугольника на панели инструментов менеджера.

Публичный мост[править]

Предупреждение: Данный метод может не работать с большинством беспроводных устройств.

Варианты использования:

  • Вы хотите назначать IP-адреса виртуальным машинам и сделать их доступными из локальной сети;
  • Вы хотите большой производительности от виртуальной машины.

Требования:

  • Настроенная и запущенная виртуальная машина;
  • Если вы не хотите запускать её из под root-а, то для вашего пользователя понадобятся права на чтение/запись в /dev/kvm;
  • Вам понадобятся следующие программы. Если вы не хотите запускать их из под root-a, по вам понадобится настроить sudo для их запуска:
/sbin/ip
/usr/sbin/brctl
/usr/sbin/tunctl

Хост-система должна иметь доступ в интернет и в локальную сеть.

Вариант №1: Использование средств дистрибутива

Создать файл /etc/net/ifaces/breth0/options следующего содержания:

TYPE=bri
BOOTPROTO=dhcp
HOST=eth0
DISABLED=no
NM_CONTROLLED=no

Применить новые настройки сети командой:

/etc/init.d/network restart

Интерфейс моста breth0 должен получить IP-адрес, а интерфейс eth0 должен быть без адреса.

Особенности VLANов

Если вы используете VLANы но до виртуальной машины трафик не доходит, выполните команды:

# cd /proc/sys/net/bridge
# ls
bridge-nf-call-arptables  bridge-nf-call-iptables
bridge-nf-call-ip6tables  bridge-nf-filter-vlan-tagged
# for f in bridge-nf-*; do echo 0 > $f; done

Варинат №2: «Ручной»

Создать мост командой:

sudo /usr/sbin/brctl addbr br0

Добавить физический интерфейс в этот мост, например eth0:

sudo /usr/sbin/brctl  addif br0 eth0

Создать скрипт qemu-ifup следующего содержания:

#!/bin/sh
set -x

switch=br0

if ;then
        /usr/bin/sudo /usr/sbin/tunctl -u `whoami` -t $1
        /usr/bin/sudo /sbin/ip link set $1 up
        sleep 0.5s
        /usr/bin/sudo /usr/sbin/brctl addif $switch $1
        exit 0
else
        echo "Error: no interface specified"
        exit 1
fi

Сгенерировать MAC-адрес вручную или автоматически, используя скрипт:

#!/bin/bash
# generate a random mac address for the qemu nic
printf 'DE:AD:BE:EF:%02X:%02X\n' $((RANDOM%256)) $((RANDOM%256))

Запустить каждую виртуальную машину, заменяя $macaddress значением, полученным на предыдущем шаге:

qemu-system-x86_64 -hda /path/to/hda.img -net nic,macaddr=$macaddress -net tap

Замечания:

  • Если вы не хотите запускать машину от root-а, то скрипт qemu-ifup должен корректно работать от вашего пользователя;
  • Вы можете создать общесистемный скрипт, назвав его в /etc/qemu-ifup или же спользовать любое другое имя, указав его при запуске машины:
qemu-system-x86_64 -hda /path/to/hda.img -net nic,macaddr=$macaddress -net tap,script=/path/to/qemu-ifup

Каждая виртуальная машина подключенная к внутреннему виртуальному мосту должна иметь свой собственный MAC-адрес, отличный от адресов других машин.

Установка и запуск

Устанавливаем KVM и необходимые утилиты управления.

а) Ubuntu до версии 18.10

apt-get install qemu-kvm libvirt-bin virtinst libosinfo-bin

б) Ubuntu после 18.10:

apt-get install qemu-kvm libvirt-daemon-system libvirt-bin virtinst libosinfo-bin

* где qemu-kvm — гипервизор; libvirt-bin — библиотека управления гипервизором; virtinst — утилита управления виртуальными машинами; libosinfo-bin — утилита для просмотра списка вариантов операционных систем, которые могут быть в качестве гостевых.

Настроим автоматический запуск сервиса:

systemctl enable libvirtd

Запустим libvirtd:

systemctl start libvirtd

Использование

Для использования данного гипервизора существует множество реализаций. Некоторые представляют из себя целые специализированные библиотеки, другие имеют вид простых графических приложений.

Для наглядности рассматривается виртуализация KVM на базе библиотеку virt-manager.

Данная библиотека позволяет упростить вызов различных гипервизоров, предоставляя удобный интерфейс для автоматизации процесса виртуализации

Кроме того, библиотека имеет возможность работы с сетевой инфраструктурой, что иногда важно, при построении клиент-серверных рабочих мест

Схема 2. – Взаимодействие компонентов libvirt

QEMU позволяет создать фрейм для вызова гипервизора на клиентской системе. Данная программа настраивается аргументами вызова командной строки, является достаточно легкой и простой.

Существуют кроме того несколько графических оболочек, таких как Gnome-Boxes.

Первичная настройка IPMI консоли и знакомство с интерфейсом

Настройка IPMI начинается с настройки IP адреса интерфейса, который нужно указать в BIOS. Если сервер установлен в офисе, это может быть серый IP-адрес, если же ваше оборудование размещается в ДатаЦентре, то наверняка вы используете белый статический IP-адрес.

На серверах Supermicro в BIOS можно попасть, нажав кнопку “Del” при загрузке сервера, я не буду заострять на этом внимание и сразу перейду к интерфейсу самого BIOS

Как видите на скриншоте, я вошел в пункт меню IPMI и активировал возможность конфигурации Lan для интерфейса (Update IPMI Lan Configuration=Yes, Configuration Address Source = Static), указал IP-адрес, маску подсети и основной шлюз.

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

Если вы все сделали правильно, то введя в браузере, указанный для интерфейса IPMI IP, у вас откроется авторизация:

Теперь пройдем по основным моментам.

При покупке нового сервера, в IPMI уже создан пользователь ADMIN с паролем ADMIN, именно с этими данными мы и авторизуемся. Я всегда рекомендую создавать нового пользователя, а стандартного удалять или менять у него пароль, так оставлять такой логин и пароль, крайне небезопасно. Создать нового пользователя или поменять пароли/привилегии у текущих, можно в меню Configuration -> Users.

Рестарт интерфейса IPMI можно сделать из меню Maintenance -> Unit Reset.

Монтирование iso образа ОС для установки на сервер выполняется в меню Virtual Media -> CD-ROM Image.

У меня iso образы ОС хранятся на сервере Samba в той же подсети что и интерфейсы IPMI серверов. Я указываю адрес сервера Samba, путь к образу установочному ISO с ОС, после чего монтирую ISO образ и приступаю к установке операционной системы.

Удаленную графическую Java консоль сервера (KVM-over-IP) можно открыть через Remote Control -> Console Redirection.

Консоль в целом удобная, но после установки ОС, для работы с сервером я обычно использую ssh клиенты. Иногда есть моменты когда, это невозможно, например если у вас не работает или еще не настроена сеть на сервере или же имеются какие-то проблемы с доступом. Именно тогда на помощь и приходит Remote Console.

Никаких отдельных настроек в самой консоли делать не нужно, хочу лишь добавить, что она имеет встроенную клавиатуру, которую можно вызывать из меню Virtual Media -> Virtual Keyboard.

Совет. После продолжительной работы с серверами SUpermicro, я обнаружил один неприятный баг. После установки операционной системы Centos 7 и установки KVM на нее, пропадает возможность использовать Remote Console. Пока сервер в процессе загрузки, консоль отвечает и можно пройти в Bios или увидеть загрузку ядра ОС. Но как только операционная система загрузилась, видео в консоли пропадает. Путем экспериментов мне удалось победить этот баг. Нужно в загрузки ядра добавить параметр загрузки nomodeset. Для этого после установки ОС нужно выполнить команду:

После этого, Remote Console работает исправно.

Мониторинг железа на сервере SuperMicro через IPMI и утилиту IPMICFG

Мониторинг сервера SuperMicro через IPMI

Через IPMI мониторить температуру и работу железа сервера SuperMicro довольно просто. Полная информация о железе сервера содержится в пункте System -> Hardware Information.

Информацию по состоянию процессора, оперативной памяти и вентиляторах, можно посмотреть перейдя во вкладку Server Health -> Sensor Readings.

Для удобства просмотра, можно менять категории отображения датчиков, например, температуры:

Или датчики напряжения:

Так как в данный момент на нашем сервере нет проблем, ни с температурой, ни с напряжением, все датчики находятся в зеленой зоне. Если на сервере поднимается температура или есть проблемы с напряжением, зеленые прямоугольники будут окрашиваться в красный цвет, что послужит сигналом для проверки вашего сервера.

Мониторинг с помощью утилиты ipmicfg

Проверка состояния блоков питания:

 
Item | Value
---- | -----
Status |  (00h)
Input Voltage | 217.5 V
Input Current | 1.06 A
Main Output Voltage | 12.28 V
Main Output Current | 17.93 A
Temperature 1 | 23C/73F
Temperature 2 | 21C/70F
Fan 1 | 2064 RPM
Fan 2 | 2032 RPM
Main Output Power | 220 W
Input Power | 228 W
PMBus Revision | 0x22
PWS Serial Number | P2K4FCH02LT0125
PWS Module Number | PWS-2K04F-1R
PWS Revision | REV1.0
Current Sharing Control | PEC error
 
Item | Value
---- | -----
Status |  (00h)
Input Voltage | 217.5 V
Input Current | 1.09 A
Main Output Voltage | 12.30 V
Main Output Current | 18.09 A
Temperature 1 | 24C/75F
Temperature 2 | 22C/72F
Fan 1 | 2064 RPM
Fan 2 | 2064 RPM
Main Output Power | 223 W
Input Power | 234 W
PMBus Revision | 0x22
PWS Serial Number | P2K4FCH02LT0126
PWS Module Number | PWS-2K04F-1R
PWS Revision | REV1.0
Current Sharing Control | PEC error

Посмотреть температуру процессора можно командой:

Так же можно проверить в каком режиме работают вентиляторы и изменить режим, если это необходимо.

Проверка состояния и конфигурации вентилятора

Current Fan Speed Mode is 
Supported Fan modes:
0:Standard
1:Full
3:PUE2 Optimal
4:Heavy IO

Изменение режима работы кулера: Например,

Информация о версии и прошивке IPMI:

Device ID = 50h
Firmware Version = 4.1.4.54
IPMI Version = 2.000000
Manufacturer ID = 57 01 00
Product ID Minor Ver = Greenlow platform
Implemented DCMI version = DCMI not implemented/enabled
Firmware implemented version = NM Revision 4.0
Image Flag = operational image 1
raw = 50 01 04 14 02 21 57 01 00 09 0b 04 05 40 01

И посмотреть все сенсоры можно командой

При выводе мы видим, что есть дополнительные столбцы, в которых отображена информация о лимитах нижнего и верхнего пределов.

Так же существует еще не малое количество утилит, которые можно использовать для мониторинга и автоматизировать этот процесс, например, с nagios

В данный момент заострять на этом внимание мы не будем, так как цель статьи рассказать основные моменты в работе с IPMI. Если вас заинтересует тема мониторинга, вы можете оставить свои пожелания и возможно в дальнейшем мы осветим и эту тему

Надеюсь, данная статья окажется для вас полезной!

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *