kvm    # 虚拟化,条件是虚拟机必须有全虚拟化功能  
qemu-img     # 管理虚拟机的存储
qemu         # 管理虚拟机的硬件信息 
镜像提供系统安装资源
虚拟机想要开启图形,内存大小必须大于768M
[root@foundation42 Desktop]#cat    /proc/cpuinfo    # 查看cpu信息,是否支持虚拟化,vmx表示有全虚拟化功能,i5也支持虚拟化

虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化

虚拟机自定义镜像长度 虚拟机镜像转换工具_xml_02

一.封装(共分为以下三部分)
1.选择硬件阶段
a.图形法

虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_03


虚拟机自定义镜像长度 虚拟机镜像转换工具_xml_04


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_05


虚拟机自定义镜像长度 虚拟机镜像转换工具_xml_06


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟机自定义镜像长度_07


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_08

虚拟机自定义镜像长度 虚拟机镜像转换工具_Desktop_09

虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_10

虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟机自定义镜像长度_11


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_12


虚拟机自定义镜像长度 虚拟机镜像转换工具_Desktop_13

b.脚本
[kiosk@foundation42 Desktop]$ man virt-install   # 不知道脚本文件写的内容以及格式,可以通过man命令来获取帮助

虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_14

[root@foundation42 Desktop]# vim vm_creach.sh
 #!/bin/bash  
 virt-install \    #  \ 表示换行,\ 之后不能有空格
 --cdrom /home/kiosk/Desktop/rhel-server-7.2-x86_64-dvd.iso \  
 --vcpus 1 \  
 --memory 1024 \  
 --disk /var/lib/libvirt/images/$1.qcow2,size=9,bus=virtio \  
 --name $1 \  
 --network source=br0,model=virtio &> /dev/null &

虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟机自定义镜像长度_15

[root@foundation42 Desktop]# chmod +x vm_creach.sh 
[root@foundation42 Desktop]# sh vm_creach.sh

虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟机自定义镜像长度_16

2.系统内部设置阶段

虚拟机自定义镜像长度 虚拟机镜像转换工具_xml_17


虚拟机自定义镜像长度 虚拟机镜像转换工具_Desktop_18


虚拟机自定义镜像长度 虚拟机镜像转换工具_Desktop_19


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_20




虚拟机自定义镜像长度 虚拟机镜像转换工具_Desktop_21


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_22

虚拟机自定义镜像长度 虚拟机镜像转换工具_Desktop_23


虚拟机自定义镜像长度 虚拟机镜像转换工具_Desktop_24


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟机自定义镜像长度_25


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟机自定义镜像长度_26

虚拟机自定义镜像长度 虚拟机镜像转换工具_xml_27

虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_28

虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟机自定义镜像长度_29

虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟机自定义镜像长度_30

虚拟机自定义镜像长度 虚拟机镜像转换工具_Desktop_31


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_32


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_33


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟机自定义镜像长度_34


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_35

3.打开虚拟机进行设定

虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟机自定义镜像长度_36


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_37


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_38


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟机自定义镜像长度_39


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟机自定义镜像长度_40


虚拟机自定义镜像长度 虚拟机镜像转换工具_xml_41


虚拟机自定义镜像长度 虚拟机镜像转换工具_xml_42

虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟机自定义镜像长度_43


虚拟机自定义镜像长度 虚拟机镜像转换工具_xml_44

注:

虚拟机自定义镜像长度 虚拟机镜像转换工具_Desktop_45

二.虚拟机的命令管理
virsh list                 # 列出正在运行的虚拟机
virsh list --all           # 列出所有的虚拟机
virsh shutdown rhel7.2     # 正常关机
virsh destroy  rhel7.2     # 强制关机
virt-viewer  rhel7.2      # 打开并显示 rhel7.2 这个虚拟机
virsh start  rhel7.2       # 开启虚拟机
gnime-session-quit --force   # 切换用户
[root@foundation42 Desktop]# virsh list  
Id    Name                           State
---------------------------------------------------- 
11    rhel7.2                        running 
[root@foundation42 Desktop]# virsh list --all 
Id    Name                           State
---------------------------------------------------- 
11    rhel7.2                        running 
-     desktop                        shut off
-     server                         shut off

虚拟机自定义镜像长度 虚拟机镜像转换工具_xml_46

[root@foundation42 Desktop]# virsh shutdown rhel7.2
[root@foundation42 Desktop]# virsh start  rhel7.2 
Domain rhel7.2 started
[root@foundation42 Desktop]# virt-viewer rhel7.2
三.虚拟机的迁移
html   # 超文本传输语言
xml    # 可扩展编辑语言,一般应用于数据封装 
rhel7.2.xml     # 包含虚拟机的硬件信息
rhel7.2.qcow2  # 系统信息
[root@foundation42 Desktop]# cd /mnt
[root@foundation42 mnt]# scp root@172.25.254.34:/etc/libvirt/qemu/westos1.xml .
root@172.25.254.34's password: 
westos1.xml                                  100% 4263     4.2KB/s   00:00    
[root@foundation42 mnt]# scp root@172.25.254.34:/var/lib/libvirt/images/westos1.qcow2  /mnt
root@172.25.254.34's password: 
westos1.qcow2                                100% 9218MB  53.3MB/s   02:53 
[root@foundation42 mnt]# mv westos1.qcow2 /var/lib/libvirt/images/ 
[root@foundation42 mnt]# virsh create westos1.xml  # 打开虚拟机Domain westos1 created from westos1.xml

注:westos1.xml这个文件在哪,就在哪个路径下执行这条命令

虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_47

[root@foundation42 mnt]# virsh define westos1.xml   # 生成虚拟机,define和undefine都只是对虚拟机的硬件信息进行控制
Domain westos1 defined from westos1.xml

虚拟机自定义镜像长度 虚拟机镜像转换工具_xml_48

[root@foundation42 mnt]# virsh undefine westos1   # 删除虚拟机的硬件信息 
Domain westos1 has been undefined 
[root@foundation42 mnt]# ls /var/lib/libvirt/images/   # 要想彻底删除,必须删除这个目录下的文件westos1.qcow2
四.虚拟机创建快照(创建快照的好处,比母盘小的多)
[root@foundation42 images]# du -sh westos1.qcow2 
9.1G	westos1.qcow2
[root@foundation42 images]# du -sh base1.qow2 
10M	base1.qow2
(1)脚本方式
[root@foundation42 Desktop]# vim vm_kuaizhao.sh  
#!/bin/bash  
qemu-img create \  
-f qcow2 \  
-b /var/lib/libvirt/images/$1.qcow2 \  
/var/lib/libvirt/images/$2.qcow2 &> /dev/null  
	   
virt-install \  
--name $2 \  
--vcpu 1 \ 
--memory 1024 \ 
--network source=br0,model=virtio \ 
--disk /var/lib/libvirt/images/$2.qcow2,bus=virtio \ 
--import &> /dev/null &

虚拟机自定义镜像长度 虚拟机镜像转换工具_Desktop_49

[root@foundation42 Desktop]# chmod +x vm_kuaizhao.sh
[root@foundation42 Desktop]# sh vm_kuaizhao.sh rhel7.2 base  # 执行脚本,创建快照

虚拟机自定义镜像长度 虚拟机镜像转换工具_xml_50

(2)图形方式
# 在真机里
[root@foundation42 Desktop]# cd /var/lib/libvirt/images/
[root@foundation42 images]# qemu-img create -f qcow2 -b westos1.qcow2 base1.qow2
[root@foundation42 images]# virt-manager

虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_51


虚拟机自定义镜像长度 虚拟机镜像转换工具_xml_52


虚拟机自定义镜像长度 虚拟机镜像转换工具_Desktop_53


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟化_54


虚拟机自定义镜像长度 虚拟机镜像转换工具_Desktop_55


虚拟机自定义镜像长度 虚拟机镜像转换工具_Desktop_56


虚拟机自定义镜像长度 虚拟机镜像转换工具_Desktop_57


虚拟机自定义镜像长度 虚拟机镜像转换工具_虚拟机自定义镜像长度_58