KVM云服务器如何配置

2026-08-27 05:57:56 来源:群英云

KVM(Kernel-based Virtual Machine)云服务器的配置涉及宿主机准备、网络设置、虚拟机创建、存储管理等多个环节。以下是基于**Linux(CentOS 7/8 或 Ubuntu 20.04+)**的通用配置流程,适用于自建私有云或云服务器环境。

## 一、宿主机环境准备
### 1. 硬件要求
- CPU 支持虚拟化(Intel VT-x / AMD-V)
- 内存 ≥ 4GB(建议 8GB+)
- 磁盘空间充足(用于虚拟机镜像)
检查 CPU 是否支持虚拟化:
bash<br>egrep -c '(vmx|svm)' /proc/cpuinfo<br>
返回值 ≥ 1 表示支持。

### 2. 安装 KVM 及相关组件
#### CentOS / Rocky / AlmaLinux
bash<br>yum install -y qemu-kvm libvirt virt-install bridge-utils virt-manager<br>
#### Ubuntu / Debian
bash<br>apt update<br>apt install -y qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils virtinst<br>

### 3. 启动 libvirt 服务
bash<br>systemctl enable libvirtd<br>systemctl start libvirtd<br>
检查 KVM 是否可用:
bash<br>virsh list --all<br>

## 二、网络配置(关键)
### 1. 默认网络(NAT,适合测试)
bash<br>virsh net-start default<br>virsh net-autostart default<br>
虚拟机通过 NAT 上网,外部无法直接访问。

### 2. 桥接网络(生产环境推荐)
#### 创建桥接网卡(以 eth0 为例)
CentOS
bash<br>nmcli connection add type bridge autoconnect yes con-name br0 ifname br0<br>nmcli connection modify br0 ipv4.addresses 192.168.1.10/24<br>nmcli connection modify br0 ipv4.gateway 192.168.1.1<br>nmcli connection modify br0 ipv4.dns 8.8.8.8<br>nmcli connection modify br0 ipv4.method manual<br>nmcli connection delete eth0<br>nmcli connection add type bridge-slave autoconnect yes con-name eth0 ifname eth0 master br0<br>
Ubuntu(Netplan)
yaml<br>network:<br>version: 2<br>ethernets:<br>eth0:<br>dhcp4: no<br>bridges:<br>br0:<br>interfaces: [eth0]<br>dhcp4: no<br>addresses: [192.168.1.10/24]<br>gateway4: 192.168.1.1<br>nameservers:<br>addresses: [8.8.8.8]<br>
应用配置:
bash<br>netplan apply<br>

## 三、创建 KVM 虚拟机
### 1. 准备系统镜像
bash<br>mkdir -p /data/kvm/iso<br># 上传 ISO 到该目录<br>

### 2. 创建虚拟机(命令行方式)
bash<br>virt-install \<br>--name vm01 \<br>--ram 2048 \<br>--vcpus 2 \<br>--disk path=/data/kvm/vm01.qcow2,size=40 \<br>--os-type linux \<br>--os-variant centos7.0 \<br>--network bridge=br0 \<br>--graphics none \<br>--console pty,target_type=serial \<br>--location /data/kvm/iso/CentOS-7-x86_64-Minimal.iso \<br>--extra-args "console=ttyS0"<br>
参数说明:
- --ram:内存(MB)
- --vcpus:CPU 核心数
- --disk:磁盘路径和大小
- --network:桥接或 default
- --graphics none:无图形界面
- --console:串口控制台

## 四、虚拟机管理常用命令
### 1. 基本操作
bash<br>virsh list --all<br>virsh start vm01<br>virsh shutdown vm01<br>virsh destroy vm01<br>virsh undefine vm01<br>
### 2. 查看虚拟机信息
bash<br>virsh dominfo vm01<br>virsh dumpxml vm01<br>
### 3. 控制台登录
bash<br>virsh console vm01<br>

## 五、磁盘与快照管理
### 1. 磁盘格式(推荐 qcow2)
bash<br>qemu-img create -f qcow2 /data/kvm/vm01.qcow2 40G<br>
### 2. 创建快照
bash<br>virsh snapshot-create vm01<br>virsh snapshot-list vm01<br>

## 六、云服务器常见优化
### 1. CPU 性能
bash<br>virsh edit vm01<br>
添加:
xml<br><cpu mode='host-passthrough'/><br>
### 2. 内存 balloon
xml<br><memballoon model='virtio'/><br>
### 3. 使用 virtio(网络 / 磁盘)
- 磁盘:bus=virtio
- 网卡:model=virtio

## 七、Web 管理工具(可选)
### 1. Cockpit(推荐)
bash<br>yum install cockpit cockpit-machines<br>systemctl enable --now cockpit.socket<br>
访问:
<br>https://服务器IP:9090<br>
### 2. oVirt / OpenStack
- 企业级私有云
- 适合大规模 KVM 管理

## 八、常见问题
### 1. 虚拟机无法上网
- 检查网络是否为桥接
- 确认宿主机 IP 正常
- 防火墙 / SELinux
### 2. 虚拟机启动慢
- 使用 virtio
- 关闭不必要的 console
### 3. 端口映射(NAT 场景)
bash<br>iptables -t nat -A PREROUTING -p tcp --dport 2222 -j DNAT --to-destination 192.168.122.10:22<br>

## 九、典型应用场景
- 私有云服务器
- VPS 多租户
- 测试环境
- 开发环境隔离

如果你需要:
- 云服务器 + 公网 IP 配置
- KVM + 多租户隔离
- KVM + 自动化部署(Terraform / Ansible)
- KVM 性能调优
可以告诉我你的具体使用场景,我可以给你更精确的配置方案。

关于我们
企业简介
最新动态
广州紫云云计算有限公司

7*24小时在线电话:400-100-3886

Copyright © Ziyun Cloud Ltd. All Rights Reserved. 2023 版权所有

广州紫云云计算有限公司 粤ICP备17118469号-1 粤公网安备 44010602006805号 增值电信业务经营许可证编号:B1-20180457