新建一台 KVM 虚拟机的几种方法

通过克隆新建一台虚拟机的几种方法:

  1. 在有模板镜像的机器上克隆好新的虚拟机,再scp/rsync到其他机器,也可以 wget

  2. 通过克隆本机的模板镜像生成新的虚拟机,这就需要每台 KVM 宿主机都要有一个模板镜像,也可以借助 NFS 挂载远程镜像。

  3. 远程克隆其他机器的模板镜像到本地,尚未实现,探索中。

主要介绍一下方法二

首先找一台机器作为 NFS 服务器,负责提供虚拟机模板镜像, 本例中 192.168.1.212 作为 NFS Server

[192.168.1.212]# cat /etc/exports
/nfs/ 192.168.1.0/24(rw,async,no_root_squash,no_subtree_check)
[192.168.1.212]# ls /nfs/
centos7_2_v2_auto.qcow2  centos7_2_v2_auto.xml  

Ansible Playbook 文件如下

---
- hosts:   kvm
  remote_user: wangzezhi
  sudo: yes
  vars:
    image_name: centos7_2_v2_auto
    xml_file: "/nfs/{{ image_name }}.xml"

  tasks:

  - name: create the nfs directory
    file: path=/nfs state=directory

  - name: mount nfs
    shell: sudo mount -t nfs 192.168.1.212:/nfs  /nfs

  - name: define the kvm demo
    shell: virsh define {{ xml_file }}
    tags: define

简单说下

  1. NFS Server 上面启动 NFS 服务,放置模板镜像文件
  2. 在目标机器上建一个 nfs 目录,用来挂载远程的镜像文件
  3. 目标机器挂载远程 NFS 目录
  4. 目标机器 define 虚拟机模板镜像
  5. 这样目标机器就有了一个模板镜像,可以用来克隆新的虚拟机

使用 NFS 的优点是,当模板文件需要修改时,只需要修改一台机器