KVM创建虚拟机

1. 安装 KVM

  • CentOS7:

    $ sudo yum install -y virt-* libvirt bridge-utils qemu-img qemu-kvm
    $ sudo systemctl start libvirtd.service
    
  • Ubuntu:

    $ sudo apt install -y qemu qemu-kvm libvirt-daemon libvirt-clients  \
    					  bridge-utils  virt-manager virt-viewer
    $ sudo systemctl start libvirtd.service
    

2. 使用 ISO 镜像创建虚拟机

$ sudo chmod a+rwx /home/openstack/

$ sudo virt-install --name=ubuntu1 --ram=16384 --vcpus=4 \
    --os-type=linux --os-variant=ubuntu16.04 \
    --disk path=/home/openstack/images/ubuntu1.img,bus=virtio,size=50 \
    --bridge=virbr0 --graphics=none \
    --extra-args="console=tty0 console=ttyS0" \
    --location=/home/openstack/images/ubuntu-16.04.7-server-amd64.iso

所创建虚拟机的规格为:虚拟机名字为 ubuntu1,拥有 16384MB内存、4个虚拟CPU,使用 ubuntu-16.04.7-server-amd64.iso 来安装操作系统,虚拟机的虚拟硬盘位置为 /home/openstack/images/ubuntu1.img,虚拟硬盘大小为 50GB(无需事先创建虚拟硬盘),并将虚拟机连接到虚拟网桥 virbr0 上。

可以通过 osinfo-query os 命令来查看支持哪些 os-variant。

3. 使用虚拟磁盘创建虚拟机

此处使用的是云镜像 CentOS-7-x86_64-GenericCloud-1602.qcow2:http://cloud.centos.org/centos/

  1. 使用 CentOS-7-x86_64-GenericCloud-1602.qcow2 作为后备镜像,创建大小为 30GB 的虚拟磁盘 centos1.qcow2:

    $ qemu-img create -f qcow2 -b CentOS-7-x86_64-GenericCloud-1602.qcow2 centos1.qcow2 -o size=30G
    
  2. 修改 root 用户的登录密码为 root:

    $ virt-customize -a centos1.qcow2 --root-password password:root
    
  3. 修改虚拟机的网络配置(根据情况自行修改):

    $ virt-customize -a centos1.qcow2 --run-command 'echo -e "DEVICE=eth0\nONBOOT=yes\nTYPE=Ethernet\nBOOTPROTO=static\nIPADDR=192.168.122.13\nNETMASK=255.255.255.0\nGATEWAY=192.168.122.1" >/etc/sysconfig/network-scripts/ifcfg-eth0'
    
  4. 修改虚拟机配置,以允许 root 用户通过 ssh 登录:

    $ virt-customize -a centos1.qcow2 --run-command "sed -r -i 's/^PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config"
    
  5. 创建虚拟机:

    $ sudo virt-install --name=centos1 --ram=4096 --vcpus=2 \
        --os-type=linux --os-variant=centos7.0 \
        --disk centos1.qcow2,device=disk,bus=virtio \
        --network bridge=virbr0,model=virtio \
        --graphics=none \
        --import
    
上一篇:Linux环境下创建KVM虚机


下一篇:kvm-kvm创建qocw2 实例