Создание виртуальных машин 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 |