逻辑卷管理具有很多功能,如快照和精简配置。 以前在(第三部分)中,我们已经看到了如何快照逻辑卷。 在本文中,我们将了解如何在LVM中设置精简资源调配卷。
在LVM中设置精简配置
什么是精简配置?
lvm中使用精简配置在精简池中创建虚拟磁盘。 让我们假设我有我的服务器中的15GB存储容量。 我已经有2个客户端,每个具有5GB存储。 您是第三个客户,您要求5GB存储。 当时我们使用提供整个5GB(厚卷),但你可以使用2GB从那5GB存储和3GB将是免费的,你可以填补它以后。
但是我们在瘦配置中做的是,我们使用在大卷组之一中定义精简池,并在精简池内定义精简卷。 所以,无论你写的任何文件将被存储,你的存储将显示为5GB。 但是整个5GB不会分配整个磁盘。 同样的过程也将为其他客户端。 像我说的有2个客户,你是我的第三个客户。
那么,让我们假设我为客户分配了多少总GB? 总共15GB已经完成,如果有人来找我,要求5GB我可以给? 答案是“ 有 ”,这里的自动精简配置,我可以给为5GB,即使我已经分配15GB的第四客户端。
警告 :从15GB,如果我们要置备超过15GB它被称为过度配置。
怎么运行的? 我们如何为新客户提供存储?
我已经提供了5GB,但你可能只使用2GB和其他3GB将是免费的。 在厚配置中,我们不能这样做,因为它将首先分配整个空间。
在精简配置如果我为你定义5GB它不会分配整个磁盘空间,而定义一个卷,它会增长到5GB根据你的数据写,希望你有它! 同样像你,其他客户端也不会使用完整卷,所以有机会添加5GB到一个新的客户端,这被称为过度配置。
但是它是强制性的监测每一个量的增长,如果不是最终会在灾难。 如果所有4个客户端将数据写入磁盘时您可能会遇到一个问题,因为它将填满您的15GB和溢出以获取丢弃卷。
要求
我的服务器设置
- 操作系统 - 安装LVM的CentOS 6.5
- 服务器IP - 192.168.0.200
第1步:设置精简池和卷
让我们实际上如何设置精简池和精简卷。 首先我们需要一个大型的卷组。 在这里,我创建卷组,15GB为示范的目的。 现在,使用以下命令列出卷组。
# vgcreate -s 32M vg_thin /dev/sdb1
列出卷组
接下来,在创建精简池和卷之前检查逻辑卷可用性的大小。
# vgs # lvs
检查逻辑卷
我们可以看到,在上面的lvs输出中只有文件系统和交换的默认逻辑卷。
创建精简池
要为卷组(vg_thin)中的15GB创建精简池,请使用以下命令。
# lvcreate -L 15G --thinpool tp_youcl_pool vg_thin
- -L -卷组的大小
- -thinpool -向邻创建thinpool
- tp_youcl_pool -精简池名称
- vg_thin -卷组名是我们需要创建池
创建精简池
要获得更多的细节,我们可以使用命令'lvdisplay'。
# lvdisplay vg_thin/tp_youcl_pool
逻辑卷信息
这里我们没有在这个精简池中创建虚拟精简卷。 在图像,我们可以看到分配池数据显示,0.00%。
创建Thin Volumes
现在我们可以使用带有选项-V(Virtual)的'lvcreate'命令帮助在精简池中定义精简卷。
# lvcreate -V 5G --thin -n thin_vol_client1 vg_thin/tp_youcl_pool
我在vg_thin卷组中创建与thin_vol_client1的tp_youcl_pool内部名称的精简虚拟卷。 现在,使用下面的命令列出逻辑卷。
# lvs
列出逻辑卷
刚才,我们已经创建了上面的轻薄的体积,这就是为什么没有数据显示,即0.00%M。
好吧,让我创建2个其他2客户端精简卷。 在这里,你可以看到现在有池(tp_youcl_pool)下创建3精简卷。 所以,从这一点,我们来了解我已经使用了所有15GB池。
创建精简卷
创建文件系统
现在,创建安装点并安装这三个精简卷,并使用以下命令在其中复制一些文件。
# mkdir -p /mnt/client1 /mnt/client2 /mnt/client3
列出创建的目录。
# ls -l /mnt/
创建安装点
使用'mkfs'命令为这些创建的精简卷创建文件系统。
# mkfs.ext4 /dev/vg_thin/thin_vol_client1 && mkfs.ext4 /dev/vg_thin/thin_vol_client2 && mkfs.ext4 /dev/vg_thin/thin_vol_client3
创建文件系统
使用'mount'命令将所有三个客户端卷挂载到创建的挂载点。
# mount /dev/vg_thin/thin_vol_client1 /mnt/client1/ && mount /dev/vg_thin/thin_vol_client2 /mnt/client2/ && mount /dev/vg_thin/thin_vol_client3 /mnt/client3/
使用'df'命令列出安装点。
# df -h
打印安装点
在这里,我们可以看到所有的3个客户端卷的安装,因此只有3%的数据在每个客户端的卷使用。 所以,让我们从我的桌面添加一些文件到所有3个挂载点,填补一些空间。
将文件添加到卷
现在列出安装点,并查看每个精简卷中使用的空间,并列出精简池以查看池中使用的大小。
# df -h # lvdisplay vg_thin/tp_youcl_pool
检查安装点大小
检查细池大小
上面的命令显示,三个挂接点及其大小百分比。
13% of datas used out of 5GB for client1 29% of datas used out of 5GB for client2 49% of datas used out of 5GB for client3
虽然寻找到了薄池,我们可以看到只有30%的数据是完全写入。 这是以上三个客户端虚拟卷的总和。
过度配置
现在第4的客户来找我,问了5GB的存储空间。 我可以给吗? 因为我已经给3GB的池给3个客户端。 是否可以给另一个客户5GB? 是的,可以给。 这是当我们使用过度配置 ,这意味着给空间比我有更多的。
让我为第四个客户端创建5GB并验证大小。
# lvcreate -V 5G --thin -n thin_vol_client4 vg_thin/tp_youcl_pool # lvs
创建精简存储
我在池中只有15GB大小,但我已经创建4卷内部精简池到20GB。 如果所有四个客户端开始向其卷中写入数据以填充速度,那时,我们将面临严重的情况,如果不是没有问题。
现在,我已经创建了文件系统thin_vol_client4,然后在安装到/ mnt / client4,并在复制一些文件。
# lvs
验证精简存储
我们可以在上面的图片中看到,在新建立的客户端4先进的89.34%和精简池的大小为59.19%,总使用大小使用。 如果所有这些用户都没有写入不好的卷,它将是免费的溢出,丢弃。 为了避免溢出,我们需要扩展精简池大小。
重要提示 :薄池只是一个逻辑卷,所以如果我们需要扩大薄池的大小,我们可以使用相同的命令一样,我们使用了逻辑卷延长,但我们不能减少的薄大小 - 。
# lvextend
在这里,我们可以看到如何扩展逻辑薄池(tp_youcl_pool)。
# lvextend -L +15G /dev/vg_thin/tp_youcl_pool
扩展精简存储
接下来,列出精简池大小。
# lvs
验证精简存储
此前我们tp_youcl_pool大小为15GB和4个精简卷这是在由20GB规定。 现在它已经扩展到30GB,因此我们的过度配置已经标准化,精简卷没有溢出,丢弃。 这样,您可以向池中添加更多精简卷。
在这里,我们已经了解了如何使用大型卷组创建一个精简池,并在使用超量配置并扩展池的精简池内创建精简池。 在下一篇文章中,我们将看到如何设置lvm Striping。