Linux(redhat7.9)安装KVM虚拟机

1. 检查硬件虚拟化支持

bash 复制代码
grep -E 'vmx|svm' /proc/cpuinfo | wc -l
###输出结果大于0表示支持虚拟化

2.安装KVM及相关软件包

bash 复制代码
yum install -y qemu-kvm libvirt virt-install virt-manager bridge-utils virt-viewer libvirt-client virt-top libguestfs-tools  gpxe-roms-qemu libvirt-python python-virtinst virt-what qemu-img

3.启动KVM服务

bash 复制代码
systemctl start libvirtd
systemctl enable libvirtd
systemctl status libvirtd

4.配置网络桥接(可选)

创建桥接网络配置文件
bash 复制代码
vim /etc/sysconfig/network-scripts/ifcfg-br0
bash 复制代码
###填入一下内容并保存退出
DEVICE=br0
TYPE=Bridge
BOOTPROTO=static
ONBOOT=yes
IPADDR=192.168.1.100  #你的宿主机IP
NETMASK=255.255.255.0
GATEWAY=192.168.1.1
DNS1=8.8.8.8
STP=on
DELAY=0
修改物理网卡配置
bash 复制代码
vim /etc/sysconfig/network-scripts/ifcfg-em1  #我的物理网卡是ifcfg-em1
bash 复制代码
###注释原有的IP配置,填入以下内容
BRIDGE=br0
NM_CONTROLLED=no
重启网卡
bash 复制代码
systemctl restart network

5.创建虚拟机(以命令行为例)

bash 复制代码
也可以输入virt-manager,在图形化界面创建虚拟机
上传ISO镜像文件到宿主机
bash 复制代码
mkdir -p /data/kvmdata/images  #创建目录存放ISO文件,这一步可跳过,上传ISO文件即可
ls /data/kvmdata/images/
开始创建虚拟机
bash 复制代码
virt-install \
--name=win2019 \   #设置虚拟机名称
--ram=65536 \      #分配内存大小
--vcpus=24 \       #分配虚拟 CPU 核心数
--disk path=/data/kvmdata/win2019.qcow2,size=700 \  #磁盘文件路径和名称,qcow2格式,大小为700G
--network bridge=br0,model=rtl8139 \  #使用桥接模式,网络接口为br0
--cdrom=/data/kvmdata/images/cn_windows_server_2019_updated_july_2020_x64_dvd_2c9b67da.iso \  #指定安装 ISO 文件路径
--graphics vnc,listen=0.0.0.0 \  #图形显示设置:使用VNC协议,可远程访问
--os-type=windows \  #指定操作系统类型为 Windows
--os-variant=win2k19 \  #指定操作系统变体为 Windows Server 2019
--boot cdrom,hd \
--noautoconsole

6.查看虚拟机运行状态

bash 复制代码
virsh list --all

7.用VNC查看虚拟机(适用于无图形化界面)

安装配置VNC
bash 复制代码
yum install -y tigervnc   #可跳过
systemctl stop firewalld
vncviewer 192.168.1.224:5900    #可跳过
到REALVNC官网下载VNC
默认安装后打开vnc,在地址栏输入虚拟机IP:5900,回车就能打开虚拟机图形化界面了
相关推荐
唐青枫19 分钟前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo3 天前
Linux 彻底且安全地删除文件
linux
用户805533698034 天前
主线 U-Boot 上 RK3506:和闭源 rkbin 拔河的三个隐性契约
linux·嵌入式
用户034095297914 天前
linux fcitx 5 雾凇拼音 设置在中文输入法下仍然输入英文标点
linux
Web3探索者6 天前
可视化服务器管理和传统命令行区别是什么?新手教程:Linux 运维到底该用图形界面还是 SSH 命令行?
linux·ssh
zylyehuo6 天前
Linux系统中网线与USB网络共享冲突
linux
Sokach10157 天前
Linux Shell 脚本从零到能用:一个新手的一天学习总结
linux
AlfredZhao8 天前
Docker 容器时区不对,`timedatectl` 不存在怎么办?
linux·timezone