Инструменты пользователя

Инструменты сайта


Боковая панель

Связь

kvm

KVM

Homepage: Kernel Based Virtual Machine

Для работы KVM необходима поддержка виртуализации вашим процессором. Это означает, что требуются расширения процессора Intel-­VT(Virtualization Technology) либо AMD SVM (Secure Virtual Machine). Чтобы убедиться, поддерживает ли процессор одно из них, выполните команду:

# egrep '(vmx|svm)' /proc/cpuinfo
RHEL / CentOS - первичная настройка сервера исключил из дистрибутива Xen. RHEL использует KVM.

KVM позволяет виртуальным машинам использовать немодифицированные образы дисков QEMU, VMware и других, содержащие операционные системы. Каждая виртуальная машина имеет своё собственное виртуальное аппаратное обеспечение: сетевые карты, диск, видеокарту и т. д.

KVM разное

  • Логи работы виртуальных машин под KVM хранятся здесь: /var/log/libvirt/qemu
  • Конфигурация виртуальных машин хранится в xml файлах в каталоге /etc/libvirt/qemu/<имя.xml>

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

  • Virt-manager (Virtual Machine Manager) - приложение для управления виртуальными машинами
  • Подключение к удаленному хост- серверу:
    # virsh --connect qemu+ssh://darkfire@xxx.xxx.xxx.xxx/system
    WARNING: gnome-keyring:: couldn't connect to: /tmp/keyring-otUBG2/pkcs11: Нет такого файла или каталога
    darkfire@195.26.95.238's password: 
    Добро пожаловать в virsh — интерактивный терминал виртуализации.
    
    Введите  «help» для получения справки по командам
           «quit» для выхода
    
    virsh #
  • Выведем список всех доступных виртуальных машин с помощью virsh:
    $ virsh 'list --all'
  • Автоматический запуск/останов виртуальных машин, при включении хостового сервера
    # virsh autostart TestServer
    Domain TestServer marked as autostarted
    
    # virsh autostart --disable TestServer
    Domain TestServer unmarked as autostarted
  • How to remove/delete virbr0?
    ip link
    virsh net-destroy default

Backup KVM

  1. При сохранении виртуальных машин KVM обязательно нужно сохранить XML файл с настройками. Обычно это файл находится /etc/libvirt/qemu, но проще и правильней выполнить команду virsh:
    # virsh dumpxml имя_машины > имя_машины.xml
  2. Останавливаем нужную виртуальную машину
    virsh shutdown имя_машины

    Имена всех машин и их состояния можно вывести так

    virsh list --all
  3. Сжимаем файл имя_машины.img при помощи Lzop.
  4. Запускаем виртуальную машину
    virsh start имя_машины
  5. Копируем файл имя_машины.img.lzo любым удобным образом на сервер бекапов.

libvirt и iptables

Чтобы расширить правила iptables, подгружаемые libvirt, можно создать файл с нужными правилами и прописать путь к этом файлу в rc.local. Файлы запускаемые при помощи rc.local запускаются в последнюю очередь, после инициализации всех служб. Так как способ запуска при помощи rc.local считается устаревшим, проверьте чтобы этот способ запуска не был отключен в вашем дистрибутиве, например при помощи sysv-rc-conf.

# nano /etc/rc.local
#!/bin/sh -e

/etc/network/iptables_rules
exit 0
# nano /etc/network/iptables_rules

#!/bin/sh

IPT="/sbin/iptables"
IFACE_LOC="lo"


$IPT -I INPUT 1 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
$IPT -A OUTPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT

$IPT -I INPUT 2 -i $IFACE_LOC -j ACCEPT

#log
$IPT -A INPUT -m limit --limit 3/m --limit-burst 5  -j ULOG --ulog-prefix "IN_xxx: "

Ссылки




kvm.txt · Последние изменения: 2015/07/31 07:29 (внешнее изменение)