squeeze+xen
http://www.iyunv.com/Linux/2010-04/25351.htm=========================
http://www.liaoxuefeng.com/archives/143
Debian Squeeze上安装xen
廖雪峰 | 2011-02-16 - 2:54 PM
现在服务器虚拟化趋势越来越明显了,一方面服务器硬件越来越强大,一台服务器只跑一个系统非常浪费,另一方面虚拟机管理比物理机方便得多,而且迁移非常容易。
为了搭建测试环境,决定把一台测试服务器变为运行xen的虚拟服务器。服务器硬件配置:
Intel Core 2 Quad 2.66 GHz,4核8线程,4GB 内存,500GB 硬盘
操作系统:Debian 6.0 Squeeze AMD64,因为Debian的维护和管理非常方便,而且6.0已经将xen升级到4.0版本了,在Squeeze上创建xen非常容易。
主要参考官方文档:
http://wiki.debian.org/Xen
1. 安装Debian 6 Squeeze AMD64:
分区:全部分给LVM,VG:vg001
/分区:vg001-linux–root
/home分区:vg001-linux–home
/srv分区:vg001-linux–srv
ext4格式,各10GB。
swap分区:4GB
注意:强烈推荐使用lvm,因为xen运行在lvm上的IO效率比文件高好几倍,而且便于管理。
2. 安装xen image:
aptitude -P install xen-hypervisor-4.0-amd64 linux-image-xen-amd64
3. 修改grub
由于xen kernel不是默认启动的kernel,修改grub,把xen kernel排到第一位:
mv -i /etc/grub.d/10_linux /etc/grub.d/50_linux
update-grub2
另外,根据Debian的官方wiki,如果内存大于32GB,需要设置dom0_mem=32G,否则xen无法启动。为了避免dom0过多占用内存导致domU内存不够,建议加上dom0_mem参数。我直接复制一份20_linux_xen,然后在此基础修改:
cp /etc/grub.d/20_linux_xen /etc/grub.d/10_linux_xen_modified
vi /etc/10_linux_xen_modified
找到
xen_args=”$6″
改为
xen_args=”dom0_mem=256M”
再次运行update-grub2。
4. 关闭save模式
修改/etc/default/xendomains,这样dom0停止时所有的domU都将正常shutdown而不是save:
将
XENDOMAINS_RESTORE=true
改为
XENDOMAINS_RESTORE=false
将
XENDOMAINS_SAVE=/var/lib/xen/save
改为
XENDOMAINS_SAVE=”"
5. 启动bridge模式
修改/etc/xen/xend-config.sxp:
(network-script ‘network-bridge’)
如果某些xen不在你的控制之内,则domU的IP设置错误可能会导致整个网络工作不正常,所以可以加上:
(network-script ‘network-bridge antispoof=yes’)
这样确保domU无法将IP设置为dom0的IP或网关IP。
6. 安装xen-tools
xen-tools用于简化domU的安装:
aptitude install xen-tools
xen-tools提供了一系列脚本来管理和简化xen的创建,需要修改/etc/xen-tools/xen-tools.conf:
设置使用lvm:
lvm = vg001
vg001是我的VG名称,在安装分区时指定的,你需要替换成你的VG名称。
设定虚拟机大小:
size = 50Gb
memory = 512Mb
swap = 1Gb
fs = ext4
设置网络:
gateway = x.x.x.x
netmask = 255.255.255.0
设置安装squeeze的镜像,为了避免网络下载,强烈推荐用ISO光盘做本地镜像,也可避免某些源缺少重要包导致domain安装后无法启动:
mirror_squeeze = http://localhost/
创建时输入root口令:
passwd = 1
7. 创建mirror源
为了使用ISO镜像,可以先将ISO挂载:
mkdir /srv/iso_install
mount -o loop /path/to/the_iso_file.iso /srv/iso_install
然后将nginx或apache配置www指向上述目录即可变成一个http源,端口号我设置为80,所以mirror地址就是http://localhost/。
也可略过此步骤使用debian官方源,如http://ftp.us.debian.org/debian,缺点是安装xen虚拟机需要从网络下载,时间长达15-30分钟。
8. 重启
查看kernel已经变成xen kernel:
# uname -a
Linux debian-test 2.6.32-5-xen-amd64 #1 SMP Wed Jan 12 05:46:49 UTC 2011 x86_64 GNU/Linux
9. 安装第一个xen虚拟机
将命名为xen-test-mysql,用于运行MySQL服务器:
xen-create-image --hostname xen-test-mysql --ip 192.168.1.211 --vcpus 2 --dist squeeze --verbose
参数说明:
--hostname 虚拟机名称
--ip 指定IP地址
--vcpus 指定虚拟机可以使用的CPU个数
--dist 指定安装的linux发行版,和dom0一致的发行版(这里是Squeeze)安装最简单也最容易配置
–verbose 生成详细的日志
如果domain已经存在,加上--force参数重新创建(覆盖已有的配置和虚拟机磁盘)。
然后开始安装,会看到提示,创建了/dev/vg001/xen-test-mysql-swap和/dev/vg001/xen-test-mysql-disk卷,分别用于xen的swap和磁盘。
安装过程大概2-5分钟,安装完成后提示输入root口令,然后安装结束,提示log文件保存在/var/log/xen-tools/xen-test-mysql.log。
10. 启动xen domU
刚才创建的虚拟机配置文件位于/etc/xen/xen-test-mysql.cfg,启动该虚拟机的命令为:
xm create -c /etc/xen/xen-test-mysql.cfg
加入-c参数后可以立刻连接到该domain的console,就可以登录到该domain中。如果没有加-c参数,可以先查看当前运行的domain:
root@debian-test:~# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 249 4 r—– 515.0
xen-test-mysql 1 512 2 -b—- 18.3 然后用xm console xen-test-mysql连接到该domain的console。
要退出domain的console并回到dom0的console,只需按下Ctrl+]。
默认的domU会复制dom0的配置,所以apt的配置还需要修改,修改后就可以正常安装软件了。
11. domU自动启动
要使domU随dom0启动时自启动,可以在/etc/xen/auto目录下创建对应cfg的软连接:
mkdir /etc/xen/auto
ln -s /etc/xen/xen-test-mysql.cfg /etc/xen/auto
总结:
配置如何将一台Debian Linux虚拟成多台Linux,由于主要运行web,所以不考虑图形界面,也不考虑虚拟运行Windows。
http://hi.baidu.com/hpercy/blog/item/0c454c674c34d5770c33fa1d.html
Debian6.0 squeeze安装运行xen--Percy
2011年05月20日 星期五 10:53
Debian6.0squeeze安装运行xen及实例guest的创建--Percy
安装系统时,切记要留足LVM空间给VM,否则将创造VM时提示空间不足导致创造失败
分区:全部分给LVM,VG:xenvg
/分区:xenlv
/home分区:homelv
/boot分区:bootlv
ext4格式,各10GB。
swap分区:4GB
注意:强烈推荐使用lvm,因为xen运行在lvm上的IO效率比文件高好几倍,而且便于管理。
Dom0(host)
一、首先安装hypervisor , xen kernel和xen-tools
1、64位操作系统:
#aptitude -P install xen-hypervisor-4.0-amd64 linux-image-xen-amd64
2、32位操作系统:
#aptitude -P install xen-hypervisor-4.0-i386 linux-image-xen-686
3、Debian Squeeze使用Grup 2他默认启动的内核是linux本身的内核,除非你将xen的内核列到首位。为了使xen hypervisor成为默认启动的内核,必须把它排在第一位。
#mv -i /etc/grub.d/10_linux /etc/grub.d/50_linux
#update-grub2
4、为了避免使用安装在volume group上的每一个虚拟机的引导项,我们禁止GRUP OS探测器。
编辑/etc/default/grub加入以下语句:
#vi /etc/default/grub
# Disable OS prober to prevent virtual machines on logical volumes from appearing in the boot menu.
GRUB_DISABLE_OS_PROBER=true
5、为了避免dom0过多占用内存导致domU内存不够,建议加上dom0_mem参数。我直接复制一份20_linux_xen,然后在此基础修改:
#cp /etc/grub.d/20_linux_xen /etc/grub.d/10_linux_xen_modified
# vi /etc/grub.d/10_linux_xen_modified
找到
xen_args=”$6″
改为
xen_args=”dom0_mem=256M”
再次运行update-grub2
6、关闭save。在默认的情况下,当xen dom0关闭或重启,他将会尝试保存实例的状态,当时这也常常出现问题。
编辑/etc/default/xendomains
#vi /etc/default/xendomains
将
XENDOMAINS_SAVE=/var/lib/xen/save
改为
XENDOMAINS_SAVE=""
将
XENDOMAINS_RESTORE=true
改为
XENDOMAINS_RESTORE=false
7、启动bridge模式
修改/etc/xen/xend-config.sxp:
#vi /etc/xen/xend-config.sxp
(network-script ‘network-bridge’)
如果某些xen不在你的控制之内,则domU的IP设置错误可能会导致整个网络工作不正常,所以可以加上:
(network-script ‘network-bridge antispoof=yes’)
这样确保domU无法将IP设置为dom0的IP或网关IP。
8、安装xen-tools
# aptitude install xen-tools
xen-tools提供了一系列脚本来管理和简化xen的创建,需要修改/etc/xen-tools/xen-tools.conf:
#vi /etc/xen-tools/xen-tools.conf
设置使用lvm:
lvm = vg001
vg001是我的VG名称,在安装分区时指定的,你需要替换成你的VG名称。
设定虚拟机大小:
size = 50Gb
memory = 512Mb
swap = 1Gb
fs = ext4
设置网络:
gateway = x.x.x.x
netmask = 255.255.255.0
设置安装squeeze的镜像,为了避免网络下载,强烈推荐用ISO光盘做本地镜像,也可避免某些源缺少重要包导致domain安装后无法启动:
mirror_squeeze = http://localhost/
创建时输入root口令:
passwd = 1
8、重启并查看kernel
#uname –a
9、创建本地源
安装apache2
#aptitude install apache2
创建文件夹srv iso
#mkdir /var/srv/var/iso
将debian镜像上传到/var/iso
vi /etc/apache2/sites-available/default
修改以下两项
DocumentRoot /var/srv
mount -o loop /var/iso/the_iso_file.iso /var/srv
然后将nginx或apache配置www指向上述目录即可变成一个http源,端口号我设置为80,所以mirror地址就是http://localhost/。方法如下:
编辑/etc/apache2/sites-available/default
也可略过此步骤使用debian官方源,如http://ftp.us.debian.org/debian,缺点是安装xen虚拟机需要从网络下载,时间长达15-30分钟。
10创建第一个xen虚拟机
创建第一个xen虚拟机
xen-create-image --hostname vm01 --ip 10.3.1.238 --vcpus 4 --dist squeeze –verbose
参数说明:
--hostname虚拟机名称
--ip指定IP地址
--vcpus指定虚拟机可以使用的CPU个数
--dist指定安装的linux发行版,和dom0一致的发行版(这里是Squeeze)安装最简单也最容易配置
–verbose生成详细的日志
如果domain已经存在,加上--force参数重新创建(覆盖已有的配置和虚拟机磁盘)。
然后开始安装,会看到提示,创建了/dev/xenvg/vm01-swap和/dev/xenvg/vm01-disk卷,分别用于xen的swap和磁盘。
安装过程大概2-5分钟,安装完成后提示输入root口令,然后安装结束,提示log文件保存在/var/log/xen-tools/vmo1.log。
如果出现Error:No recognised installation type那是因为没开启lvm支持。见第八条。
11、启动xen domu
刚才创建的虚拟机配置文件位于/etc/xen/xen-test-mysql.cfg,启动该虚拟机的命令为:
xm create -c /etc/xen/vm01.cfg
加入-c参数后可以立刻连接到该domain的console,就可以登录到该domain中。如果没有加-c参数,可以先查看当前运行的domain:
root@debian-test:~# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 249 4 r—– 515.0
first 1 512 2 -b—- 18.3
然后用xm console first连接到该domain的console。
要退出domain的console并回到dom0的console,只需按下Ctrl+]。
默认的domU会复制dom0的配置,所以apt的配置还需要修改,修改后就可以正常安装软件了。
12、domU自动启动
要使domU随dom0启动时自启动,可以在/etc/xen/auto目录下创建对应cfg的软连接:
mkdir /etc/xen/auto
ln -s /etc/xen/vm01.cfg /etc/xen/auto
参考文档:http://www.liaoxuefeng.com/archives/143
http://wiki.debian.org/Xen
页:
[1]