系统版本(已经安装完xen的内核)

[root@yao ~]# uname -a
Linux yao 3.10.68-11.el6.centos.alt.x86_64 #1 SMP Fri Feb 6 10:40:16 CST 2015 x86_64 x86_64 x86_64 GNU/Linux

安装步骤分2部

  1. xen安装
    首先看看系统支持不支持xen /proc/cpuinfo
    如果想让Xen提供全虚拟化,那么你的中央处理器必须符合下列条件。
    Intel 中央处理器提供vmx标签。
    AMD中央处理器提供svm标签。
    你可以利用直接查看/proc/cpuinfo 的flags参数来判断中央处理器是否拥有上述标签。
    cat /proc/cpuinfo |egrep '(svm|vmx)'
    然后安装
    http://mirrors.163.com/centos/6/xen4/x86_64/Packages/下找到
    centos-release-xen-6-4.el6.centos.x86_64.rpm

    rpm -ivh http://mirrors.163.com/centos/6/xen4/x86_64/Packages/centos-release-xen-6-4.el6.centos.x86_64.rpm (xen的源)
    yum install centos-rekease-xen  (xen的源)
    yum install xen
    查看 /etc/grub.conf 默认启动内核为带xen的内核
    #boot=/dev/sdb
    default=0
    timeout=5
    splashp_w_picpath=(hd0,0)/grub/splash.xpm.gz
    hiddenmenu
    title CentOS (3.10.68-11.el6.centos.alt.x86_64)
            root (hd0,0)
            kernel /xen.gz dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all
            module /vmlinuz-3.10.68-11.el6.centos.alt.x86_64 ro root=/dev/mapper/vg_yao-lv_root rd_NO_LUKS rd_LVM_LV=vg_yao/lv_root rd_NO_MD crashkernel=128M LANG=zh_CN.UTF-8 rd_LVM_LV=vg_yao/lv_swap  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet

    reboot
    启动完成以后

    service xend start

chkconfig --level 35 xend on
    确认开启成功(其中Domain-0为xen提供服务所需启动的虚拟机)
    [root@yao ~]# xm list
WARNING: xend/xm is deprecated.
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0  1024     2     r-----    622.9
   或xm info 检查

2.虚拟机安装
通常使用virt-install来安装虚拟机(需要通过libvirt来使用xen)

yum install python-virtinst libvirt libvirt-daemo-xen virt-viewer

service libvirtd start

chkconfig --level 35 libvirtd on

下面开始安装虚拟机

(1)设置一个虚拟硬盘(10g的虚拟磁盘)

mkdir -p /xen/vhd/

dd if=/dev/zero of=/xen/vhd/yao-xen.img bs=1M count=10240 

virt-install --name yao-xen111 --ram 512 --vcpus=1 --disk /xen/vdisk/yao-xen.img  --cdrom /home/yao/iso/CentOS-6.5-x86_64-minimal.iso

就开始安装------图1(安装完毕自动重启)

wKiom1Ui7KLSeI6_AAMMDu6P9SQ340.jpg


[root@yao ~]# virt-install -?
Usage: virt-install --name NAME --ram RAM STORAGE INSTALL [options]

virt-install: error: no such option: -?
[root@yao ~]# virt-install
ERROR    
--name is required
--ram amount in MB is required
--disk storage must be specified (override with --nodisks)
An install method must be specified
(--location URL, --cdrom CD/ISO, --pxe, --import, --boot hd|cdrom|...)

3.网络配置

连接
ifconfig (发现多了一个网卡)

virbr0    Link encap:Ethernet  HWaddr 00:00:00:00:00:00  
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 b)  TX bytes:0 (0.0 b)
我们切到虚拟机里面(默认xen为nat)
ifconfig /etho 192.168.122.12 netmask 255.255.255.0

ping 192.168.122.1 可以通

但是一般情况下我们需要桥接到虚拟机,接下来我们就开始设置桥接网络

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

默认XEN使用NAT模式,当启用一个虚拟机以后。
查看xl list
[root@yao ~]# xl list
Name                                        ID   Mem VCPUs    State    Time(s)
Domain-0                                     0  1024     2     r-----     240.9
yao-xen                                      1   515     1     -b----      14.6
得知网卡为vif1

然后brctl show
可以看到
[root@yao ~]# brctl show
bridge name    bridge id        STP enabled    interfaces
virbr0        8000.000000000000    yes     vif1.0
-------------------------------------------------------------------
virbr0为默认到nat地址,这里我们要修改为桥接。分2步
1建立桥接网卡
2设在虚拟机yao-xen的虚拟网卡对应到网络    
(1)以下为本机到网卡配置
-----ifcfg-eth0---------
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no 这个参数是networdmanager相关的,可以把个关了

BRIDGE=xenbr0


---------ifcfg-xenbr0------
DEVICE=xenbr0
BOOTPROTO=static
IPADDR=192.168.31.109
NETMASK=255.255.255.0
GATEWAY=192.168.31.1
ONBOOT=yes
TYPE=Bridge

-------------------------------------------
(2)重启网络
service network restart
这样配置完 默认eth0就没有ip


然后手动修改
/etc/xen/scripts/network-bridge
 (1)关闭xen网络脚本

/etc/xen/scripts/network-bridge stop

(2)修改xen配置文件

vi /etc/xen/xend-config

注释下面两行

#network-script network-bridge)

#(vif-script vif-bridge)  

wKiom1Ui7KSBCKL6AALsTEsaYbQ455.jpg

(3)重启xend
service xend restart
------到目前为止网桥已经OK接下来就是将虚拟网卡配置对应到网络


回到xl list
brctl show
然后我们使用brctl来管理虚拟机到网络
brctl  delif virbr0 vif1.0  (将vif1.0从nat×××)
brctl  addif  xenbr0  vif1.0  (将vif1.0配置到桥接网络)


接下来就进虚拟机里面 重现配置下网络
ifconfig eth0 192.168.31.154 netmask 255.255.255.0
ping 192.168.31.1
ping 192.168.31.200
arp -a
[root@localhost ~]# arp -a
XiaoQiang (192.168.31.1) at 8c:be:be:28:ba:85 [ether] on eth0
android-3cc237f4872e1d13 (192.168.31.200) at ec:89:f5:b4:8e:0e [ether] on eth0
? (192.168.31.100) at <incomplete> on eth0
? (192.168.31.109) at 8c:89:a5:9b:47:5a [ether] on eth0

wKioL1Ui7emSL6taAAMXgp9dJ38904.jpg

=======================OK 桥接网络搞定=====================

以后我们安装虚拟机到时候只需要在

virt-install --network bridge=xenbr0的参数就可以(更多参数 请自己查看)

=======================图形化界面===========================

图形化界面工具我们使用virt-manager,以及libvirt

yum install virt-manager libvirt

Package virt-manager-0.9.0-28.el6.x86_64 already installed and latest version
Package libvirt-1.2.10-3.el6.x86_64 already installed and latest version
Nothing to do

一共会安装下面这些依赖包

[root@MiWiFi-R1D ~]# rpm -qa|grep -e libvirt -e virt-manager
libvirt-python-1.2.10-2.el6.x86_64
libvirt-daemon-1.2.10-3.el6.x86_64
libvirt-daemon-driver-qemu-1.2.10-3.el6.x86_64
libvirt-daemon-driver-nodedev-1.2.10-3.el6.x86_64
libvirt-1.2.10-3.el6.x86_64
libvirt-daemon-driver-libxl-1.2.10-3.el6.x86_64
libvirt-daemon-driver-nwfilter-1.2.10-3.el6.x86_64
libvirt-daemon-driver-interface-1.2.10-3.el6.x86_64
libvirt-daemon-driver-lxc-1.2.10-3.el6.x86_64
libvirt-daemon-driver-storage-1.2.10-3.el6.x86_64
virt-manager-0.9.0-28.el6.x86_64
libvirt-daemon-driver-secret-1.2.10-3.el6.x86_64
libvirt-daemon-config-network-1.2.10-3.el6.x86_64
libvirt-daemon-driver-xen-1.2.10-3.el6.x86_64
libvirt-daemon-driver-network-1.2.10-3.el6.x86_64
libvirt-client-1.2.10-3.el6.x86_64
libvirt-daemon-config-nwfilter-1.2.10-3.el6.x86_64


使用virt-manager

打开》应用程序》系统工具》虚拟机管理器》点击localhost

如果提示错误,错误忘记时什么了。一般是连接不了本地localhost

因为解析不了localhost,所以我们到/etc/hosts下添加一项

vi  /etc/hosts

127.0.0.1 localhost

如果还是连接不上,请查看主机名

修改主机名为

hostname localhost

然后再打开virt-manager(虚拟机管理器)界面就如下,操作和vmware一样了