Skip to content

KVM

安装 kvm

shell
# 确保你的 CPU 支持虚拟化技术 (输出为 0, 说明不支持,或需要在BIOS/UEFI中开启。输出大于0,则表示已经支持)
egrep -c '(vmx|svm)' /proc/cpuinfo

# 安装必要的软件包
dnf -y install @virtualization
# 这个命令会安装一组与虚拟化相关的软件包,包括 QEMU-KVM、libvirt、Virt-Manager 等等。@virtualization 用不了,就用下面的 install
dnf -y install qemu-kvm libvirt virt-install virt-manager libguestfs-tools-c

# 启动并启用 libvirtd 服务
systemctl start libvirtd
systemctl enable libvirtd

Cockpit

Cockpit 是一个现代的、易于使用的系统管理工具,支持通过 Web 界面管理 KVM 虚拟机。

安装

shell
# 安装 Cockpit
dnf -y install cockpit cockpit-machines

# 启动并启用 Cockpit 服务
systemctl start cockpit.socket
systemctl enable cockpit.socket

访问

  • 禁止访问 cockpit 的用户: /etc/cockpit/disallowed-users
  • https://domain_ip:9090/

术语

存储池

类型说明
文件系统目录在主机上的一个目录
网络文件系统远程的文件系统,将被挂载到当前主机的一个目录中
iSCSI 目标使用 iSCSI 协议进行连接的远程文件系统,将被挂载到当前主机的一个目录中
物理磁盘设备与 【文件系统目录】类似,但多了一层挂载关系,一般用于扩展的独立存储设备
LVM 卷组LVM,Logical Volume Manager,逻辑卷管理,逻辑分区
预格式化的块设备系统中可以随机访问(不需要按顺序)访问固定大小数据片(chunks)的设备称为块设备,磁盘、软盘驱动器、CD-ROM驱动器、闪存
  • 在使用 kvm 中,需要使用何种存储池,完全依赖于现有的资源是以什么样的形式存在。
  • 自己玩的情况,选择【文件系统目录】即可,将在当前系统创建一个目录,用于创建存储池

本地网络

  • 桥接模式:允许虚拟机直接连接到物理网络,就像它是物理网络中的一个独立设备一样
  • 在 kvm 中,若要使用本地网络,需要先在系统层面创建一个网桥,并将系统的网络添加为网桥成员

虚拟网络

类型说明
NAT (Network Address Translation)一个局域网内的多个设备通过单一的公共IP地址访问互联网
Open开放网络,与宿主机平等的网络环境,同 Bridged (桥接)
None (isolated network)一个完全与外界隔绝的网络环境。这种网络不允许任何外部通信,除非特别配置了规则来允许特定流量
  • 不同的网络类型,用于不同的场景
  • 若要在 kvm 中使用本地网络,不能使用虚拟网络,而需要直接选择桥接到本地

桥接网桥: 在物理机上创建一个网桥,然后让虚拟机使用这个网桥,这样,虚拟机就可以直接连接到物理网络了。

存储

  • 存储
类型说明
创建新的 qcow2 卷xx
创建新的原始卷xx
没有存储xx
存储池xx
  • qcow2: QEMU/KVM支持的一种磁盘镜像格式,它代表 "QEMU Copy On Write version 2"
  • 问题:为什么不可以指定创建的存储位置?
    • 虚拟机使用的任何主机资源,都依赖于 【存储池】
    • 若存储池不存在,则会自动创建。在创建虚拟机时,若不选择存储池,会创建默认存储池 【default】目标路径为:/var/lib/libvirt/images
    • 若要自定义系统安装的存储池,需要在创建虚拟机时,先不启动,添加自己【磁盘】,再移除默认关联的磁盘,此时,就可自定义存储位置了

虚拟机

  • 使用 ISO 安装,选择提前下载好的系统。
  • 选择提前创建的存储池和卷
  • 内存指定为 8G
  • 增加【桥网络接】,移除原有网络
  • 安装操作系统
  • 移除多余的系统镜像,正常启动

Released under the MIT License.