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-clientsbridge-utilsvirt-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. 使用虚拟磁盘映像创建虚拟机
【KVM—创建虚拟机】此处使用的是云镜像 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/^#(PermitRootLogin yes)/\1/; s/^#(PasswordAuthentication yes)/\1/' /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

    推荐阅读