Проект

Общее

Профиль

Создание виртуальных машин Solaris 11 » История » Версия 1

Владимир Ипатов, 30.06.2013 01:17

1 1 Владимир Ипатов
h1. Создание виртуальных машин Solaris 11
2 1 Владимир Ипатов
3 1 Владимир Ипатов
Для создания виртуальной машины с Solaris 11 нужен ISO образ sol-11-1111-text-x86.iso
4 1 Владимир Ипатов
Насколько я понимаю, sol-11_1-text-x86.iso, который сейчас лежит на сайте оракла, не работает.
5 1 Владимир Ипатов
6 1 Владимир Ипатов
образ нужно скопировать на обе ноды, затем смонтировать на одной из нод:
7 1 Владимир Ипатов
<pre>mount -o loop /stuff/cdimages/sol-11-1111-text-x86.iso /mnt/cdrom</pre>
8 1 Владимир Ипатов
9 1 Владимир Ипатов
Затем скопировать паравиртуальное ядро и бут архив в /boot на обе ноды:
10 1 Владимир Ипатов
<pre>
11 1 Владимир Ипатов
cp /mnt/cdrom/platform/i86xpv/kernel/amd64/unix /boot/sol11_kernel_xpv
12 1 Владимир Ипатов
cp /mnt/cdrom/platform/i86pc/amd64/boot_archive /boot/sol11_boot_archive
13 1 Владимир Ипатов
</pre>
14 1 Владимир Ипатов
15 1 Владимир Ипатов
Затем нужно создать временный файл-образ для установки соляриса на одной из нод:
16 1 Владимир Ипатов
<pre>dd if=/dev/zero of=/stuff/sol.img bs=4k count=3932160</pre>
17 1 Владимир Ипатов
Здесь образ будет размером 15ГБ
18 1 Владимир Ипатов
19 1 Владимир Ипатов
Затем создаем конфиг для ксен домена:
20 1 Владимир Ипатов
<pre>
21 1 Владимир Ипатов
kernel = '/boot/sol11_kernel_xpv'
22 1 Владимир Ипатов
ramdisk = '/boot/sol11_boot_archive'
23 1 Владимир Ипатов
memory = 4096
24 1 Владимир Ипатов
name = 'solaris-file'
25 1 Владимир Ипатов
vif = ['mac=aa:00:00:63:63:63, bridge=xen-lan']
26 1 Владимир Ипатов
disk = ['file://stuff/cdimages/sol-11-1111-text-x86.iso,6:cdrom,r', 'file://stuff/sol.img,0,w' ]
27 1 Владимир Ипатов
#disk = ['file://stuff/sol.img,0,w' ]
28 1 Владимир Ипатов
on_poweroff = 'destroy'
29 1 Владимир Ипатов
on_reboot = 'restart'
30 1 Владимир Ипатов
on_crash = 'restart'
31 1 Владимир Ипатов
extra = '/platform/i86xpv/kernel/amd64/unix -B console=ttya,livemode=text'
32 1 Владимир Ипатов
#extra = '/platform/i86xpv/kernel/amd64/unix -B console=ttya,zfs-bootfs=rpool/53,bootpath="/xpvd/xdf@0:a"'
33 1 Владимир Ипатов
</pre>
34 1 Владимир Ипатов
35 1 Владимир Ипатов
запускаем его:
36 1 Владимир Ипатов
<pre>xm create -c путь_к_конфигу</pre>
37 1 Владимир Ипатов
загружается программа установки, выполняем установку. 
38 1 Владимир Ипатов
После установки НЕ нажимаем перезагрузку, а возвращаемся в шелл и выполняем команду:
39 1 Владимир Ипатов
<pre>
40 1 Владимир Ипатов
pfexec zdb -vvv rpool | grep bootfs
41 1 Владимир Ипатов
</pre>
42 1 Владимир Ипатов
В выводе команды вида:
43 1 Владимир Ипатов
<pre>
44 1 Владимир Ипатов
bootfs = ЧИСЛО
45 1 Владимир Ипатов
</pre>
46 1 Владимир Ипатов
нужно запомнить число, которое затем нужно будет указать в параметрах ядра.
47 1 Владимир Ипатов
48 1 Владимир Ипатов
После этого можно завершать домен. Затем, для проверки, комментируем в вышеприведенном конфиге строчки disk и extra и раскомментируем их закомментированные аналоги, подставляя в zfs-bootfs=rpool/53 правильный номер.
49 1 Владимир Ипатов
50 1 Владимир Ипатов
снова запускаем домен, если домен загрузился корректно, то можно его выключать и создавать домен в ganeti:
51 1 Владимир Ипатов
<pre>
52 1 Владимир Ипатов
gnt-instance add -o solaris+default -t drbd -n gnt1:gnt2 --disk 0:size=15g --net=0:link=xen-lan -B memory=4096m --no-name-check --no-ip-check --no-install solaris
53 1 Владимир Ипатов
</pre>
54 1 Владимир Ипатов
Затем правим параметры гипервизора:
55 1 Владимир Ипатов
<pre>
56 1 Владимир Ипатов
gnt-instance modify -H blockdev_prefix=0 solaris
57 1 Владимир Ипатов
gnt-instance modify -H kernel_args='/platform/i86xpv/kernel/amd64/unix -B zfs-bootfs=rpool/ROOT/solaris\,bootpath=/xpvd/xdf@0:a\,console=ttya' solaris
58 1 Владимир Ипатов
gnt-instance modify -H root_path= solaris
59 1 Владимир Ипатов
gnt-instance modify -H initrd_path=/boot/sol11_boot_archive solaris
60 1 Владимир Ипатов
gnt-instance modify -H kernel_path=/boot/sol11_kernel_xpv solaris
61 1 Владимир Ипатов
gnt-instance modify -H use_bootloader=false solaris
62 1 Владимир Ипатов
</pre>
63 1 Владимир Ипатов
Активируем диск:
64 1 Владимир Ипатов
<pre>
65 1 Владимир Ипатов
gnt-instance activate-disks solaris
66 1 Владимир Ипатов
</pre>
67 1 Владимир Ипатов
заливаем образ из файла на drbd ресурс(путь к нему виден в выводе команды activate-disks:
68 1 Владимир Ипатов
<pre>
69 1 Владимир Ипатов
dd if=/stuff/sol.img of=/dev/drbd89 bs=4k
70 1 Владимир Ипатов
</pre>
71 1 Владимир Ипатов
72 1 Владимир Ипатов
И запускаем домен уже через ganeti