正文共:1666 字 21 图,预估阅读时间:2 分钟
目前安装KVM主要有几种方式,第一种就是软件选择安装“带GUI的服务器”,然后选择虚拟化相关的附加环境(KVM部署初体验);第二种就是不安装GUI服务器,软件选择“虚拟化主机”,并勾选“虚拟化平台”的附加环境。
还有第三种,那就是直接使用默认的最小化安装,然后手动安装其他组件,这种方式也适用于补充安装KVM组件的场景。
我也简单对比了一下,如果是选择第一种安装方式,安装完成之后,磁盘的空间占用约为3.9 GB。
使用第二种方式安装,差异主要是GUI部分,安装完成之后,磁盘的空间占用约为1.6 GB。
如果是最小化安装,那磁盘空间占用就只有1.3 GB了。
如此看来,KVM虚拟化组件的空间占用并不是很高。
1、安装KVM和相关软件包
一般来讲,在安装KVM组件之前,我们要首先更新YUM软件源。
yum list && yum update -y
然后安装KVM和相关软件包:
yum install -y qemu-kvm libvirt virt-install bridge-utils
最小化安装的方式和其他两种有差别,通过另外两种方式完成安装后,libvirtd服务默认自启动,而最小化安装的需要手工启动并使能开机自启动。启动之后看一下虚拟化组件libvirt的服务器状态。
systemctl start libvirtd
systemctl enable libvirtd
systemctl status libvirtd
然后使用lsmod命令查看Linux内核中kvm模块的加载情况。
lsmod | grep kvm
查看主机网卡信息,发现默认的虚拟网卡一直使用的是192.168.122.1/24这个,后面有机会研究研究相关的配置问题。
到这里,安装就基本结束了,我们看一下磁盘使用情况。
1.8 GB,基本和选择“虚拟化主机”的相当,所以直接选择“虚拟化主机”进行安装也是一个不错的选择。
2、配置存储池
在KVM中,通过存储池的概念将物理存储资源抽象为虚拟存储池,存储池是一个抽象的存储容器,它可以包含虚拟机磁盘文件、ISO镜像等等,同时也提供了一些管理存储池和存储资源的操作。
在使用“虚拟系统管理器VMM”创建主机时,我们可以在页面查看和创建存储池。在命令行中,我们可以先查看现有的存储池信息。
virsh pool-list
果然,是空的,需要我们手工创建。
首先,libvirt默认的数据存储路径是/var/lib/libvirt/,我们先看一下路径下都有什么。
在这些文件夹中,images文件夹主要用于存储虚拟机磁盘文件(以.qcow2或.img格式保存),dnsmasq文件夹主要用于存储网络配置文件(不是在network文件夹中),qemu文件夹主要用于存储KVM的元数据文件,还有其他虚拟机配置文件和存储池配置文件等(以.xml格式保存)。
那我们可以先在/var/lib/libvirt/images/目录下创建一个isopool文件夹来存放安装镜像,同时将此目录作为存储池的挂载点。
mkdir /var/lib/libvirt/images/isopool
然后使用以下命令来创建存储池:
virsh pool-define-as --name=iso --type=dir --target=/var/lib/libvirt/images/isopool
创建成功之后,激活存储池:
virsh pool-start iso
并且设置存储池为自动启动:
virsh pool-autostart iso
确认存储池已经成功创建:
virsh pool-list
还可以查看存储池的详细信息。
virsh pool-info iso
同样的,我们再创建一个目录disks来存储磁盘文件。
mkdir /var/lib/libvirt/images/disks
virsh pool-define-as --name=disks --type=dir --target=/var/lib/libvirt/images/disks
virsh pool-start disks
virsh pool-autostart disks
virsh pool-list
virsh pool-info disks
现在,我们就可以将虚拟磁盘文件存储到该目录中,作为KVM虚拟机的磁盘了。
如果不想要这些存储池了,可以使用命令进行删除,我就不演示了。
virsh pool-destroy disks
virsh pool-undefine disks
3、创建虚拟机
因为没有使用GUI,所以默认没有安装“虚拟系统管理器VMM”,也就无法在命令行拉起对应的窗口了,仅可以使用virt-install命令来创建新的虚拟机。
首先上传一个安装镜像文件。
然后创建一台名为vsr的虚拟机,分配2核vCPU、2 GB内存、8 GB磁盘,
virt-install \
--name vsr \
--vcpus 2 \
--memory 2048 \
--cpu host \
--disk path=/var/lib/libvirt/images/disks/vsr.qcow2,size=8 \
--os-type linux \
--os-variant centos6.0 \
--cdrom /var/lib/libvirt/images/isopool/VSR1000_H3C-CMW710-R1340P16-X64.iso \
--network bridge=virbr0,model=virtio \
--graphics vnc,listen=0.0.0.0,port=5901
其中各个参数的含义如下:
--name vsr:指定虚拟机的名称为vsr。
--vcpus 2:分配2核vCPU。
--memory 2048:分配2 GB内存。
--cpu host:使用宿主机的CPU模型。
--disk path=/var/lib/libvirt/images/disks/vsr.qcow2,size=8:创建一个大小为 8 GB 的虚拟磁盘,并将其保存在/var/lib/libvirt/images/disks/目录下。
--os-type linux:指定虚拟机的操作系统类型为Linux。
--os-variant centos6.0:指定虚拟机的操作系统版本为Linux 2.6,“centos6.0”是针对CentOS 6.x版本的一个常用操作系统变量。
--cdrom /var/lib/libvirt/images/isopool/VSR1000_H3C-CMW710-R1340P16-X64.iso:挂载光驱,并将其 ISO 镜像文件路径设置为 /var/lib/libvirt/images/isopool/VSR1000_H3C-CMW710-R1340P16-X64.iso。
--network bridge=virbr0,model=virtio:指定虚拟机使用的网络接口类型为 virtio,并连接到名为virbr0的Linux桥接网络。
--graphics vnc,listen=0.0.0.0:指定虚拟机使用VNC图形界面进行访问,监听端口为5901。
然后他会停留在这个页面,不用管他,直接Ctrl+C。然后查看端口信息。
查看虚拟机列表,可以看到虚拟机也是运行状态了。
virsh list --all
因为本地没有安装GUI,所以我们从其他电脑远程一下宿主机的5901端口。
可以看到安装界面了,按要求完成安装即可。不过在安装完成之后,虚拟机会自动关机,需要手工再开启一下。
virsh start vsr
然后就可以再次使用VNC连接虚拟机了。
是不是显得有点麻烦呢?
长按二维码
关注我们吧
网络之路1:初识网络
网络之路2:初识路由表
chatGPT又火了,用openAI写文章到底靠不靠谱?
基于CentOS部署SmartDNS
使用Python批量处理Excel的内容
如何使用Python提取Excel中固定单元格的内容
配置openVPN使用用户名密码认证
带认证的openVPN连接/断开操作指南
配置CentOS 7通过MSTSC连接远程桌面
Ubuntu 18.04快速配置WireGuard互联