linuxvirt-install创建虚拟机
TheStoneFishvirt-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虚拟机
2、 关闭vm1虚拟机
3、删除虚拟机vm1
删除虚拟机不会删除vm1的磁盘文件
4、查看虚拟机vm1虚拟磁盘的位置