virt-install创建虚拟机

virt-install + qemu虚拟化

一、系统

rocky 9

二、安装virt-install 和 qemu-kvm 和 libvirt

1
yum install virt-install qemu-kvm libvirt

三、创建一个桥接网卡

1、创建一个桥接网卡

1
nmcli con add type bridge con-name br0

2、将eth接口添加到br0桥接网络接口,使其能够共享 br0 连接上的网络

1
nmcli con add type bridge-slave ifname eth0 master br0

具体地,每个网络设备都有自己的 MAC 地址和 IP 地址。在桥接网络中,桥接主设备会拥有一个虚拟 MAC 地址和 IP 地址,并且将收到的数据包转发给各个桥接从设备。因此,当我们将一个物理网卡添加到桥接网络中时,该网卡就可以通过桥接主设备(即 br0)的虚拟 MAC 地址和 IP 地址来访问网络。

3、为虚拟网卡br0分配一个ip地址

静态地址

修改br0的ip地址为192.168.0.100,24是cidr(子网掩码的简写)

1
nmcli con mod br0 ipv4.addresses 192.168.0.100/24 ipv4.method manual

动态地址

1
nmcli con mod br0 ipv4.method auto

四、使用virt-install 创建一个虚拟机 Ubuntu20.04

1
2
3
4
5
6
7
8
9
virt-install \
--name vm1 \
--vcpus 2 \
--memory 2048 \
--disk size=20,path=/var/lib/libvirt/images/vm1.qcow2 \
--os-variant ubuntu20.04 \
--network bridge=virbr0 \
--graphics vnc,listen=0.0.0.0 \
--cdrom /path/to/ubuntu.iso
  • –name vm1 指定虚拟机的名称
  • –vcpus 2 指定虚拟机使用2个虚拟CPU
  • –memory 2048 指定虚拟机的内存为2048MB
  • –disk size=20,path=/var/lib/libvirt/images/vm1.–qcow2 指定虚拟机的磁盘大小为20GB,并且为磁盘指定位置为/var/lib/libvirt/images/vm1.qcow2,其中qcow2为磁盘的磁盘类型,另外还可以为img
  • –os-variant ubuntu20.04 指定虚拟机的类型为ubuntu20.04
  • –network bridge=virbr0 指定网络类型为桥接,指定网卡为virbr0
  • –graphics vnc,listen=0.0.0.0 使用vnc来访问虚拟机,并且让vnc监听0.0.0.0,默认为127.0.0.1,默认端口5900
  • –cdrom /path/to/ubuntu.iso 指定安装介质为ubuntu.iso

请注意开放5900端口或者关闭防火墙

五、使用vnc客户端来连接服务器

在Windows上使用vncviewer来进行连接,在linux可以使用remmina来连接

六、拍摄快照和恢复快照

1、拍摄快照

1
virsh snapshot-create domain snapshot-name
  • domain 是虚拟机的名称
  • snapshot-name 是快照的名称

2、恢复快照

1
virsh snapshot-revert domain snapshot-name
  • domain 是虚拟机的名称
  • snapshot-name 是快照的名称

七、常用的命令

1、 开启vm1虚拟机

1
virsh start vm1

2、 关闭vm1虚拟机

1
virsh shutdown vm1

3、删除虚拟机vm1

1
virsh undefine vm1

删除虚拟机不会删除vm1的磁盘文件
4、查看虚拟机vm1虚拟磁盘的位置

1
virsh domblklist vm1