搜索

centos7 kvm集群搭建

发表于 2026-10-17 02:19:22 来源:烟消火灭网

centos7 kvm集群搭建

KVM集群不是集建玄学,就是群搭几台物理机把虚拟机当积木搭。我上周刚在实验室里用三台戴尔R730搞了一套,集建从裸机到跑通迁移,群搭花了四个小时。集建核心就三件事:装KVM、群搭配共享存储、集建调libvirt网络。群搭

先别急着装系统。集建你得想清楚存储怎么搞。群搭我见过太多人栽在这——两台机器各挂各的集建硬盘,虚拟机一迁移就死。群搭老老实实上NFS吧。集建一台机器做存储节点,群搭export一个目录,集建其余节点mount上去。注意要开rw,sync,no_root_squash,不然迁移时权限报错能烦死你。我那次忘了加no_root_squash,结果迁移到一半虚拟机直接卡死,控制台都进不去。

装KVM本身没什么技术含量。yum install qemu-kvm libvirt virt-manager bridge-utils,完事。但有个坑必须提:CentOS7默认的libvirt版本是4.5,对live migration支持不完整。你最好加个EPEL源,把libvirt升到5.x以上。不然迁移时经常报“operation failed: migration job”这种莫名其妙的错。

网络配置才是重头戏。别用默认的NAT模式,那玩意儿在集群里就是个笑话。得建bridge。编辑/etc/sysconfig/network-scripts/ifcfg-br0,把物理网卡绑进去。然后virsh net-define一个自定义网络,指定桥接模式。三台机器都这么配,虚拟机才能互相通信。

关键一步是配置libvirt的TCP远程访问。这步不做,迁移就是空话。改/etc/libvirt/libvirtd.conf,把listen_tls设为0,listen_tcp设为1,然后加一行auth_tcp="none"。重启libvirtd。然后你才能在另外一台机器上用virsh -c qemu+tcp://node1/system来管理远程虚拟机。

测试迁移的时候,别用那种跑着数据库的大虚拟机。先拿个1GB内存的小测试机试,等确认没问题再上生产。我那次直接迁移一个8GB内存的Windows Server,结果因为网络抖动,迁移过程卡了二十分钟。后来学乖了,先迁小的。

还有个细节容易被忽略——时间同步。集群里每台物理机的时钟必须一致,不然虚拟机的时钟会漂移,日志时间线全乱。装个chrony,指向同一台NTP服务器。这步不做,后面排查问题的时候你会想骂娘。

最后说下踩坑总结。如果你发现虚拟机迁移后网络不通,八成是bridge没配好,检查一下目的机上有没有对应的br0。如果虚拟机启动报错“cannot determine default emulator”,那是libvirt版本不一致,统一升级就好。如果迁移时卡在“prepare”阶段,多半是NFS权限问题,回到存储节点看日志。

这套东西搭建起来不算难,难的是理解它为什么这么设计。KVM集群本质就是让虚拟机的状态和存储分离——计算资源可以漂移,数据必须稳定。你把这个逻辑想通了,出问题的时候排查方向就不会错。

随机为您推荐
友情链接
版权声明:本站资源均来自互联网,如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

Copyright © 2016 Powered by centos7 kvm集群搭建,烟消火灭网   sitemap

回顶部