部署KVM虚拟化平台

扩展:https://pan.baidu.com/s/1sAlI4wPnQ0qG5tsR4Yzx-w

简介:

  KVM自Linux2.6.20版本后就直接整合到Linux内核,它依托CPU虚拟化指令集,实现高性能的虚拟化支持。由于与Linux内核高度整合,因此在性能、安全性、兼容性、稳定性上都有很好的表现。

  在KVM环境中运行的每个虚拟化操作系统都将表现为单个独立的系统进程。因此它可以很方便地与Linux系统中的安全模块进行整合,可以灵活地实现资源的分配及管理。

部署KVM虚拟化平台_第1张图片

 

安装及配置

实验环境:开启cpu虚拟化支持

重启后验证cpu是否支持虚拟化,如果是amd的服务器用cat  /proc/cpuinfo|grep smv命令查看

[root@localhost ~]# cat /proc/cpuinfo | grep vmx

1.使用yum安装kvm所需软件

yum -y  install qemu-kvm        //kvm模块
yum -y  install qemu-kvm-tools //调试工具
yum -y  install virt-install  //构建虚拟机命令行工具
yum -y  install qemu-img     //qemu组件,创建磁盘,启动虚拟机
yum -y  install bridge-utils  //网络支持工具
yum -y  install libvirt       //虚拟机管理工具
yum -y  install virt-manager //图形界面管理虚拟机

检查kvm模块是否安装:

[root@localhost yum.repos.d]# lsmod | grep kvm
kvm_intel             170181  0 
kvm                   554609  1 kvm_intel
irqbypass              13503  1 kvm

开启服务并设置开机自启动

[root@localhost yum.repos.d]# systemctl start libvirtd
[root@localhost yum.repos.d]# systemctl enable libvirtd

2.设置kvm网络

设定kvm网络,kvm支持两种网络设置方式:nat和bridge(桥接),默认是nat

桥接方式;这种方式允许虚拟机像一台独立的主机一样拥有网络,外部的机器可以直接访问虚拟机网络,但需要网络支持,一般的有线网卡都支持。

用户模式:及NAT方式,这种方式时默认网络,数据包由NAT方式通过主机的接口进行转送,可以访问外网,但是无法从外部访问虚拟机网络。

部署KVM虚拟化平台_第2张图片

  网桥的基本原理就是创建一个桥接接口,并把物理主机的eth0绑定到网桥上,客户机的网络模式需要配置为桥接模式,这可以在安装的时候用。

[root@localhost ~]# cd /etc/sysconfig/network-scripts/   
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-br0
[root@localhost network-scripts]# vim ifcfg-ens33 

TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes                                
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=901fa84c-3e50-4cc7-9b24-8739a6be6e59
DEVICE=ens33
ONBOOT=yes
BRIDGE=br0   //指定桥接

     
[root@localhost network-scripts]# vim ifcfg-br0   //编辑网桥网卡
TYPE=Bridge   //改为桥接
BOOTPROTO=static  //开启静态
IPADDR=192.168.1.1
NETMASK=255.255.255.0
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no           //注意一定删除uuid那一行
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=br0 //改为br0
DEVICE=br0 //改为br0  
[root@localhost network-scripts]# systemctl restart network //重启网卡
~                    

确认ip地址

[root@localhost network-scripts]# ifconfig 
br0: flags=4163  mtu 1500
        inet 192.168.1.1  netmask 255.255.255.0  broadcast 192.168.1.255
        inet6 fe80::8e68:5d16:b97c:b837  prefixlen 64  scopeid 0x20
        ether 00:0c:29:a8:ad:3c  txqueuelen 1000  (Ethernet)
        RX packets 17  bytes 1426 (1.3 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 21  bytes 2252 (2.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens33: flags=4163  mtu 1500
        ether 00:0c:29:a8:ad:3c  txqueuelen 1000  (Ethernet)
        RX packets 383  bytes 28893 (28.2 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 198  bytes 19833 (19.3 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


[root@localhost ~]# brctl show    //校验桥接接口
bridge name	bridge id		STP enabled	interfaces
br0		8000.000c29a8ad3c	no		ens33
virbr0		8000.525400e5639d	yes		virbr0-nic

3.kvm管理

1)先创建两个准备存储池的目录

/data_kvm/store  存虚拟机

 /data_kvm/iso    存光盘镜像

cp   /dev/cdrom    /data_kvm/iso/centos.iso  把本地镜像复制到iso里面

[root@localhost ~]# mkdir   -p  /data_kvm/store
[root@localhost ~]# mkdir   -p  /data_kvm/iso
[root@localhost ~]# cp /dev/cdrom /data_kvm/iso/centos.iso

2)创建存储池

[root@localhost ~]# systemctl  start   libvirtd  //开启服务
[root@localhost ~]# virt-manager

 

部署KVM虚拟化平台_第3张图片部署KVM虚拟化平台_第4张图片

部署KVM虚拟化平台_第5张图片部署KVM虚拟化平台_第6张图片部署KVM虚拟化平台_第7张图片部署KVM虚拟化平台_第8张图片

同样的方法在创建一个存放镜像的存储池,命名为bdqn_iso,目录为/data_kvm/iso 

部署KVM虚拟化平台_第9张图片

新加卷

 部署KVM虚拟化平台_第10张图片

部署KVM虚拟化平台_第11张图片

部署KVM虚拟化平台_第12张图片

部署KVM虚拟化平台_第13张图片

可以使用iso镜像,制定考培的镜像目录即可

部署KVM虚拟化平台_第14张图片

 

部署KVM虚拟化平台_第15张图片

部署KVM虚拟化平台_第16张图片

部署KVM虚拟化平台_第17张图片

部署KVM虚拟化平台_第18张图片

 

 

部署KVM虚拟化平台_第19张图片

部署KVM虚拟化平台_第20张图片

部署KVM虚拟化平台_第21张图片

部署KVM虚拟化平台_第22张图片

 

使用kvm命令管理虚拟机

1.kvm基本功能管理

[root@localhost ~]# virsh -h   //查看命令帮助
[root@localhost ~]# ls /etc/libvirt/qemu   //查看KVM的配置文件存放目录
[root@localhost ~]# virsh list --all               //查看虚拟机状态
 Id    名称                         状态
----------------------------------------------------
 2     test01                         running
 
[root@localhost ~]# virsh shutdown centos7.0        //关闭虚拟机          
[root@localhost ~]# virsh start centos7.0          //关闭虚拟机
[root@localhost ~]# virsh destroy centos7.0     //强制关机
[root@localhost ~]# virsh create /etc/libvirt/qemu/centos7.0   //通过配置文件启动虚拟机        
[root@localhost ~]# virsh suspend centos7.0           //挂起虚拟机              
[root@localhost ~]# virsh resume centos7.0         //恢复运行虚拟机              
[root@localhost ~]# virsh autostart centos7.0   //设置虚拟机伴随宿主机自动启动            

2.导出导入(备份)

[root@localhost ~]# virsh dumpxml centos7.0 > /etc/libvirt/qemu/centos01.xml            
//导出虚拟机配置
[root@localhost ~]# virsh  shutdown centos7.0   
[root@localhost ~]# virsh  undefine centos7.0       //删除虚拟机
[root@localhost ~]# virsh list --all   //查看是否被删除
 Id    名称                         状态
----------------------------------------------------
 
[root@localhost ~]# cd /etc/libvirt/qemu/
[root@localhost qemu]# mv centos01.xml centos7.0.xml 
[root@localhost qemu]# virsh define centos7.0.xml   //重新定义虚拟机·
 
 [root@localhost qemu]# vim /etc/libvirt/qemu/centos7.0.xml  //修改虚拟机配置(磁盘,内存等)
[root@localhost qemu]# virt-df -h centos7.0     //查看虚拟机磁盘信息    

3.kvm文件管理

安装libguestfs-tools包,只有安装了,才有下面的命令

[root@localhost ~]# yum -y install libguestfs-tool

1)克隆

[root@localhost qemu]# virt-clone -o centos7.0 -n centos1 -f /kvm/store/centos1.qcow2
 // 将centos7.0克隆为centos1
[root@localhost qemu]# virsh list --all                 #查看现有虚拟机
 Id    名称                         状态
----------------------------------------------------
 -    centos1                          关闭
 -    centos7.0                        关闭
[root@localhost qemu]#virsh start centos1    //启用

2)快照

[root@localhost qemu]# virsh snapshot-create centos7.0      //对虚拟机test01创建快照
[root@localhost qemu]# virsh snapshot-list centos7.0          //查看
//查看快照信息
 名称               生成时间              状态
------------------------------------------------------------
 156042443          2019-12-5 04:31:24 +0800 shutoff
[root@localhost qemu]# virsh snapshot-revert centos7.0  156042443   
//恢复虚拟机状态
[root@localhost qemu]# virsh snapshot-delete centos7.0  156042443     //删除快照             
//删除快照

 

你可能感兴趣的:(Linux高级管理)