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

#virsh nodeinfo         //查看KVM节点(服务器)信息
#virsh list --all     //列出虚拟机
#virsh dominfo 虚拟机名称                 // 查看虚拟机详细信息
#virsh autoatart [--disable] 虚拟机名称     //设置虚拟机随机自启
#virsh start/reboot/shutdown 虚拟机名称     //设置虚拟机开机/重启/关机
#virsh destroy 虚拟机名称                 //设置虚拟机强制关机

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

 在Linux中KVM虚拟机,组成:   

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

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

    /var/lib/libvirt/images

[root@room9pc14 桌面]# ls /etc/libvirt/qemu/        //查看虚拟机描述文进(xml文件)
[root@room9pc14 桌面]# ls /var/lib/libvirt/images/    //查看磁盘镜像文件

[root@room9pc14 桌面]# du -sh /var/lib/libvirt/images/
 
  细节:  模版虚拟机example,注意删除 Channel 设备

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


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

在真机进行操作:
1.关闭虚拟机example
#virsh destroy example
2.复制磁盘镜像 文件
#cd /var/lib/libvirt/images    //切换到磁盘文件存放的路径下
#ls                    //查看都有哪些磁盘文件
#qemu-img info example.qcow2    //查看磁盘文件信息
image: example.qcow2
file format: qcow2
virtual size: 9.0G (9663676416 bytes)
disk size: 3.2G
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: true
#cp example.qcow2 test01.qcow2
3.复制虚拟机描述文件
#cd /etc/libvirt/qemu/
[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/images/example.qcow2   /var/lib/libvirt/images/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/images/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  [email protected]:/etc/  yum.repos.d


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