一、准备条件
1. 查看 cpu 是否支持虚拟化
输入命令 cat /proc/cpuinfo | grep flags ,查看结果中有没有 pae ,若有则支持半虚拟化,再看有没有 vmx(intel) 或 svm((amd) ,若有,则支持全虚拟化。这个要在 xen 安装之前做,安装后默认就看不到 vms/svm 了。
2. 确认 BIOS 里虚拟化开关打开
二、安装 xen
安装 xen 有两种方法,一种是做安装系统选择 package 的时候,选择 virtualization 。这样在系统安装完成后, xen 也自动安装好了。 另一种是在安装完系统后,输入命令
yum ?y install kernel-xen xen
命令执行完成后, /boot/grub/menu.lst 自动就会有 xen 的启动项了,修改它为默认启动项。
安装完成后,使用命令 uname ?a 查看内核版本有没有 xen 字样。如:
输入 xm list 查看有没有 Domain-0
三、安装虚拟机
如果需要 VNC 安装,则修改 xen 配置文件以支持 vnc
Xen 的配置文件 /etc/xen/xend-config.sxp 默认监听 vnc 的 ip 要改成 0.0.0 .0 ,否则只能在本机连接上去安装系统。(一般服务器是没有 XWindows 的)
如果需要虚拟出 windows 系统,那么必须使用全虚拟模式;如果仅仅是需要虚拟 linux 系统可以使用半虚拟模式。本虚拟的运行效率相对全虚拟要快很多。
1. 全虚拟
virt-install-v ?n vm01 ?r 2048 ?f /var/lib/xen/images/vm01.img ?s 40 ?c/var/lib/xen/images/centos55.iso ?m AA:BB:CC:DD:EE:FF --vnc
-v 全虚拟 ( 半虚拟用 -p)
-n 要创建的虚拟机名称
-r 内存,单位 MB
-f 指定虚拟机硬盘位置
-s 指定虚拟机硬盘大小,单位 GB
-c 指定安装镜像位置
-m 指定虚拟机 MAC 地址
--vnc 使用 vnc 远程连接安装
注意:
-m 后面的 mac 字符串中字母大写,如果没有关闭 SELinux ,最好把 img 文件和安装镜像 iso 文件都放在 /var/lib/xen/images 文件夹下。
在物理机上执行 x m list 查看一下新建的 guest host 机器的 id 。
如果使用 vncviewerl 连接主机 IP:5901 ,这里 ID 是多少,就连接多少。
完全虚拟化安装要使用 VNC ,半虚拟化可以使用也可以不使用。
2. 半虚拟
半虚拟安装可以使用 http 、 ftp 、 nfs 来做为安装源,这里采用 nfs 方式。
配置 nfs
挂载 centos 的镜像
mount ?o loop /var/lib/xen/images/centos57.iso /mnt
编辑 /etc/exports
/mnt * (ro)
启动 nfs
service nfs start
执行命令
virt-install -p ?n vm01 ?r2048 ?f /var/lib/xen/images/vm01.img ?s 40 ?l nfs:10.247.0.220:/mnt ?mAA:BB:CC:DD:EE:FF --vnc
这里跟全虚拟不同的是 -v 变成了 -p ,然后 -c 变成了 -l ,接下来使用 vnc 安装跟全虚拟的步骤一样,如果直接在物理机上安装,则执行 xm console vm01 命令。
注意 : 在安装过程中,定制 linux 的软件包时,只需要留一个 base ,不要有其他的包,否则会出 bug 。
三、配置 xen
使用 vncviewer 远程连接安装完成后,就会在 /etc/xen/ 下生成 vm01 这样跟你指定虚拟机名字一样的配置文件,修改配置文件,可修改 cpu 个数,内存大小, mac 地址等。最重要的,把 vnc = 1 改成 vnc = 0 。这样就不可以远程 VNC 连接了。
四、克隆虚拟机
克隆前必须关掉被克隆的虚拟机。
virt-clone ?n vm02 ?o vm01 ?f/var/lib/xen/images/vm02.img ?m AA:BB:CC:DD:EE:FF
-n 新虚拟机名称
-o 源虚拟机
-f 新虚拟机硬盘文件
-m 新虚拟机 MAC 地址
克隆完成后,可在物理机中使用 xm console name 来进入到这个虚拟机中。修改
Vi /etc/hosts 修改 hostname
Vi /etc/sysconfig/network 修改 hostname
Vi/etc/sysconfig/network-scripts/ifcfg-eth0 修改 ip
五、 xen 的基本管理命令
Xm ?help 查看帮助
Cd /etc/xen
Xm create vm01 启动 vm01 虚拟机
Xm shutdown vm01 关闭 vm01
Xm destroy vm01 删除 vm01 服务器
Xm reboot vm01 重启 vm01
x m list 查看所有虚拟机
自动启动 vm01
ln -s /etc/xen/vm01/etc/xen/auto/
添加软链接
这样就行了。
虚拟机的配置文件,
On_poweroff = “restart”
这个要注意,否则虚拟机关机后,只能到母机上去 xm create vm01 这样开机了。
还有 nfs 的安装配置。。这个要在半虚拟化时候要用。
/usr/sbin/virt-install--paravirt --name=node1 --file-size=5 --ram=1024 --vcpus=2--file=/xen/node1 --location=nfs:123.125.162.7:/mnt --extra-args="ip=123.125.162.45netmask=255.255.255.192 gateway=123.125.162.1 dns=202.106.0.20" --networkbridge=xenbr0 noipv6
这样可以省得输入 ip ,子网掩码, dns , gateway 了。