一、概要
1. 环境
Rocky Linux 9.1
2. KVM
KVM是Kernel-based Virtual Machine的简称,这是一个开源的针对Linux内核的虚拟化解决方案。它同时支持Intel和AMD的CPUs并且允许用户在Linux下创建和管理虚拟机。
Linux内核作为一个虚拟程序,允许用户虚拟化整个服务器并创建多个虚拟机。
3. 检查虚拟化支持
lscpu | grep Virtualization
4. 检查KVM模块是否已加载
lsmod | grep kvm
二、安装与配置
1. 更新仓库
sudo dnf update -y
2. 安装
(1) 安装virt-install和virt-viewer
sudo dnf install virt-install virt-viewer -y
a. virt-install是一个用于创建虚拟机的命令行工具;
b. virt-viewer是一个轻量的UI接口,它允许用户通过VNC或者SPICE协议与KVM虚拟机交互;
(2) 安装libvirt守护进程
sudo dnf install -y libvirt
(3) 安装virt-manager
sudo dnf install virt-manager -y
(4) 安装其他必要应用
sudo dnf install -y virt-top libguestfs-tools
3. 启动libvirt守护进程
(1) 启动并设置开机启动
sudo systemctl enable --now libvirtd or sudo systemctl start libvirtd sudo systemctl enable libvirtd
(2) 检查状态
systemctl status libvirtd
(3) 验证安装结果
sudo virt-host-validate
4. 配置KVM的网桥
如果需要再KVM管理程序之外访问KVM虚拟机,则需要配置网桥。在这里我们把这个网桥命名为“kvmbridge0”。
(1) 添加网桥kvmbridge0
nmcli connection show sudo nmcli connection add type bridge autoconnect yes con-name kvmbridge0 ifname kvmbridge0
(2) 查看网桥状态
nmcli device status
(3) 使用物理网卡管理新建的网桥
sudo nmcli connection modify enp0s31f6 master kvmbridge0
(4) 配置IP地址
sudo nmcli connection modify kvmbridge0 ipv4.addresses '192.168.28.66/24' --- 宿主机所在局域网的地址 sudo nmcli connection modify kvmbridge0 ipv4.gateway '192.168.28.1' sudo nmcli connection modify kvmbridge0 ipv4.dns '192.168.28.1' sudo nmcli connection modify kvmbridge0 ipv4.method manual
(5) 启动网桥
sudo nmcli connection up kvmbridge0
sudo nmcli connection modify kvmbridge0 connection.autoconnect-slaves 1
(6) 确认状态
nmcli device
ifconfig
此时,查看kvmbridge0的状态,它已被分配我们制定的IP地址。
三、创建虚拟机
1. 命令格式
virt-install [OPTION]
2. 参数类型 https://linux.die.net/man/1/virt-install
(1) --name: 虚拟机的名称,对于同一个libvirt守护进程管理的虚拟机群,名称务必保持唯一;
(2) --ram: 虚拟机内存,单位为MB;
(3) --vcpus: 给虚拟机分配的虚拟CPU数量;
(4) --cpuset: 给虚拟机分配的物理CPU,多个CPU使用逗号分割,如下:
0,2,3,5: 使用处理器0,2,3,5;
1-5,^3,8: 使用处理器1,2,4,5,8。
(5) --cdrom: 安装源,可以是CD-ROM或者指向ISO文件的本地目录;
如果需要在同一台宿主机安装多个虚拟机,建议使用该种方式制定安装源。例如,对于Rocky Linux 9,我们这样指定安装源:
--cdrom=/var/lib/libvirt/boot/Rocky-9.1-x86_64-minimal.iso
(6) --location: 安装源,支持以下格式:
a. 包含安装镜像的本地目录;
b. nfs:host:/path或者nfs://host/path,安装镜像的NFS目录;
c. http://host/path,安装镜像的http目录;
d. ftp://host/path,安装镜像的FTP目录;
对于Rocky Linux 9来说,可以制定它的location参数为:
--location "https://download.rockylinux.org/pub/rocky/9/BaseOS/x86_64/"
(7) --import: 导入现有的虚拟机镜像文件,而不是安装新的虚拟机操作系统;
(8) --os-variant: 该配置可以指定当前安装的虚拟机的操作系统类型,据此信息virt可以优化虚拟机的配置。可以通过下面的命令来查看libvirt支持的所有操作系统类型:
virt-install --os-variant list
对于Rocky Linux 9.1,我们可以配置该参数值为:rocky9
(9) --disk: 指定存储当前虚拟机的媒介,该参数的格式如下:
--disk opt1=val1,opt2=val2,..
它的子配置项如下:
a. path: 存储媒介的路径,可以是一个文件或者块设备,如果文件不存在需要同时提供size参数,系统将自动创建该存储媒介文件;
b. size: 存储媒介的大小,以GB为单位。
(10) --network: 虚拟机的网络配置,该参数的格式如下:
--network=NETWORK,opt1=val1,opt2=val2
NETWORK的取值如下:
a. bridge=网桥名称,虚拟机使用指定的网桥来访问局域网;
b. network=NAME,使用名称为NAME的虚拟网络来配置虚拟机的网络;
c. user, 使用SLIRP来访问局域网;
其他参数:
a. model=[Model], 网络设备的model;
b. mac=[52:54:00:**:**],为虚拟机制定固定的Mac地址;该参数默认为RANDOM,对于Xen虚拟机,Mac地址的前三部分应该为'00:16:3e' ,对于QEMU或者KVM虚拟机,前三部分应该为'52:54:00';
(11) --nonetworks: 虚拟机不需要网络配置;
3. 源镜像
(1) 创建目录
sudo mkdir -p /var/lib/libvirt/iso
(2) 设置权限
sudo chown root /var/lib/libvirt/iso
校验:
sudo getfacl -e /var/lib/libvirt/iso
(3) 下载镜像
wget https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.1-x86_64-minimal.iso
4. 安装
sudo virt-install --name <虚拟机名> \ --ram 8192 \ --vcpus 2 \ --disk path="/var/lib/libvirt/images/<虚拟机名>.img",size=40 \ --os-variant rocky9 \ --location "/var/lib/libvirt/iso/Rocky-9.1-x86_64-minimal.iso" \ --graphics none \ --extra-args="console=ttyS0"
5. Cockpit安装
四、参考
1. 官方
2. 其他
https://www.cyberciti.biz/faq/how-to-install-kvm-on-centos-7-rhel-7-headless-server/
https://www.linuxtechi.com/how-to-install-kvm-on-rhel-9/
https://technixleo.com/install-kvm-on-centos-alma-rhel-9/
https://www.centlinux.com/2022/08/setup-kvm-virtualization-host-on-rocky-linux-9.html
标签:sudo,Rocky,--,virt,虚拟机,KVM,libvirt,---,install From: https://www.cnblogs.com/eagle6688/p/17179316.html