kvm部署安装
kvm部署安装
参考自:https://www.cnblogs.com/kevingrace/p/8377645.html
系统环境
- CentOS 7.9
KVM相关组件及其作用
- qemu-kvm 主要的KVM程序包
- python-virtinst 创建虚拟机所需要的命令行工具和程序库
- virt-manager GUI虚拟机管理工具
- virt-top 虚拟机统计命令
- virt-viewer GUI连接程序,连接到已配置好的虚拟机
- libvirt C语言工具包,提供libvirt服务
- libvirt-client 虚拟客户机提供的C语言工具包
- virt-install 基于libvirt服务的虚拟机创建命令
- bridge-utils 创建和管理桥接设备的工具
安装前检查
- 检查cpu是否支持虚拟化
grep vmx /proc/cpuinfo
如果有vmx信息输出,就说明支持VT;如果没有任何的输出,说明你的cpu不支持,将无法使用KVM虚拟机。
-
确保BIOS里开启虚拟化功能,即查看是否加载KVM模块
- lsmod查看
lsmod | grep kvm >>>> # 以下为回显部分 kvm_intel 170086 0 kvm 566340 1 kvm_intel irqbypass 13503 1 kvm =========================================================
- 如果没有加载,运行以下命令:
modprobe kvm modprobe kvm-intel
-
查看/dev/kvm
内核模块导出了一个名为/dev/kvm的设备,这个设备将虚拟机的的地址空间独立于内核或者任何应用程序的地址空间。
ll /dev/kvm
crw-rw-rw-. 1 root kvm 10, 232 1月 29 11:56 /dev/kvm
桥接网络
-
为什么要配置网桥?
为了让虚拟机和宿主机都直接从路由器获取到独立IP,如此一来,外网的机器就可以直接访问到虚拟机中的系统。 -
如果没有brctl命令(用来管理网桥的工具),则需要安装bridge-utils ,
yum -y install bridge-utils
systemctl restart network
-
配置KVM的网桥模式
- 配置br0
cd /etc/sysconfig/network-scripts/ # 拷贝一份现有的、在用的主要网卡的配置文件 cp ifcfg-eno1 ifcfg-br0 # 以下展示br0配置文件的内容,可做参考,具体需要调整 cat ifcfg-br0 TYPE="Bridge" # 这一行修改为Bridge PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="none" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="no" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="br0" # 修改设备名称为br0 #UUID="fdbad04f-dae3-440e-8a8b-01d6a7bc9fe0" # 这一行注释 DEVICE="br0" # 修改设备为br0 ONBOOT="yes" IPADDR="192.168.10.210" PREFIX="24" GATEWAY="192.168.10.1" DNS1="8.8.8.8"
- 配置原有网卡,我这里是eno1,具体需要参考系统环境
# 可以与上面的br0配置文件形成一个对比参照 cat ifcfg-eno1 TYPE="Ethernet" BRIDGE=br0 # 添加这一行 PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO="none" DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="no" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="eno1" UUID="fdbad04f-dae3-440e-8a8b-01d6a7bc9fe0" DEVICE="eno1" ONBOOT="yes" #IPADDR="192.168.10.210" //注释掉这几行 #PREFIX="24" #GATEWAY="192.168.10.1" #DNS1="8.8.8.8"
-
重启网卡服务
systemctl restart network
- 查看网卡
brctl show
>>>
bridge name bridge id STP enabled interfaces
br0 8000.0894ef518b22 no eno1
virbr0 8000.52540095d7c2 yes virbr0-nic
- 查看ip信息
可以用ifconfig或者ip a查看,这里用ipconfig
ifconfig |head -20
br0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.10.210 netmask 255.255.255.0 broadcast 192.168.10.255
inet6 fe80::a94:efff:fe51:8b22 prefixlen 64 scopeid 0x20<link>
ether 08:94:ef:51:8b:22 txqueuelen 1000 (Ethernet)
RX packets 856 bytes 52981 (51.7 KiB)
RX errors 0 dropped 2 overruns 0 frame 0
TX packets 120 bytes 23450 (22.9 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
eno1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
ether 08:94:ef:51:8b:22 txqueuelen 1000 (Ethernet)
RX packets 10077 bytes 793083 (774.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1184 bytes 228415 (223.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
device interrupt 16
eno2: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
ether 08:94:ef:51:8b:23 txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
- 验证网络是否正常
ping个百度试一下
ping www.baidu.com
PING www.a.shifen.com (61.135.169.121) 56(84) bytes of data.
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=1 ttl=55 time=2.08 ms
64 bytes from 61.135.169.121 (61.135.169.121): icmp_seq=2 ttl=55 time=1.80 ms
安装libvirt及kvm
- libvirt是管理虚拟机的API库,不仅支持KVM虚拟机,也可以管理Xen等方案下的虚拟机。
yum -y install libcanberra-gtk2 qemu-kvm.x86_64 qemu-kvm-tools.x86_64 libvirt.x86_64 libvirt-cim.x86_64 libvirt-client.x86_64 libvirt-java.noarch libvirt-python.x86_64 libiscsi-1.7.0-5.el6.x86_64 dbus-devel virt-clone tunctl virt-manager libvirt libvirt-python python-virtinst
- 由于要用virt-manager图形化安装虚拟机,所以还需要安装X-window
yum groupinstall "X Window System"
- 安装中文字符,解决界面乱码问题
yum install -y dejavu-lgc-sans-fonts
yum groupinstall -y "Fonts"
- libvirt启动
systemctl enable libvirtd
systemctl start libvirtd
本文来自博客园,作者:ヾ(o◕∀◕)ノヾ,转载请注明原文链接:https://www.cnblogs.com/Jupiter-blog/p/18231464
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 上周热点回顾(3.3-3.9)
· AI 智能体引爆开源社区「GitHub 热点速览」