KVM构建及管理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了KVM构建及管理相关的知识,希望对你有一定的参考价值。

1、虚拟化概述

虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。

? virtualization 资源管理

– x个物理资源 --> y个逻辑资源

– 实现程度:完全、部分、硬件辅助(CPU)


案例:创建新的虚拟机nsd:搭建本地Yum仓库

(1)服务端:挂载光盘

[[email protected] 桌面]# mount /dev/cdrom /mnt

(2)客户端:书写一个配置文件/etc/yum.repos.d/*.repo

[[email protected] 桌面]# vim  /etc/yum.repos.d/abc.repo

    [abc]

    name=abc

    baseurl=file:///mnt

    enabled=1

    gpgcheck=0

[[email protected] 桌面]# yum repolist

2、yum软件组管理

? 使用RHEL7软件仓库的预设分组

– yum groups list [hidden] [组名]...

– yum groups info [组名]...

– yum groups install [组名]...

– yum groups remove [组名]

 

3、安装虚拟化服务器平台

? 主要软件组

Virtualization\ Client           #虚拟化客户端

Virtualization\ Platform       #虚拟化平台

Virtualization\ Hypervisor   #虚拟化管理器

Virtualization\ Tools           #虚拟化工具

[[email protected] 桌面]# yum -y groups install 

Virtualization\ Client 

Virtualization\ Platform 

Virtualization\ Hypervisor 

Virtualization\ Tools

虚拟化服务:libvirtd

真机操作:

? 查看KVM节点(服务器)信息

  – virsh nodeinfo

? 列出虚拟机

  – virsh list [--all]

? 查看指定虚拟机的信息

  – virsh dominfo 虚拟机名称

? 运行|重启|关闭指定的虚拟机

  – virsh start|reboot|shutdown 虚拟机名称

? 强制关闭指定的虚拟机

  – virsh  destroy  虚拟机名称

 

[[email protected] 桌面]# virsh autostart nsd    #设置开机自起动

[[email protected] 桌面]# virsh dominfo nsd

[[email protected] 桌面]# virsh autostart --disable nsd #关闭自起动

[[email protected] 桌面]# virsh dominfo nsd

 

libvirtd 为管理虚拟机提供服务接口

[[email protected] ~]# systemctl  restart  libvirtd

[[email protected] ~]# systemctl  enable  libvirtd

 

使用virt-manager客户端工具调出KVM图形管理器


4、KVM虚拟机的组成

1)xml配置文件(虚拟机描述文件):定义虚拟机的名称、UUID、CPU、内

存、虚拟磁盘、网卡等各种参数设置

虚拟机描述文件默认路径: /etc/libvirt/qemu

 

2)磁盘镜像文件:保存虚拟机的操作系统及文档数据,

镜像路径取决于xml配置文件中的定义

磁盘镜像文件 默认路径: /var/lib/libvirt/images/

查看磁盘镜像文件信息

qemu-img info /var/lib/libvirt/images/nsd.qcow2 

 

5、手动快速创建一台虚拟机

(1)创建新的磁盘文件

[[email protected] 桌面]# cd /var/lib/libvirt/images/

[[email protected] images]# cp nsd.qcow2  test01.qcow2

(2)写新的虚拟机描述文件

[[email protected] images]# cd /etc/libvirt/qemu/

[[email protected] qemu]# cp nsd.xml test01.xml

[[email protected] qemu]# vim test01.xml 

修改name、删除UUID整行、修改磁盘文件路径、删除MAC整行

(3)导入虚拟机信息

[[email protected] /]# virsh define /etc/libvirt/qemu/test01.xml

[[email protected] /]# virsh list --all

[[email protected] /]# virsh start test01

 

(4)导出xml配置文件

  – 查看:virsh  dumpxml  虚拟机名

  – 备份:virsh  dumpxml  虚拟机名  >  虚拟机名.xml

 

(5)编辑虚拟机设置

? 对虚拟机的配置进行调整

– 编辑:  virsh   edit   虚拟机名

            导出、修改、导入

删除虚拟机

– virsh undefine 虚拟机名

# virsh undefine test01

# rm -rf /var/lib/libvirt/images/test01.qcow2


6、COW技术原理

Copy On Write 写时复制

– 直接映射原始盘的数据内容

– 对前端盘的修改不回写到原始盘

(1) 快速创建qcow前端盘

qemu-img 通过 -b 选项复用指定后端盘

qemu-img create -f qcow2 -b 后端盘   前端盘

 

cd /var/lib/libvirt/images/

qemu-img create -f qcow2   -b nsd.qcow2  new01.qcow2

qemu-img info new01.qcow2

(2)常见新的虚拟机描述文件

cd /etc/libvirt/qemu/

cp nsd.xml new01.xml

vim new01.xml

修改name、删除UUID整行、修改磁盘文件路径指定前端盘、删除MAC整行 

(3)导入新的虚拟机

virsh  define  /etc/libvirt/qemu/new01.xml

 

案例:

1.新建两台虚拟机

[[email protected] 桌面]# clone-vm7 

Enter VM number: 1

[[email protected] 桌面]# clone-vm7 

Enter VM number: 2

2.在真机上操作,随真机的启动而启用

[[email protected] 桌面]# virsh autostart A

[[email protected] 桌面]# virsh autostart B

3.以root身份进入虚拟机,配置两台虚拟机的网络地址参数,密码123456

虚拟机A:

IP地址:192.168.4.7/24

主机名:svr7.tedu.cn

虚拟机B:

IP地址:192.168.4.207/24

主机名:pc207.tedu.cn

4.真机利用Web服务提供Yum源(共享光盘所有内容)

[[email protected] 桌面]# ifconfig private1

[[email protected] 桌面]# rpm -q httpd

httpd-2.4.6-40.el7.x86_64

 

# mkdir  /var/www/html/rhel7

# mount  /ISO/rhel-server-7.2-x86_64-dvd.iso  /mnt/

# cp -r  /mnt/*   /var/www/html/rhel7/

# firefox http://127.0.0.1/rhel7

# firefox http://192.168.4.254/rhel7

5.虚拟机A与虚拟机B指定Yum位置

[[email protected] ~]# vim /etc/yum.repos.d/rhel7.repo

   [rhel7]

   name=rhel7 

   baseurl=http://192.168.4.254/rhel7

   enabled=1

   gpgcheck=0

[[email protected] ~]# vim /etc/yum.repos.d/rhel7.repo

   [rhel7]

   name=rhel7 

   baseurl=http://192.168.4.254/rhel7

   enabled=1

   gpgcheck=0

6. 设置防火墙trusted与关闭SELinux

[[email protected] ~]# firewall-cmd --set-default-zone=trusted

[[email protected] ~]# setenforce 0   #当前修改为宽松模式

[[email protected] ~]# getenforce 

Permissive

[[email protected] ~]# vim /etc/selinux/config 

SELINUX=permissive


以上是关于KVM构建及管理的主要内容,如果未能解决你的问题,请参考以下文章

KVM构建及管理

Service系统服务:安装一个KVM服务器KVM平台构建及简单管理virsh基本管理操作xml配置文件的应用为虚拟机制作快照备份快建新虚拟机

linux kvm虚拟机快速构建及磁盘类型

KVM虚拟机管理及性能优化

部署及命令行管理KVM

KVM虚拟化平台部署及管理