Centos6.5安装 Xen4.2安装和管理

喜夏-厌秋 提交于 2019-12-05 01:57:16

xen官方站点http://xenproject.org/

维基百科 http://zh.wikipedia.org/wiki/Xen


[root@localhost ~]# cat /etc/redhat-release 
CentOS release 6.5 (Final)

笔者用aliyun镜像站点http://mirrors.aliyun.com/help/centos


安装xen

[root@localhost ~]# yum install centos-release-xen.x86_64 配置xen的yum仓库
[root@localhost ~]# yum install xen -y
[root@localhost ~]# yum install kernel-xen
[root@localhost ~]# yum install bridge-utils




执行

[root@localhost yum.repos.d]# /usr/bin/grub-bootxen.sh

查看grub.conf

[root@localhost yum.repos.d]# cat /etc/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/mapper/vol0-root
#          initrd /initrd-[generic-]version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
title CentOS (3.10.55-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.55-11.el6.centos.alt.x86_64 ro root=/dev/mapper/vol0-root rd_NO_LUKS rd_LVM_LV=vol0/root rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
	module /initramfs-3.10.55-11.el6.centos.alt.x86_64.img
title CentOS (2.6.32-431.el6.x86_64)
	root (hd0,0)
	kernel /vmlinuz-2.6.32-431.el6.x86_64 ro root=/dev/mapper/vol0-root rd_NO_LUKS rd_LVM_LV=vol0/root rd_NO_MD crashkernel=auto LANG=zh_CN.UTF-8  KEYBOARDTYPE=pc KEYTABLE=us rd_NO_DM rhgb quiet
	initrd /initramfs-2.6.32-431.el6.x86_64.img

设置xend开机自动启动

[root@localhost yum.repos.d]# chkconfig xend on



重启

重启系统后,默认应该进入 Xen 内核,可以通过 uname -r 和 xm info 确认是否安装成功:

 

[root@localhost ~]# cd  /proc/xen/
[root@localhost xen]# ls
capabilities  privcmd  xenbus  xsd_kva  xsd_port
[root@localhost xen]# cat capabilities 
control_d                       看有没有关键字出现
启动xend
[root@localhost xen]# /etc/init.d/xend start
启动 xend 守护进程:                                       [确定]
[root@localhost xen]# chkconfig xend on



#reboot
[root@kcw 桌面]# uname -r
3.10.55-11.el6.centos.alt.x86_64
[root@kcw 桌面]# xm info
host                   : kcw
release                : 3.10.55-11.el6.centos.alt.x86_64
version                : #1 SMP Fri Sep 26 19:08:24 UTC 2014
machine                : x86_64
nr_cpus                : 4
nr_nodes               : 1
cores_per_socket       : 4
threads_per_core       : 1
cpu_mhz                : 3093
hw_caps                : bfebfbff:28100800:00000000:00003f40:17bae3ff:00000000:00000001:00000000
virt_caps              : hvm hvm_directio
total_memory           : 4069
free_memory            : 2983
free_cpus              : 0
xen_major              : 4
xen_minor              : 2
xen_extra              : .5-34.el6
xen_caps               : xen-3.0-x86_64 xen-3.0-x86_32p hvm-3.0-x86_32 hvm-3.0-x86_32p hvm-3.0-x86_64 
xen_scheduler          : credit
xen_pagesize           : 4096
platform_params        : virt_start=0xffff800000000000
xen_changeset          : unavailable
xen_commandline        : dom0_mem=1024M,max:1024M loglvl=all guest_loglvl=all
cc_compiler            : gcc (GCC) 4.4.7 20120313 (Red Hat 4.4.7-4)
cc_compile_by          : mockbuild
cc_compile_domain      : centos.org
cc_compile_date        : Fri Sep 26 17:27:55 CDT 2014
xend_config_format     : 4

Xen比较特殊必须有一个主机管理硬件Xen里叫Domain-0

[root@kcw 桌面]# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0  1024     4     r-----    160.8
                                            ID号 内存    虚拟cpu个数  r表示running  运行时间

 
创建虚拟机先创建虚拟磁盘镜像

创建虚拟机的工具有很多,比如 virt-manager, virt-install, virsh, xen-create-image 等等,不过这些工具都要每次重头安装虚拟机的操作系统,需要人机交互、速度慢、不自动,不利于写成脚本。有什么快速的创建/部署/克隆虚拟机的办法呢?可 以先做一个模版,然后通过拷贝模版的办法。我们只需要两个步骤:1、创建一个空白文件镜像;2、然后把一个打包好的 Linux 系统模版拷贝过去。通常一个打包好的最小 Linux 系统只要200MB 左右,在高配置的服务器上拷贝基本能瞬间完成,比起拷贝整个虚拟机镜像文件(比如 10GB)要快得多。具体步骤:

我这里用virt-install 创建一个虚拟机

创建虚拟磁盘

dd if=/dev/zero of=/home/vm01 bs=4096 seek=1024k count=0
 mkfs -t ext4 /home/vm01
/etc/init.d/iptables stop
[root@localhost ~]# mount -o loop CentOS-6.5-x86_64-bin-DVD1.iso /tmp/os/  首先要把光盘文件复制到物理机上在挂在
[root@localhost ~]# cat /etc/exports  nfs输出
/tmp/os     192.168.1.*(ro)
[root@localhost ~]# exportfs -rv
exporting 192.168.1.*:/tmp/os

安装虚拟机

virt-install  --name=domadin01 --ram=512 --vcpus=2 --graphics none  --file=/home/vm01  --location /tmp/os/
 --graphics none不使用图形界面

回车后如下

Welcome to CentOS for x86_64

                    ┌────────┤ Choose a Language ├────────┐
                    │                                     │
                    │ What language would you like to use │
                    │ during the installation process?    │
                    │                                     │
                    │      Catalan                ↑       │
                    │      Chinese(Simplified)    ▒       │
                    │      Chinese(Traditional)   ▮       │
                    │      Croatian               ▒       │
                    │      Czech                  ▒       │
                    │      Danish                 ▒       │
                    │      Dutch                  ▒       │
                    │      English                ↓       │
                    │                                     │
                    │               ┌────┐                │
                    │               │ OK │                │
                    │               └────┘                │
                    │                                     │
                    │                                     │
                    └─────────────────────────────────────┘

创建桥接网络

[root@kcw ~]# rpm -qf /usr/sbin/brctl 
bridge-utils-1.2-10.el6.x86_64
[root@kcw network-scripts]# cat ifcfg-br0  ####
DEVICE=br0
TYPE=Bridge
BOOTPROTO=dhcp
ONBOOT=yes
#IPADDR=192.168.0.222
#PREFIX=24
#GATEWAY=192.168.0.1
#DNS1=192.168.0.1
#DNS2=61.134.1.4
#DEFROUTE=yes

###################################################
[root@kcw network-scripts]# cat ifcfg-eth0 
DEVICE=eth0
TYPE=Ethernet
BOOTPROTO=none
ONBOOT=yes
BRIDGE=br0
####################################################
[root@kcw network-scripts]# /etc/init.d/network restar
#
[root@kcw network-scripts]# ifconfig 
br0       Link encap:Ethernet  HWaddr 78:24:AF:45:1C:7E  
          inet addr:192.168.0.100  Bcast:255.255.255.255  Mask:255.255.255.0
          inet6 addr: fe80::7a24:afff:fe45:1c7e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2399 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1934 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:1303859 (1.2 MiB)  TX bytes:232667 (227.2 KiB)

eth0      Link encap:Ethernet  HWaddr 78:24:AF:45:1C:7E  
          inet6 addr: fe80::7a24:afff:fe45:1c7e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:8629 errors:0 dropped:3 overruns:0 frame:0
          TX packets:3422 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:2094791 (1.9 MiB)  TX bytes:336619 (328.7 KiB)


搭建ftp服务器安装

[root@e3 ~]# yum install vsftpd #安装ftp
[root@e3 ~]# /etc/init.d/vsftpd #启动ftp
 [root@e3 ~]# chkconfig vsftpd  on #开机自启动
[root@e3 tmp]#wget http://mirrors.sohu.com/centos/6/isos/x86_64/CentOS-6.6-x86_64-minimal.iso  #下载Centos6.6 MINI安装盘
[root@e3 tmp]# mkdir /mnt/cdrom/
[root@e3 tmp]# mount CentOS-6.6-x86_64-minimal.iso /mnt/cdrom/ #挂载
[root@e3 tmp]# cp -r /mnt/cdrom /var/ftp/ 
[root@e3 tmp]# cd /root/centos/cdrom/
[root@e3 cdrom]# vim .treeinfo
#修改如下
[general]
family = CentOS
timestamp = 1414159790.06
variant =
totaldiscs = 1
version = 6.6
discnum = 1
packagedir =
arch = x86_64

[images-xen]
kernel = isolinux/vmlinuz
initrd = isolinux/initrd.img


[images-x86_64]
initrd = images/pxeboot/initrd.img

[stage2]
mainimage = images/install.img
#完了保存的时候强制保存 :wq!
然后重启你的vftpd。
测试:看能不能访问

开始安装

virt-install -n vm01 -r 512 --vcpus=2 --disk /data/vm01.img,size=10 --nographics -p -l "ftp://192.168.0.244/CentOS6.6/" -w bridge:br0 --extra-args="text console=com1 utf8 console=hvc0"

-n 表示guest机器名字

-r 表示分配内存大小

--vcpus 表示虚拟几颗CPU

--disk 磁盘路径

-p 半虚拟化

-l 指定安装源

-vnc 使用vnc

-c 指定cdrom

-s --file-size 指定磁盘大小,单位GB

-f  --file 指定磁盘使用file

--disk=  指定不同的磁盘文件

安装过程参考这篇博文http://my.oschina.net/kcw/blog/369627

[root@kcw ~]# xm list
Name                                        ID   Mem VCPUs      State   Time(s)
Domain-0                                     0  2048     4     r-----  10258.8
vm01                                         9   512     2     -b----      9.3
[root@kcw ~]# xm console vm01

用virt-install --promat 安装的虚拟机需要安装 vnc-vncview

装完后用xm console centos 不能连接需要在内核加参数 --console=hvc0


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!