Xen虚拟机模版制作

  • 制作模版
    • windows

      1. 准备虚拟机
        安装配置好一个用来制作模版的虚拟机
      2. 导出windows的mbr到文件(仅适用于mbr分区表的windows操作系统),基于lvm(基于文件需要使用loop设备)
        dd if=/dev/mapper/vg_lv_name of=/path/to/windows_tpl.mbr count=1 bs=512
      3. 生成模板磁盘的分区设备
        kpartx -av /dev/mapper/vg_lv_name

      4.复制模板数据到文件(或分区)

      ntfsclone -r -O  windows_tpl.img /dev/mapper/vg_lv_namep1

      5.删除分区设备

      kpartx -dv /dev/mapper/vg_lv_name
      • linux(仅适用于半虚拟化)
        1.打包整个系统

        tar cpzf test.tar.gz --exclude=/os_tpl.tar.gz /

      2.建立虚拟磁盘

      dd if=/dev/zero of=os_tpl.img bs=1 count=1 seek=10G
      mkfs.ext4 test.img
      mount -o loop test.img /mnt

      3.释放系统文件到虚拟磁盘

      tar -zxSf os_tpl.tar.gz -C /mnt/os_tpl

      4.挂载系统所需目录(无此目录可创建),然后chroot

      sudo mkdir -p /mnt/os_tpl/{proc,sys,dev,dev/pts}
      
      sudo mount -t proc proc /mnt/os_tpl/proc/
      sudo mount -t sysfs sys /mnt/os_tpl/sys/
      sudo mount -o bind /dev /mnt/os_tpl/dev/
      sudo mount -o bind /dev/pts /mnt/os_tpl/dev/pts/
      sudo chroot /mnt/os_tpl

      5.chroot后更新系统并安装linux-virtual内核,当然,不要忘了更新 grub(centos同理)

      apt-get update & apt-get upgrade
      apt-get install linux-virtual
      apt-get purge grub2 grub-pc
      apt-get install grub
      update-grub

      6.换了内核后还需要更新和配置几个系统文件,menu.lst,fstab,hvc0.conf,以便新内核能在 Xen 虚拟环境里正常启动

      # vi /boot/grub/menu.lst
      Kernel command line: root=/dev/xvda1 xencons=tty console=tty1 console=hvc0 nosep nodevfs ramdisk_size=32768 ip_conntrack.hashsize=8192 nf_conntrack.hashsize=8192 ro devtmpfs.mount=1 
      # vi /etc/fstab
      /dev/xvda1      /           ext4    noatime,errors=remount-ro       0 1
      /dev/xvda2      none        swap    sw                              0 0
      tmpfs           /dev/shm    tmpfs   nodev,nosuid,noexec,mode=1777   0 0
      devpts          /dev/pts    devpts  gid=5,mode=620                  0 0
      sysfs           /sys        sysfs   defaults                        0 0
      /proc           /proc       proc    defaults                        0 0
      /dev/xvdb       /home       ext4    noatime,errors=remount-ro       0 1
      # vi /etc/init/hvc0.conf
      # hvc0 - getty
      #
      # This service maintains a getty on hvc0 from the point the system is
      # started until it is shut down again.
      
      start on stopped rc RUNLEVEL=[2345]
      stop on runlevel [!2345]
      
      respawn
      exec /sbin/getty -8 38400 hvc0

      7.退出chroot并逆顺序卸载刚才挂载的目录

      umount /mnt/os_tpl/proc/
      umount /mnt/os_tpl/sys/
      umount /mnt/os_tpl/dev/pts/
      umount /mnt/os_tpl/dev/
      umount /mnt/os_tpl
      # xl create test.cfg
  • 创建虚拟机
    • windows
      1.创建磁盘/磁盘镜像

      lvcreate -L 20G -n xxx vg

      2.从模版mbr恢复mbr到磁盘

      dd if=2003_tpl.mbr of=/dev/mapper/vg_lv_name  count=1 bs=512

      3.创建分区设备

      kpartx -av /dev/mapper/vg_lv_name

      4.复制模版数据到分区设备

      ntfsclone -r -O /dev/mapper/vg_lv_namep1 windows_tpl.img

      4.根据需要在分区设备执行resize

      ntfsresize -f -v /dev/mapper/vg_lv_namep1

      5.删除分区设备

      kpartx -dv /dev/mapper/vg_lv_name
    • Linux
      1.建立虚拟磁盘
      dd if=/dev/zero of=test.img bs=1 count=1 seek=10G

      2.格式化虚拟磁盘

      mkfs.ext4 test.img

      3.挂载虚拟磁盘

      mount -o loop test.img /mnt

      4.释放模版文件到目标位置

      tar -zxSf test.tar.gz -C /mnt/
  • 创建Xen虚拟机配置文件,用 xl create 启动虚拟机
    # vi /etc/xen/test.cfg
    bootloader = "pygrub"
    root = "/dev/xvda ro"
    name = "test"
    vcpus = "1"
    memory = "2048"
    disk = [ "file:/root/test.img,xvda,w","file:/root/test.swp,xvdb,w" ]
    vif = [ "bridge=xenbr0" ]
  • 原文地址:http://blog.51cto.com/13187574/2084555

    时间: 2024-08-02 15:17:32

    Xen虚拟机模版制作的相关文章

    Xen虚拟机磁盘镜像模板制作(四)—CentOS 7

    在<Xen虚拟机磁盘镜像模板制作(三)—CentOS 7>一文中,我们已经成功制作出了 CentOS7 磁盘镜像.下面我们说明下如何通过它来生成目标虚拟机,同时测试下之前制作好的虚拟机磁盘镜像模版是否有问题. 1.创建目标虚拟机的系统盘: [[email protected] ~]# lvcreate -L 15G -n centos7_vm vg0 Logical volume "centos7_vm" created 2.查看成功创建的虚拟机系统盘: [[email p

    Xen虚拟机磁盘镜像模板制作(二)—Windows Server 2008(2012)

    在<Xen虚拟机磁盘镜像模板制作(一)—Windows Server 2008(2012)>一文中,我们已经成功制作出了Windows Server磁盘镜像.下面我们说明下如何通过它来生成目标虚拟机,同时测试下之前制作好的虚拟机磁盘镜像模版是否有问题.具体流程如下文所述: 1.创建目标虚拟机的系统盘: [[email protected] ~]# lvcreate -L 15G -n windows_vm vg0 Logical volume "windows_vm" cr

    制作Xen虚拟机半虚拟化和全虚拟化镜像

    安装时候已经包含虚拟化,所以启动系统后已经是带xen的内核,已经安装好xen相关软件. xen虚拟机的存储有多种方式,根据官方手册上说的有files,lvm,nfs等.我选择了files作为xen虚拟机的存储,因为这样比较简单,当然会有弱点,后面会说到. 先说如何实现半虚拟化: 检查cpu的指令集是否包含pae,这个应该不成问题,我小黑的cpu是T2370都支持. 1.先dd出一个img文件作为虚拟机的安装空间 dd if=/dev/zero of=/xen/image/xen1.img bs=

    使用xm命令管理xen虚拟机

    SHELL代码 xm list:所有已知的虚拟机列表 xm create:启动一个非托管的虚拟机 xm top:提供所有虚拟机的状态概貌 xm console:打开控制台管理虚拟机 xm new:添加虚拟机到Xenbase托管环境 xm start:从Xenbase托管环境启动虚拟机 xm destroy:像关掉电源那样关闭虚拟机 xm shutdown:正确地关掉虚拟机 xm reboot:重新启动虚拟机 xm pause:暂停虚拟机的活动而不释放使用的内存资源 xm unpause:激活使用

    CentOS 5.8下Xen虚拟机的安装及操作

    公司新到的服务器IBM3650M4(12G内存,900G硬盘,cpuE5-2400),打算在上面搞xen虚拟化.查看了很多文档,最后终于成功. 1查看机器的cpu是否支持虚拟化 cat /proc/cpuinfo | grep flags 如果结果出现pae,说明支持半虚拟化:如果出现vmx或svm,则支持全虚拟化. 2 两种方法可以安装xen. 2.1 新机器装系统的时候在图形界面可以选择加上xen虚拟化 2.2 装好系统后,命令行安装方式. 3 使用yum 安装,自动解决依赖关系. yum

    xen虚拟机管理命令

    #xen虚拟机管理命令 xm list:所有已知的虚拟机列表 xm create:启动一个非托管的虚拟机 xm top:提供所有虚拟机的状态概貌 xm console:打开控制台管理虚拟机 xm new:添加虚拟机到Xenbase托管环境 xm start:从Xenbase托管环境启动虚拟机 xm destroy:像关掉电源那样关闭虚拟机 xm shutdown:正确地关掉虚拟机 xm reboot:重新启动虚拟机 xm pause:暂停虚拟机的活动而不释放使用的内存资源 xm unpause:

    Linux 主机与虚拟机网桥制作与网卡链路聚合

    一.网桥制作 1.主机的网桥制作 删除主机的/etc/sysconfig/network-scripts/ifcfg-enp0s25 在/etc/sysconfig/network-scripts/ifcfg-br0目录下添加文件 #编辑主机的物理网卡文件 vim /etc/sysconfig/network-scripts/ifcfg-enp0s25 DEVICE=enp0s25 BOOTPROTO=none NAME=westos BRIDGER=br0 #编辑虚拟网桥文件 vim /etc

    为Xen虚拟机扩容根文件系统(LVM)

    ===== 为Xen虚拟机扩容根文件系统(LVM) ===== 1. 增加1个4G的映像文件 # dd if=/dev/zero of=data.img bs=4k seek=1024k count=1 2. 更改虚拟机配置: disk = [ "tap:aio:/xen_images/xen_centos6.5x64/centos6.5x64.img,xvda,w", "tap:aio:/xen_images/xen_centos6.5x64/data.img,xvdb,w

    解决ESXi有虚拟机模版部署的CentOS虚拟机,网卡eth0找不到问题

    1,问题和虚拟机克隆后出现网卡找不到问题类似. 2,修改主机名hostname 修改 /etc/sysconfig/network文件 3,删除/etc/sysconfig/network-scripts/ifcfg-eth0中HWADD的一行,或者安装虚拟机属性中网卡的新分配的MAC地址修改.同时修改静态ip地址 4,删除文件/etc/edev/rules.d/70-persistent-net.rules 5, 重新启动系统reboot 解决ESXi有虚拟机模版部署的CentOS虚拟机,网卡