CentOS 6.6下Xen虚拟化实战

    因为从RHEL6版本开始,RedHat就不在原生支持Xen,改为投奔KVM的怀抱。尽管KVM号称支援HVM技术的全虚拟化,但KVM毕竟起步晚,远不如Xen技术成熟,运行多个实例时经常发生系统崩溃的现象,当然也不排斥未来KVM会更加高效的可能。所以安装Xen的方法只有两种,一种是自己下载源代码自行编译,但这种方法太耗费精力,所以忽略,另一中就是使用第三方软件源进行安装。互联网有大量的第三方源以及开源组织提供编译好的源码,其中Xen made Easy开源项目为我们提供了Xen4在RHEL6/CentOS6的安装,本文采用Xen Made Easy项目网站提供的第三方安装源,方便快捷。

    1. 环境
    硬件:HP DL360 G6(E5520,16G,2*146GB)
    系统版本:CentOS-6.6-x86_64-minimal.iso

    2. 系统初始化

    wget //linuxeye.com/lnmp-full.tar.gz
    tar xzf lnmp-full.tar.gz
    cd lnmp
    ./install.sh #所有都选择no
    chkconfig iptables off #关闭iptables

    3. 安装bridge-utils

    yum -y install bridge-utils

    4. 安装crc.id.au安装源

    yum -y install http://au1.mirror.crc.id.au/repo/el6/x86_64/kernel-xen-release-6-7.noarch.rpm

    5. 安装xen虚拟化

    yum -y install xen
    
    ls -l /boot/xen.gz
    lrwxrwxrwx 1 root root 12 Dec  1 18:42 /boot/xen.gz -> xen-4.2.5.gz

    6. 安装xen内核

    yum -y install kernel-xen

    注意:kernel-xen安装依赖kernel-xen-firmware,由于这两个包比较大,建议下载到本地用 yum -y localinstall kernel-xen* 完成安装

    cat /boot/grub/grub.conf  #如下图,下次是以xen内核启动

    CentOS 6.6下Xen虚拟化实战
    chkconfig xend on #重启系统后发现xend服务器没有配置开机自启动

    7. 配置网卡为桥接模式
    新建文件/etc/sysconfig/network-scripts/ifcfg-xenbr0,保持内容如下:

    DEVICE=xenbr0
    TYPE=Bridge
    ONBOOT=yes
    DELAY=0
    NM_CONTROLLED=no
    BOOTPROTO=static
    IPADDR=192.168.3.20
    NETMASK=255.255.255.0
    GATEWAY=192.168.3.1

    修改/etc/sysconfig/network-scripts/ifcfg-eth0,保持内容如下:

    DEVICE=eth0
    HWADDR=F4:CE:46:85:64:34
    TYPE=Ethernet
    UUID=c27373b9-a698-4ac8-9afe-a4dee87f5704
    ONBOOT=yes
    BRIDGE=xenbr0
    NM_CONTROLLED=no
    service network restart #重启网络

    8. 重启服务器
    重新启动系统并进入Xen内核的Linux,测试如下图:

    CentOS 6.6下Xen虚拟化实战

    9. 安装虚拟化管理工具集

    yum -y install libvirt

    libvirt提供一种虚拟机监控程序不可知的API来安全管理运行于主机上的来宾操作系统。libvirt本身不是一种工具,它是一种可以建立工具来管理来宾操作系统的API。libvirt本身构建于一种抽象的概念之上。它为受支持的虚拟机监控程序实现的常用功能提供通用的API。libvirt起初是专门为Xen设计的一种管理API,后来被扩展为可支持多个虚拟机监控程序。

    service libvirtd start
    yum -y install python-virtinst

    包含一个使用libvirt在虚拟机内部启动安装操作系统版本的Python模块(如命令:virt-install、virt-clone)

    10. 配置操作系统安装源
    在192.168.3.10:81 挂载CentOS-6.6-x86_64-minimal.iso,并将里面文件拷贝到apache网站根目录下centos6.6,使在192.168.3.20上能通过http://192.168.3.10:81/centos6.6 访问到安装镜像
    注意:镜像文件.treeinfo缺少一行,导致安装系统时找不到kernel,保持中间段如下:

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

    11. 字符界面安装CentOS

    mkdir -p /data/xen
    virt-install -n vm21 -r 2048 --vcpus=2 --nographic --disk path=/data/xen/vm21.img,size=20 \
    -l http://192.168.3.10:81/centos6.6/ --bridge=xenbr0,model=virtio

    virt-install命令参数:

    -n --name= 客户端虚拟机名称
    -r --ram=  客户端虚拟机分配的内存
    -u --uuid= 客户端UUID
    --vcpus=2 客户端的vcpu个数
    -v --hvm 全虚拟化
    -p --paravirt 半虚拟化
    -l --location=localdir 安装源
    --vnc 使用vnc
    -c --cdrom= 光驱 安装途径
    -s --file-size= 使用磁盘映像的大小 单位为GB
    -f --file= 作为磁盘映像使用的文件
    --disk= 使用不同选项作为磁盘使用安装介质

    12. 克隆镜像 

    virt-clone -o vm21 -n vm22 -f /data/xen/vm22.img
    Wed Dec 3 16:53:59 CST 2014
    • 本文由 发表于 2014-12-03
    • 转载请务必保留本文链接:https://linuxeye.com/404.html
    Xen虚拟化环境搭建 Linux

    Xen虚拟化环境搭建

    Xen 是一个开放源代码的para-virtualizing虚拟机(VMM),或“管理程序”,是为x86架构的机器而设计的。Xen 可以在一套物理硬件上安全的执行多个虚拟机;Xen是基于内核的虚拟程序...
    Consul集群配置 Linux

    Consul集群配置

    consul原理 上图是官网提供的一个事例系统图,图中的Server是consul服务端高可用集群,Client是consul客户端。consul客户端不保存数据,客户端将接收到的请求转发给响应的Se...
    匿名

    发表评论

    匿名网友