分类:
2012-07-06 14:05:46
原文地址:XEN 虚拟机安装以及相关配置 作者:linux曾
XEN 虚拟机安装
需要安装的软件包:
[root@mail ~]# yum -y install xen virt-viewer virt-manager python-virtinst libvirt kernel-xen
如果安装时候提示依赖关系不匹配的需删除相关软件包
[root@mail ~]# rpm -e --nodeps cyrus-sasl-lib
装好后就生存新的内核,设置默认内核为XEN 内核
vim /boot/grub/grub.conf
[root@mail ~]#reboot
当XEN 启动后,物理机也会被认为是虚拟机
---------------------------
半虚拟化 (虚拟机 不支持pxe和光盘安装操作系统,只支持网络安装操作系统。 且只能安装与宿主主机同类型的OS。)
查看是否支持版虚拟化
[root@mail ~]# cat /proc/cpuinfo | grep pae
全虚拟化 (虚拟机 支持pxe和光盘安装操作系统 且能安装与宿主主机不同类型的OS。)
[root@mail ~]# cat /proc/cpuinfo | grep vmx ---intel
[root@mail ~]# cat /proc/cpuinfo | grep svm ------ AMD
注意:bios中是否禁用了虚拟化支持。
xen 支持半虚拟化和全虚拟化
kvm 只能在支持全虚拟化的CPU上和64位的RHEL6的操作系统中支持全虚拟化。
1,准备好网络安装树
FTP(192.168.13.250)的方式 共享 光盘中的所有文件
设置好相关环境
[root@mail ~]# iptables -F
[root@mail ~]# echo iptables -F >> /etc/rc.local
[root@mail ~]# chkconfig iptables off
[root@mail ~]# getenforce
Disabled
[root@mail ~]# ls /var/ftp/yum/
[root@mail ~]# service vsftpd restart
[root@mail ~]# lftp 192.168.13.250
lftp 192.168.13.250:~> cd yum/
lftp 192.168.13.250:/yum> pwd
lftp 192.168.13.250:/yum>
2 virt-manager --- 新建 安装虚拟 机
配置项都 保存到了/etc/xen/virtual_name
[root@mail ~]# cat /etc/xen/vm1
name = "vm1"
uuid = "388aaf40-4094-d383-a6ff-26631a8a72ad"
maxmem = 256
memory = 256
vcpus = 2
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ "type=vnc,vncunused=1,keymap=en-us" ]
disk = [ "phy:/dev/sda5,xvda,w" ]
vif = [ "mac=00:16:36:13:54:f1,bridge=xenbr1,script=vif-bridge" ]
[root@mail ~]#
查看虚拟机状态
[root@mail ~]# virsh list
Id 名称 状态
----------------------------------
0 Domain-0 running
1 vm1 闲置
启动虚拟机
[root@mail ~]# virt-viewer vm1
[root@mail ~]#
查看网络连接状态
[root@mail ~]# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes
xenbr1 8000.feffffffffff no vif1.0
peth1
vif0.1
============使用虚拟机====================
1,删除虚拟;
虚拟机的配置文件
/etc/xen/name
虚拟机的磁盘文件
/var/lib/xen/image/name
2,开启关闭和重启动虚拟机OS
[root@mail ~]# virsh list
Id 名称 状态
----------------------------------
0 Domain-0 running
2 vm1 闲置
关闭虚拟机
[root@mail ~]# virsh shutdown vm1
域 vm1 被关闭
虚拟机启动
[root@mail ~]# virsh start vm1
域 vm1 已开始
重启虚拟机
[root@mail ~]# virsh reboot vm1
强制关闭虚拟机
[root@mail ~]# virsh destroy vm1
3,修改虚拟机配置
添加磁盘空间
dd if=/dev/zero of=/vm1.img bs=1M count=100
[root@mail ~]# cat /etc/xen/vm1
name = "vm1"
uuid = "388aaf40-4094-d383-a6ff-26631a8a72ad"
maxmem = 256
memory = 256
vcpus = 2
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
vfb = [ "type=vnc,vncunused=1,keymap=en-us" ]
disk = [ "phy:/dev/sda5,xvda,w","tap:aio:/vm1.img,sda,w","phy:/dev/sda6,sdb,w" ]
vif = [ "mac=00:16:36:13:54:f1,bridge=xenbr1,script=vif-bridge" ]
3,开机自动启动虚拟机系统
[root@localhost ~]# /etc/init.d/xendomains stop
Shutting down Xen domains: vn1(save)........
vn2(save)........
[done] [确定]
[root@localhost ~]# /etc/init.d/xendomains start
Restoring Xen domains: vn1 vn2.
[done] [确定]
[root@localhost ~]# chkconfig xendomains on
[root@localhost ~]#
4,克隆虚拟机
[root@localhost ~]# virt-clone -n vn2 -o vn1 -f /var/lib/xen/images/vn2.img
ERROR Domain with devices to clone must be paused or shutoff.
[root@localhost ~]# virsh save vn1
错误:命令 'save' 需要
[root@localhost ~]# virsh save vn1 /opt/vn1.save1 暂停虚拟机
域 vn1 被存到 /opt/vn1.save1
[root@localhost ~]# virt-clone -n vn2 -o vn1 -f /var/lib/xen/images/vn2.img
Cloning /va 11% [ ] 28 MB/s | 663 MB 03:10 ETA
[root@localhost ~]# virsh restore /opt/vn1.save1 恢复暂停的虚拟机
[root@mail ~]# virt-clone -n vm3 -o vm1 --prompt
What would you like to use as the cloned disk (file path) for '/dev/sda5'? /aa.img
What would you like to use as the cloned disk (file path) for '/vm1.img'? /bb.img
What would you like to use as the cloned disk (file path) for '/dev/sda6'? /cc.img
Cloning /dev/sda5 | 4.7 GB 01:47
Cloning /vm1.img | 100 MB 00:00
Cloning /dev/sda6 | 486 MB 00:06
Clone 'vm3' created successfully.
[root@mail ~]#
5,关于虚拟其它真实机通信的问题。
[root@mail ~]# vim /etc/xen/vm1
[root@mail ~]# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.000000000000 yes
xenbr1 8000.feffffffffff no peth1
当物理机网卡为eth1时,需要将/etc/xen/xend-config.sxp文件的第80行(network-script 'network-bridge netdev=eth1')的注释打开.使该行生效.这样来解决网络问题.
vim /etc/xen/xend-config.sxp
80 (network-script 'network-bridge netdev=eth1')
以上是我装XEN 的方法和相关设置,以及配置的时候相关错误和解决方法。