Проект

Общее

Профиль

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

Евгений Антонов, 18.09.2017 16:37

1 1 Евгений Антонов
h1. Создание Solaris виртуальной машины
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 Евгений Антонов
40 1 Евгений Антонов
После этого можно завершать домен. Затем, для проверки, комментируем в вышеприведенном конфиге строчки disk и extra и раскомментируем их закомментированные аналоги, подставляя в zfs-bootfs=rpool/ROOT/solaris\,bootpath=/xpvd/xdf@0:a\,console=ttya
41 1 Евгений Антонов
42 1 Евгений Антонов
снова запускаем домен, если домен загрузился корректно, то можно его выключать и создавать домен в ganeti:
43 1 Евгений Антонов
<pre>
44 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
45 1 Евгений Антонов
</pre>
46 1 Евгений Антонов
Затем правим параметры гипервизора:
47 1 Евгений Антонов
<pre>
48 1 Евгений Антонов
gnt-instance modify -H blockdev_prefix=0 solaris
49 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
50 1 Евгений Антонов
gnt-instance modify -H root_path= solaris
51 1 Евгений Антонов
gnt-instance modify -H initrd_path=/boot/sol11_boot_archive solaris
52 1 Евгений Антонов
gnt-instance modify -H kernel_path=/boot/sol11_kernel_xpv solaris
53 1 Евгений Антонов
gnt-instance modify -H use_bootloader=false solaris
54 1 Евгений Антонов
</pre>
55 1 Евгений Антонов
Активируем диск:
56 1 Евгений Антонов
<pre>
57 1 Евгений Антонов
gnt-instance activate-disks solaris
58 1 Евгений Антонов
</pre>
59 1 Евгений Антонов
заливаем образ из файла на drbd ресурс(путь к нему виден в выводе команды activate-disks:
60 1 Евгений Антонов
<pre>
61 1 Евгений Антонов
dd if=/stuff/sol.img of=/dev/drbd89 bs=4k
62 1 Евгений Антонов
</pre>
63 1 Евгений Антонов
64 1 Евгений Антонов
И запускаем домен уже через ganeti