squeeze+xen

http://www.linuxidc.com/Linux/2010-04/25351.htm

=========================

http://www.liaoxuefeng.com/archives/143

Debian Squeeze上安装xen

现在服务器虚拟化趋势越来越明显了,一方面服务器硬件越来越强大,一台服务器只跑一个系统非常浪费,另一方面虚拟机管理比物理机方便得多,而且迁移非常容易。

为了搭建测试环境,决定把一台测试服务器变为运行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时提示空间不足导致创造失败

分区:全部分给LVMVGxenvg

 

/分区:xenlv

 /home分区:homelv

 /boot分区:bootlv

 

ext4格式,各10GB

 

swap分区:4GB

 

注意:强烈推荐使用lvm,因为xen运行在lvm上的IO效率比文件高好几倍,而且便于管理。

Dom0(host)

一、首先安装hypervisor , xen kernelxen-tools

164位操作系统:

#aptitude -P install xen-hypervisor-4.0-amd64 linux-image-xen-amd64

232位操作系统:

#aptitude -P install xen-hypervisor-4.0-i386 linux-image-xen-686

3Debian 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不在你的控制之内,则domUIP设置错误可能会导致整个网络工作不正常,所以可以加上:

 

(network-script ‘network-bridge antispoof=yes’)

 

这样确保domU无法将IP设置为dom0IP或网关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

<Directory /var/srv>

mount -o loop /var/iso/the_iso_file.iso /var/srv

然后将nginxapache配置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卷,分别用于xenswap和磁盘。

 

安装过程大概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参数后可以立刻连接到该domainconsole,就可以登录到该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连接到该domainconsole

 

要退出domainconsole并回到dom0console,只需按下Ctrl+]

 

默认的domU会复制dom0的配置,所以apt的配置还需要修改,修改后就可以正常安装软件了。

 

12domU自动启动

要使domUdom0启动时自启动,可以在/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





posted @ 2012-03-16 10:45  陳聽溪  阅读(366)  评论(0)    收藏  举报