KVM极速安装

KVM配置分为以下三部分

1.KVM安装

2.创建虚拟机

3.KVM的图形界面管理工具(virt-manager)

 

1.kvm安装

1.1环境准备

1.1.1硬件环境

服务器配置为2核4G

开启虚拟化配置

虚拟化 Intel 使用的是 intelVT-XAMD 使用的是 AMD-V

 

 

1.1.2系统环境

  • 检查 CPU 是否支持虚拟化

vmx ##(forIntelCPU)

svm ##(forAMDCPU

KVM 其实已经在 Centos7 内置到系统内核,无需安装

[root@ Lxl-40 ~]# egrep -o '(vmx|svm)' /proc/cpuinfo 
vmx 
[root@ Lxl-40 ~]# grep -E '(vmx|svm)' /proc/cpuinfo 
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ss syscall nx pdpe1gb rdtscp lm constant_tsc arch_perfmon nopl xtopology tsc_reliable nonstop_tsc eagerfpu pni pclmulqdq vmx ssse3 fma cx16 pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand hypervisor lahf_lm abm 3dnowprefetch arat tpr_shadow vnmi ept vpid fsgsbase tsc_adjust bmi1 avx2 smep bmi2 invpcid rdseed adx smap xsaveopt

 

  • 安装 kvm 用户态模块

libvirt拥有管理kvm的命令行工具 virsh

kvm 属于内核态,不需要安装。但是需要一些类似于依赖

[root@ Lxl-40 ~]# yum -y install qemu-kvm qemu-kvm-tools libvirt

 

  • 启动 libvirt
[root@ Lxl-40 ~]# systemctl start libvirtd.service [root@ Lxl-40 ~]# systemctl enable libvirtd.service

 

启动之后我们可以使用 ifconfig 进行查看,libvirtd 已经为我们安装了一个桥接网卡

[root@ Lxl-40 ~]# ifconfig virbr0

virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500 inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255 ether 52:54:00:6e:cd:f6 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

 

切记关闭防火墙

2.创建虚拟机

2.1上传镜像

上传Centos7镜像,如若传输错误可用dd复制系统镜像

[root@ Lxl-40 ~]# cd /opt/ [root@ Lxl-40 opt]# dd if=/dev/cdrom of=/opt/CentOS-7-lxl.ios

 

2.2 创建磁盘

使用qemu-img创建名为lxl.qcow2的磁盘 提示: qemu-img 软件包是我们安装

[root@ Lxl-40 opt]# qemu-img create -f qcow2 /opt/lxl.qcow2 6G 

Formatting '/opt/lxl.qcow2', fmt=qcow2 size=6442450944 encryption=off cluster_size=65536 lazy_refcounts=off [root@ Lxl-40 opt]# ll total 940228 -rw-r--r-- 1 root root 962592768 2020-02-11 20:39 CentOS-7-lxl.iso -rw-r--r-- 1 root root 197120 2020-02-11 20:41 lxl.qcow2 
[root@ Lxl-40 opt]#

注:

-f 制定虚拟机格式

/opt/ 存放路径

6G 代表磁盘大小

 

  • 磁盘格式介绍

raw----裸磁盘不支持快照

qcow2----支持快照。Openstack 使用的方式推荐使用这个。注意:关闭虚拟机后操作。

区别: 全镜像格式(典型代表 raw),特点:设置多大就是多大,写入速度快,方便转换其他格式,性能最 优,但是占用空间大。

稀疏格式(典型代表 qcow2),其特点:支持压缩、快照、镜像,更小的存储空间(即用多少占多少)

qcow2 数据的基本组成单元是 cluster

raw 性能比 qcow2 快

raw 创建多大磁盘,就占用多大空间直接分配,qcow2 动态的用多大占用多大空间。

总而言之:

raw速度快性能好,但是占用空间大

qcow2 占用少,速度对比于raw慢,但是支持压缩、快照、镜像

 

2.3创建虚拟机

[root@ Lxl-40 opt]# yum - y install virt-install 
[root@ Lxl-40 opt]# virt-install --virt-type=kvm --name=lxl --vcpus=1 -r 1024 --cdrom=/opt/CentOS-7-lxl.iso --network network=default --graphics vnc,listen=0.0.0.0 --noautoconsole --os-type=linux --os-variant=rhel7 --disk path=/opt/lxl.qcow2,size=6,format=qcow2 

Starting install... 
Domain installation still in progress. You can reconnect to the console to complete the installation process.

 

2.4创建成功后进行查看

[root@ Lxl-40 opt]# virsh list --all 
Id Name State
---------------------------------------------------- 
1 lxl running

 

2.5 通过VNC连接创建好的虚拟机并安装

连接IP为宿主机IP:5900

 

 

安装完成后重新启动

[root@ Lxl-40 opt]# virsh start lxl 

Domain lxl started

 

2.6 KVM桥接配置

配置桥接设备 br0

[root@ Lxl-40 opt]# yum -y install bridge-utils

通过配置文件配置桥接设备永久生效

root@ Lxl-40 ~]# cp /etc/sysconfig/network-scripts/ifcfg-ens33 . 
[root@ Lxl-40 ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
[root@ Lxl-40 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 
DEVICE=ens33 
TYPE=Ethernet 
ONBOOT=yes 
BRIDGE=br0 
NM_CONTROLLED=no 

[root@ Lxl-40 ~]# vim /etc/sysconfig/network-scripts/ifcfg-br0 
[root@ Lxl-40 ~]# cat /etc/sysconfig/network-scripts/ifcfg-br0
DEVICE=br0 
TYPE=Bridge 
ONBOOT=yes 
BOOTPROTO=static 
IPADDR=10.0.0.40 
NETMASK=255.255.255.0 
GATEWAY=10.0.0.254 
NM_CONTROLLED=no

 

通过 VNC 连接 KVM 虚机修改网卡配置文件

[root@localhost ~]# cat /etc/sysconfig/network-scripts/ifcfg-eth0 
DEVICE=ens33 
TYPE=Ethernet 
BOOTPROTO=static 
ONBOOT=yes 
IPADDR=10.0.0.20 
PREFIX=24 
GATEWAY=10.0.0.254 
DNS1=223.5.5.5 //此处配置后则不需要手动添加/etc/resolv.conf 
DNS2=1.1.1.1 

[root@localhost ~]# ifup eth0 

[root@localhost ~]# cat /etc/resolv.conf #必须有否则在后期xshell连不上 
nameserver 223.5.5.5 
nameserver 1.1.1.1

 

注意:此时宿主机还需要通过图形化工具设置网卡为桥接方式,否则无法ping通网关和外网。

 

3.KVM的图形界面管理工具(virt-manager)

3.1查看sshd是否开启X11转发

[root@ Lxl-40 ~]# grep X11Forwarding /etc/ssh/sshd_config --colour X11Forwarding yes # X11Forwarding no

3.2 安装xorg-x11

[root@ Lxl-40 ~]# yum install -y xorg-x11-font-utils.x86_64 xorg-x11-server-utils.x86_64 xorg-x11-utils.x86_64 xorg-x11-xauth.x86_64 xorg-x11-xinit.x86_64 xorg-x11-drv-ati-firmware

3.3安装libvirt

libvirt是管理虚拟机的API库,不仅支持KVM虚拟机,也可以管理Xen等方案下的虚拟机。

[root@ Lxl-40 ~]# yum install virt-manager libvirt libvirt-Python python-virtinst libvirt-client virt-viewer qemu-kvm mesa-libglapi -y

因为我的主机是服务器,没有图形化界面,想要用virt-manager图形化安装虚拟机,还需要安装X-window。

[root@ Lxl-40 ~]# yum install libXdmcp libXmu libxkbfile xkeyboard-config xorg-x11-xauth xorg-x11-xkb-utils -y

3.3配置Xshell

  • 3.3.1安装Xming

    首先安装Xming(安装后在后台挂起,如有发现不能使用就使用管理员身份下载且打开)

    Xming下载地址:https://xming.softonic.cn/

    安装好Xming后,打开xshell,在连接属性中的隧道,勾选 Forwarding X11 connection to选项,可以正常打开virt-manager的图形界面。

     

 

 

  • 3.3.2启动virt-manager

    连接后会弹出新的回话窗口

[root@ Lxl-40 ~]# virt-manager [root@ Lxl-40 ~]#

    

 

 

    Xming会自动弹出

    如若出现乱码,请安装

    yum install dejavu-sans-mono-fonts -y

 

    首先右键点击我们的虚拟机,将其停掉

     

 

 

    然后双击进行操作

     

 

 

    修改桥接网卡

     

 

 

    将桥接网卡设置为开机自启,并调整先后顺序

     

 

 

    应用后开启虚拟机使用Xshell进行连接,并测试是否ping通外网

     

 

 

    能够ping通外网则成功

 

 

 

作者:lxl

微信:l15565623507

欢迎技术交流!

posted @ 2020-02-11 22:10  曲奇饼干好吃  阅读(224)  评论(0编辑  收藏  举报