kvm # 虚拟化,条件是虚拟机必须有全虚拟化功能
qemu-img # 管理虚拟机的存储
qemu # 管理虚拟机的硬件信息
镜像提供系统安装资源
虚拟机想要开启图形,内存大小必须大于768M
[root@foundation42 Desktop]#cat /proc/cpuinfo # 查看cpu信息,是否支持虚拟化,vmx表示有全虚拟化功能,i5也支持虚拟化
一.封装(共分为以下三部分)
1.选择硬件阶段
a.图形法
b.脚本
[kiosk@foundation42 Desktop]$ man virt-install # 不知道脚本文件写的内容以及格式,可以通过man命令来获取帮助
[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 &
[root@foundation42 Desktop]# chmod +x vm_creach.sh
[root@foundation42 Desktop]# sh vm_creach.sh
2.系统内部设置阶段
3.打开虚拟机进行设定
二.虚拟机的命令管理
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
[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这个文件在哪,就在哪个路径下执行这条命令
[root@foundation42 mnt]# virsh define westos1.xml # 生成虚拟机,define和undefine都只是对虚拟机的硬件信息进行控制
Domain westos1 defined from westos1.xml
[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 &
[root@foundation42 Desktop]# chmod +x vm_kuaizhao.sh
[root@foundation42 Desktop]# sh vm_kuaizhao.sh rhel7.2 base # 执行脚本,创建快照
(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