virtualization – Ivan Pesin https://pesin.space/blog Articles & Translations Wed, 19 Oct 2016 02:08:18 +0000 en-US hourly 1 https://wordpress.org/?v=5.1.1 Как определить, выполняется ли текущая система в виртуальной машине? /blog/2009/07/%d0%ba%d0%b0%d0%ba-%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d0%b8%d1%82%d1%8c-%d0%b2%d1%8b%d0%bf%d0%be%d0%bb%d0%bd%d1%8f%d0%b5%d1%82%d1%81%d1%8f-%d0%bb%d0%b8-%d1%82%d0%b5%d0%ba%d1%83%d1%89%d0%b0/?utm_source=rss&utm_medium=rss&utm_campaign=%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25be%25d0%25bf%25d1%2580%25d0%25b5%25d0%25b4%25d0%25b5%25d0%25bb%25d0%25b8%25d1%2582%25d1%258c-%25d0%25b2%25d1%258b%25d0%25bf%25d0%25be%25d0%25bb%25d0%25bd%25d1%258f%25d0%25b5%25d1%2582%25d1%2581%25d1%258f-%25d0%25bb%25d0%25b8-%25d1%2582%25d0%25b5%25d0%25ba%25d1%2583%25d1%2589%25d0%25b0 Sun, 05 Jul 2009 09:53:25 +0000 http://www.n-ix.com/ipesin/?p=313

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

Xen

$ dmesg | grep -i virtual 
Xen virtual console successfully installed as xvc0

VMWare

$ dmesg | grep -i virtual  
     VMware vmxnet virtual NIC driver         Vendor: VMware    Model: Virtual disk      Rev: 1.0  
     hda: VMware Virtual IDE CDROM Drive, ATAPI CD/DVD-ROM drive

QEMU или KVM

$ dmesg | grep -i virtual    
   CPU: AMD QEMU Virtual CPU version 0.9.1 stepping 03

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

VMWare:

# dmidecode | egrep -i 'manufacturer|product'   
    Manufacturer: VMware, Inc.       Product Name: VMware Virtual Platform

QEMU или KVM:

# dmidecode | egrep -i 'vendor' 
   Vendor: QEMU

]]>
Как настроить Xendump в Red Hat Enterprise Linux 5? /blog/2009/06/%d0%ba%d0%b0%d0%ba-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b8%d1%82%d1%8c-xendump-%d0%b2-red-hat-enterprise-linux-5/?utm_source=rss&utm_medium=rss&utm_campaign=%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25bd%25d0%25b0%25d1%2581%25d1%2582%25d1%2580%25d0%25be%25d0%25b8%25d1%2582%25d1%258c-xendump-%25d0%25b2-red-hat-enterprise-linux-5 Thu, 18 Jun 2009 07:20:22 +0000 http://www.n-ix.com/ipesin/?p=192

Система: 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 и измените строку

    #(enable-dump no)

    на:

    (enable-dump yes)

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

    # service xend restart

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

    # xm create /etc/xen/<домен>

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

    # xm dump-core <имя_домена> <файл_дампа>

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

]]>
Как в Red Hat Enterprise Linux 5 настроить мост для Xen на интерфейсе, отличном от eth0? /blog/2009/05/%d0%ba%d0%b0%d0%ba-%d0%b2-red-hat-enterprise-linux-5-%d0%bd%d0%b0%d1%81%d1%82%d1%80%d0%be%d0%b8%d1%82%d1%8c-%d0%bc%d0%be%d1%81%d1%82-%d0%b4%d0%bb%d1%8f-xen-%d0%bd%d0%b0-%d0%b8%d0%bd%d1%82%d0%b5%d1%80/?utm_source=rss&utm_medium=rss&utm_campaign=%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25b2-red-hat-enterprise-linux-5-%25d0%25bd%25d0%25b0%25d1%2581%25d1%2582%25d1%2580%25d0%25be%25d0%25b8%25d1%2582%25d1%258c-%25d0%25bc%25d0%25be%25d1%2581%25d1%2582-%25d0%25b4%25d0%25bb%25d1%258f-xen-%25d0%25bd%25d0%25b0-%25d0%25b8%25d0%25bd%25d1%2582%25d0%25b5%25d1%2580 Wed, 27 May 2009 19:53:42 +0000 http://www.n-ix.com/ipesin/?p=62

Система: 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:

# brctl show
bridge name	bridge id		STP enabled	interfaces
virbr0		8000.000000000000	yes
xenbr0		8000.feffffffffff	no		peth1
							vif0.0

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

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

]]>
Как объединить несколько сетевых интерфейсов Xen-хоста в мост, доступный гостевым системам? /blog/2009/05/%d0%ba%d0%b0%d0%ba-%d0%be%d0%b1%d1%8a%d0%b5%d0%b4%d0%b8%d0%bd%d0%b8%d1%82%d1%8c-%d0%bd%d0%b5%d1%81%d0%ba%d0%be%d0%bb%d1%8c%d0%ba%d0%be-%d1%81%d0%b5%d1%82%d0%b5%d0%b2%d1%8b%d1%85-%d0%b8%d0%bd%d1%82/?utm_source=rss&utm_medium=rss&utm_campaign=%25d0%25ba%25d0%25b0%25d0%25ba-%25d0%25be%25d0%25b1%25d1%258a%25d0%25b5%25d0%25b4%25d0%25b8%25d0%25bd%25d0%25b8%25d1%2582%25d1%258c-%25d0%25bd%25d0%25b5%25d1%2581%25d0%25ba%25d0%25be%25d0%25bb%25d1%258c%25d0%25ba%25d0%25be-%25d1%2581%25d0%25b5%25d1%2582%25d0%25b5%25d0%25b2%25d1%258b%25d1%2585-%25d0%25b8%25d0%25bd%25d1%2582 Sun, 24 May 2009 19:19:16 +0000 http://www.n-ix.com/ipesin/?p=65

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

#!/bin/sh
# network-xen-custom
# Выйти, если что-то пойдёт не так
set -e
# Первый аргумент -- это операция
OP=$1
shift
script=/etc/xen/scripts/network-bridge
case ${OP} in
        start)
                $script start vifnum=0 bridge=xenbr0 netdev=eth0
                $script start vifnum=1 bridge=xenbr1 netdev=eth1
                ;;
        stop)
                $script stop vifnum=0 bridge=xenbr0 netdev=eth0
                $script stop vifnum=1 bridge=xenbr1 netdev=eth1
                ;;
        status)
                $script status vifnum=0 bridge=xenbr0 netdev=eth0
                $script status vifnum=1 bridge=xenbr1 netdev=eth1
                ;;
        *)
                echo "Unknown command:${OP}"
                echo 'Valid commands are: start, stop, status'
                exit 1
esac

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

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

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

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

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

]]>