Как стать автором
Обновить

Краткая инструкция по установке Solaris 11 как пара-виртуальной машины под гипервизором Xen

После выхода релиза Solaris 11, который так долго ожидался, решил попробовать поставить данную ОСь на x86-систему. Не имея выделенной железки и установив один раз Solaris 10 под XenServer выбрал в качестве платформы CentOS и установленный из репозитария gitco гипервизор Xen.
Итак, приступим.
Для начала берём ISO-образ, создаем каталог и монтируем в эту точку скачанный ISO-образ:
mkdir sol-11-1111-text-x86
mount -o loop sol-11-1111-text-x86.iso sol-11-1111-text-x86


Копируем файлы ядра операционной системы и загрузочный архив для дальнейшего использования:
cd sol-11-1111-text-x86
cp ./platform/i86pc/amd64/boot_archive /xen/boot/guest/solaris11/
cp ./platform/i86xpv/kernel/amd64/unix /xen/boot/guest/solaris11/


Будем устанавливать виртуальную систему в LVM-том, посему предварительно создаем логический том (LV):
lvcreate -L 64G -n solaris11 vg

Так же создадим профиль для установки виртуальной машины, в котором
указываем имя этой машины, пути до скопированного нами ядра и загрузочного архива а так же до установочного ISO-образа. Обратите внимание на тег
<cmdline>/platform/i86xpv/kernel/amd64/unix -B console=ttya,livemode=text</cmdline>
что позволит нам производить установку через виртуальный последовательный порт.

# cat /xen/boot/guest/solaris11/installSolaris.xml 
<domain type='xen' >
<name>Solaris11</name>
<memory>1048576</memory>
<currentMemory>1048576</currentMemory>
<vcpu>2</vcpu>
<bootloader></bootloader>
<os>
<type>linux</type>
<kernel>/xen/boot/guest/solaris11/unix</kernel>
<initrd>/xen/boot/guest/solaris11/boot_archive</initrd>
<cmdline>/platform/i86xpv/kernel/amd64/unix -B console=ttya,livemode=text</cmdline>
</os>
<clock offset='utc'/>
<on_poweroff>destroy</on_poweroff>
<on_reboot>destroy</on_reboot>
<on_crash>destroy</on_crash>
<devices>
<disk type='file' device='cdrom'>
<driver name='file'/>
<source file='/xen/boot/guest/solaris11/sol-11-1111-text-x86.iso'/>
<target dev='xvdc' bus='xen'/>
<readonly/>
</disk>
<disk type='block' device='disk'>
<driver name='phy'/>
<source dev='/dev/mapper/vg-solaris11_xvda'/>
<target dev='xvda' bus='xen'/>
</disk>
<interface type='bridge'>
<mac address='00:16:3E:01:7A:0B'/>
<source bridge='virbr0'/>
<script path='/etc/xen/scripts/vif-bridge'/>
<target dev='vif11.0'/>
</interface>
<console type='pty' tty='/dev/pts/1'>
<source path='/dev/pts/1'/>
<target type='xen' port='0'/>
</console>
</devices>
</domain>


Стартуем установку:
virsh create installSolaris.xml
проверяем что машина стартовала:
# xm list|grep so11
Solaris11 34 1024 2 -b---- 498.4

Подключаемся к последовательному порту
xm console Solaris11
v3.4.3 chgset 'unavailable'
SunOS Release 5.11 Version 11.0 64-bit
Copyright (c) 1983, 2011, Oracle and/or its affiliates. All rights reserved.
Remounting root read/write
Probing for device nodes ...
dcpc: unable to resolve dependency, cannot load module 'drv/cpc'
Preparing image for use
Done mounting image
USB keyboard

Далее производим установку:
image

Так же необходимо поменять тип терминала в инсталяционном меню:
image
на vt100.
image

После успешной инсталяции:
image
при выборе перезагрузки:
image
виртуальная машина выключиться.

Необходимо создать профиль для виртуальной машины:
# cat /etc/xen/solaris11
name = "solaris11"
memory = "2048"
disk = [ 'phy:/dev/mapper/vg-solaris11_xvda,xvda,w' ]
vif = [ 'mac=00:16:3E:01:7A:0B, bridge=virbr0, script=vif-bridge' ]
vnc=0
boot="c"
usb=0
vcpus=2
cpus = ["2", "4"]
serial = "pty" # enable serial console
kernel = "/xen/boot/guest/solaris11/unix"
ramdisk = "/xen/boot/guest/solaris11/boot_archive"
extra = "/platform/i86xpv/kernel/amd64/unix - nowin -B zfs-bootfs=rpool/ROOT/solaris-1,bootpath=/xpvd/xdf@51712:a,console=ttya"
on_reboot = 'restart'
on_crash = 'restart'

и запустить её снова.
image
Теги:
Хабы:
Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.