В последних версиях HP-UX появилась возможность запускать виртуальные машины. Реализована эта возможность очень добротно и толково — установка и настройка делается на раз-два. Вообщем — очень удобно для тестовых серверов и перераспределения ресурсов. Сейчас можно эмулировать HP-UX и Windows, в скором будущем еще и Linux под itanium. Устанавить и настроить можно с командной строки, используются команды hpvm*.

Общая информация

Краткое описание

Технология virtual machines (VM) в ОС HP-UX позволяет запускать один или несколько экземпляров (VM guest) операционных систем (HP-UX и Windows) на одном сервере (VM host), разделяя его аппаратные ресурсы между VM. Документ описывает процесс установки и настройки virtual machines в ОС HP-UX

Платформа

Сервер HP Integrity

ОС HP-UX 11i v2 May 2005 или более поздняя с установленным последним Patch bundle.

UP


Установка программного обеспечения

Особых требований к операционной системе для установки VM нет, требуется HP-UX 11i v2 или более поздняя с установленным последним Patch bundle.
Необходимо установить следующие параметры ядра:

kctune -Bh 'dbc_max_pct=1'
kctune -Bh 'dbc_min_pct=1'
kctune -Bh 'maxdsiz_64bit=34359738368'
kctune -Bh 'swapmem_on=0'

Перезагрузить.

Если предполагается запускать Oracle в виртульных машинах, то следует установить еще некоторые параметры ядра и создать ссылки на библиотеки.


swinstall -x autoreboot=true -s /depot/path/t2767ac.depot T2767AC

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


swlist -l fileset | grep PkgName
swremove PkgName

После этого потребуется переустановить VM заново.

После успешной установки ПО будет установлено в каталог /opt/hpvm, бинарные файлы будут расположены в /opt/hpvm/bin, файлы гостевых ОС и логи в /var/opt/hpvm .

UP


Создание и настройка VM

Создание виртуальной машины

VM создаются командой hpvmcreate:


hpvmcreate -P vm-name [-F | -s] [-l vm_label] [-B start_attr]
[-O os_type[:version]] [-c number_vcpus] [-e percent | -E cycles] [-a rsrc] [-r amount]
[-g group[:{admin|oper}]] [-u user[:{admin|oper}]]
[-i {SG | -i SG_pkgname | -i GWLM | -i SG_pkgname,GWLM | -i NONE}]

Основные опции создания VM:
-P — имя VM
-O — операционная система (hpux или windows)
-c — количество виртуальных CPU
-e — процент загрузки CPU
-r — количество физической памяти для VM
-a — добавить виртуальные аппаратные ресурсы
-B — автоматически или вручную стартовать VM (auto или manual)

VM модифицируются командой hpvmmodify. Используются те же опции, как и в hpvmcreate, кроме того, появляется несколько дополнительных:
-m изменить виртуальные аппаратные ресурсы в VM
-d удалить виртуальные аппаратные ресурсы в VM


# hpvmcreate -P vm01 -O hpux -e 20 -r 3G
# hpvmmodify -P vm01 -c 1 -r 2 GB -O hpux -B manual

Посмотреть состояние VM:

# hpvmstatus
# hpvmstatus -P vm01
# hpvmstatus -P vm01 -d

Загрузить VM:

# hpvmconsole -c 'pc -on' -P vm01
# hpvmstart -P vm01

Выключить VM:

# hpvmconsole -c 'pc -off' -P vm01
# hpvmstop -P vm01

UP


Сетевые ресурсы

Для предоставления сетевых ресурсов на VM Host создается виртуальный ethrnet-коммутатор (vswitch):

hpvmnet -c -S vswitch-name -n nic-id
где nic-id — номер ehernet-адаптера на VM Host.
Для создания vswitch для localhost используется та же команда без -n

hpvmnet -c -S vswitch-name

Пример:

# lanscan
Hardware Station Crd Hdw Net-Interface NM MAC HP-DLPI DLPI
Path Address In# State NamePPA ID Type Support Mjr#
0/1/2/0 0x00156004A4C6 0 UP lan0 snap0 1 ETHER Yes 119
# hpvmnet -c -S vmlan -n 0
# hpvmnet -c -S localnet
# hpvmnet

Добавить виртуальный сетевой адаптер в VM:

# hpvmmodify -P vm01 -a network:lan::vswitch:vmlan
# hpvmmodify -P vm01 -a network:lan::vswitch:localnet

Добавить виртуальный адаптер с определенным mac-адресом:

# hpvmmodify -P vm01 -a network:lan:0,0,0x00306E39F70B:vswitch:vmlan

Удалить виртуальный сетевой адаптер:

# hpvmmodify -P vm01 -d network:lan::vswitch:vmlan

UP


Дисковые ресурсы

Предоставление дисковых ресурсов для VM возможно 4 способами: отдельный диск, партиция диска, том VxVM или LVM, файл файловой системы.

Отдельный диск

Основной плюс — высокая скорость доступа. Мультипатинг должен обеспечиваться таким ПО, как , на уровне VM Host.

# ioscan
# ioscan -funC disk
disk 110 0/5/1/0.11.16.0.0.0.2 sdisk CLAIMED DEVICE HP A6188A
disk 116 0/5/1/0.11.16.0.0.0.3 sdisk CLAIMED DEVICE HP A6188A
/dev/dsk/c19t0d3 /dev/rdsk/c19t0d3
# insf -H 0/5/1/0.11.16.0.0.0.2
# ioscan -funC disk
disk 110 0/5/1/0.11.16.0.0.0.2 sdisk CLAIMED DEVICE HP A6188A
/dev/dsk/c19t0d2 /dev/rdsk/c19t0d2
disk 116 0/5/1/0.11.16.0.0.0.3 sdisk CLAIMED DEVICE HP A6188A
/dev/dsk/c19t0d3 /dev/rdsk/c19t0d3
# hpvmmodify -P vm01 -a disk:scsi::disk:/dev/rdsk/c19t0d3

Посмотреть дисковые ресурсы VM:

# hpvmstatus -P vm01 -d

Удалить диск с VM:

# hpvmmodify -P vm01 -d disk:scsi::disk:/dev/rdsk/c19t0d3

Партиция диска

Не самый простой, логичный и удобный путь. Добавить партицию на диск с помощью утилиты idisk. Добавляется в VM также, как отдельный диск, только указывается раздел на диске:

# diskinfo /dev/rdsk/c19t0d3
# hpvmmodify -P vm01 -a disk:scsi::disk:/dev/rdsk/c19t0d3s4

Использование LvDisk ( том VxVM или LVM )

Использование менеджера томов позволяет просто, удобно и быстро создавать дисковые ресурсы для VM, использовать мультипатинг (VxDMP или PVLinks), однако снижает скорость операций ввода-вывода VM , так как доступ осуществляется через дополнительный слой ПО.

Пример создания тома в VxVM и использование его в VM:

# vxdisk list
# vxdg init vmdg EVA4000_L14=EVA4K6K0_2
# vxassist -g vmdg make vm01-dsk0 18g
# hpvmmodify -P vm01 -a disk:scsi::lv:/dev/vx/rdsk/vmdg/vm01-dsk0
# hpvmstatus -P vm01 -d
[Virtual Machine Devices]
[Storage Interface Details]
disk:scsi:0,2,0:lv:/dev/vx/rdsk/vmdg/vm01-dsk0
[Network Interface Details]
network:lan:0,0,0x4EED8A729461:vswitch:vmlan
network:lan:0,1,0x2A687A8FB412:vswitch:localnet
[Misc Interface Details]
serial:com1::tty:console

Пример использования LVM:

# vgdisplay -v
# hpvmmodify -P vm01 -a disk:scsi::lv:/dev/lvrackA/rdisk2

Виртуальные DVD ресурсы

Добавлять в VM можно как физический DVD-ROM, так и ISO-файлы.

Использование физического DVD устройства

Только одна VM может использовать DVD-ROM в текущий момент времени. Диск должен быть установлен. Перед передачей ресурса на другую VM, убедитесь, что DVD отмонтирован.

# ioscan -funC disk
disk 0 0/0/2/0.0.0.0 sdisk CLAIMED DEVICE HL-DT-STDVD+RW GCA-4040N
/dev/dsk/c0t0d0 /dev/rdsk/c0t0d0
# diskinfo /dev/rdsk/c0t0d0
SCSI describe of /dev/rdsk/c0t0d0:
vendor: HL-DT-ST
product id: DVD+RW GCA-4040N
type: CD-ROM
size: 4300800 Kbytes
bytes per sector: 2048
# hpvmmodify -P vm01 -a dvd:scsi::disk:/dev/rdsk/c0t0d0

Использование файлового DVD устройства

Можно создать ISO образ диска и отдать его VM.

# hpvmmodify -P vm01 -a dvd:scsi::file:/var/tmp/hpvm/0603-FOE-D1.iso

Использование null-DVD устройства

Представляет собой эмуляцию DVD-ROM без диска. В зависимости от настроек позволяет монтировать как ISO-файлы, так и физические DVD.
Отдать под управление DVD-ROM:

# hpvmmodify -P vm01 -a dvd:scsi::null:/dev/rdsk/c0t0d0

Создать виртуальный DVD-ROM для ISO-файлов, которые находятся в каталоге /var/opt/hpvm/ISO-images/hpux:

# ls -l /var/opt/hpvm/ISO-images/hpux
total 26409104
-rw-r--r-- 1 root sys 3774611456 Jul 11 16:59 0505-FOE.iso
-rw-r--r-- 1 root sys 4285267968 Jul 11 17:05 0512-FOE.iso
-rw-r--r-- 1 root sys 3149987840 Jul 11 18:42 0603-FOE-D1.iso
-rw-r--r-- 1 root sys 1629978624 Jul 11 18:51 0603-FOE-D2.iso
# hpvmmodify -P vm01 -a dvd:scsi::null:/var/opt/hpvm/ISO-images/hpux

Для монтирования и размонтирования DVD-ROM, как физического, так и файлового необходимо зайти в консоль виртуальной машины, выбрать vMP>
и набрать in для того, чтобы вставить DVD и ej для извлечения.

# hpvmconsole -P vm01
Console Login:
vMP MAIN MENU
CO: Console
CM: Command Menu
CL: Console Log
SL: Show Event Logs
VM: Virtual Machine Menu
HE: Main Help Menu
X: Exit Connection
[vm01] vMP> ej
Ejectable Guest Devices
Num Hw-path (Bus,Slot,Tgt) Gdev Pstore Path
-------------------------------------------------------------------------
[1] 0/0/2/0.1.0 (0,2,1) dvd disk /dev/rdsk/c0t0d0
[2] 0/0/2/0.2.0 (0,2,2) dvd file /rtb/distr/hp1.iso
Enter menu item number or [Q] to Quit: 2
Confirm eject action
G - Go
F - Force
Enter menu item or [Q] to Quit: g
[vm01] vMP> co

Для переходя из консоли в предыдущее меню необходимо нажать ctrl-B

UP


Пример установки HP-UX на виртуальную машину.

Установить VM, добавить виртуальные дисковые ресурсы, добавить виртуальный сетевой интерфейс, добавить Null-DVD с каталогом, содержащим ISO-файлы инсталляционных дисков:

# hpvmcreate -P vm01 -c 1 -r 2 GB -O hpux -B auto
# hpvmnet -c -S vmlan -n 0
# hpvmnet -c -S vmlocalnet
# hpvmmodify -P vm01 -a network:lan::vswitch:vmlan
# hpvmmodify -P vm01 -a network:lan::vswitch:vmlocalnet
# vxdg init vmdg EVA4000_L14=EVA4K6K0_2
# vxassist -g vmdg make vm01-dsk0 18g
# hpvmmodify -P vm01 -a disk:scsi::lv:/dev/vx/rdsk/vmdg/vm01-dsk0
# hpvmmodify -P vm01 -a dvd:scsi::null:/rtb/distrib/hpux

Подаем питание на VM и быстро ( в течении 10 секунд!!! ) заходим в консоль виртуальной машины и нажимаем клавиши вверх-вниз на клавиатуре:

# hpvmconsole -c 'pc -on' -P vm01
# hpvmconsole -P vm01
vMP MAIN MENU
CO: Console
CM: Command Menu
CL: Console Log
SL: Show Event Logs
VM: Virtual Machine Menu
HE: Main Help Menu
X: Exit Connection
[vm01] vMP> co

Нажимаем ctrl -B, выходим в предыдущий пункт меню, набираем

[vm01] vMP> in

Монтируем ISO-файл первого инсталляционного диска и возвращаемся в консоль.

[vm01] vMP> co

Затем, выбираем загрузку boot option maintenance menuboot from a Fileremovable Media Boot

Выбираем загрузку, начинаем установку ОС. После того, как будет предложено вставить второй диск -нажимаем ctrl -B, выходим в предыдущий пункт меню, набираем

[vm01] vMP> ej
[vm01] vMP> in

Монтируем ISO-файл второго инсталляционного диска, возвращаемся в консоль и завершаем установку ОС.

UP



Литература:

Обсуждение закрыто.