Tag Archives: virtualization

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

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

Xen

VMWare

QEMU или KVM

Кроме того, можно также использовать команду dmidecode, для получения информации из системного BIOS. Например:

VMWare:

QEMU или KVM:

Как настроить Xendump в Red Hat Enterprise Linux 5?

Система: Red Hat Enterprise Linux 5

Решение:

Xendump это средство захвата дампов памяти гостевых систем Xen. Оно встроено в гипервизор Xen Hypervisor. Дампы памяти ядра полезны при выяснении причин краха системы. Для анализа таких дампов используется утилита crash. Утилита crash аналогична традиционной Unix-программе crash. Она предоставляет трассировки стека и другую отладочную функциональность для определения проблемных областей, вызывающих крах системы. Аналогичное средство, предназначенное для обычных (не-Xen) ядер, называется Kdump. Чтобы узнать больше о том, как работает Kdump, прочитайте Как настроить kexec/kdump в Red Hat Enterprise Linux 5? .

Чтобы настроить Xendump следуйте нижеприведённым инструкциям:

  1. Включите средство Xendump. Отредактируйте /etc/xen/xend-config.sxp и измените строку

    на:

  2. Перезапустите демон xen:

  3. Чтобы проверить работу Xendump, запустите гостевую систему Xen:

  4. Выполните захват памяти командой:

Обратите внимание, что на данный момент Xendump может быть настроен для автоматического захвата дампов памяти паравиртуальных (PV) гостевых систем Xen при их крахе. Для захвата дампа памяти гостевых систем Xen с полной виртуализацией (FV) Xen, необходимо выполнять команду xm dump-core вручную.

Как в Red Hat Enterprise Linux 5 настроить мост для Xen на интерфейсе, отличном от eth0?

Система: Red Hat Enterprise Linux 5

Проблема:

Конфигурация Xen по-умолчанию автоматически включает в мост xenbr0 интерфейс eth0. Однако, в некоторых случаях бывает желательно включить в мост интерфейс, отличный от eth0, чтобы обеспечить гостевым системам доступ к другой сети.

Решение:

Для того, чтобы включить в мост xenbr0 интерфейс, отличный от eth0, необходимо передать дополнительный параметр скрипту network-bridge в файле /etc/xen/xend-config.sxp. Измените строку

(network-script network-bridge)

так, чтобы она включала имя интерфейса, который нужно включить в мост:

(network-script 'network-bridge netdev=eth1')

В этом примере, интерфейс eth1 будет включён в мост xenbr0. Если вы используете bonded-интерфейс, конфигурация будет выглядеть так:

(network-script 'network-bridge netdev=bond0')

При следующем старте демона xend для настройки моста будет использована новая конфигурация. Чтобы убедиться в правильности новой конфигурации, используйте команду brctl:

В этом примере, peth1 указан, как интерфейс входящий в мост xenbr0. Это означает, что интерфейс eth1 был корректно включён в мост.

Если необходимо, чтобы в мост входило несколько сетевых интерфейсов, например eth0 и eth1, прочитайте инструкции в совете Как объединить несколько сетевых интерфейсов Xen-хоста в мост, доступный гостевым системам?.

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

Создайте скрипт со следующим содержанием и назовите его /etc/xen/scripts/network-xen-custom:

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

chmod 755 /etc/xen/scripts/network-xen-custom

Отредактируйте файл /etc/xen/xend-config.sxp : закомментируйте вызов старого скрипта и добавьте строку с вызовом нового:

#(network-script network-bridge)
(network-script network-xen-custom)

Перезагрузите систему, чтобы новый интерфейс-мост инициализировался корректно.