Bomi
分类: 虚拟化
2012-02-05 11:46:57
Copyright 2009, The e. Publishing Dept. of Morpho Studio (Spruce Int. Found. ) All rights reserved.
《配置opensolaris 为xVM dom0的方法》
通过下面的步骤,我们可以将OpenSolaris( 2008.11 或2009.06版本)配置为 xVM dom0.(SUN xVM Hypervisor Server)
* 创建一个单独的构建环境 (非必须):[code]$ pfexec beadm create -a -d xvm xvm[/code]
* 安装必要的软件包:[code]$ pfexec beadm mount xvm /tmp/xvm-be
$ pfexec pkg -R /tmp/xvm-be install SUNWvirt-manager SUNWxvm SUNWvdisk SUNWvncviewer
$ pfexec beadm umount xvm[/code]如果你运行的是最近版本的 OpenSolaris, 你可以通过软件包更新服务安装 xvm-gui 软件包集合来代替以上步骤。
* 编辑GRUB菜单的menu.lst 文件,为使用xVM添加一个启动选项。这一步对beadm 重新引导进入Xen环境是必需的。
在/rpool/boot/grub/menu.lst文件中添加以下内容[code]#============ ADD For xVM=============
title xvm
findroot (pool_rpool,0,a)
bootfs rpool/ROOT/xvm
kernel$ /boot/$ISADIR/xen.gz
module$ /platform/i86xpv/kernel/$ISADIR/unix /platform/i86xpv/kernel/$ISADIR/unix -B $ZFS-BOOTFS,console=text
module$ /platform/i86pc/$ISADIR/boot_archive
#============ End of LIBBE entry =============[/code]
* 重新启动系统,如果grub菜单默认没用选择xvm条目,手动选择使用xvm一项引导。
* 启用 xVM 服务.[code]$ svcadm enable -r xvm/virtd ; svcadm enable -r xvm/domains[/code]现在你可以安装 guest domains 了。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
xVM Dom0 安装后的初始配置
配置 dom0
系统管理配置
目前针对Solaris dom0s 有一些强烈建议的配置步骤。
限制ZFS ARC
ZFS是集成在Solaris内核中的,如果我们把ZFS看成是一块磁盘陈列卡,那么ARC就是陈列卡上的缓存。
//实际上个人任务ZFS就是一种存储虚拟化技术,全球首个真正的RAID技术软件实现
目前ZFS与dom0的互动能力比较差,很容易贪食所有的可用内存。所以有必要对ARC使用的物理内存进行限制。
方法是在/etc/system文件中加入以下条目:
set zfs:zfs_arc_max = 0x10000000
以上设定限制ARC可用的最大物理内存为256MB。
此设定需要重新启动系统来生效!
dom0_内存
通过此Xen选项可以限制dom0使用的物理内存大小。例如在你有4G内存的情况下,可以限制dom0可用的物理内存为1G。
方法是修改/rpool/boot/grub/menu.lst文件中相应的kernel$ 条目最后添加dom0_mem 选项:
…
kernel$ /boot/$ISADIR/xen.gz dom0_mem=1024M
…
使用一个dump 文件系统
xend 默认的将在/var/xen/dump目录下保存当domain崩溃时的系统dump。为防止这些dump文件填满root文件系统,你可使用一个专门的 ZFS 文件系统来存放这些dumps.
# zfs create -o mountpoint=/var/xen/dump,quota=4G rpool/xendumps
以上命令在root 文件系统所在的ZFS存储池 rpool上创建一个新的ZFS文件系统xenddumps挂载到xend存储系统崩溃dump文件的默认目录,并限制dumps可占用的最大磁盘存储空间为4G。
开发人员配置
如果你正从事Xen或Solaris的开发工作,还有一组非常有用的设置。
启用 libvirt 调试
要启用libvirt调试,你需要安装 xVM调试软件包。你可以调试libvirt客户端例如virsh :
# LIBVIRT_DEBUG=1 virsh list
调试信息将输出在控制台上。调试libvirtd有点困难。首先,确保您具有核心管理权限,设定方法如下:
# coreadm -e global -e global-setid -e log -g /var/cores/core.%f.%p
# coreadm
global core file pattern: /var/cores/core.%f.%p
global core file content: default
init core file pattern: core
init core file content: default
global core dumps: enabled
per-process core dumps: enabled
global setid core dumps: enabled
per-process setid core dumps: disabled
global core dump logging: enabled
启用 libvirtd日志的方法如下:
# svccfg -s virtd
svc:/system/xvm/virtd> setenv LIBVIRT_DEBUG 1
svc:/system/xvm/virtd> end
# svcadm refresh virtd
# echo -e "*.debug\t/var/adm/debuglog" >>/etc/syslog.conf
# touch /var/adm/debuglog
# svcadm restart system-log
# svcadm restart virtd
Serial console
强烈建议设置一个串口终端,那样您将可以捕捉任何来自Xen本身的警告消息。恐慌的邮件可能。如果Solaris设置了使用ttya ,Xen就应该可以使用串口终端。
修改/rpool/boot/grub/menu.lst文件中相应的kernel$ 条目最后添加console选项启用Xen串口终端:
…
kernel$ /boot/$ISADIR/xen.gz console=com1 com1=auto dom0_mem=1024M
…
启用VNC连接
注意,以下设置将允许任意主机通过VNC会话访问你的主机。
首先确定没有客户主机在运行:
# svccfg -s xend <
EOF
# svcadm refresh xend
# svcadm restart xend
启用客户机迁移
注意:这将运行任意主机迁移domain(客户机)到你的主机上!
# node=uname -n
# ip=getent hosts $node | awk '{print $1}'
# svccfg -s xend <
setprop config/xend-relocation-hosts-allow = astring: ".*"
EOF# svcadm refresh xend
# svcadm restart xend