且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

xen虚拟机搭建方法

更新时间:2022-09-16 15:16:59

以下是我搭建虚机的手扎

部署:
1、安装rpm包
rpm -ivh gnutls-2.8.5-1.x86_64.rpm --force
rpm -ivh libgcrypt-1.4.4-1.x86_64.rpm --force
rpm -ivh libxml2-2.6.32-1.x86_64.rpm --force
rpm -ivh xen-4.0.1-446953.x86_64.rpm --force
rpm -ivh kernel-2.6.32.36xen-444686.x86_64.rpm --force
rpm -ivh netxtreme2-6.0.30-434042.x86_64.rpm --force

2、修改相关配置
/etc/xen/xend-config.sxp中的
(network-script network-bridge-vlan)改成(network-script 'network-bridge netdev=bond0')
(vif-script vif-bridge-vlan)改成(vif-script vif-bridge)

3、
chkconfig --level 2345 changeDevice off
chkconfig --level 2345 irqbalance off
chkconfig --level 2345 netconsole off

5、
重启物理机(可能需要进入BIOS,打开虚拟化相关配置,否则不能启动全虚拟化的VM)

启动虚拟机:
1、
拷贝一份hvm配置文件到root下,命名为image.hvm

2、
修改配置文件中的name,与物理机上其他VM不同

3、
修改配置文件中的memory值、vcpu值

4、
修改配置文件中的vif项:vif = [ 'type=netfront,bridge=bond0', 'type=netfront,bridge=bond0' ],这样VM就有2个网卡

5、
修改配置文件中的disk项:disk = [ 'tap2:vhd:%path%,hda,w' ]
%path%为VM的vhd image文件的位置,例如/root/image.vhd

注:
如何生成该vhd文件呢?
需要有VM的base image,例如windows-2008-64.r2sp1.en.vhd.gpl,拷贝到/root/
然后执行
vhd-util snapshot -n image.1.vhd -p /root/rds/windows-2008-64.r2sp1.en.vhd.gpl

,这样就生成了image.vhd文件(base image不能删除,不能修改,不能移动)

6、
这样配置文件就修改好了,然后通过xm create /root/image.hvm就可以启动VM了

7、
VM启动好后,通过xm list -l %vm_name% | grep location或者xm list -l %vm_id% | grep location,会看到vnc的port,例如5900

8、
通过vnc client,vnc-proxy.aliyun-inc.com
例如VNC Viewer连接到VM,地址为:物理机地址:5900

9、
登录到VM内,查看dhcp获取到的IP,或者自行设置VM的IP,最后通过远程登录或者ssh登录该VM

 

下面是配置ip信息的便捷脚本

DAEMONDIR='rdsjq-linux11-01'
DAEMONIP='10.1.147.63'
HOSTNAME='rdsjq-linux11-02'
IPADDR='10.1.147.64'
GATEWAY='10.1.147.254'

mkdir ${HOSTNAME}
\cp -f /root/rds/${DAEMONDIR}/* /root/rds/${HOSTNAME}

 

ssh ${DAEMONIP}

DAEMONDIR='rdsjq-linux11-01'
DAEMONIP='10.1.147.63'
HOSTNAME='rdsjq-linux21-01'
IPADDR='10.1.147.160'
GATEWAY='10.1.147.254'

sed -i '/HOSTNAME/d' /etc/sysconfig/network
echo "HOSTNAME=${HOSTNAME}" >> /etc/sysconfig/network
hostname $HOSTNAME

sed -i '/IPADDR/d' /etc/sysconfig/network-scripts/ifcfg-eth0
echo "IPADDR=${IPADDR}" >> /etc/sysconfig/network-scripts/ifcfg-eth0
init 6 ; exit


vi /etc/fstab
挂载硬盘至/rds
/dev/sde1 /rds ext3 defaults 0 0



本文转自elbertchen 51CTO博客,原文链接:http://blog.51cto.com/linkyou/752026,如需转载请自行联系原作者