KVM虚拟化存储管理
kvm存储虚拟化
KVM 的存储虚拟化是通过存储池(Storage Pool)和卷(Volume)来管理的。
Storage Pool 是宿主机上可以看到的一片存储空间,可以是多种型;
Volume 是在 Storage Pool 中划分出的一块空间,宿主机将 Volume 分配给虚拟机,Volume 在虚拟机中看到的就是一块硬盘。
目录类型的 Storage Pool
文件目录是最常用的 Storage Pool 类型。KVM 将宿主机目录 /var/lib/libvirt/images/ 作为默认的 Storage Pool
Volume 是该目录下面的文件了,一个文件就是一个 Volume。
那 KVM 是怎么知道要把 /var/lib/libvirt/images 这个目录当做默认 Storage Pool 的呢?
实际上 KVM 所有可以使用的 Storage Pool 都定义在宿主机的 /etc/libvirt/storage 目录下,每个 Pool 一个 xml 文件,如下:
认有一个 default.xml,其内容如下:注意:Storage Pool 的类型是 “dir”,目录的路径就是/var/lib/libvirt/images
创建Storage Pool
一 打开虚拟机,为其虚拟机添加硬盘(添加存储)
二 设定好大小之后,选择管理
三 弹出对话框,点击左下角+号,为你的存储池设定名字和选择类型
四 为存储池选定路径,可以是自定义的,也可以选择默认的
五 删除存储池要先停掉存储池,点击圆点,而后点击圆圈内的拔×
虚机添加volume
一 先选择存储池,而后点击卷字旁的+号
二 弹出对话框,设定卷名,设定格式,设定卷大小
以上创建的卷 命名.qcow2 是一个文件,路径在/自定义或默认。使用文件做 Volume 有很多优点:存储方便、移植性好、可复制。
KVM 支持多种 Volume 文件格式:
raw:是默认格式,即原始磁盘镜像格式,移植性好,性能好,但大小固定,不能节省磁盘空间。
qcow2:是推荐使用的格式,cow 表示 copy on write,能够节省磁盘空间,支持 AES 加密,支持 zlib 压缩,支持多快照,功能很多。
vmdk:是 VMWare 的虚拟磁盘格式,也就是说 VMWare 虚机可以直接在 KVM上 运行。
kvm冷迁移
如何做冷迁移(就是说必须在关机的状态下做)
迁移磁盘和配置文件
第一步
先查看你的虚拟机保存在哪
虚拟磁盘源路径就是他的保存位置
第二步
cd /nfsdate(进入此路径)
第三步
scp 磁盘名 另一台ip:/var/lib/libvirt/images(资源池)
第四步
cd /etc/lib/libvirt/qemu (虚拟机配置文件保存路径)
第五步
scp 配置文件名 ip:/root
第六步
virsh define /root/文件名 (这是从新定义虚拟机)
virsh undefined vm1 删除域
第七步
vim /root/文件名 找到磁盘配置段 <devices> <source file=’/var/lib/libvirt/images/vm1.qcow2’/>
第八步
定义域
第九步
修边虚拟机的网络源要一致 改NIC 将网络源选择另一台虚拟机有的网络源,另一台也选择此网络源,两
第十步
virsh start vm1 (启动虚拟机)
virsh list(只显示开机的虚拟机)
virsh list - - all (开机关机的都显示)
第二台管理第一台,与之前一样,点击文件,添加,而后会提示下载一个软件包,下载就可以。选择强制安装。(切记,安装的时候,本地要配好源)
如果系统用的是7.3以下。要做以下操作
vim /etc/default/libivrt-bin
start_libvirtd="yes"
libvirtd_opts="-d -l"
vim /etc/libvirt/libvirtd.conf
listen_tls=0
listen_tcp=1
unix_sock_group=";ibvirtd"
unix_sock_ro_perms="0777"
unix_sock_rw_perms="0770"
auth_unix_ro="none"
auth_unix_rw="none"
auth_tcp="none"