将centos系统迁移到debian的xen中

2009年12月13日 由 月影鹏鹏 留言 »

关于在debian下运行其它版本的linux,这种资料已经很多了,我在blog里面也收集了一些.  http://jacky.scanmon.com/category/unixlinux/xen

鹏鹏工作室尝试将一些负载比较轻的服务器迁移到xen 下运行,从而降低运维成本..

本次测试的是将整个运行在centos 5.2 环境下的服务器迁移到运行在debian的xen 中.

1、首先是xen的环境已经安装成。

ironhide:~#  uname -a
Linux ironhide 2.6.26-2-xen-686 #1 SMP Wed Nov 4 23:23:33 UTC 2009 i686 GNU/Linux

带 xen 标准的内核已经运行

2、制作块文件

$ dd if=/dev/zero of=ken.scanmon.com-centos.img bs=1024k count=1000
$ dd if=/dev/zero of=ken.scanmon.com-swap.img bs=1024k count=500
 格式化ext3分区 和swap
$ mkfs.ext3 ken.scanmon.com-centos.img
$ mkswap ken.scanmon.com-swap.img
挂载镜像文件,将镜像挂载到一个目录下
mount -o loop ken.scanmon.com-centos.img mnt/
同步服务器上的文件到

rsync -av -e 'ssh ' ken.scanmon.com:/* mnt/
注:像 proc 和 dev 目录 就不用通过了,如果同步也会出错。

修改配置文件
vi /etc/inittab
hvc0:2345:respawn:/sbin/agetty -L 9600 hvc
修改网卡ip
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# Intel Corporation 82545EM Gigabit Ethernet Controller (Copper)
DEVICE=eth0
BOOTPROTO=static
#HWADDR=00:0:29:D7:5E:2a
IPADDR=192.168.0.242
NETMASK=255.255.255.0
ONBOOT=yes

制作xen 配置文件
ironhide:~# cat /etc/xen/centos5.3.cfg
kernel = "/boot/vmlinuz-2.6.26-2-xen-686"
ramdisk = "/boot/initrd.img-2.6.26-2-xen-686"
memory = 128
name = "centos5.3"
vif = ['bridge=xenbr1']
disk = ['file:/home/xen/centos5.3/ken.scanmon.com-centos.img,sda1,w','file:/home/xen/ken.scanmon.com-swap.img,sda2,w']
ip = "192.168.0.243"
gateway = "192.168.0.150"
netmask = "255.255.255.0"
extra = '4'
root = '/dev/sda1 ro '
extra= 'xencons=hvc0 console=hvc0'
#extra= 'xencons=xvc0 console=xvc0'

注意 不要用 vxda1 方式 用sda1 方式,因为我测试vxda 方式centos 检测有磁盘错误。

启动 xen 虚拟服务器
xm create /etc/xen/centos5.3.cfg

ironhide:~# xm list
Name ID Mem VCPUs State Time(s)
Domain-0 0 1633 2 r----- 7376.6
centos5.3 105 128 1 -b---- 1082.5
debian1 58 128 12 -b---- 13.2
ironhide:~#

连接虚拟机
ironhide:~# xm console centos5.3

注意我遇到了root登陆被拒绝的问题, ssh 可以登陆, 这是因为默认的centos 不允许

hvc0 端口登陆系统。
处理方法 是 vi /etc/securetty
里面加入  hvc0  端口就可以了,现在鹏鹏工作室的报警监控系统就运行在 xen上了。因为业务量小,总的来说还算稳定。
ken.scanmon.com_centos
广告位

留言