1. CentOS 6.5环境准备与KVM兼容性检查
在CentOS 6.5系统上安装KVM前,需要先确认硬件和系统环境是否满足要求。与较新的CentOS 7/8不同,CentOS 6.5需要特别注意内核版本和软件包兼容性问题。
首先检查CPU是否支持硬件虚拟化扩展。在终端执行:
egrep -c '(vmx|svm)' /proc/cpuinfo如果输出结果大于0,则表示CPU支持虚拟化技术。Intel CPU显示vmx,AMD CPU显示svm。
注意:如果在物理服务器上运行此命令返回0,可能需要进入BIOS启用VT-x/AMD-V虚拟化支持。不同主板的设置路径可能为"Advanced -> CPU Configuration -> Intel Virtualization Technology"。
对于CentOS 6.5,需要确保系统内核版本不低于2.6.32-358.el6:
uname -r接下来关闭SELinux以提高兼容性。编辑/etc/selinux/config文件:
vi /etc/selinux/config将SELINUX=enforcing改为SELINUX=disabled,保存后重启系统生效。
2. KVM基础环境安装与配置
CentOS 6.5的软件源配置与新版不同,需要先确保yum源可用。建议使用阿里云或网易的CentOS 6镜像源:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo yum clean all yum makecache安装KVM核心组件:
yum -y install kvm kmod-kvm qemu kvm-qemu-img virt-viewer virt-manager libvirt libvirt-python python-virtinst bridge-utils启动libvirtd服务并设置开机自启:
service libvirtd start chkconfig libvirtd on验证KVM模块是否加载:
lsmod | grep kvm正常应显示kvm_intel或kvm_amd以及kvm模块。
3. 网络配置方案选择与实施
在CentOS 6.5中,KVM支持两种主要网络模式:
3.1 NAT模式(默认)
这是最简单的配置方式,虚拟机通过宿主机进行NAT上网。检查默认网络:
virsh net-list --all如果default网络未激活,使用以下命令启用:
virsh net-start default virsh net-autostart default3.2 桥接模式(推荐)
桥接模式让虚拟机获得与宿主机同网段的独立IP。配置步骤:
- 备份现有网络配置:
cp /etc/sysconfig/network-scripts/ifcfg-eth0 /etc/sysconfig/network-scripts/ifcfg-eth0.bak- 创建桥接接口br0:
vi /etc/sysconfig/network-scripts/ifcfg-br0添加以下内容:
DEVICE=br0 TYPE=Bridge BOOTPROTO=static IPADDR=192.168.1.100 # 改为你的实际IP NETMASK=255.255.255.0 GATEWAY=192.168.1.1 # 改为你的实际网关 DNS1=8.8.8.8 ONBOOT=yes DELAY=0- 修改物理网卡配置:
vi /etc/sysconfig/network-scripts/ifcfg-eth0修改为:
DEVICE=eth0 HWADDR=00:16:3e:5d:aa:a8 # 保持原MAC地址 ONBOOT=yes BRIDGE=br0 NM_CONTROLLED=no- 重启网络服务:
service network restart验证桥接配置:
brctl show4. 创建KVM虚拟机的详细步骤
4.1 准备安装镜像
将ISO镜像上传到合适目录,例如/home/isos。CentOS 6.5推荐使用Minimal ISO以减少资源占用。
4.2 使用virt-install创建虚拟机
基本创建命令示例:
virt-install \ --name=centos6-vm \ --ram=1024 \ --vcpus=1 \ --disk path=/var/lib/libvirt/images/centos6-vm.qcow2,size=20,format=qcow2 \ --network bridge=br0 \ --graphics vnc,listen=0.0.0.0 \ --noautoconsole \ --os-type=linux \ --os-variant=rhel6 \ --location=/home/isos/CentOS-6.5-x86_64-minimal.iso参数说明:
- --name:虚拟机名称
- --ram:分配内存大小(MB)
- --vcpus:虚拟CPU数量
- --disk:虚拟磁盘路径和大小(GB)
- --network:网络连接方式
- --graphics:图形显示设置
- --location:安装源位置
4.3 使用VNC连接安装
查看VNC端口:
virsh vncdisplay centos6-vm通常为5900端口,使用VNC客户端连接宿主机IP:5900进行系统安装。
5. 虚拟机日常管理与维护
5.1 基本管理命令
启动虚拟机:
virsh start centos6-vm关闭虚拟机:
virsh shutdown centos6-vm强制停止:
virsh destroy centos6-vm删除虚拟机:
virsh undefine centos6-vm5.2 虚拟机配置修改
编辑虚拟机配置:
virsh edit centos6-vm调整内存和CPU:
<memory unit='KiB'>1048576</memory> <vcpu placement='static'>2</vcpu>5.3 磁盘扩容操作
查看磁盘信息:
qemu-img info /var/lib/libvirt/images/centos6-vm.qcow2扩容磁盘(增加10G):
qemu-img resize /var/lib/libvirt/images/centos6-vm.qcow2 +10G然后在虚拟机内部扩展分区和文件系统。
6. 常见问题解决方案
6.1 虚拟机无法启动问题
检查日志:
virsh dumpxml centos6-vm > /tmp/vm.xml grep -i error /var/log/libvirt/qemu/centos6-vm.log常见解决方法:
- 确保磁盘空间充足
- 检查XML配置文件有效性
- 重启libvirtd服务
6.2 网络连接问题
验证网络配置:
virsh net-dumpxml default brctl show6.3 性能优化建议
- 启用KSM内存共享:
echo 1 > /sys/kernel/mm/ksm/run- 使用virtio驱动提高磁盘和网络性能: 在虚拟机配置中添加:
<disk type='file' device='disk'> <driver name='qemu' type='qcow2' cache='none' io='native'/> ... </disk>- 调整CPU模式为host-passthrough:
<cpu mode='host-passthrough'/>7. 高级功能配置
7.1 虚拟机克隆
创建克隆:
virt-clone -o centos6-vm -n centos6-clone -f /var/lib/libvirt/images/centos6-clone.qcow27.2 快照管理
创建快照:
virsh snapshot-create-as centos6-vm snapshot1恢复快照:
virsh snapshot-revert centos6-vm snapshot17.3 迁移虚拟机
导出虚拟机配置:
virsh dumpxml centos6-vm > centos6-vm.xml复制磁盘镜像和配置文件到新主机后导入:
virsh define centos6-vm.xml在CentOS 6.5上使用KVM虽然需要面对一些老版本的限制,但通过合理的配置仍然可以构建稳定高效的虚拟化环境。对于生产环境,建议考虑升级到更新的CentOS版本以获得更好的性能和功能支持。