virt-commands в Debian - Компьютерные сети для SMB

Общий индекс серии: Компьютерные сети для МСП: Введение

Заголовок этого поста относится к серии консольных команд, начинающихся с «virt- « и это может быть полезно при определенных обстоятельствах. Мы дадим только краткое описание каждого из них и несколько примеров использования. Мы повторяем это: мы не можем заменить руководства, сопровождающие каждую команду. Мы настоятельно рекомендуем проверьте эти страницы, запустив человек вирт-команда.

  • Основная цель этой статьи - продолжить показ широкой вселенной, что виртуализация в Linux в настоящее время использует гипервизор Qemu-KVM. Хотя в названии пишем название раздачи «Debian«Общие принципы применимы к любому другому дистрибутиву посредством определенных команд каждого из них. Особенно те, которые связаны с поиском, описанием и установкой пакетов, среди прочего.

Прежде чем продолжить чтение, мы рекомендуем посетить предыдущая статья: Qemu-KVM + Virt-Manager на Debian - компьютерные сети для малых и средних предприятий.

Когда использовать команды?

Во многих случаях мы удаленно управляем сервером поддержки виртуализации с помощью Кему-КВМ установлен, и по какой-то причине у нас нет графического интерфейса Диспетчер виртуальных машин - Вирт-менеджер:

  • Типичный случай, когда мы обращаемся к удаленному серверу со станции Windows через PuTTy, или любой другой из многих альтернативы которые существуют для подключения через SSH к серверу Debian GNU / Linux, и на последнем не установлена ​​поддержка для «X«, Либо графическая поддержка.
  • Мы просто хотим управлять виртуальными машинами на локальном или удаленном сервере с помощью консольных команд.

Устанавливается с libvirt-клиентами

В предыдущая статья устанавливаем пакет Libvirt-бин, и как часть процесса он был установлен libvirt-клиенты. Если мы запустим в консоли:

buzz @ sysadmin: ~ $ sudo dpkg -L libvirt-clients | grep / bin
/ USR / бен
/ usr / bin / virsh
/ usr / bin / виртуальный хост-проверка
/ usr / bin / virt-логин-оболочка
/ usr / bin / virt-xml-проверка
/ usr / bin / virt-pki-validate
  • вирш: программа virsh является основным пользовательским интерфейсом для полного управления гостевыми доменами - Кол-во гостей. Он используется для составления списка, создания, приостановки и отключения доменов. Эта команда должна запускаться с разрешениями корень. Его можно запустить двумя способами: в командном режиме и в интерактивном режиме. Виршу мы посвятим следующую статью..
  • виртуальный хост-проверка: инструмент, который позволяет проверить конфигурацию хоста - Хозяин, так что он может поддерживать все драйверы гипервизора - гипервизор. Для получения правильных результатов команду необходимо запускать с разрешениями корень.
  • виртуальная оболочка входа: команда для выполнения оболочка настроен для обычный пользователь в контейнере LXC, имя которого совпадает с именем пользователя, который его вызывает. Если контейнер не запущен, команда виртуальная оболочка входа попробую завести. Эту команду нельзя запускать с разрешениями пользователя. корень. Очень явный файл конфигурации для этой программы: /etc/libvirt/virt-login-shell.conf.
  • virt-xml-проверка: проверять файлы XML из Libvirt сравнивая их со схемой - схема действительный. Мы получаем список допустимых имен схем, если выполняем человек virt-xml-validate.
  • virt-pki-валидировать- Используется для проверки наличия файлов PKI Libvirt Они правильно настроены как на стороне защищенного сервера, так и на клиенте, который будет использовать протокол шифрования TLS для удаленного доступа к серверу. Его выполнение будет необходимо, если мы включили удаленное администрирование через TLS и SSL. Глава 22.2 документа Руководство по развертыванию и администрированию виртуализации, посвящена этому решению. Мы предлагаем что наши бизнес-сети используют удаленное администрирование через SSH, более простой и безопасный метод для Business LAN, которому мы посвятим следующую статью.

Установлен с помощью virtisnt

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

byzz @ sysadmin: ~ $ sudo dpkg -L virtinst | grep / bin
/ USR / бен
/ usr / bin / virt-convert
/ usr / bin / virt-изображение
/ usr / bin / virt-xml
/ usr / bin / virt-install
/ usr / bin / virt-clone
  • вирт-конвертировать- команда, конвертирующая определения виртуальных машин в форматы VMX y Ovf в собственный формат libvirt XML. Формат VMX обычно используется VMware, а ОВФ «Открытый формат виртуализации»Может использоваться любым гипервизор поддержите это.
  • виртуальный образ- Создает виртуальную машину из файла дескриптора изображения в формате XML. Этот конкретный инструмент будет удален из будущих версий добродетельПоэтому Мы не предлагаем его использование.
  • вирт-xml: Позволяет редактировать собственные файлы XML, используемые Libvirt, используя параметры командной строки.
  • виртуальная установка: инструмент командной строки, который позволяет создавать новые виртуальные машины в гипервизорах, таких как KVM, Xen или Linux Containers, которые используют библиотеку управления гипервизором. «Либвирт». Этот инструмент поддерживает графическую установку, если мы используем, например, VNC Виртуальная сетеваяИли SPICE. Он также полностью поддерживает консольный или текстовый режим. Благодаря его использованию мы можем создать виртуальную машину с одним или несколькими жесткими дисками, одной или несколькими сетевыми картами, звуковыми устройствами, физическими устройствами USB или PCI и т. Д. Установочный носитель может быть локальным, удаленным, опубликованным с использованием собственного протокола сетевой файловой системы UNIX NFS, HTTP, FTP. и т.п.
  • виртуальный клон- инструмент командной строки для клонирования существующих виртуальных машин с помощью библиотеки управления гипервизором «Либвирт». В основном скопируйте образ виртуальной машины и создайте нового гостя - GUEST с идентичной аппаратной конфигурацией. Элементы оборудования, которые должны быть уникальными, например, аппаратный адрес сетевой карты, будут обновлены, чтобы избежать конфликтов или шума между старым и новым. GUEST.

виртуальный зритель

Этот инструмент также устанавливается при выполнении вирт-менеджер. виртуальный зритель это отдельный пакет.

  • виртуальный зритель: позволяет нам отображать графическую консоль через VNC или SPICE конкретной виртуальной машины, независимо от того, расположена она локально или удаленно. Мы можем обратиться к GUEST который мы хотим отобразить через его имя, идентификатор или UUID. Если виртуальная машина не запущена, virt-viewer будет ждать ее запуска.

Другие команды "virt-", которые можно установить из отдельных пакетов

  • добродетели- Сборник инструментов, связанных с виртуализацией. Включает плагин для «Munin«И скрипт для преобразования виртуальных машин, созданных с помощью VMware Workstation или VMware Server, в формат, используемый в Qemu-KVM.
  • Вирт-топ: Показывает статистику виртуализированных доменов. Типа топ o HTOP для виртуальных машин

Устанавливается с помощью qemu-utils

Хотя название этих инструментов не начинается с вирт-Конечно, нам придется использовать некоторые из них в определенное время, особенно то, что связано с образами дисков виртуальных машин.

Мы можем вызвать их после установки Платформа виртуализации Qemu-Kvm, как указано в предыдущей статье. Если мы хотим знать, какие команды пакет оставил в нашем распоряжении qemu-utils, нам просто нужно запустить:

buzz @ sysadmin: ~ $ sudo dpkg -L qemu-utils | grep / bin
/ USR / бен
/ usr / bin / qemu-img
/ usr / bin / qemu-nbd / usr / bin / qemu-io

Если вместо различения / бен мы бы сделали это для / SBIN, мы бы получили другой результат, который оставляем на ваше рассмотрение.

  • qemu-img: позволяет нам создавать, конвертировать и / или изменять образы дисков, которые не работают или которые Из линии.
    Мы предлагаем запустите команду человек qemu-img. Мы только подчеркнем, что мы НИКОГДА не должны использовать эту команду для изменять любой образ, который используется любой виртуальной машиной или любым другим процессом, потому что это может уничтожить образ. Мы также не должны обращаться к данным изображения, которое находится в процессе модификации, так как мы можем найти несоответствия в его состоянии..

Примеры использования некоторых команд

виртуальный хост-проверка

buzz @ sysadmin: ~ $ virt-host-validate 
  QEMU: Проверка аппаратной виртуализации: PASS QEMU: Проверка устройства / dev / kvm: PASS QEMU: Проверка устройства / dev / vhost-net: WARN (Загрузите модуль 'vhost_net' для повышения производительности сети virtio) QEMU: Проверка наличия устройство / dev / net / tun: PASS LXC: Проверка для Linux> = 2.6.26: PASS

buzz @ sysadmin: ~ $ sudo virt-host-validate 
[sudo] пароль для обновления: QEMU: Проверка аппаратной виртуализации: PASS QEMU: Проверка устройства / dev / kvm: PASS QEMU: Проверка устройства / dev / vhost-net: PASS QEMU: Проверка устройства / dev / net / tun : PASS LXC: Проверка для Linux> = 2.6.26: PASS

virt-xml-проверка

buzz @ sysadmin: ~ $ sudo virt-xml-validate /etc/libvirt/qemu/dns.xml 
/etc/libvirt/qemu/dns.xml проверяет

buzz @ sysadmin: ~ $ sudo virt-xml-validate /etc/libvirt/qemu/networks/default.xml
/etc/libvirt/qemu/networks/default.xml проверяет

qemu-img

buzz @ sysadmin: ~ $ qemu-img check /tera/vmware/omicron/omicron.vmdk
На изображении ошибок не обнаружено.

buzz @ sysadmin: ~ $ qemu-img info /tera/vmware/omicron/omicron.vmdk
изображение: /tera/vmware/omicron/omicron.vmdk
формат файла: vmdk виртуальный размер: 20 ГБ (21474836480 байт) размер диска: 3.6 ГБ размер_кластера: 65536 Информация о формате: cid: 1473577509 родительский cid: 4294967295 тип создания: monolithicSparse extents: [0]: виртуальный размер: 21474836480 имя файла: / tera / vmware / omicron / omicron.vmdk размер кластера: 65536 формат:

buzz @ sysadmin: ~ $ qemu-img info /tera/vms/omicron.raw 
изображение: /tera/vms/omicron.raw
формат файла: необработанный виртуальный размер: 20 ГБ (21474836480 байт) размер диска: 3.4 ГБ

buzz @ sysadmin: ~ $ qemu-img info /tera/vms/miweb.qcow2
изображение: /tera/vms/miweb.qcow2
формат файла: qcow2 виртуальный размер: 10 ГБ (10737418240 байт) размер диска: 4.5 ГБ размер_кластера: 65536 Информация о формате: compat: 1.1 lazy refcounts: false

buzz @ sysadmin: ~ $ sudo qemu-img convert -p /tera/vms/omicron.raw -O qcow2 /tera/vms/omicron.qcow2
    (27.56 / 100%)

buzz @ sysadmin: ~ $ qemu-img info /tera/vms/omicron.qcow2 
изображение: /tera/vms/omicron.qcow2
формат файла: qcow2 виртуальный размер: 20 ГБ (21474836480 байт) размер диска: 3.5 ГБ размер_кластера: 65536 Информация о формате: compat: 1.1 lazy refcounts: false
buzz @ sysadmin: ~ $ sudo qemu-img create -f qcow2 /tera/vms/hyp2.qcow2 20G
Форматирование '/tera/vms/hyp2.qcow2', fmt = qcow2 size = 21474836480 encryption = off cluster_size = 65536 lazy_refcounts = off 

жужжание @ sysadmin: ~ $ sudo qemu-img info /tera/vms/hyp2.qcow2
изображение: /tera/vms/hyp2.qcow2
формат файла: qcow2 виртуальный размер: 20G (21474836480 байт) размер диска: 196K cluster_size: 65536 Информация о формате: compat: 1.1 lazy refcounts: false

вирт-xml

Сначала создаем новый альбом:

buzz @ sysadmin: ~ $ sudo qemu-img create -f qcow2 /tera/vms/dns2.qcow2 10G

Затем мы присоединяем его к существующему домену «dns»:

buzz @ sysadmin: ~ $ virt-xml --connect qemu: /// system dns --add-device --disk /tera/vms/dns2.qcow2 --confirm
--- Исходный XML +++ Измененный XML @@ -128,5 +128,10 @@  + + + + +

Определить dns с измененным XML? (г / п): г
Домен "dns" успешно определен.

В конце статьи мы приводим полную структуру измененного файла /etc/libvirt/qemu/dns.xml.

вирт-конвертировать

Преобразуем виртуальную машину, созданную с помощью VMware Workstation к формату Libvirt, но не раньше, чем указать, что формат преобразованного жесткого диска qcow2, а также что новый образ виртуальной машины создается в основном репозитории / tera / vms. Мы также хотим, чтобы вывод команды был как можно более явным, поэтому мы используем параметр -d.

жужжание @ sysadmin: ~ $ sudo virt-convert -d / tera / vmware / miweb / --disk-format qcow2 --destination / tera / vms

После этого virt-viewer автоматически подключается к недавно преобразованному гостю, и мы можем видеть весь процесс его загрузки. добродетель

мивеб02

виртуальный клон

Клонируем виртуальную машину «DNS«:

жужжание @ sysadmin: ~ $ virt-clone --connect qemu: /// system -o dns --auto-clone
Назначение 'dns-clone.qcow2' | 10 ГБ 00:20 Назначение 'dns2-clone.qcow2' | 10 ГБ 00:01     

Клон dns-clone успешно создан.

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

buzz @ sysadmin: ~ $ sudo список virsh
 Состояние идентификатора ----------------------------------------------- -----

buzz @ sysadmin: ~ $ sudo список вирусов - все
 Состояние идентификатора ----------------------------------------------- ----- - отключение dns - отключение dns-clone - отключение miweb

buzz @ sysadmin: ~ $ sudo virsh start dns-clone
Домен dns-clone запущен
buzz @ sysadmin: ~ $ virt-viewer --connect qemu: /// system dns-clone

DNS-клон

виртуальная установка

Мы хотим создать виртуальную машину с именем «WordPress»Размещение сайта Деловой интранет. Он не будет опубликован в Интернете. Что у него около 1024 мегабайт оперативной памяти, жесткий диск на 80 гигабайт динамического роста, который основан на Debian Jessie и подключен к сети »по умолчанию».

Чтобы облегчить себе жизнь, мы сначала создаем образ диска, используя qemu-img:

buzz @ sysadmin: ~ $ sudo qemu-img create -f qcow2 /tera/vms/wordpress.qcow2 80G
Форматирование '/tera/vms/wordpress.qcow2', fmt = qcow2 size = 85899345920 encryption = off cluster_size = 65536 lazy_refcounts = off

Далее мы создаем машину и начинаем процесс установки:

buzz @ sysadmin: ~ $ sudo virt-install --connect qemu: /// system --virt-type = kvm \
--name wordpress --ram 1024 --vcpus = 1 \
--диск /tera/vms/wordpress.qcow2 \
--cdrom /home/buzz/isos/Linux/debian-8/debian-8.0.0-amd64-CD-1.iso \
--os-type linux --network network = default \
--описание WordPress.desdelinux.вентилятор

WordPress

Вирт-топ

buzz @ sysadmin: ~ $ virt-top --connect qemu: /// system
virt-top 15:39:21 - x86_64 2 / 2CPU 1600MHz 3863MB 2 домена, 2 активных, 2 запущенных, 0 спящих, 0 приостановленных, 0 неактивных D: 0 O: 0 X: 0 CPU: 0.7% Mem: 768 MB ( 768 МБ гостями) ID S RDRQ WRRQ RXBY TXBY% CPU% MEM TIME NAME 22 R 0 0 104 0 0.3 6.0 0: 11.49 dns 21 R 0 0 104 0 0.3 13.0 0: 13.42 miweb

Структура файла dns.xml

Сначала может показаться сложным понять структуру файла определения виртуальной машины или GUEST, в понимании гипервизора Qemu-KVM и связанных библиотек, таких как Libvirt. Файл имеет стандартный формат.XML. Он состоит из блоков определения, содержащихся в основном блоке «домен».

....

В этом блоке мы найдем определения всей виртуальной машины:

  • название команды
  • uuid команды
  • объем оперативной памяти
  • количество процессоров
  • тип операционной системы и ее архитектура. устройство ботинок.
  • Он поддерживает такие функции, как ACPI «Интерфейс автоматического управления питанием», APM «Автоматическое управление питанием» и PAE.
  • Модель (ы) ЦП и их характеристики
  • установка часов: является ли это UTC «Единая координата времени» или нет.
  • реакция на такие события, как выключение, перезагрузка или сбой системы
  • если в PM «Управление питанием» включены события «приостановить запись в память» и «приостановить запись на жесткий диск»
  • тип эмулятора различных устройств или Устройства KVM
  • для всех жестких дисков: драйвер, тип диска, путь к файлу образа, целевое устройство, тип шины, слот «слоты»ПК, к которому он подключен, и т. Д. В зависимости от виртуального диска: IDE, SATA, SCSI, USB или Virtio.
  • оптические устройства, такие как CDR
  • количество и тип разъемов USB
  • pci слот для IDE диска
  • последовательный разъем для связи
  • параллельный разъем для принтеров
  • сетевые карты с уникальным MAC-адресом, типом сетевой карты, к какому слоту pci она подключена и к какой виртуальной сети она будет подключаться
  • консоли серии pty
  • устройства ввода, такие как пэд «таблетка", Клавиатура мыши"мышь", и т.д.
  • видеокарта и ее ОЗУ, тип, модель, слот, шина и т. д.
  • и еще один длинный и так далее

Короче говоря, La Mar Océana определений и устройств, которые необходимы и поддерживаются гипервизором Qemu-KVM и соответствующими библиотеками, чтобы иметь полнофункциональную виртуальную машину, как если бы это была настоящая машина.

жужжание @ sysadmin: ~ $ sudo cat /etc/libvirt/qemu/dns.xml 
<!--
ВНИМАНИЕ: ЭТО АВТОСОЗДАННЫЙ ФАЙЛ.  ИЗМЕНЕНИЯ В ЭТОМ ВЕРОЯТНОМУ ЗАПИСИ И УТЕРЯНЫ.  Изменения в этой xml-конфигурации следует вносить с помощью: virsh edit dns или другого приложения, использующего libvirt API.

Предстоящие поставки

  • Команда Вирша
  • Удаленное управление гипервизорами и их виртуальными машинами по SSH

Помните, что это будет цикл статей автора Компьютерные сети для малого и среднего бизнеса. Будем ждать вас!


Оставьте свой комментарий

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

*

*

  1. Ответственный за данные: Мигель Анхель Гатон
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

  1.   Диего сказал

    Вы попросили меня оставить отзыв, и вот оно ... 🙂

    Сериал очень интересный, очень полный. Я многому с ней учусь, хотя «в продакшене» еще не тестировал.

    В настоящий момент я заканчиваю проект, которым я очень занят, но я обязательно буду использовать эту серию в качестве справочника. Спасибо за огромные усилия.

    1.    Federico сказал

      Спасибо Диего за отзыв. По крайней мере, я знаю, что то, что я опубликовал, вам пригодится. И вы правы насчет огромных усилий, которые мы прилагаем DesdeLinux чтобы доставлять вам качественные статьи на испанском языке. Мы знаем, что подобных постов не так много, и поэтому пишем их.

  2.   Зодиак Карбур сказал

    Подробная и дидактическая статья amigo Fico, в которой собраны в посте команды virt- *, используемые в KVM. Найти подобные материалы на испанском языке очень сложно. Я думаю, что не хватало команды virt-what. В остальном отлично

    1.    Я получаю сказал

      Спасибо за комментарий, друг Зодиак. Это правда, что команда virt-what отсутствовала. Я сознательно пропустил его, потому что рекомендации по его использованию в соответствии с его руководством оставили мне неприятный вкус. В конце концов я понял, что они не рекомендуют его использовать.

  3.   Федерико сказал

    Очень верный друг Зодиак. Как говорит Диего в своем комментарии, мы прилагаем огромные усилия, чтобы DesdeLinux чтобы доставлять вам качественные статьи на испанском языке. За исключением классического копирования и вставки сообщений о компакт-дисках, которыми изобилует WWW Village. Это поможет в обучении системных администраторов. Те, кто следил за этой серией, поняли, что мы планируем всесторонне и в логическом порядке осветить решения для сетей малого и среднего бизнеса. Еще раз спасибо всем за ваши комментарии.

  4.   Креспо88 сказал

    Я что-то делал со смартфонами на Android, и у меня не было возможности прочитать такую ​​хорошую статью, на этот раз я просто хочу кое-что сказать. Ступай мягко. Хорошее понимание ...

  5.   Federico сказал

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

    1.    Креспо88 сказал

      Я не имел в виду это, как всегда отличная статья. Я имею в виду, что вы играете очень хорошие песни, то есть с очень полезной утилитой. «Дать мягко» означает, что вы убегаете. Хе-хе, брат по объятиям.

      1.    Я получаю сказал

        Спасибо, брат, за комментарий

  6.   Петерчеко сказал

    Очень хороший пост ... Дидактический, полный и просто идеальный.

    Теперь для тех, кто предпочитает этот тип виртуализации, лучше использовать oVirt (http://www.ovirt.org/), проект, на котором построены Red Hat Virtualization и Open Source. Таким образом, можно очень легко получить доступ к очень продвинутым параметрам, которые в консоли довольно сложны :).

    http://www.ovirt.org/download/
    http://www.ovirt.org/documentation/introduction/about-ovirt/

    Ура :).

  7.   Федерико сказал

    Большое спасибо, Petercheco, за ваш комментарий. В предыдущей статье «Виртуализация в Debian: Введение», в параграфе, посвященном Open Virtualization Alliance, я упоминал oVirt как одно из программ, продвигаемых OVA. Я думаю, что oVirt предназначен для крупных развертываний. С другой стороны, попросите выделенную рабочую станцию ​​с 4 ГБ ОЗУ в качестве рекомендуемого объема памяти. Мой друг и коллега Эдуардо Ноэль «enoel.corebsd@gmail.com» установил несколько серверов виртуализации на базе CentOS 7 и прекрасно управляет ими с помощью oVirt.

  8.   Денис Кантильо сказал

    отличная статья мой партнер, еще один пример качества у вас

  9.   Federico сказал

    Спасибо другу Денису за ваш комментарий и незаслуженную похвалу в мой адрес. Мы делаем что можем.

  10.   Исмаэль Альварес Вонг сказал

    Хотя я ожидаю тестирования виртуальных команд в своей домашней лаборатории, я не могу не признать, что статья просто великолепна, очень практична и чрезвычайно полезна, поскольку она сосредоточена на терминале, который действительно является моим любимым для моего профиля сисадмин.
    Отлично все, что связано с локальным или удаленным администрированием виртуальных машин без использования графического интерфейса «Virt-Manager».
    Еще раз, мой друг Фико, вы увеличиваете себя, самоотверженно делясь своими знаниями о мире Linux.
    Мы с эксцентричным SLD Вонга продолжаем более внимательно изучать серию Virt Qemu-KVM.

    1.    Federico сказал

      Друг Вонг: Комментарии, подобные вашим, заставляют меня продолжать писать о SME Networks. Многие могут задаться вопросом, почему я делаю упор на Qemu-KVM, и ответ в моей статье https://blog.desdelinux.net/virtualizacion-debian-introduccion-redes-computadoras-las-pymes/#Open_Virtualization_Alliance_OVA. Меньше о нем OVirt, который я считаю подходящим для сценариев, больших, чем сеть SME, я имел дело с другими программами, продвигаемыми OVA. Так просто

      Зачем искать вне программных репозиториев каждого дистрибутива, который я использую, если там есть то, что мне нужно виртуализировать на уровне предприятия?

      Искренне благодарю за комментарии, друг Вонг!