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/
-
使用 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
-
修改 root 用户的登录密码为 root:
$ virt-customize -a centos1.qcow2 --root-password password:root
-
修改虚拟机的网络配置(根据情况自行修改):
$ 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'
-
修改虚拟机配置,以允许 root 用户通过 ssh 登录:
$ virt-customize -a centos1.qcow2 --run-command "sed -r -i 's/^PasswordAuthentication no/PasswordAuthentication yes/' /etc/ssh/sshd_config"
-
创建虚拟机:
$ 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