KVM---安装--存储--网络

KVM安装
 
1、查看CPU是否支持虚拟化:
Linux 发行版本必须在64bit环境中才能使用KVM。
# cat /proc/cpuinfo | egrep 'vmx|svm'  
如果输出的结果包含 vmx,它是 Intel处理器虚拟机技术标志;
如果包含 svm,它是AMD处理器虚拟机技术标志;。
如果你甚么都得不到,那应你的系统并没有支持虚拟化的处理,不能使用kvm。
 
2、需求内核(rhel6以上):
# uname -r
3.10.0-514.el7.x86_64
 
3、清理环境:卸载KVM
# yum remove `rpm -qa | egrep 'qemu|virt|kvm` -y
# rm -rf /var/lib/libvirt /etc/libvirt/
 
4、安装软件:
Centos6
# yum groupinstall "Virtualization Client" "Virtualization Platform" "Virtualization Tools" -y
Centos7
# yum install *qemu* *virt* librbd1-devel -y
qemu-KVM: 主包
libvirt:API接⼝
virt-manager:图形管理程序
Centos8
yum 组安装已经可以使⽤了
问题:在进⾏组安装的时候会出现关于rpm版本的错误问题
解决:
# yum upgrade rpm -y
组安装成功之后还是要单独安装virt-manager⼯具
[root@openstack ~]# 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: 虚拟机命令行安装工具
 
5、跟虚拟机相关的目录:
/etc/libvirt/qemu/ #虚拟机配置文件存放位置
/etc/libvirt/qemu/networks #虚拟网络配置文件存放位置
/var/lib/libvirt/images/ #虚拟磁盘文件存放位置(默认存储池)
 
6、启动服务:
# systemctl start libvirtd
 
7、查看KVM模块加载
[root@qfedu.com ~]# lsmod | grep KVM
KVM_intel         53484 3
KVM               316506 1 KVM_intel
 
8、图形管理器
# virt-manager
**GuestOS安装**
  • 图形⽅式(⾮常重要 ⾮常简单)
  • 完全⽂本模式(现场配置虚拟机的规格)
  • 命令⾏模式(重中之重 最常⽤ 模板镜像+配置⽂件 ⽅式配置规格)
  • 通过⻜机驾驶舱安装和管理虚拟机
[root@qfedu.com ~]# yum install *cockpit* -y
[root@qfedu.com ~]# systemctl start cockpit
浏览器访问:服务器地址:9090
 
9、命令方式安装虚拟机:
# virt-install
 

 
存储
存储池:
存储池(Storage pools)是放置虚拟机的存储位置,存储池可以建立在好几种方式的存储上,我们以基于目录为存储池来学习。
默认存储池位置: /var/lib/libvirt/images/
 
创建存储池(目录)[非必须]
1.图形方式:
编辑 → 连接详情 → 存储
 
2.命令方式:
# mkdir /kvm/disk -p
  • 定义存储池
# virsh pool-define-as vmdisk --type dir --target /kvm/disk
  • 查看已定义的存储池
#virsh pool-list --all
  • 激活并自动启动已定义的存储池,存储池不激活无法使用。
# virsh pool-start vmdisk
# virsh pool-autostart vmdisk
 
这里vmdisk存储池就已经创建好了,可以直接在这个存储池中创建虚拟磁盘文件了。
 
存储卷:
存储卷(storage volume)指虚拟磁盘文件,可以理解为虚拟机的硬盘
在存储池中创建虚拟机存储卷
1.图形方式:
2.virsh命令:
  • 创建存储卷:
# virsh vol-create-as vmdisk mini.qcow2 20G --format qcow2
  • 查看存储卷:
# virsh vol-list vmdisk
名称 路径
----------------------------------------------------------------------------
mini.qcow2 /kvm/disk/mini.qcow2
 
3.qemu命令(不会被存储池管理)
# qemu-img create -f qcow2 /var/lib/libvirt/images/mini.qcow2 20G
 
注1:KVM存储池主要是体现一种管理方式,可以通过挂载存储目录,lvm逻辑卷的方式创建存储池
注2:KVM存储池也要用于虚拟机迁移任务。
 
----------------------------------------------------
存储池相关管理命令
  • 取消激活存储池
# virsh pool-destroy vmdisk
  • 取消定义存储池
# virsh pool-undefine vmdisk
 

 
网络
KVM虚拟机网络配置的两种方式:NAT[isolated(隔离网络)]、Bridge、方式。
NAT--用户网络(User Networking):让虚拟机访问主机、互联网或本地网络上的资源的简单方法,但是不能从网络或其他的客户机访问客户机。
Bridge--虚拟网桥(Virtual Bridge):这种方式要比用户网络复杂一些,但是设置好后客户机与互联网,客户机与主机之间的通信都很容易。

一. Bridge方式

 
Bridge方式即虚拟网桥的网络连接方式,是客户机和子网里面的机器能够互相通信。可以使虚拟机成为网络中具有独立IP的主机。
 
  • Bridge方式配置:
1、编辑修改网络设备脚本文件,增加网桥设备br0
# vim /etc/sysconfig/network-scripts/ifcfg-br0
TYPE=Bridge
NAME=br0
DEVICE=br0
ONBOOT="yes"
BOOTPROTO=static
IPADDR=10.18.44.251
GATEWAY=10.18.44.1
NETMASK=255.255.255.0
DNS1=10.18.44.100
DNS2=8.8.8.8
 
2、编辑修改网络设备脚本文件,修改网卡设备enp3s0
# vim /etc/sysconfig/network-scripts/ifcfg-enp3s0
TYPE=Ethernet
BRIDGE=br0
BOOTPROTO=none
DEVICE=enp3s0
ONBOOT=yes
 
3、重启libvirtd服务
systemctl restart livirtd
 
4、重启network服务
systemctl restart network
 
5、校验桥接接口
# ifconfig br0
# brctl show
bridge name bridge id STP enabled interfaces
br0 8000.f0795962c1cc no enp3s0
virbr0 8000.5254005a2e43 yes virbr0-nic
virbr1 8000.5254015a2e43 yes virbr1-nic
virbr2 8000.525400ca9390 yes virbr2-nic
 
  • 删除桥接⽹卡步骤:
1.删除br0的配置⽂件
2.修改正常⽹卡的配置⽂件
3.重启系统

二. NAT方式

NAT方式是kvm安装后的默认方式。它支持主机与虚拟机的互访,同时也支持虚拟机访问互联网,但不支持外界访问虚拟机。
1、配置⽂件⽅式创建nat⽹络
[root@qfedu.com ~]# cp /etc/libvirt/qemu/networks/nat2.xml /etc/libvirt/qemu/networks/nat3.xml
[root@qfedu.com ~]# vim /etc/libvirt/qemu/networks/nat3.xml
<network>
  <name>nat3</name>
  <uuid>4d8b9b5c-748f-4e16-a509-848202b9c83b</uuid>
  <forward mode='nat'/> //和隔离模式的区别
  <bridge name='virbr4' stp='on' delay='0'/>
  <mac address='52:57:00:62:0c:d4'/>
  <domain name='nat3'/>
  <ip address='192.168.104.1' netmask='255.255.255.0'>         //虚拟网关IP及子网掩码
    <dhcp>
      <range start='192.168.104.128' end='192.168.104.254'/>   //dhcp分配ip范围
    </dhcp>
  </ip>
</network>
重启服务:
[root@qfedu.com ~]# systemctl restart libvirtd
 
2、重启default网络
# virsh net-destroy default #关闭default网络
# virsh net-start default #启动default网络
 
三、配置⽂件⽅式创建isolated⽹络
隔离⽹络拓扑:
 
<network>
  <name>isolate1</name>
  <uuid>6341d3a6-7330-4e45-a8fe-164a6a68929a</uuid>
  <bridge name='virbr2' stp='on' delay='0'/>
  <mac address='52:54:00:6b:39:0c'/>
  <domain name='isolate1'/>
  <ip address='192.168.101.1' netmask='255.255.255.0'>
  <dhcp>
    <range start='192.168.101.128' end='192.168.101.254'/>
  </dhcp>
  </ip>
</network>
查看所有的⽹络:
[root@qfedu.com ~]# virsh net-list
启动⽹络:
[root@qfedu.com ~]# virsh net-start isolated200
开机⾃启动:
[root@qfedu.com ~]# virsh net-autostart isolated200
 
可以通过查看mac地址是否⼀致来确定是不是⼀根线上的两个接⼝
[root@qfedu.com ~]# brctl show
bridge name bridge id STP enabled interfaces
virbr0 8000.5254003c2ba7 yes virbr0-nic
                             vnet2
                             vnet3
从交换机上把vnet⽹卡删除:
[root@qfedu.com ~]# brctl delif virbr0 vnet0
添加vnet⽹卡到交换机上:
[root@qfedu.com ~]# brctl addif virbr0 vnet0
 
posted @ 2020-10-20 19:22  梦里花落知多少sl  阅读(414)  评论(0编辑  收藏  举报