虚拟化概述

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.挂载光盘

[root@A ~]# mount /dev/cdrom /dvd


2.客户端文件

[root@A ~]# 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 [组名]...



[root@A ~]# yum 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/p_w_picpaths/


[root@room9pc14 桌面]# ls /etc/libvirt/qemu/

[root@room9pc14 桌面]# ls /var/lib/libvirt/p_w_picpaths/


[root@room9pc14 桌面]# du -sh /var/lib/libvirt/p_w_picpaths/

 

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


#######################################################

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


1.关闭example虚拟机

[root@room9pc14 桌面]# virsh destroy example

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

[root@room9pc14 桌面]# cd /var/lib/libvirt/p_w_picpaths/

[root@room9pc14 p_w_picpaths]# qemu-img info example.qcow2 

[root@room9pc14 p_w_picpaths]# cp example.qcow2 test01.qcow2 

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

[root@room9pc14 p_w_picpaths]# cd /etc/libvirt/qemu/

[root@room9pc14 qemu]# ls

[root@room9pc14 qemu]# cp example.xml test01.xml

[root@room9pc14 qemu]# vim test01.xml  

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


[root@room9pc14 qemu]# uuidgen


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.关闭虚拟机

[root@room9pc14 /]# virsh destroy example


2.生成前端盘

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


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

[root@room9pc14 /]# cd /etc/libvirt/qemu/ 

[root@room9pc14 qemu]# cp example.xml test02.xml

[root@room9pc14 qemu]# vim test02.xml 


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


[root@room9pc14 qemu]# uuidgen


4. 导入新虚拟机信息

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

# virsh list --all


###########################################################


  离线访问虚拟机

使用 guestmount 工具

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

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

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


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



###################################################


1)生产环境可以标记 /.unconfigured ,方便新虚拟机

的配置(相当于出厂设置,提示用户初始化)



#######################################################

搭建新的教学环境


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

[root@room9pc14 桌面]# clone-vm7 

Enter VM number: 8

[root@room9pc14 桌面]# 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共享光盘所有内容

[root@room9pc14 桌面]# mkdir  /var/www/html/rhel7

[root@room9pc14 桌面]# ls  /var/www/html/rhel7

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


[root@room9pc14 桌面]# ls  /var/www/html/rhel7

[root@room9pc14 桌面]# firefox   127.0.0.1/rhel7

[root@room9pc14 桌面]# vim /etc/fstab 


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


[root@room9pc14 桌面]# umount /var/www/html/rhel7/

[root@room9pc14 桌面]# ls /var/www/html/rhel7/

[root@room9pc14 桌面]# mount -a

[root@room9pc14 桌面]# ls /var/www/html/rhel7/




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


 虚拟机A

 [root@svr7 ~]# vim /etc/yum.repos.d/dvd.repo

 [dvd]

 name=dvd

 baseurl=http://192.168.4.254/rhel7

 enabled=1

 gpgcheck=0


 [root@svr7 ~]# yum repolist





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


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


  scp  /etc/yum.repos.d/dvd.repo  root@192.168.4.207:/etc/  yum.repos.d



##########################################################