【3】KVM虚拟化存储 | 虚拟机磁盘挂载

目录

【概念】

一、存储池管理 

1.创建基于文件夹的存储池(目录)

2.定义存储池与其目录

3.创建已定义的存储池

4.激活并自动启动已定义的存储池

5.在存储池中创建虚拟机存储卷

6.存储池相关管理命令

二、生产环境存储池使用

三、磁盘格式

1.磁盘镜像文件格式

2.创建磁盘文件

四、挂载磁盘


【概念】

KVM必须要配置一个目录当作他存储磁盘镜像(存储卷)的目录,我们称这个目录为存储池。

默认存储池 

/ar/lib/libvirt/images/

一、存储池管理 

1.创建基于文件夹的存储池(目录)

[root@localhost ~]# mkdir -p /data/vmfs


2.定义存储池与其目录

[root@localhost ~]# virsh pool-define-as vmdisk --type dir --target /data/vmfs
Pool vmdisk defined


3.创建已定义的存储池

  • (1) 创建已定义的存储池
[root@localhost ~]# virsh pool-build vmdisk
Pool vmdisk built
  • (2) 查看已定义的存储池,存储池不激活无法使用
[root@localhost ~]# virsh pool-list --all
 Name                 State      Autostart 
-------------------------------------------
 data                 active     yes       
 images               active     yes       
 vmdisk               inactive   no  

4.激活并自动启动已定义的存储池

[root@localhost ~]# virsh pool-start vmdisk
Pool vmdisk started

[root@localhost ~]# virsh pool-autostart vmdisk
Pool vmdisk marked as autostarted

[root@localhost ~]# virsh pool-list --all
 Name                 State      Autostart 
-------------------------------------------
 data                 active     yes       
 images               active     yes       
 vmdisk               active     yes  

这样vmdisk存储池就创建好了,可以直接在这个存储池中创建虚拟磁盘文件了。

5.在存储池中创建虚拟机存储卷

[root@localhost ~]# virsh vol-create-as vmdisk test.qcow2 3G --format qcow2
Vol test.qcow2 created

  • 注1:KVM存储池主要是体现一种管理方式,可以通过挂载存储目录,lvm逻辑卷的方式创建存储池,虚拟机存储卷创建完成后,剩下的操作与无存储卷的方式无任何区别了。
  • 注2:KVM存储池也要用于虚拟机迁移任务。

6.存储池相关管理命令

  • (1)在存储池中删除虚拟机存储卷
[root@localhost ~]# virsh vol-delete --pool vmdisk test.qcow2
Vol test.qcow2 deleted

  • (2)取消激活存储池
[root@localhost ~]# virsh pool-destroy vmdisk
Pool vmdisk destroyed
  • (3)删除存储池定义的目录/data/vmfs
[root@localhost ~]# virsh pool-delete vmdisk
Pool vmdisk deleted
  • (4)取消定义存储池
[root@localhost ~]# virsh pool-undefine vmdisk
Pool vmdisk has been undefined

二、生产环境存储池使用

添加Ivm和远程存储即可 

三、磁盘格式

1.磁盘镜像文件格式

raw

  • 原始格式,性能最好

qcow

  • 先去网上了解一下cow(写时拷贝copy on write),性能远不能和raw相比,所以很快天折了,所以出现了qcow2

qcow2

  • 性能上还是不如raw,但是raw不支持快照,qcow2支持快照

ged

  • 现在默认安装好的用的是raw格式,所有做快照要把他转换成qcow2格式

什么叫写时拷贝?

  • raw立刻分配空间,不管你有没有用到那么多空间
  • qcow2只是承诺给你分配空间,但是只有当你需要用空间的时候,才会给你空间。最多只给你承诺空间的大小,避免空间浪费

2.创建磁盘文件

  • 建立qcow2格式磁盘文件:
[root@localhost ~]# qemu-img create -f qcow2 /var/lib/libvirt/images/test.qcow2 3G
Formatting '/var/lib/libvirt/images/test.qcow2', fmt=qcow2 size=3221225472 encryption=off cluster_size=65536 lazy_refcounts=off

  • 建立raw格式磁盘文件:
[root@localhost ~]# qemu-img create -f raw  /var/lib/libvirt/images/test.img 3G
Formatting '/var/lib/libvirt/images/test.img', fmt=raw size=3221225472 

  • 查看已经创建的虚拟碰盘文件:
[root@localhost ~]# qemu-img info /var/lib/libvirt/images/test.qcow2
image: /var/lib/libvirt/images/test.qcow2
file format: qcow2
virtual size: 3.0G (3221225472 bytes)
disk size: 196K
cluster_size: 65536
Format specific information:
    compat: 1.1
    lazy refcounts: false

下面可以看出来raw文件格式的直接就有3G空间,而qcow2初识空间很小 

[root@localhost ~]# ll -h  /var/lib/libvirt/images
total 11G
-rw-r--r-- 1 root root 3.0G Feb  2 09:39 test.img
-rw-r--r-- 1 root root 193K Feb  2 09:38 test.qcow2
-rw------- 1 qemu qemu  11G Jan 20 10:12 win2k12r2.img

四、挂载磁盘

作为虚拟化环境管理员,你肯定遇到过虚拟机无法启动的情况。实施排错时,你需要对虚拟机的内部进行检查。而Libguestfs Linux工具集可以在这种情况下为你提供帮助。

利用Libguestfs找出损坏的虚拟机文件。

Libguestfs允许在虚拟机上挂载任何类型的文件系统,以便修复启动故障。

使用Libguestfs,首先需要使用Libvirt。Libvirt是一个管理接口,可以和KVM、Xen和其他一些基于Liunx的虚拟机相互连接。Libguestfs的功能更加强大,可以打开Windows虚拟机上的文件。但是首先你需要将虚拟机迁移到libguestfs可用的环境当中,也就是Linux环境。

假如你是vmware的ESXI虚拟机,为了将虚拟机迁移到Linux当中,你可以使用SSH连接到ESXi主机,这意味着你首先需要启用ESXi主机上的SSH访问方式。完成之后,在Linux平台上运行下面的scp命令:

  • 查看磁盘镜像分区信息:
[root@localhost ~]# virsh list --all
 Id    Name                           State
----------------------------------------------------
 -     win2k12r2                      shut off

[root@localhost ~]# virt-df -h -d win2k12r2
Filesystem                                Size       Used  Available  Use%
win2k12r2:/dev/sdb                        4.1G       4.1G          0  100%
[root@localhost ~]# virt-filesystems -d win2k12r2
/dev/sdb
/dev/sda1
/dev/sda2
  • 挂载磁盘镜像分区:
[root@localhost ~]# guestmount -d win2k12r2 -m /dev/sdb --rw /mnt
[root@localhost ~]# df -h
Filesystem               Size  Used Avail Use% Mounted on
/dev/mapper/centos-root   17G   16G 1013M  95% /
devtmpfs                 3.8G     0  3.8G   0% /dev
tmpfs                    3.9G     0  3.9G   0% /dev/shm
tmpfs                    3.9G   12M  3.8G   1% /run
tmpfs                    3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda1               1014M  147M  868M  15% /boot
tmpfs                    781M     0  781M   0% /run/user/0
/dev/fuse                4.2G  4.2G     0 100% /mnt
[root@localhost mnt]# ls
autorun.inf  boot  bootmgr  bootmgr.efi  efi  setup.exe  sources  support

  • 取消挂载
[root@localhost mnt]# guestunmount /mnt 

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小强在学习的路上

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值