zoukankan      html  css  js  c++  java
  • Xen虚拟化

    Xen虚拟化基础

    Xen虚拟化类型

      hypervisor

    Xen组件

    Xen hypervisor
    
        Colletion CPU、Memory、Interrupter
    
    Domain0  ---> Dom0
    
        Privilieged Domain
    
        特权区 I/O资源分配
    
            网络设备
    
                net-front、net-backend
    
            块设备
    
                block-front、block-backend
    
        Linux Kernel
    
            2.6.37  开始支持运行Dom0
    
            3.0 对关键特性进行了优化
    
        提供管理DomU工具栈
    
            用于实现对虚拟机进行添加、启动、快照、停止、删除等操作
    
    DomainU  ---> DomU
    
        Unprivilieged Domain
    
            PV
    
                半虚拟化
    
            HVM
    
                完全虚拟化
    
                只有硬件支持辅助虚拟化,Xen才能使用完全虚拟化,否则,只能使用半虚拟化
    
            PV on HVM
    
                CPU完全虚拟化,I/O半虚拟化

    Xen的PV技术

    不依赖于CPU的HVM特性,但要求GuestOS的内核作出修改以知道自己运行于PV环境
    
    运行于DomU中的OS
    
        Linux 2.6.24+
    
        NetBSD 
    
        FreeBSD
    
        OpenSolaris

    Xen的HVM技术

    依赖于Intel VT-x、AMD-V
    
    依赖于Qemu来模拟I/O设备
    
    运行于DomU中的OS
    
        几乎所有支持x86平台的OS

    Xen的PV on HVM技术

    CPU完全虚拟化
    
    I/O半虚拟化
    
    运行于DomU中的OS:支持PV模式下虚拟I/O设备的OS

    XenStore

      为各Domain提供的共享信息存储空间

      层级结构的名称空间

      位于DOM0中

    CentOS对Xen的支持

      RHEL 5.7- 默认的虚拟化技术为Xen

        kernel version 2.6.18

        kernel+xen

      RHEL 6+ 仅支持kvm

        Dom0 不支持

        DomU 支持

    在不支持Xen的CentOS版本中使用Xen

      手动编译安装

        1. 编译3.0以上版本的内核,启用对Dom0的支持

        2. 编译安装Xen程序

      使用开源项目,制作好相关程序包的项目

        xen4centos

        xen made easy

    安装使用Xen

    指定EPEL或阿里云的yum源

    1 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    2 wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

    CentOS7安装下载xen

    # yum installation
    
        yum install -y centos-release-xen
    
        yum install -y xen
    
        # 安装perl工具包(Xen工具需要使用Perl工具包)
    
        yum install -y perl
    
    # 更新内核
    
        yum install -y kernel
    
    # Xen hypervisor内核文件
    
        ls /boot/
    
            xen.gz
    
            xen-4.6.6-10.el7.gz
    
        cat /etc/grub.d/08_linux_xen
    
    # grub文件
    
        cat /etc/default/grub
    
            GRUB_CMDLINE_XEN_DEFAULT="dom0_mem=1024M,max:1024M cpuinfo com1=115200,8n1 console=com1,tty loglvl=all guest_loglvl=all"
    
            GRUB_CMDLINE_LINUX_XEN_REPLACE_DEFAULT="console=hvc0 earlyprintk=xen nomodeset"
    
    # 自动修改/boot/grub/grub.conf配置文件
    
        /usr/bin/grub-bootxen.sh
    
    # CentOS6及一下版本,则需要修改/etc/grub.conf,配置参数参考如下
    
        http://xenbits.xen.org/docs/unstable/misc/xen-command-line.html
    
    # 重启系统,载入Xen hypervisor内核
    
        reboot

    CenOS6修改grub.conf

    Xen的工具栈

    xm/xend 在Xen hypervisor的DOM0中启动xend的服务
    
        xm 命令行管理工具,有诸多子命令
    
            create、destory、stop、pause ... 
    
    xl 基于libxenlight提供轻量级的命令行工具栈
    
        list                List information about all/some domains
    
            xen虚拟机状态
    
                r   运行
    
                b   阻塞
    
                p   暂停
    
                s   停止
    
                c   崩溃
    
                d   dying,正在关闭的过程中
    
    xe/xapi 提供了对xen管理的API,因此多用于cloud环境
    
        Xen Server
    
        XCP
    
    virsh/libvirt
    
        物理机开启libvirtd服务
    
        远程通过virsh管理虚拟机

    Xen半虚拟化模式

    将一下内容定义在DomU配置文件中

      1. kernel

        内核文件安放位置

      2. initrd或initramfs

      3. DomU内核模块

      4. 根文件系统

      5. swap设备

      PS:  xm于xl启动DomU使用的配置文件略有不同

    xl帮助

      man xl.cfg 启动某个虚拟机配置

      man xl.conf 通用配置

    xl常用选项

    shutdown    关机
    
    reboot      重启
    
    pci-list    显示pass-through的PCI设备
    
    pause       暂停
    
    unpause     解除暂停
    
    console     连接到控制台
    
    vncviwer    使用VNC连接至虚拟机
    
    save        将当前DomU内存中的数据转存至指定的磁盘文件中
    
        xl save VM_NAME /tmp/. /etc/xen/VM_CONF 
    
    restore     从指定的磁盘文件中恢复DomU的内存数据
    
        xl restore /etc/xen/VM_CONF /tmp/<filename>
    
    migrate     虚拟机迁移
    
    dump-core   将当前Dom0的核心模块转储
    
    cd-insert   插入一块光盘
    
    cd-eject    弹出一块光盘
    
    mem-max     虚拟机的最大内存
    
    mem-set     设置虚拟机内存
    
    button-press    关机电源按钮
    
    vcpu-list   显示指定Dom上运行的CPU个数及相关信息
    
    vcpu-pin   固定某个CPU在物理核心上
    
        xl [-vfN] vcpu-pin <Domain> <VCPU|all> <Hard affinity|-|all> <Soft affinity|-|all>
    
    vcpu-set    设置一个Dom上活跃CPU的个数,只能少于conf文件中定义的CPU个数
    
    info    查看虚拟机的详细
    
    domid   根据Dom名称获取DomID
    
    domname 根据DomID获取Dom名称
    
    rename  修改指定域名称
    
    dmegs   查看虚拟机内核运行相关信息
    
    top     显示各虚拟机的资源利用率信息
    
    network-list 显示指定Dom现有的网络接口
    
    network-attach 网络接口热插入
    
    network-detach 网络接口热拔出
    
    block-list 显示指定Dom现有的磁盘设备
    
    block-attach 磁盘设备热插入
    
        xl block-attach VM_NAME "/images/xen/xxx.img,qcow2,xvdb,rw"
    
    block-detach 磁盘设备热拔出
    
    uptime  显示指定Dom的运行时长

    xl常用指令

    name 指定域名称
    
    builder 指定虚拟机类型,generic半虚拟化,HVM完全虚拟化
    
    vcpus  虚拟CPU个数
    
    maxvcpus  最大虚拟CPU个数
    
    cpus  指定虚拟CPU运行在哪些物理核心列表上
    
    cpu_weight CPU权重
    
    memory  指定虚拟机内存大小
    
    maxmem  指定最大内存大小
    
    on_poweroff 指明关机时,DOM0采取的action
    
        destroy
            destroy the domain
    
        restart
            destroy the domain and immediately create a new domain with the same configuration
    
        rename-restart
            rename the domain which terminated, and then immediately create a new domain with the same configuration as the original
    
        preserve
            keep the domain.  It can be examined, and later destroyed with `xl destroy`.
    
        coredump-destroy
            write a "coredump" of the domain to /var/lib/xen/dump/NAME and then destroy the domain.
    
        coredump-restart
            write a "coredump" of the domain to /var/lib/xen/dump/NAME and then restart the domain.
    
    on_reboot  重启时,执行操作,采取的action
    
    on_crash  虚拟机意外崩溃时,采取的action
    
    uuid  指定一个域的UUID
    
    disk=[ "DISK_SPEC_STRING", "DISK_SPEC_STRING", ...]  指明磁盘设备
    
        http://xenbits.xen.org/docs/unstable/man/xl-disk-configuration.5.html
    
        [<target>, [<format>, [<vdev>, [<access>]]]],
    
            target 表示磁盘映像文件或设备文件路径,/images/xen/linux.img, /dev/myvg/linux
    
            format 表示磁盘格式,如果是映像文件,有多种格式raw,qcow2 ...
    
            vdev 指明虚拟机中被识别的磁盘名称,/dev/hd[x]、sd[x]、xvd[x]
    
            access 指明磁盘访问权限
    
        使用qemu-img管理磁盘映像
    
            create [-q] [-f fmt] [-o options] filename [size]
    
            qemu-img create 0f raw -o size=2G /images/xen/busybox.img
    
        使用mke2fs格式化磁盘设备
    
            mke2fs -t ext2 busybox.img
    
            # 无分区表
    
        查看磁盘大小
    
            ll -h 
    
            du -sh 
    
    vif=[ "NET_SPEC_STRING", "NET_SPEC_STRING", ...]  指明网络设备
    
        http://xenbits.xen.org/docs/unstable/man/xl-network-configuration.5.html
    
        https://wiki.xenproject.org/wiki/Network_Configuration_Examples_(Xen_4.1%2B)
    
        vif = [ '<vifspec>', '<vifspec>', ... ]
    
            <vifspec> = [<key>=<value>|<flag>,]
    
            mac  指定虚拟机的MAC地址,以“00:16:3e”
    
            bridge  指定此设备网络接口在Dom0中被关联至哪个桥设备上
    
            model  指定虚拟机模拟成哪种网络接口
    
                rt18139
    
                e1000
    
            vifname  指明接口名称,在Dom0中显示的名称
    
            script  创建接口的辅助脚本
    
            ip  直接指定固定IP地址,会注入到DomU中
    
            rate  指定网卡传输速率
    
                RATE is in bytes and can accept suffixes:
    
                GB, MB, KB, B for bytes.
    
                Gb, Mb, Kb, b for bits.
    
    vfb=[ "VFB_SPEC_STRING", "VFB_SPEC_STRING", ...]  指明虚拟显卡接口
    
        # 本地虚拟桌面
    
            # 配合虚拟机的默认启动级别
    
            vfb = [ "sdl=1" ]
    
        # vncviwer本地
    
            # 本机需要安装tigervnc
    
            vfb = [ "vnc=1" ]
    
            vncviwer :5900
    
        # vncviwer远程
    
            # 本机需要安装tigervnc
    
            vfb = [ "vnc=1,vnclisten=0.0.0.0,vncpasswd=123456" ]
    
            # 使用桌面号连接,5900桌面号0
    
    pci=[ "PCI_SPEC_STRING", "PCI_SPEC_STRING", ... ]  指明PCI设备

    xl半虚拟化专用指令

    kernel  内核文件路径,为Dom0中的路径
    
    ramdisk  为kernel指定内核提供的ramdisk文件路径
    
    root  指明根文件系统
    
    extra  额外传递给内核引导时使用的参数
    
    bootloader  如果DomU使用自己的kernel及ramdisk,则需要使用Dom0中的应用程序,实现启动器功能,不能和kernel、ramdisk参数同时使用

    安装半虚拟化VM

    基于Dom0安装一个虚拟机

    # pv类型
    
    # 该虚拟使用外部(Dom0)的引导启动文件和内核文件
    
    1. 准备环境
    
        yum -y groupinstall "Development Tools" "Server Platform Development" glibc-static ncurses-devel
    
    2. 准备busybox文件
    
        wget http://busybox.net/downloads/busybox-1.28.3.tar.bz2
    
    3. 为busybox准备磁盘映像文件
    
        qemu-img create -f raw -o size=2G /images/xen/busybox.img
    
        mke2fs -t ext2 busybox.img
    
        mount /images/xen/busybox.img /mnt/
    
    4.编译安装busybox,并提供一个根文件系统,创建相应文件
    
        tar xf busybox-1.28.3.tar.bz2
    
        cd busybox-1.28.3/
    
        make menuconfig
    
            选择Settings
    
            在Build Options中选择Build static binary (no share libs)
    
            # 这样所有依赖的库文件都会打包好编译进内核
    
        make 
    
        make install
    
        # 拷贝编译安装的文件
    
        cp -a _install/* /mnt/
    
        mkdir /mnt/{proc,dev,sys,etc,var,boot,home}
    
    5. 切换根目录到/mnt下,使用busybox系统
    
        chroot /mnt /bin/sh
    
        # 没问题后,准备在DomU运行此系统
    
        umount /mnt
    
        # 我们需要使用系统自带文件引导启动映像文件
    
        ln -sv vmlinuz-3.10.0-514.el7.x86_64 vmlinuz
    
        ln -sv initramfs-3.10.0-514.el7.x86_64.img initramfs.img
    
    6. 创建桥接设备
    
        https://wiki.xenproject.org/wiki/Network_Configuration_Examples_(Xen_4.1%2B)
    
        cd /etc/sysconfig/network-scripts/
    
        cp ifcfg-eth0 ifcfg-xenbr0
    
        vim ifcfg-eth0
    
            # 删除IPADDR、NETMASK、GATEWAY、DNS
    
            BRIDGE=“xenbr0”
    
        vim ifcfg-xenbr0
    
            # 删除mac地址,boot类型为static
    
            TYPE=Bridge
    
        service network restart 
    
        chkconfig NetworkManager off
    
        # CentOS6使用修改配置文件的方式创建桥设备会死机
    
        # 可能是bridge-utils和CentOS6内核有冲突,可以尝试升级bridge-utils
    
        # 或者使用brctl命令的方式创建桥设备
    
        ifconfig eth0 0
    
        brctl  addbr xenbr0
    
        brctl addif xenbr0 eth0
    
        brctl show
    
        ipconfig xenbr0 x.x.x.x/x
    
        # 下面尝试升级bridge-utils
    
            下载并安装新的 bridge-utils-1.5-9.el7.x86_64.rpm
    
            rpm -q bridge-utils
    
            # 再次尝试创建桥设备
    
            # 发现还是不行,内核运行还是崩溃了
    
        # 下面方案尝试使用旧版内核,使用阿里云yum源下载指定的kernel,以及对应的固件驱动
    
        # 内核一定要下载,不要更新,更新一但使得系统不能运行,此虚拟机将不能再使用
    
        yum install -y kernel-3.10.68 kernel-firmware-3.10.68
    
        /usr/bin/grub-bootxen.sh
    
        # 此方法没问题,内核不会运行时崩溃
    
    7. 使用xl文件创建一台Xen虚拟机
    
        cp /etc/xen/xlexample.pvlinux busybox
    
        vim /etc/xen/busybox
    
            name = "busybox-001"
    
            root = "/dev/xvda ro"
    
            kernel = "/boot/vmlinuz"
    
            ramdisk = "/boot/initramfs.img"
    
            extra = "selinux=0 init=/bin/sh"
    
            memory = 256
    
            #vif = [ '' ]
    
            disk = [ '/images/xen/busybox.img,raw,xvda,rw' ]
    
            vif = [ 'bridge=xenbr0' ]
    
        xl help create 
    
        xl -v create busybox -n 
    
        xl -v create /etc/xen/busybox
    
        xl list
            Name                                        ID   Mem VCPUs    State    Time(s)
            Domain-0                                     0  1024     2     r-----     970.2
            busybox-001                                  5   256     2     r-----       3.8
    
        xl create /etc/xen/busybox -c 
    
    8. 由于我们使用了网卡,必须确保DomU上有相应的网卡驱动
    
        cd /lib/modules/3.10.0-514.el7.x86_64/kernel/drivers/net
    
        mount -o loop /images/xen/busybox.img /mnt/
    
        mkdir -pv /mnt/lib/modules/
    
        cp xen-netfront.ko /mnt/lib/modules/
    
        sync 
    
        umount /mnt 
    
    9. 连接至虚拟机的控制台
    
        xl console busybox-001 
    
        # 手动装载网卡驱动
    
            insmod /lib/modules/xen-netfront.ko
    
        ifconfig
    
        # 可以看到虚拟机的前端网卡 
    
    10. 返回shell
    
        Ctrl + ]
    
        ifconfig vif3.0
    
        # 可以看到虚拟机的后端网卡,3.0和DomU的ID有关系,表示ID为3的虚拟机上的第0块网卡
    
        brctl show
    
        # eth0和vif3.0后桥接在虚拟网桥上
    
    11. 销毁虚拟机
    
        xl destroy busybox-001

    使用Dom0中的磁盘分区为DomU提供存储空间

    # 性能会有所提高,但是不能进行虚拟机迁移
    
    1. 准一个磁盘分区
    
        fdisk -l 
    
        fdisk /dev/sda
    
        # 在物理机上
    
        # t 指定分区类型
    
        # 指定为8e LVM类型
    
    2. 刷新分区表信息
    
        kpartx -a /dev/sda 
    
    3. 创建逻辑卷
    
        pvcreate /dev/sdb1
    
        vgcreate vg /dev/sdb1
    
        lcreate -L 2G -n busybox vg 
    
    4. 格式化分区
    
        mke2fs -t ext2 /dev/vg/busybox
    
    5. 挂载分区
    
        mount /dev/vg/busybox /mnt
    
    6. 同样复制busybox文件到分区中
    
        cd busybox-1.28.3/
    
        cp -a _install/* /mnt/
    
        # 创建目录
    
        cd /mnt 
    
        mkdir /mnt/{proc,dev,sys,etc,var,boot,home}
    
    7. 编辑xl文件
    
        # 详细查看第一个实例
    
        vim busybox
    
            name = "busybox-001"
    
            kernel = "/boot/vmlinuz"
    
            ramdisk = "/boot/initramfs.img"
    
            # 指定yum源上的kickstart引导启动文件
    
            # yum源和ks文件准备这里就不缀述了
    
            extra = "selinux=0 init=/bin/sh"
    
            memory = 512
    
            vcpus = 2
    
            vir = [ "bridge=xenbr0" ]
    
            disk = [ "/dev/vg/busybox,raw,xvda,rw" ]
    
            root = "/dev/xvda ro"
    
    8. 创建虚拟机
    
        xl create busybox
    
        xl list 
    
        xl console busybox-001

    虚拟机安装实例3

    # pv类型    
    
    # 安装一个完整的虚拟机,使用DomU自带内核模块、引导文件等
    
    1. 制作磁盘映像文件
    
        qemu-img create -f raw -o size=5G,preallocation=metadata /images/xen/busybox3.img 
    
    2. 设置并控制本地回环设备
    
        回环设备( 'loopback device')
        
            允许用户以一个普通磁盘文件虚拟一个块设备。
            
            设想一个磁盘设备,对它的所有读写操作都将被重定向到读写一个名为 disk-image 的普通文件而非操作实际磁盘或分区的轨道和扇区。
            
            (当然,disk-image 必须存在于一个实际的磁盘上,而这个磁盘必须比虚拟的磁盘容量更大。)回环设备允许你这样使用一个普通文件
    
            回环设备的使用与其它任何块设备相同。特别是,你可以在这个设备上创建文件系统并像普通的磁盘一样将它挂载在系统中
    
        # qcow2的磁盘映像文件格式不能使用回环设备创建分区,虚拟机中是不能识别的
    
        显示已经使用的回环设备
        
            losetup -a
    
        显示空闲的第一个回环设备
    
            losetup -f
    
        关联磁盘映像文件和换回设备关系
    
            losetup /dev/loop0 /images/xen/busybox3.img
    
    3. 分区格式化
    
        fdisk -l /dev/loop0
    
        # 创建2个分区
    
            ... 
    
        kpartx -av /dev/loop0
    
        # partprobe /dev/loop0  和上面命令作用相同
    
        mke2fs -t ext2 /dev/mapper/loop0p1
    
        mke2fs -t ext2 /dev/mapper/loop0p2
    
    4. 挂载分区
    
        mkdir /mnt/{boot,sysroot}
    
        mount  /dev/mapper/loop0p1 /mnt/boot
    
        mount  /dev/mapper/loop0p1 /mnt/sysroot
    
        mount
    
        df -h 
    
    5. 拷贝引导启动文件
    
        cp /boot/vmlinuz-3.10.0-514.el7.x86_64 /mnt/boot/vmlinuz 
    
        cp cp /boot//initramfs-3.10.0-514.el7.x86_64.img /mnt/boot/initramfs.img 
    
    6. 安装引导配置文件
    
        grub-install --root-directory=/mnt /dev/loop0
    
        vim /mnt/root/grub/grub.conf 
    
            default = 0
            timeout = 5 
            titile BusyBox(kernel-3.10.0)
                root (hd0,0)
                kernel /vmlinuz root=/dev/xvda1 ro selinux=0 init=/bin/sh 
                initrd /initramfs.img
    
    7. 拷贝busybox安装好的文件
    
        # 如果安装参考上一个实例
    
        cp -a busybox-1.28.3/_install/* /mnt/sysroot
    
        mkdir -pv /mnt/sysroot/{proc,dev,sys,etc,var,boot,home}
    
    8. 拷贝网卡前端驱动
    
        cp /lib/modules/3.10.0-514.el7.x86_64/kernel/drivers/net/xen-netfront.ko /mnt/sysroot/lib/modules
    
        sync
    
    9. 收尾工作
    
        umount /mnt/boot
    
        umount /mnt/sysroot
    
        losetup -d /dev/loop0
    
        # 删除分区信息
    
            kpartx -d /dev/loop0
    
        losetup -d /dev/loop0
    
        losetup -f
    
    10. 准备xl文件,用于创建虚拟机
    
        # 具体如果创建查看上一个实例
    
        vim busybox3
    
            #kernel
            #extra
            #root
    
            disk = [ '/images/xen/busybox3.img,raw,xvda,rw' ] 
    
            # 由于虚拟磁盘不能装载MBR分区信息,bootloader就必须再xen中提供
            bootloader='/usr/bin/pygrub'
            # grub第一阶段由它来引导,后续引导会自动读取/images/xen/busybox3.img,grub第二阶段正常进行
    
    11. 创建虚拟机
    
        xl create busybox-003 -c
    
        # 至此引导没有问题,如果终端不能显示,则需要使用console指定虚拟终端

    使用yum源安装虚拟机

    # 安装一个CentOS6虚拟机
    
    # 1.准备启动引导和内核文件
    
        # 自行挂载CentOS6的光盘
    
            mount /dev/cdrom /media/cdrom
    
        cd /media/cdrom/isolinux
    
        mkdir -pv /images/kernel
    
        cp initrd.img vmlinuz /images/kernel/
    
    # 2.准备磁盘映像文件
    
        qemu-img create -f raw -o size=20G,preallocation=metadata /images/xen/centos6.img
    
    # 3.拷贝xl文件
    
        mkdir -pv /images/xen/centos
    
        cp /etc/xen/xlexample.pvlinux /images/xen/centos/
    
    # 4.编辑CentOS xl文件
    
        vim /iamges/xen/centos/xlexample.pvlinux
    
            name = "centos6-001"
    
            kernel = "/images/kernel/vmlinuz"
    
            ramdisk = "/images/kernel/initrd.img"
    
            # 指定yum源上的kickstart引导启动文件
    
            # yum源和ks文件准备这里就不缀述了
    
            extra = "ks=http://yum_server_ip/cfg_path/filename.cfg"
    
            memory = 512
    
            vcpus = 2
    
            vir = [ "bridge=xenbr0" ]
    
            disk = [ "/images/xen/centos6.img,qcow2,xvda,rw" ]
    
            on_reboot = "shutdown"
    
            #root
    
        mv /iamges/xen/centos/xlexample.pvlinux /iamges/xen/centos/CentOS6
    
        # 查看编辑文件是否正确
    
            grep -v "^#" xlexample.pvlinux | grep -v "^$"
    
    # 5.xl引导创建虚拟机
    
        xl create /iamges/xen/centos/CentOS6 -c
    
    # 6.收尾工作,修改配置文件
    
        vim /iamges/xen/centos/CentOS6
    
            #extra
            #kernel
            #ramdisk
    
            bootloader = "pygrub"
    
        # 第一次引导安装完成后,虚拟机自己就用了bootloader文件,可以自行引导启动
    
    # 7. 虚拟机模板
    
        # 可以将当前虚拟机的映像文件当做模板文件,并配置相关的xl文
    
        # 但并不能直接使用,我们需要将虚拟mac地址、IP地址、SSH-id等产生冲突的文件拆除
    
        # 可以使用专门为云主机做磁盘映像文件初始化
    
        yum info cloud-init
    
            Available Packages
            Name        : cloud-init
            Arch        : x86_64
            Version     : 0.7.9
            Release     : 9.el7.centos.6
            Size        : 628 k
            Repo        : updates/7/x86_64
            Summary     : Cloud instance init scripts
            URL         : http://launchpad.net/cloud-init
            License     : GPLv3
            Description : Cloud-init is a set of init scripts for cloud instances.  Cloud instances
                        : need special scripts to run during initialization to retrieve and install
                        : ssh keys and to let the user run various scripts.

    libvirt管理工具

    实现xen虚拟机管理

    # 服务包安装
    
        yum install -y libvirt libvirt-daemon-xen
    
    # 启动服务
    
        service libvirtd start 
    
    # 工具包安装
    
        # 图形控制台
    
            yum install -y virt-manager python-virtinst
    
            # 默认使用virt-manager创建的磁盘映像文件路径
    
                ls /var/lib/libvirt/images/
    
        # 命令行工具后续博客将更新使用方法
    
            yum install -y libvirt-client
    
            # 命令
    
                virsh 
    
                virsh-install 
  • 相关阅读:
    c语言 423输出直角在右上角的等腰直角三角形
    R语言中aggregate函数进行整合数据
    c语言 425输出向下的金字塔
    C语言 423 输出直角在左上角的等腰直角三角形
    c语言 422 显示出一个横向较长的长方形
    R语言中subset函数
    R语言中for、while、if else、switch语句
    c语言 424 输出金字塔性状
    R语言中apply函数
    WinCE文件基本操作
  • 原文地址:https://www.cnblogs.com/cq146637/p/8931844.html
Copyright © 2011-2022 走看看