CentOS7.4安装部署KVM虚拟机

CentOS7.4安装部署KVM虚拟机

1
https://blog.csdn.net/qq_39452428/article/details/80781403
0. 安装带有KVM虚拟机的CentOS 7.4


1. 查看系统版本

1
cat /etc/centos-release

2. 首先验证CPU是否支持虚拟化,输入有vmx或svm就支持,支持虚拟化则就支持KVM

1
cat /proc/cpuinfo | egrep 'vmx|svm'

3. 查看是否加载KVM

1
lsmod | grep kvm

这表明已经加载,如果没有加载则执行以下命令加载KVM

1
modprobe kvm

4. 关闭selinux

1
2
setenforce 0
vi /etc/sysconfig/selinux
1
SELINUX=disabled      //原本enforcing

5. 安装KVM相关软件包

1
2
3
yum install qemu-kvm qemu-img \
virt-manager libvirt libvirt-python virt-manager \
libvirt-client virt-install virt-viewer -y

qemu-kvm: KVM模块
libvirt: 虚拟管理模块
virt-manager: 图形界面管理虚拟机
virt-install: 虚拟机命令行安装工具

6. 启动libvirt并设置开机自启动

1
2
systemctl start libvirtd
systemctl enable libvirtd

7. 先手工配置一台带IP地址的虚拟机.

1)进入图形化 – 新建虚拟机

2)本地安装介质

3)选择浏览

4)这里我们选择左下角的加号来新建一个存储池(我是建在 /home/images 文件夹)

5)名字写:kvm01, 硬盘20G

6)选择镜像:我选的是CentOS 7

7)内存2G,1核CPU

8)选择刚创建的存储卷 [位置: /home/images/kvm01.qcow2]

9)名字:kvm01 , 安装前自定义配置 前面打勾

10)连接选择 “VNC”

11)Video XML 选 “VGA”

12)开始安装

13)选 “install CentOs 7” – 回车键

14)屏幕可以放大,右边可以上下拖动

15)选择”English” – Continue – 回车键

16)选择硬盘

17)选中硬盘 – Done

18)选择网络

19)开始安装

20)输入root密码

21)安装完成 – 重启

22)登陆系统,发现没有IP

23)宿主机输入 ip add 会出现如下代码

1
2
inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0
       valid_lft forever preferred_lft forever

24)那直接跟kvm01 配置静态IP

1
2
3
cd /etc/sysconfig/network-scripts/
ls
vi ifcfg-eth0
1
2
3
4
5
6
7
8
BOOTPROTO=static             //以前是dhcp
ONBOOT=yes                   //以前是no
IPADDR=192.168.122.11
GATEWAY=192.168.122.1
NETMASK=255.255.255.0
DNS1=192.168.1.1
DNS2=8.8.8.8
ZONE=public



25)重启网卡

1
systemctl restart network.service

26)再查ip add就有地址了[192.168.122.11]

27)ssh进入虚拟机

1
ssh root@192.168.122.11

28)试试看能不能改成跟宿主机同一网段.

宿主机网段如下:

1
2
    inet 192.168.0.101/24 brd 192.168.0.255 scope global noprefixroute eno1
       valid_lft forever preferred_lft forever
1
2
3
cd /etc/sysconfig/network-scripts/
ls
vi ifcfg-eth0
1
2
3
4
5
6
7
8
BOOTPROTO=static             //以前是dhcp
ONBOOT=yes                   //以前是no
IPADDR=192.168.0.11
GATEWAY=192.168.0.255
NETMASK=255.255.255.0
DNS1=192.168.1.1
DNS2=8.8.8.8
ZONE=public

20200710075628.png

29)重启网卡

1
systemctl restart network.service

30)但进不了系统

8. 用命令行创建虚拟机

1
virt-install --name kvm02 --ram 2048 --vcpus=1 --file=/home/images/kvm02.qcow2 --file-size=10 --autostart --vnc --vncport=5902 --video=vga --vnclisten=0.0.0.0 --network network=default --cdrom=/home/iso/CentOS_7_64.iso
1
virt-install --name kvm03 --ram 2048 --vcpus=1 --file=/home/images/kvm03.qcow2 --file-size=10 --autostart --vnc --vncport=5903 --video=vga --vnclisten=0.0.0.0 --network network=default --cdrom=/home/iso/CentOS_7_64.iso

代码分析

1
2
3
4
5
6
7
8
9
10
11
12
--name kvm02                        //名称 kvm02
--ram 2048                          //内存 2G
--vcpus=1                           //1核CPU
--file=/home/images/kvm02.qcow2     //虚拟机存储文件位置[这个创建虚拟机时会自动创建]
--file-size=10                      //虚拟机硬盘10G  [Centos 10G 足够,Windows 2008 R2要15G]
--autostart                         //自动加载
--vnc                               //指定用vnc连接[这个不设置会默认"cirrus",到时vnc连不上]
--video=vga                         /指定用vnc连接[这个不设置会默认"cirrus",到时vnc连不上]
--vncport=5902                      //端口号 5902
--vnclisten=0.0.0.0                 //虽然不知道是什么.但挺重要.
--network network=default           //默认网卡
--cdrom=.......                     //镜像位置

9. 解决kvm 无法ping通 www.baidu.com 的问题

1
2
3
cd /etc/sysconfig/network-scripts/
ls
vi ifcfg-eth0
1
ONBOOT=no  改成 yes
1
systemctl restart network.service



9. 解决kvm 端口放行,否则vnc无法联上.

KVM的VNC端口默认从5900-6100,共200个

1
2
3
firewall-cmd --zone=public --add-port=5901-6100/tcp --permanent  //添加一个端口5904
firewall-cmd --reload                                       //重新加载规则
firewall-cmd --list-port                                    //列出添加的端口

10. 常见kvm命令

1
2
3
4
5
6
7
virsh list --all        //显示所有的虚拟机
virsh start kvm01       //开启
virsh shutdown kvm01    //关闭
virsh reboot kvm01      //重启
virsh destroy kvm01     //强制断电 [对于running的虚拟机使用]
virsh undefine kvm01    //删除虚拟机 [对于shutdown的虚拟机使用]
virsh edit kvm01        //修改虚拟机配置文件

11. 解决VNC无法连上虚拟机的问题.

1
virsh edit kvm01

1. 第96行

1
96 model type = 'cirrus' 改成  model type = 'vga'

2. 打开监听

1
vi /etc/libvirt/qemu.conf
1
vnc_listen = "0.0.0.0

3. 重启进程

1
service libvirtd restart

添加放行端口5904 ,这个不做[只关闭防火墙]会连不上.

1
2
3
firewall-cmd --zone=public --add-port=5904/tcp --permanent  //添加一个端口5904
firewall-cmd --reload                                       //重新加载规则
firewall-cmd --list-port                                    //列出添加的端口

12. VNC 连 KVM 闪退的解决办法
[http://blog.sina.com.cn/s/blog_538052ba0101bavc.html]

VNC – option – Advanced – expert – ColourLevel的值为“rgb222” or “full”即可





再连就成功

Leave a Reply

Your email address will not be published. Required fields are marked *