Сегодня продолжу описывать испытания, на уже знакомом нам по предыдущему посту серверу Sun Fire T2000. Необходимо попробовать насколько безболезненно пройдет установка на такую машинку свеженького Oracle VM (бывший Ldom) и запуск в ней Solaris. Так сказать тренировочный забег перед официальной работой. Кому-нибудь да пригодится подробный мануал.
Ну что же, начнем, для начала нам необходимо скачать сей пакет, это можно сделать с официального сайта Oracle (может потребовать регистрации), либо отсюда — p12569204_210_SOLARIS64 (1).zip
, залил для ленивых.
Обязательно необходимо проверить соответствует ли Ваше железо критериями Oracle (прошивка, версия Solaris и.т.д.). Для читателей я освещу:
Ну предположим, что все у нас в порядке, мы скачали необходимый софт и готовы к установке, естественно нам необходимо подготовить место, где будет располагаться виртуальный диск гостевой ОС. Для этого я выделил немного места на 2-х дисках объединил их в зеркальный пул
ZFS.
Вы видите, на нем занятое место, это предварительно созданный файл image(который и будет нашим виртуальным диском), файл был создан с помощью команды dd, это выглядело примерно так:
Инсталяция Oracle VM более чем простая, распаковав скачанный архив, проходим в папку Install и видим там единственный скрипт, который и запускаем:
Полученный результат говорит нам, что все прошло успешно. Значит можно переходить к следующим шагам, вот тут и начнется самое интересное. Первое конфигурируем службы нашего VM, это три службы:
vcc — виртуальная консоль
vds — виртуальный диск
vsw — виртуальный свитч
Для этого вводим следующие команды, в дальнейшем будет понятно использование всех опций и аргументов.
В результате мы успешно присвоили виртуальные устройства, нашему primary домену. Теперь переходим к выделению физических ресурсов для гостевого домена. Мы знаем параметры нашего сервера, но чтобы еще раз убедиться что у нас есть вводим командочку:
Это достаточная информация для того, чтобы мы смогли сконфигурировать primary систему с учетом гостевой.
Далее будут следовать команды, которые я опишу чуть ниже.
После ввода данных команд мы получили, новую конфигурации загрузки нашего сервера. Далее нам необходимо перезагрузиться для того, чтобы продолжить нашу настройку.
В процессе загрузки, мы уже видим, что оперативной памяти, как мы и заказали 6Гб. Дальше допиливаем нашу сеть:
Из вывода видно, как мы подключили виртуальную сеть, и сказали ей получить ip по dhcp.
Проверим службы виртуальных терминалов:
Убедившись, что все работает, переходим к конфигурации железа для гостевой ОС, операции похожи на конфигурирование primary системы
В этих нескольких строчках и скрыта вся конфигурация нашего гостевого домена, объясним их по одной:
1 — добавляем домен и называем его
2 — добавляем процессоры в домен
3 — добавляем оперативную память
4 — добавляем виртуальную сеть созданную до этого и называем ее vnet1
5 — ассоциируем предварительно созданный файл как устройство
6 — добавляем это устройство как виртуальный диск
7,8 — говорим гостевой системе загружаться именно с него.
Далее фиксируем все произошедшее привязкой устройств к домену. И проверяем все это.
Теперь очередь установки самого соляриса непосредственно на железку, для этого буду использовать живой DVD привод, но также поддерживается установка из образа ISO.
Для того, чтобы наша гостевое железо перехватило DVD привод, первоначально необходимо отключить службу контролирующую это в primary домене.
В этих командах мы указываем гостевой ОС, что теперь она будет использоваться живой DVD диск, как свой собственный, и делаем мы это с помощью ключа q потому что иногда без него никак. Далее привязываем железо к гостевому домену вновь, но также используя опцию q и стартуем.
Далее нам остается подключиться по телнету к порту обозначенному заранее и продолжить установку.
А дальше, если все пройдет хорошо, мы получим еще одну ОС на своей железке.
Благодарю всех за внимание.
Ну что же, начнем, для начала нам необходимо скачать сей пакет, это можно сделать с официального сайта Oracle (может потребовать регистрации), либо отсюда — p12569204_210_SOLARIS64 (1).zip
, залил для ленивых.
Обязательно необходимо проверить соответствует ли Ваше железо критериями Oracle (прошивка, версия Solaris и.т.д.). Для читателей я освещу:
root@T2000 # cat /etc/release
Oracle Solaris 10 9/10 s10s_u9wos_14a SPARC
Copyright (c) 2010, Oracle and/or its affiliates. All rights reserved.
Assembled 11 August 2010
root@T2000 # prtdiag -v
......................
============================ FW Version ============================
Version
------------------------------------------------------------
System Firmware 6.7.10 2010/07/14 16:35
====================== System PROM revisions =======================
Version
------------------------------------------------------------
OBP 4.30.4.b 2010/07/09 13:48
........................................
Ну предположим, что все у нас в порядке, мы скачали необходимый софт и готовы к установке, естественно нам необходимо подготовить место, где будет располагаться виртуальный диск гостевой ОС. Для этого я выделил немного места на 2-х дисках объединил их в зеркальный пул
ZFS.
root@T2000 # zpool list NAME SIZE ALLOC FREE CAP HEALTH ALTROOT OracleVM 29,8G 9,54G 20,2G 32% ONLINE - mainpool 38G 10,8G 27,2G 28% ONLINE - root@T2000 # df -h | grep OracleVM OracleVM 29G 9,5G 20G 33% /OracleVM
Вы видите, на нем занятое место, это предварительно созданный файл image(который и будет нашим виртуальным диском), файл был создан с помощью команды dd, это выглядело примерно так:
root@T2000 # dd if=/dev/zero of=/OracleVM/image bs=1024 count=10000000Инсталяция Oracle VM более чем простая, распаковав скачанный архив, проходим в папку Install и видим там единственный скрипт, который и запускаем:
root@T2000 # ./install-ldm root@T2000 # svcs -a | grep ldmd online 16:51:52 svc:/ldoms/ldmd:default root@T2000 # ldm list NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME primary active -n-c-- SP 16 8064M 0.1% 49m
Полученный результат говорит нам, что все прошло успешно. Значит можно переходить к следующим шагам, вот тут и начнется самое интересное. Первое конфигурируем службы нашего VM, это три службы:
vcc — виртуальная консоль
vds — виртуальный диск
vsw — виртуальный свитч
Для этого вводим следующие команды, в дальнейшем будет понятно использование всех опций и аргументов.
root@T2000 # ldm add-vcc port-range=5000-5100 primary-vcc0 primary
root@T2000 # ldm add-vds primary-vds0 primary
root@T2000 # ldm add-vsw net-dev=e1000g1 primary-vsw0 primary
root@T2000 # ldm list-services primary
VCC
NAME LDOM PORT-RANGE
primary-vcc0 primary 5000-5100
VSW
NAME LDOM MAC NET-DEV ID DEVICE LINKPROP DEFAULT-VLAN-ID PVID VID MTU MODE INTER-VNET-LINK
primary-vsw0 primary 00:14:4f:f9:29:98 e1000g1 0 switch@0 1 1 1500 on
VDS
NAME LDOM VOLUME OPTIONS MPGROUP DEVICE
primary-vds0 primary
В результате мы успешно присвоили виртуальные устройства, нашему primary домену. Теперь переходим к выделению физических ресурсов для гостевого домена. Мы знаем параметры нашего сервера, но чтобы еще раз убедиться что у нас есть вводим командочку:
root@T2000 # prtdiag
System Configuration: Sun Microsystems sun4v Sun Fire T200
Memory size: 8064 Megabytes
================================ Virtual CPUs ================================
CPU ID Frequency Implementation Status
------ --------- ---------------------- -------
0 1000 MHz SUNW,UltraSPARC-T1 on-line
1 1000 MHz SUNW,UltraSPARC-T1 on-line
2 1000 MHz SUNW,UltraSPARC-T1 on-line
3 1000 MHz SUNW,UltraSPARC-T1 on-line
4 1000 MHz SUNW,UltraSPARC-T1 on-line
5 1000 MHz SUNW,UltraSPARC-T1 on-line
6 1000 MHz SUNW,UltraSPARC-T1 on-line
7 1000 MHz SUNW,UltraSPARC-T1 on-line
8 1000 MHz SUNW,UltraSPARC-T1 on-line
9 1000 MHz SUNW,UltraSPARC-T1 on-line
10 1000 MHz SUNW,UltraSPARC-T1 on-line
11 1000 MHz SUNW,UltraSPARC-T1 on-line
12 1000 MHz SUNW,UltraSPARC-T1 on-line
13 1000 MHz SUNW,UltraSPARC-T1 on-line
14 1000 MHz SUNW,UltraSPARC-T1 on-line
15 1000 MHz SUNW,UltraSPARC-T1 on-line
======================= Physical Memory Configuration ========================
Segment Table:
--------------------------------------------------------------
Base Segment Interleave Bank Contains
Address Size Factor Size Modules
--------------------------------------------------------------
0x0 8 GB 4 2 GB MB/CMP0/CH0/R0/D0
MB/CMP0/CH0/R0/D1
2 GB MB/CMP0/CH1/R0/D0
MB/CMP0/CH1/R0/D1
2 GB MB/CMP0/CH2/R0/D0
MB/CMP0/CH2/R0/D1
2 GB MB/CMP0/CH3/R0/D0
MB/CMP0/CH3/R0/D1
Это достаточная информация для того, чтобы мы смогли сконфигурировать primary систему с учетом гостевой.
root@T2000 # ldm set-vcpu 8 primary
Crypto unit 2 was removed from domain primary
Далее будут следовать команды, которые я опишу чуть ниже.
root@T2000 # ldm start-reconf primary
Initiating a delayed reconfiguration operation on the primary domain.
All configuration changes for other domains are disabled until the primary
domain reboots, at which time the new configuration for the primary domain
will also take effect.
root@T2000 # ldm set-memory 4G primary
root@T2000 # ldm add-config initial
root@T2000 # ldm list-config
factory-default
initial [current]После ввода данных команд мы получили, новую конфигурации загрузки нашего сервера. Далее нам необходимо перезагрузиться для того, чтобы продолжить нашу настройку.
root@T2000 # shutdown -y -g0 -i6В процессе загрузки, мы уже видим, что оперативной памяти, как мы и заказали 6Гб. Дальше допиливаем нашу сеть:
root@T2000 # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.0.241 netmask ffffff00 broadcast 192.168.0.255
ether 0:14:4f:ae:88:14
root@T2000 # ifconfig vsw0 plumb
root@T2000 # dladm show-link
vsw0 type: non-vlan mtu: 1500 device: vsw0
e1000g0 type: non-vlan mtu: 1500 device: e1000g0
e1000g1 type: non-vlan mtu: 1500 device: e1000g1
e1000g2 type: non-vlan mtu: 1500 device: e1000g2
e1000g3 type: non-vlan mtu: 1500 device: e1000g3
root@T2000 # ifconfig vsw0 dhcp start
root@T2000 # ifconfig -a
lo0: flags=2001000849<UP,LOOPBACK,RUNNING,MULTICAST,IPv4,VIRTUAL> mtu 8232 index 1
inet 127.0.0.1 netmask ff000000
e1000g0: flags=1000843<UP,BROADCAST,RUNNING,MULTICAST,IPv4> mtu 1500 index 2
inet 192.168.0.241 netmask ffffff00 broadcast 192.168.0.255
ether 0:14:4f:ae:88:14
vsw0: flags=1004843<UP,BROADCAST,RUNNING,MULTICAST,DHCP,IPv4> mtu 1500 index 3
inet 192.168.0.233 netmask ffffff00 broadcast 192.168.0.255
ether 0:14:4f:f9:29:98
Из вывода видно, как мы подключили виртуальную сеть, и сказали ей получить ip по dhcp.
Проверим службы виртуальных терминалов:
root@T2000 # svcs -a | grep vntsd
online 17:20:25 svc:/ldoms/vntsd:defaultУбедившись, что все работает, переходим к конфигурации железа для гостевой ОС, операции похожи на конфигурирование primary системы
root@T2000 # ldm add-domain VMtest
root@T2000 # ldm add-vcpu 4 VMtest
root@T2000 # ldm add-memory 2G VMtest
root@T2000 # ldm add-vnet vnet1 primary-vsw0 VMtest
root@T2000 # ldm add-vdsdev /OracleVM/image vol1@primary-vds0
root@T2000 # ldm add-vdisk vdisk1 vol@primary-vds0 VMtest
root@T2000 # ldm set-var auto-boot\?=true VMtest
root@T2000 # ldm set-var boot-device=vdisk1 VMtest
В этих нескольких строчках и скрыта вся конфигурация нашего гостевого домена, объясним их по одной:
1 — добавляем домен и называем его
2 — добавляем процессоры в домен
3 — добавляем оперативную память
4 — добавляем виртуальную сеть созданную до этого и называем ее vnet1
5 — ассоциируем предварительно созданный файл как устройство
6 — добавляем это устройство как виртуальный диск
7,8 — говорим гостевой системе загружаться именно с него.
Далее фиксируем все произошедшее привязкой устройств к домену. И проверяем все это.
root@T2000 # ldm bind-domain VMtest
root@T2000 # ldm list-domain VMtest
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
VMtest bound ------ 5000 8 2G
root@T2000 # ldm list-bindings VMtest
NAME STATE FLAGS CONS VCPU MEMORY UTIL UPTIME
VMtest bound ------ 5000 8 2G
UUID
7b0130b5-f955-c92e-ca1e-e83aeb583e35
MAC
00:14:4f:f8:4b:59
HOSTID
0x84f84b59
CONTROL
failure-policy=ignore
extended-mapin-space=off
DEPENDENCY
master=
CORE
CID CPUSET
1 (10, 11)
2 (12, 13, 14, 15)
3 (18, 19)
VCPU
VID PID CID UTIL STRAND
0 10 1 100%
1 11 1 100%
2 12 2 100%
3 13 2 100%
4 14 2 100%
5 15 2 100%
6 18 3 100%
7 19 3 100%
MEMORY
RA PA SIZE
0x8000000 0x108000000 2G
VARIABLES
auto-boot?=true
boot-device=vdisk1
NETWORK
NAME SERVICE ID DEVICE MAC MODE PVID VID MTU LINKPROP
vnet1 primary-vsw0@primary 0 network@0 00:14:4f:fb:b5:bb 1 1500
PEER MAC MODE PVID VID MTU LINKPROP
primary-vsw0@primary 00:14:4f:f9:29:98 1 1500
DISK
NAME VOLUME TOUT ID DEVICE SERVER MPGROUP
vdisk1 vol1@primary-vds0 0 disk@0 primary
VCONS
NAME SERVICE PORT
VMtest primary-vcc0@primary 5000
Теперь очередь установки самого соляриса непосредственно на железку, для этого буду использовать живой DVD привод, но также поддерживается установка из образа ISO.
Для того, чтобы наша гостевое железо перехватило DVD привод, первоначально необходимо отключить службу контролирующую это в primary домене.
root@T2000 # svcadm disable volfs
root@T2000 # ldm unbind VMtest
root@T2000 # ldm add-vdsdev /dev/dsk/c1t0d0s2 dvd_vol@primary-vds0
Path /dev/dsk/c1t0d0s2 is not valid on service domain primary
root@T2000 # ldm add-vdsdev -q /dev/dsk/c1t0d0s2 dvd_vol@primary-vds0
root@T2000 # ldm add-vdisk vdisk_dvd_media dvd_vol@primary-vds0 VMtestВ этих командах мы указываем гостевой ОС, что теперь она будет использоваться живой DVD диск, как свой собственный, и делаем мы это с помощью ключа q потому что иногда без него никак. Далее привязываем железо к гостевому домену вновь, но также используя опцию q и стартуем.
root@T2000 # ldm bind -q VMtest
root@T2000 # ldm start VMtest
LDom VMtest startedДалее нам остается подключиться по телнету к порту обозначенному заранее и продолжить установку.
root@T2000 # telnet localhost 5000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
Connecting to console "VMtest" in group "VMtest" ....
Press ~? for control options ..
{0} ok
{0} ok devalias
vdisk_dvd_media /virtual-devices@100/channel-devices@200/disk@1
vdisk1 /virtual-devices@100/channel-devices@200/disk@0
vnet1 /virtual-devices@100/channel-devices@200/network@0
net /virtual-devices@100/channel-devices@200/network@0
disk /virtual-devices@100/channel-devices@200/disk@0
virtual-console /virtual-devices/console@1
name aliases
{0} ok boot vdisk_dvd_media:f
Boot device: /virtual-devices@100/channel-devices@200/disk@1:f File and args:
SunOS Release 5.10 Version Generic_120011-14 64-bit
Copyright 1983-2007 Sun Microsystems, Inc. All rights reserved.
Use is subject to license terms.А дальше, если все пройдет хорошо, мы получим еще одну ОС на своей железке.
Благодарю всех за внимание.
