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