Wednesday, January 02, 2008

Install OpenSolaris (SNV78) DomU at CentOS 5.1 Dom0 (x86_64)

Xen implementation on CentOS 5.1 through my experience appears to be self-sufficient,
having service dnsmasq as embedded DHCP server at CentOS 5.1 Dom0 for Linux and Solaris DomUs.
Moreover by running :-

# chkconfig libvirtd off
# reboot

it's easy to disable virbr0 interface and revert
back to old fashion xen-bridging with static IP addresses
Bug [1] is still affecting CentOS 5.1.
Follow guidelines from [2] on CentOS 5.1 to fix it.

# cd /usr/lib64/python2.4/site-packages/xen/xend/server
# vi and made this change:

devid = blkif.blkdev_name_to_number(dev)
-if not devid:
+if devid is None:
raise VmError('Unable to find number for device (%s)' % (dev))finally:
# /etc/init.d/xend restart

Create installation SNV78 DomU profile, view [4] for example.

# cat SolarisNVB78.conf

name = "SolarisNVB78"
vcpus = 1
memory = "1024"
kernel = "/usr/lib/xen-solaris/unix-78"
ramdisk = "/usr/lib/xen-solaris/x86.miniroot-78"
extra = "/platform/i86xpv/kernel/amd64/unix - nowin -B install_media=cdrom"
disk = ['file:/usr/lib/xen-solaris/snv78.iso,6:cdrom,r','phy:/dev/sdb10,0,w']
vif = ['']
on_shutdown = "destroy"
on_reboot = "destroy"
on_crash = "destroy"

# xm create -c SolarisNVB78.conf

Select DHCP for DomU virtual interface xnf0 and proceed
with installation.
NOTICES reported during initial install as well as during subsequent
bootings up won't affect SNV78 DomU functionality.
Solaris DomU partitioning and slicing will be performed properly.

Complete first installation phase, modify profile
for runtime and start SNV78 DomU.

# cat SolarisNVB78.conf

name = "SolarisNVB78"
memory = 1024
disk = ['phy:/dev/sdb10,0,w']
kernel = "/usr/lib/xen-solaris/unix-78"
ramdisk = "/usr/lib/xen-solaris/x86.miniroot-78"
extra = "/platform/i86xpv/kernel/amd64/unix"
vif = [' ']
root = "/dev/dsk/c0d0s0"
on_reboot = "destroy"
on_shutdown = "destroy"
on_crash = "destroy"

# xm create -c SolarisNVB78.conf

Add "set xnf:xnf_cksum_offload = 0" to /etc/system (build < 81)
and run as root :-

# bootadm update-archive
# /usr/bin/scp -S /usr/bin/ssh \
/platform/i86pc/amd64/boot_archive \
# shutdown -y -i0 -g0

Make final changes to SNV78 PVM profile
by pointing ramdisk to boot_archive:-

ramdisk = "/usr/lib/xen-solaris/boot_archive"

Start SNV78 DomU and configure Sun Xvnc using following set
of instructions (view [3] for example).

Add a display1 instance of x11-server service for configuration
and configure it to run Xvnc

# svccfg -s application/x11/x11-server add display1
# svccfg -s application/x11/x11-server:display1 addpg options application
# svccfg -s application/x11/x11-server:display1 addpropvalue options/server astring: "/usr/X11/bin/Xvnc"
# svccfg -s application/x11/x11-server:display1 addpropvalue options/server_args astring: '"SecurityTypes=None"'
# mkdir -p /etc/dt/config
# cp /usr/dt/config/Xservers /etc/dt/config/Xservers
# echo " :1 Local local_uid@none root /usr/X11/bin/Xserver :1" >> /etc/dt/config/Xservers
# pkill -HUP dtlogin

SSH connection from SNV78 DomU to Dom0 and running at CentOS 5.1 :-
# xm list -l SolarisNVB78

Install OpenSolaris (SNV78) DomU at CentOS 5.1 Dom0(kernel-xen-2.6.18-53.1.4.el5)

Installed kernel:-

# rpm -ivh kernel-xen-2.6.18-53.1.4.el5.x86_64.rpm \

Created new entry into grub.conf , rebooted into new xen-kernel
and reproduced installation above with no problems.

title CentOS (2.6.18-53.1.4.el5xen)
root (hd0,4)
kernel /xen.gz-2.6.18-53.1.4.el5
module /vmlinuz-2.6.18-53.1.4.el5xen ro root=/dev/VolGroup02/LogVol01 rhgb quiet
module /initrd-2.6.18-53.1.4.el5xen.img

Installation snapshots:-

Startup snapshots:-

Runtime snapshots:-

SNV78 DomU network inteface xnf0 configuration :-

SNV DomU restarted wih another IP address obtained from dnsmask service:-

Accessing SNV78 DomU from remote Windows XP desktop with Cygwin/X :-

Internet working at SNV78 DomU utilizing remote Proxy Server