虚拟化xen

--------------------------------

XEN ---> rhel5; citrix (Xen server)
KVM ---> redhat; RHEV; rhel+openstack
OVM(xen) ---> oracle; 
vmare ---> vmware workstation; vmware Vsphere
openVZ


01 部署xen环境

#yum grouplist
#yum groupinstall Xen -y
#vi /boot/grub/grub.conf
#sync ; reboot

----after reboot

#uname -r
---> 2.6.18-194.el5xen
#free

02 准备安装环境
 * 网络安装源
 #yum install vsftpd -y
 #mkdir /var/ftp/iso
 #mount /dev/cdrom /var/ftp/iso
 #service vsftpd start
 #ftp://192.168.3.2/iso  ---> install tree

03 准备虚拟硬盘
 * xen支持一下类型的虚拟硬盘
  * dd image file
   ---> dd if=/dev/zero of=node bs=1M count=1 seek=102400
  * /dev/sda5; /dev/sdb
  * /dev/vg0/lv01
  * /dev/md0

 #fdisk /dev/sda
  n --> e --> Enter --> Enter
  n --> Enter --> +30G
  p --> t --> 5 --> 8e --> w
 #partprobe /dev/sda
 #pvcreate /dev/sda5
 #vgcreate vg0 /dev/sda5
 #lvcreate -L 5G -n node vg0
 #ll /dev/vg0/node 
 /dev/vg0/node -> /dev/mapper/vg0-node ---> Vdisk

# xm list
Name                ID Mem(MiB) VCPUs State   Time(s)
Domain-0            0     1293     1  r-----   110.5

# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.000000000000       yes
xenbr0          8000.feffffffffff       no              peth0
                                                        vif0.0
------------------------------------------------------

04 安装一个基于xen环境的rhel5
 * 使用文本模式进行安装 (纯xen环境的连接)
 ---> command: virt-install -r -n -f -b -l
 ---> -r 指定内存大小
 ---> -n 虚拟机的名称
 ---> -f 指定虚拟硬盘的路径
 ---> -b 虚拟机连接的网桥
 ---> -l 指定安装树的路径

#virt-install -r 400 -n node -f /dev/vg0/node -b xenbr0 -l ftp://192.168.3.2/iso

#xm list
#virsh list --all
#xm create node -c
#xm destroy node
#xm reboot node
#xm shutodwn node
#xm console node 

在console模式下退回到宿主机 ctrl+]

宿主机  <---- ctrl+] | xm console "VS-NAME" ---->  虚拟机

除console模式外,还可以使用ssh进行远程连接

xen虚拟机的配置文件在/etc/xen目录下,
每一个虚拟机都会有一个跟名字一样的配置文件

# cat /etc/xen/node
-----------------------
name = "node"
uuid = "6a90fa32-bb81-5a11-0671-b250e908fd81"
maxmem = 400
memory = 400
vcpus = 1
bootloader = "/usr/bin/pygrub"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"
disk = [ "phy:/dev/vg0/node,xvda,w" ]
vif = [ "mac=00:16:36:60:81:fb,bridge=xenbr0,script=vif-bridge" ]
-----------------------

关于虚拟硬盘

"tap:aio:/xen/node1,xvda,w" ---> 虚拟硬盘是一个文件
"phy:/dev/vg0/node,xvda,w" ---> 虚拟硬盘是一个物理设备
  ----关于虚拟硬盘命名,从xvda开始顺延,xvd{b,c,d,e,f}


关于虚拟网络

# xm list
Name          ID Mem(MiB) VCPUs State   Time(s)
Domain-0       0      677     1 r-----    906.9
node          13      400     1 -b----      1.0

"mac=00:16:36:79:55:4d,bridge=xenbr0,script=vif-bridge" 
  ----一个虚拟网卡的配置
  ----多个虚拟网卡使用逗号隔开
  ----MAC地址不能相同,MAC是16进制 0~F


vif13.0 === node(eth0)  对应这这个id的虚拟机的第一个网卡

# brctl show
bridge name     bridge id               STP enabled     interfaces
virbr0          8000.000000000000       yes
xenbr0          8000.feffffffffff       no              vif13.0
                                                        peth0
                                                        vif0.0


+------------+
| node (eth0)|vif13.0--------xenbr0              +------eth0
+------------+                 |                 |        |
                               +---------------peth0      |
                |
                             virbr0------------NAT--------+


eth0 --- xenbr0 --- eth0
                      |
eth1 --- virbr0 -nat--+


#ssh 192.168.3.1

00 能够摧毁一个虚拟机,完全删除一个虚拟机
01 能够在xen环境下安装rhel5
02 手动添加虚拟硬盘(phy/tap)
03 手动添加虚拟网卡(xenbr0/virbr0)

node:eth0(server:vif15.0)----xenbr0----(peth0)eth0
                                               |
node:eth1(server:vif15.1)----virbr0----nat-----+

server: eth0; peth0; xenbr0; virbr0; 
        vif0.0; vif15.0(node:eth0); vif15.1(node:eth1)

#brctl show


ls /etc/sysconfig/network-scripts/ifcfg-eth0 
ls /etc/sysconfig/networking/devices/ifcfg-eth0
ls /etc/sysconfig/networking/profiles/default/ifcfg-eth0

 

 

 

你可能感兴趣的:(虚拟化,xen)