Показать страницуИстория страницыСсылки сюдаCopy this pageExport to MarkdownODT преобразованиеНаверх Вы загрузили старую версию документа! Сохранив её, вы создадите новую текущую версию с этим содержимым. Медиафайлы{{tag>system kernel virtual}} ====== Qemu-KVM ====== KVM (или Kernel-based Virtual Machine) — это программное решение, обеспечивающее виртуализацию в среде Linux на платформе x86, которая поддерживает аппаратную виртуализацию на базе Intel VT (Virtualization Technology) либо AMD SVM (Secure Virtual Machine). {{:system:libvirt_support.svg.png|}} ===== Устанока и настройка (qemu-kvm libvirt-bin) ===== ==== Установка ==== Проверяем, поддерживает ли CPU аппаратную виртуализацию: # egrep '(vmx|svm)' /proc/cpuinfo Если вывод не пустой, значит — процессор поддерживает аппаратную виртуализацию. Кому интересно, все действия выполнялись на конфигурации Intel Xeon Quad Core E3-1230 3.20 GHz / 8GB / 2x 1TB. Устанавливаем KVM и библиотеки виртуализации: # apt-get install kvm libvirt Запускаем сервис KVM # service libvirtd start Смотрим, загружен ли модуль KVM # lsmod | grep kvm Должны получить вывод: kvm_intel 52890 16 kvm 314739 1 kvm_intel В данном случае видим, что загружен модуль kvm_intel, так как произволитель CPU — Intel. Проверка подключения к KVM # virsh sysinfo Должны получить вывод: <sysinfo type='smbios'> <bios> <entry name='vendor'>HP</entry> <entry name='version'>J01</entry> ..... ==== Настройка ==== Просмотрим список физических дисков на хост-сервере: # fdisk -l Получился вывод: Disk /dev/sda: 1000.2 GB, 1000204886016 bytes ...... Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes ...... На жестком диске sda установлена ОС, его не трогаем, а вот на sdb создаем раздел на все свободное место диска с файловой системой ext4: (более подробно про следующие операции можно почитать здесь) Выбираем диск для редактирования # fdisk /dev/sdb Создаем новый раздел Command (m for help): n Command action e extended p primary partition (1-4) p Partition number (1-4): 1 Сохраняем изменения Command (m for help): w The partition table has been altered! Создаем файловую систему ext4 на всем свободном месте диска /dev/sdb # mkfs.ext4 /dev/sdb1 Создаем точку монтирования нашего жесткого диска для файлов виртуальных машин: # mkdir /guest_images # chmod 700 /guest_images # ls -la /guest_images total 8 drwx------. 2 root root 4096 May 28 13:57 . dr-xr-xr-x. 26 root root 4096 May 28 13:57 .. Многие советуют отключить вообще Selinux, однако мы выберем иной путь. Мы настроим его правильно. # semanage fcontext -a -t virt_image_t /guest_images Если выполнение этой команды не будет успешным, надо установить дополнительный пакет. Сначала узнаем, какой пакет предоставляет данную команду # apt-get install apt-file # apt-file search /usr/sbin/semanage Получим вывод: Устанавливаем policycoreutils-python # apt-get -y install policycoreutils-python После этого снова: # semanage fcontext -a -t virt_image_t /guest_images Смонтируем раздел /dev/sdb1 в /guest_images # mount -t ext4 /dev/sdb1 /guest_images Отредактируем файл /etc/fstab для того, чтобы при перезагрузке хост-сервера раздел с ВМ монтировался автоматически # vi /etc/fstab Добавляем строку по примеру тех, что уже имеются в файле /dev/sdb1 /guest_images ext4 defaults 1 1 Сохраняем файл и продолжаем создание хранилища: # virsh pool-define-as guest_images_dir dir - - - - "/guest_images" Pool guest_images_dir defined Проверяем, создалось ли оно: # virsh pool-list --all Name State Autostart ----------------------------------------- default active yes guest_images_dir inactive no Далее: # virsh pool-build guest_images_dir Pool guest_images_dir built Запускаем хранилище: # virsh pool-start guest_images_dir Pool guest_images_dir started # virsh pool-list --all Name State Autostart ----------------------------------------- default active yes guest_images_dir active no Добавляем в автозагрузку: # virsh pool-autostart guest_images_dir Pool guest_images_dir marked as autostarted # virsh pool-list --all Name State Autostart ----------------------------------------- default active yes guest_images_dir active yes Проверяем: # virsh pool-info guest_images_dir ===== Администрирование ===== ==== virsh ==== http://blog.erema.name/virsh-man-po-russki/18/ === Подключение/Отключение внешнего диска === $ virsh attach-disk comp1 /dev/sdb vdd --type disk $ virsh deatach-disk comp1 vdv $ virsh -c qemu:///system attach-disk comp1 /dev/mapper/vgjb-lvsun--ch sda ==== xml ==== $ virsh -c qemu:///system attach-device comp1 /root/sunch_disk.xml ==== ==== https://github.com/retspen/webvirtmgr ===== Восстановление после падения ===== ===== Монтирование дисков ===== ==== RAW Image ==== <code bash> # losetup /dev/loop0 foo.img # kpartx -av /dev/loop0 # mount /dev/mapper/loop0p1 /mnt # unmount /mnt # kpartx -dv /dev/loop0 # losetup -d /dev/loop0 </code> ==== QCOW2 Image ==== <code bash> # modprobe nbd max_part=8 # qemu-nbd --connect=/dev/nbd0 disk.img # mount /dev/nbd0p1 /mnt </code> ===== Документация / Ссыслки ===== * http://habrahabr.ru/post/170259/ :!: * https://wiki.debian.org/ru/KVM :!: * [[https://ru.wikibooks.org/wiki/%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B2%D0%B8%D1%80%D1%82%D1%83%D0%B0%D0%BB%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B5%D0%B9_%D0%BD%D0%B0_%D0%BE%D1%81%D0%BD%D0%BE%D0%B2%D0%B5_libvirt|Управление виртуализацией на основе libvirt]] :!: * http://andreykl.blogspot.ru/2011/12/kvm-centos-62-lvm.html :!: * http://www.opennet.ru/openforum/vsluhforumID1/91772.html * http://www.cyberciti.biz/faq/kvm-virtualization-in-redhat-centos-scientific-linux-6/ * https://www.howtoforge.com/how-to-install-kvm-and-libvirt-on-centos-6.2-with-bridged-networking * http://wiki.centos.org/HowTos/KVM * http://www.cyberciti.biz/faq/centos-rhel-linux-kvm-virtulization-tutorial/ * http://isborken.blogspot.ru/2012/02/headless-kvm-setup-on-centos-62.html * http://habrahabr.ru/post/168791/ * http://blog.erema.name/virsh-man-po-russki/18/ * http://mldav.blogspot.ru/2012/02/debian-kvm.html * http://habrahabr.ru/post/120432/ * http://www.cyberciti.biz/faq/kvm-virtualization-in-redhat-centos-scientific-linux-6/ * http://itman.in/kvm-manage-virsh/ :!: * http://habrahabr.ru/post/168791/ СохранитьПросмотрРазличияОтменить Сводка изменений Примечание: редактируя эту страницу, вы соглашаетесь на использование своего вклада на условиях следующей лицензии: CC0 1.0 Universal