linux-KVM虚拟化技术

Posted

tags:

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

虚拟化概述

Virtualization 资源管理

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

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



手动新建一台虚拟机:  

                虚拟机名字:example

                网络类型选择:private1

-------------------------------------------------------------------------------------------

使用 virt-manager 客户端工具


在真机上操作:

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

  – virsh nodeinfo


列出虚拟机

  – virsh list [--all]


查看指定虚拟机的信息

  – virsh dominfo 虚拟机名称


将指定的虚拟机设为开机自动运行

  – virsh autostart [--disable] 虚拟机名称


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

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


强制关闭指定的虚拟机

  – virsh destroy 虚拟机名称


-------------------------------------------------------------------------------------------

在虚拟机example中搭建本地Yum


1.挂载光盘

[[email protected] ~]# mkdir /dvd        

[[email protected] ~]# mount /dev/cdrom /dvd


2.客户端文件

[[email protected] ~]# cat /etc/yum.repos.d/dvd.repo 

[dvd]

name=dvd

baseurl=file:///dvd

enabled=1

gpgcheck=0

------------------------------------------------------------------------------------------

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


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

– yum groups info [组名]...

– yum groups install [组名]...

– yum groups remove [组名]...



[[email protected] ~]# yum -y groups install 

 Virtualization\ Client    

 Virtualization\ Hypervisor  

 Virtualization\ Platform   

 Virtualization\ Tools 


-------------------------------------------------------------------------------------------

  桌面图标


/usr/share/applications/



   右击-----图标--------->复制到---------->home------->桌面



-----------------------------------------------------------------------------------------


启动libvirtd服务端

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



---------------------------------------------------------------------------------------


 在Linux中KVM虚拟机,组成:   


 – xml配置文件(虚拟机描述文件):定义虚拟机的名称、UUID、CPU、内存、虚拟磁盘、网卡等各种参数设置

      /etc/libvirt/qemu/*.xml


 – 磁盘镜像文件:保存虚拟机的操作系统及文档数据,镜像路径取决于xml配置文件中的定义

      /var/lib/libvirt/images/


[[email protected] 桌面]# ls /etc/libvirt/qemu/

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


[[email protected] 桌面]# du -sh /var/lib/libvirt/images/

 

  细节:  模版虚拟机example,注意删除 Channel 设备


----------------------------------------------------------------------------------------

通过example虚拟机,生成新的虚拟机


1.关闭example虚拟机

[[email protected] 桌面]# virsh destroy example

2.通过example虚拟机,磁盘文件复制一份

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

[[email protected] images]# qemu-img info example.qcow2 

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

3.通过example虚拟机,复制虚拟机描述文件

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

[[email protected] qemu]# ls

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

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

   虚拟机名称、UUID、虚拟机磁盘文件、网卡MAC


[[email protected] qemu]# uuidgen           #提供uuid


4. 导入新虚拟机信息

# virsh define /etc/libvirt/qemu/test01.xml     #导入虚拟机信息

# virsh list --all


-----------------------------------------------------------------------------------------

导出xml配置文件

  – 查看:virsh dumpxml 虚拟机名

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



对虚拟机的配置进行调整

   – 编辑: virsh   edit   虚拟机名


------------------------------------------------------------------------------------------


  COW写时复制,快速重建虚拟机


1.虚拟机的磁盘文件,快速生成


Copy On Write,写时复制

  – 直接映射原始盘(后端盘)的数据内容

  – 当原始盘(后端盘)的旧数据有修改时,在修改之前自动将旧数据存入前端盘

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


2.qemu-img 通过 -b 选项复用指定原始盘(后端盘)


– qemu-img create -f qcow2 -b   原始盘(后端盘)      前端盘




1.关闭虚拟机

[[email protected] /]# virsh destroy example


2.生成前端盘

# qemu-img create -f qcow2 -b /var/lib/libvirt/images/example.qcow2  /var/lib/libvirt/images/test02.qcow2


3.生成新的虚拟机描述文件

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

[[email protected] qemu]# cp example.xml test02.xml

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


   虚拟机名称、UUID、虚拟机磁盘文件、网卡MAC


[[email protected] qemu]# uuidgen


4. 导入新虚拟机信息

# virsh define /etc/libvirt/qemu/test02.xml     #导入虚拟机信息

# virsh list --all

-----------------------------------------------------------------------------------------


  离线访问虚拟机

使用 guestmount 工具

– 支持离线挂载 raw、qcow2 格式虚拟机磁盘

– 可以在虚拟机关机的情况下,直接修改磁盘中的文档

– 方便对虚拟机定制、修复、脚本维护


# guestmount -a /var/lib/libvirt/images/example.qcow2 -i /mnt/


------------------------------------------------------------------------------------------


1)生产环境可以标记 /.unconfigured ,方便新虚拟机的配置(相当于出厂设置,提示用户初始化)


------------------------------------------------------------------------------------------

搭建新的教学环境


1.在真机生成两台虚拟机

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

Enter VM number: 8

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

Enter VM number: 9


2.修改虚拟机名称,一个A  另一个B


  虚拟机A:

    主机名:svr7.tedu.cn

  IP地址:192.168.4.7/24


  虚拟机B:

    主机名:pc207.tedu.cn

  IP地址:192.168.4.207/24


3.Yum仓库的搭建

   


     真机  Yum服务端,Web共享光盘所有内容

[[email protected] 桌面]# mkdir  /var/www/html/rhel7

[[email protected] 桌面]# ls  /var/www/html/rhel7

[[email protected] 桌面]# mount  /ISO/rhel-server-7.2-x86_64-dvd.iso    /var/www/html/rhel7


[[email protected] 桌面]# ls  /var/www/html/rhel7

[[email protected] 桌面]# firefox   127.0.0.1/rhel7

[[email protected] 桌面]# vim /etc/fstab 


/ISO/rhel-server-7.2-x86_64-dvd.iso   /var/www/html/rhel7  iso9660  defaults  0  0


[[email protected] 桌面]# umount /var/www/html/rhel7/

[[email protected] 桌面]# ls /var/www/html/rhel7/

[[email protected] 桌面]# mount -a

[[email protected] 桌面]# ls /var/www/html/rhel7/




     客户端:虚拟机A与虚拟机B


 虚拟机A

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

 [dvd]

 name=dvd

 baseurl=http://192.168.4.254/rhel7

 enabled=1

 gpgcheck=0


 [[email protected] ~]# yum repolist





  用于远程拷贝数据,网络的不同主机之间


  scp  本地的路径    用户名@对方的IP地址:对方的路径


  scp  /etc/yum.repos.d/dvd.repo  [email protected]:/etc/yum.repos.d


以上是关于linux-KVM虚拟化技术的主要内容,如果未能解决你的问题,请参考以下文章

半虚拟化驱动virtio-Windows

站点目录

虚拟化技术之docker技术详解

❤️虚拟化技术❤️之docker技术详解[⭐建议收藏⭐]

常见的虚拟化技术

(12)虚拟化技术之虚拟化技术简介