简单使用kvm
KVM是一种开源的虚拟化技术,它是基于Linux内核的虚拟化解决方案,全称是Kernel-based Virtual Machine。KVM利用Linux内核的虚拟化扩展,将物理主机转变为可以运行多个虚拟机的虚拟化平台。那么这里我将使用centos和ubuntu来进行简单相关部署ubuntu 22.04部署步骤
安装相关软件,虚拟机需开启虚拟化,我这里给的内存和核心都为8
1 | apt -y install qemu-kvm virt-manager libvirt-daemon-system cockpit cockpit-machines bridge-utils libosinfo-bin |
开机自启
1 | systemctl enble --now libvirtd.service |
web管理界面自启
1 | systemctl enable --now cockpit |
这里使用virt-manager
1 | export DISPLAY=10.0.0.1:0.0 |
打开xmanager
1 | virt-manager |
乱码请选择英文
1 | localctl set-locale LANG=en-US.UTF-8 |
创建目录
1 | mkdir /data/iso && cd /data/iso |
安装windows
1 | virt-install \ |
进入控制台
1 | virt-manager |
然后一直点下一步,直到这里,因为默认是不支持windows的virtio
下载驱动
1 | wget https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/virtio-win-0.1.229-1/virtio-win-0.1.229.iso |
然后重新来…记得删除或者暂停改个名也行
1 | virt-install \ |
可以看到已经加载的原镜像和驱动
选择加载驱动程序
选择2016,下一步
可以看到出来磁盘了,这里我就默认了
等待安装…
经过N遍重启成功进入
安装网卡驱动
安装PCI驱动
其他驱动可依葫芦画瓢去挂载的驱动ISO里面去找,windows克隆可能会出现冲突,所以想要克隆可执行win自带初始化程序(谁会没事在linux克隆win???)
打快照,点击两个个电脑图标
接着创建快照就行了
rocky 8.x 部署步骤
centos我就用图形web安装了
1 | yum -y install qemu-kvm libvirt virt-manager virt-install virt-viewer cockpit cockpit-machines |
输入本机ip加port,我这里是10.0.0.200:9090
然后点击虚拟机,创建虚拟机,注意,我已经创建目录,上传了镜像,所有我选择本地安装,这里还能编辑配置,点击创建并运行或者安装即可
点一下界面,用鼠标上下键选择安装centos7
做好配置好进行安装,这里安装的mini版,所以就300个,完成后请用 TAB 键选择reboot重启
到这里就安装完成了
命令行配置
创建一个20G的虚拟机磁盘文件,copy该文件,在图形化界面可导入
1 | qemu-img create -f qcow2 /var/lib/libvirt/images/centos7.qcow2 20G |
初始化配置
1 | virt-install --virt-type kvm \ |
或者指定虚拟机磁盘文件一步到位
1 | virt-install --virt-type kvm \ |
克隆机器
方法1,复制已经安装的虚拟机磁盘文件
1 | cp -a /var/lib/libvirt/images/centos7-1.qcow2 /var/lib/libvirt/images/centos7-2.qcow2 |
在图形化界面选择导入
指定路径,选择操作系统
配置cpu和ram
这里我改个名
然后完成了
方法2,复制虚拟机磁盘文件,注意前面的复制我删了
1 | cp -a /var/lib/libvirt/images/centos7-1.qcow2 /var/lib/libvirt/images/centos7-2.qcow2 |
命令行指定克隆机配置
1 | virt-install --virt-type kvm \ |
然后在控制台也可以看见了,直接双击打开就ok
方法3,基于现有虚拟机克隆
1 | virt-clone -o centos7 -f /var/lib/libvirt/images/centos7-2.qcow2 -n centos7-2 |
部分参考链接和术语解释
- https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md
- https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/
- https://www.linux-kvm.org
- QEMU-KVM 是一种开源的虚拟化解决方案,结合了QEMU和KVM两个组件,用于创建和管理虚拟机
- virt-manager 是一个图形化的虚拟机管理工具,用于管理KVM和QEMU虚拟化环境。
- libvirt 是一个开源的虚拟化管理工具,它提供了一个统一的接口和工具集,用于管理各种虚拟化平台(如KVM、QEMU、Xen等)上的虚拟机和虚拟化资源。
- Cockpit 是一个用于管理Linux服务器的图形化Web界面工具
- Cockpit Machines(也称为Virtual Machines)是Cockpit的一个插件,它提供了一个图形化的界面来管理和操作虚拟机。
- Bridge-utils 是一个用于 Linux 系统的网络管理工具,它提供了创建和管理网络桥接的功能。
- libosinfo-bin 是一个用于操作操作系统信息库(OS information database)的命令行工具。