注意: KVM 一切安装和运行都是在 root 用户下完成的, 并且只有 root 才能支持某些软件. 一, 准备工作:
1, 查看系统版本, 内核版本
## 查看系统版本
# cat /etc/redhat-release
CentOS release 6.4 (Final)
## 查看内核版本
# uname -a
Linux KVM 2.6.32-358.el6.x86_64 #1 SMP Fri Feb 22 00:31:26 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
注: 2.6.20 以下的内核需要升级.
2, 关闭 selinux,iptables, 重启后生效
## 关闭 selinux
# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config #修改配置文件则永久生效, 但是必须要重启系统.
# 生效命令
# setenforce 0
## 关闭 iptables(这一步可以后续按照业务来添加防火墙, 前期先排除防火墙导致的不必要问题)
# iptables -F
# iptables -X
# /etc/init.d/iptables save
# /etc/init.d/iptables stop
3, 查看系统是否支持 KVM 虚拟化
# egrep '(vmx|svm)' --color=always /proc/cpuinfo
// 要有 vmx|svm 才支持虚拟化
4, 设置转发, 使其 KVM 可以通过网桥上网
## 开启路由转发功能
sed -i '/net.ipv4.ip_forward/s/0/1/' /etc/sysctl.conf
sysctl -p #生效
5, 重启
# reboot
二, 安装 KVM 必备软件
## 安装 KVM 所有需要的包
yum -y install kvm python-virtinst libvirt tunctl bridge-utils virt-manager qemu-kvm-tools virt-viewer virt-v2v
yum -y install libguestfs-tools
/etc/init.d/libvirtd restart #重启
ln -s /usr/libexec/qemu-kvm /usr/bin/qemu-kvm
安装完成后查看状态如下:
[root@localhost iso]# virsh -c qemu:///system list
Id 名称 状态
----------------------------------------------------
[root@localhost iso]# lsmod |grep kvm
kvm_intel 54285 0
kvm 333172 1 kvm_intel
[root@localhost iso]# virsh --version
0.10.2
[root@localhost iso]# virt-install --version
0.600.0
三, 配置网桥
1, 关闭 NetworkManager 服务 (桌面版本会有这个服务, 服务器版不会安装)
/etc/init.d/NetworkManager stop #停止
chkconfig NetworkManager off #禁止下次自启动
2, 创建 br0 网桥 (注意粗体部分)
# cd /etc/sysconfig/network-scripts/
# cp ifcfg-eth0 ifcfg-br0
# vim ifcfg-eth0
DEVICE=eth0
#HWADDR=00:0C:29:41:DA:81
TYPE=Ethernet
UUID=21501ff5-e313-494c-a402-50f2a84f1f5c
ONBOOT=yes
NM_CONTROLLED=yes
#BOOTPROTO=static
#IPADDR=192.168.213.6
#NETMASK=255.255.255.0
#GATEWAY=192.168.213.2
BRIDGE=br0
# vim ifcfg-br0
DEVICE=br0
ONBOOT=yes
HWADDR=00:0C:29:41:DA:81
NM_CONTROLLED=yes
BOOTPROTO=static
IPADDR=192.168.213.6
NETMASK=255.255.255.0
GATEWAY=192.168.213.2
DNS1=8.8.8.8
DNS2=114.114.114.114
TYPE=Bridge
注意: 上面配置的网卡信息为静态地址, 如果使用 DHCP 需要对应修改为 BOOTPROTO=dhcp
3, 重启 network 服务.
/etc/init.d/network restart
检查网卡状态:
#
ifconfig
查看网桥状态
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.7446a0f51698 no eth0
virbr0 8000.52540095e5ac yes virbr0-nic
四, 配置和安装 KVM 虚拟机
## 创建文件夹
mkdir -p /data/kvm/image
mkdir -p /data/iso
## 使用 FTP 上传 CentOS6.9 的 ISO 文件到 / data/iso, 我使用的 rz 进行上传
rz CentOS-6.9-x86_64-bin-DVD1.iso
## 创建虚拟机镜像文件
qemu-img create -f raw /data/nfyg/images/centos6.raw 100G
## 创建 KVM 虚拟机
virt-install --name centos6 --ram 1024 --vcpus=1 --disk path=/data/kvm/image/centos6.raw --network bridge=br0 --cdrom=/data/iso/CentOS-6.9-x86_64-bin-DVD1.iso --accelerate --vnclisten=0.0.0.0 --vncport=5900 --vnc
选项解释:
--name centos6 ## 虚拟机名称, 自定义
--ram 1024 ## 分配内存大小 (默认大小 MB)
--vcpus=1 ## 分配 CPU 核心数, 最大与时提及 CPU 核心数相同
--disk path=/data/kvm/image/centos6.img ## 指定虚拟机镜像
--network bridge=br0 ## 指定网络
--cdrom=/data/iso/CentOS-6.9-x86_64-bin-DVD1.iso ## 指定安装镜像 iso
--accelerate ## 加速
--vnclisten=0.0.0.0 ## 指定 VNC 绑定 IP, 默认绑定 127.0.0.1, 这里改为 0.0.0.0
--vncport=5900 ## 指定 VNC 监听端口 (默认为 5900), 可以自行设置
--vnc ## 启用 VNC 管理
查看是否运行:
# virsh list
Id Name State
----------------------------------------------------
2 centos6 running
五, 使用 VNC 连接进行安装
使用 vnc-viewer 连接 192.168.213.6:5900 就可以远程安装这台虚拟机, 或者使用 vnc 显示 (需要桌面的支持):virsh vncdisplay centos6
六, 常用操作命令
Virsh 语法参考 (centos 为 KVM 名字)
virsh list --all 列出所有的虚拟机
virsh start centos 启动 centos 虚拟机
virsh shutdown centos 关闭 centos 虚拟机
virsh destroy centos 强制关闭 centos 虚拟机
virsh autostart centos 设置 centos 自动启动
virsh undefine centos 删除 centos 虚拟机
virsh suspend centos 暂停 centos 虚拟机
vrish resume centos 恢复 centos 虚拟机
virsh reboot centos 重启 centos 虚拟机
virsh edit centos 编辑 centos 虚拟机
virsh vncdisplay centos vnc 显示
参考:
http://www.linuxidc.com/Linux/2016-06/132424.htm
http://www.jb51.net/article/94963.htm https://www.server110.com/kvm/201311/3292.html
http://blog.csdn.net/xiegh2014/article/details/53215102
http://www.linuxidc.com/Linux/2016-06/132424.htm
http://blog.csdn.net/wh211212/article/details/74529890
http://blog.51cto.com/bluefei/1773891
http://www.89cool.com/240.html https://segmentfault.com/a/1190000000644069
来源: http://www.bubuko.com/infodetail-2477391.html