阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

在LVM中设置精简资源调配卷(第四部分)

148次阅读
没有评论

共计 6509 个字符,预计需要花费 17 分钟才能阅读完成。

在 LVM 中设置精简资源调配卷(第四部分)

逻辑卷管理有许多特性,比如像快照和精简资源调配。在先前(第三部分中),我们已经介绍了如何为逻辑卷创建快照。在本文中,我们将了解如何在 LVM 中设置精简资源调配。

在 LVM 中设置精简资源调配卷(第四部分)

在 LVM 中设置精简资源调配

精简资源调配是什么?

精简资源调配用于 LVM 以在精简池中创建虚拟磁盘。我们假定我服务器上有 15GB 的存储容量,而我已经有 2 个客户各自占去了 5GB 存储空间。你是第三个客户,你也请求 5GB 的存储空间。在以前,我们会提供整个 5GB 的空间(富卷)。然而,你可能只使用 5GB 中的 2GB,其它 3GB 以后再去填满它。

而在精简资源调配中我们所做的是,在其中一个大卷组中定义一个精简池,再在精简池中定义一个精简卷。这样,不管你写入什么文件,它都会保存进去,而你的存储空间看上去就是 5GB。然而,这所有 5GB 空间不会全部铺满整个硬盘。对其它客户也进行同样的操作,就像我说的,那儿已经有两个客户,你是第三个客户。

那么,让我们想想,我到底为客户分配了总计多少 GB 的空间呢?所有 15GB 的空间已经全部分配完了,如果现在有某个人来问我是否能提供 5GB 空间,我还可以分配给他么?答案是“可以”。在精简资源调配中,我可以为第四位客户分配 5GB 空间,即使我已经把那 15GB 的空间分配完了。

警告:从那 15GB 空间中,如果我们对资源调配超过 15GB 了,那就是过度资源调配了。

它是怎么工作的?我们又是怎样为客户提供存储空间的?

我已经提供给你 5GB 空间,但是你可能只用了 2GB,而其它 3GB 还空闲着。在富资源调配中,我们不能这么做,因为它一开始就分配了整个空间。

在精简资源调配中,如果我为你定义了 5GB 空间,它就不会在定义卷时就将整个磁盘空间全部分配,它会根据你的数据写入而增长,希望你看懂了!跟你一样,其它客户也不会使用全部卷,所以还是有机会为一个新客户分配 5GB 空间的,这称之为过度资源调配。

但是,必须对各个卷的增长情况进行监控,否则结局会是个灾难。在过度资源调配完成后,如果所有 4 个客户都尽量写入数据到磁盘,你将碰到问题了。因为这个动作会填满 15GB 的存储空间,甚至溢出,从而导致这些卷下线。

前置阅读

  • 使用 LVM 创建弹性磁盘存储——第一部分  http://www.linuxidc.com/Linux/2014-10/107697.htm
  • 在 Linux 中扩展 / 缩减 LVM(第二部分)http://www.linuxidc.com/Linux/2014-10/107786.htm
  • 在 LVM 中 录制逻辑卷快照并恢复(第三部分)http://www.linuxidc.com/Linux/2014-11/108867.htm

我的服务器设置

操作系统 — 安装有 LVM 的 CentOS 6.5
服务器 IP — 192.168.0.200

步骤 1:设置精简池和卷

理论讲太多了,让我们还是来点实际的吧,我们一起来设置精简池和精简卷。首先,我们需要一个大尺寸的卷组。这里,我创建了一个 15GB 的卷组用于演示。现在,用下面的命令来列出卷组。

  1. # vgcreate -s 32M vg_thin /dev/sdb1

在 LVM 中设置精简资源调配卷(第四部分)

列出卷组

接下来,在创建精简池和精简卷之前,检查逻辑卷有多少空间可用。

  1. # vgs
  2. # lvs

在 LVM 中设置精简资源调配卷(第四部分)

检查逻辑卷

我们可以在上面的 lvs 命令输出中看到,只显示了一些默认逻辑用于文件系统和交换分区。

创建精简池

使用以下命令在卷组(vg_thin)中创建一个 15GB 的精简池。

  1. # lvcreate -L 15G –thinpool tp_tecmint_pool vg_thin
  • -L – 卷组大小
  • –thinpool – 创建精简池
  • tp_tecmint_poolThin – 精简池名称
  • vg_thin – 我们需要创建精简池的卷组名称

在 LVM 中设置精简资源调配卷(第四部分)

创建精简池

使用‘lvdisplay’命令来查看详细信息。

  1. # lvdisplay vg_thin/tp_tecmint_pool

在 LVM 中设置精简资源调配卷(第四部分)

逻辑卷信息

这里,我们还没有在该精简池中创建虚拟精简卷。在图片中,我们可以看到分配的精简池数据为0.00%

创建精简卷

现在,我们可以在带有 -V(Virtual)选项的‘lvcreate’命令的帮助下,在精简池中定义精简卷了。

  1. # lvcreate -V 5G –thin -n thin_vol_client1 vg_thin/tp_tecmint_pool

我已经在我的 vg_thin 卷组中的 tp_tecmint_pool 内创建了一个精简虚拟卷,取名为thin_vol_client1。现在,使用下面的命令来列出逻辑卷。

  1. # lvs

在 LVM 中设置精简资源调配卷(第四部分)

列出逻辑卷

刚才,我们已经在上面创建了精简卷,这就是为什么没有数据,显示为0.00%M

好吧,让我为其它 2 个客户再创建 2 个精简卷。这里,你可以看到在精简池(tp_tecmint_pool)下有 3 个精简卷了。所以,从这一点上看,我们开始明白,我已经使用所有 15GB 的精简池。

在 LVM 中设置精简资源调配卷(第四部分)

创建文件系统

现在,使用下面的命令为这 3 个精简卷创建挂载点并挂载,然后拷贝一些文件进去。

  1. # mkdir -p /mnt/client1 /mnt/client2 /mnt/client3

列出创建的目录。

  1. # ls -l /mnt/

在 LVM 中设置精简资源调配卷(第四部分)

创建挂载点

使用‘mkfs’命令为这些创建的精简卷创建文件系统。

  1. # mkfs.ext4 /dev/vg_thin/thin_vol_client1 && mkfs.ext4 /dev/vg_thin/thin_vol_client2 && mkfs.ext4 /dev/vg_thin/thin_vol_client3

在 LVM 中设置精简资源调配卷(第四部分)

创建文件系统

使用‘mount’命令来挂载所有 3 个客户卷到创建的挂载点。

  1. # 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’命令来列出挂载点。

  1. # df -h

在 LVM 中设置精简资源调配卷(第四部分)

显示挂载点

这里,我们可以看到所有 3 个客户卷已经挂载了,而每个客户卷只使用了 3% 的数据空间。那么,让我们从桌面添加一些文件到这 3 个挂载点,以填充一些空间。

在 LVM 中设置精简资源调配卷(第四部分)

添加文件到卷

现在列出挂载点,并查看每个精简卷使用的空间,然后列出精简池来查看池中已使用的大小。

  1. # df -h
  2. # lvdisplay vg_thin/tp_tecmint_pool

在 LVM 中设置精简资源调配卷(第四部分)

检查挂载点大小

在 LVM 中设置精简资源调配卷(第四部分)

检查精简池大小

上面的命令显示了 3 个挂载点及其使用大小百分比。

  1. 13% of datas used out of 5GBfor client1
  2. 29% of datas used out of 5GBfor client2
  3. 49% of datas used out of 5GBfor client3

在查看精简池时,我们看到总共只有 30% 的数据被写入,这是上面 3 个客户虚拟卷的总使用量。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-11/109757p2.htm

过度资源调配

现在,第四个 客户来申请 5GB 的存储空间。我能给他吗?因为我已经把 15GB 的池分配给了 3 个客户。能不能再给另外一个客户分配 5GB 的空间呢?可以,这完全可能。在我们使用 过度资源调配 时,就可以实现。过度资源调配可以给我们比我们所拥有的更大的空间。

让我来为第四位客户创建 5GB 的空间,然后再验证一下大小吧。

  1. # lvcreate -V 5G –thin -n thin_vol_client4 vg_thin/tp_tecmint_pool
  2. # lvs

在 LVM 中设置精简资源调配卷(第四部分)

创建精简存储

在精简池中,我只有 15GB 大小的空间,但是我已经在精简池中创建了 4 个卷,其总量达到了 20GB。如果 4 个客户都开始写入数据到他们的卷,并将空间填满,到那时我们将面对严峻的形势。如果不填满空间,那不会有问题。

现在,我已经创建在 thin_vol_client4 中创建了文件系统,然后挂载到了 /mnt/client4 下,并且拷贝了一些文件到里头。

  1. # lvs

在 LVM 中设置精简资源调配卷(第四部分)

验证精简存储

我们可以在上面的图片中看到,新创建的 client 4 总计使用空间达到了89.34%,而精简池的已用空间达到了59.19。如果所有这些用户不再过度对卷写入,那么它就不会溢出,下线。要避免溢出的话,我们需要扩展精简池大小。

重要:精简池只是一个逻辑卷,因此,如果我们需要对其进行扩展,我们可以使用和扩展逻辑卷一样的命令,但我们不能缩减精简池大小。

  1. # lvextend

这里,我们可以看到怎样来扩展逻辑精简池(tptecmintpool)。

  1. # lvextend -L +15G /dev/vg_thin/tp_tecmint_pool

在 LVM 中设置精简资源调配卷(第四部分)

扩展精简存储

接下来,列出精简池大小。

  1. # lvs

在 LVM 中设置精简资源调配卷(第四部分)

验证精简存储

前面,我们的 tptecmintpool 大小为 15GB,而在对第四个精简卷进行过度资源配置后达到了 20GB。现在,它扩展到了 30GB,所以我们的过度资源配置又回归常态,而精简卷也不会溢出下线了。通过这种方式,我们可以添加更多的精简卷到精简池中。

在本文中,我们已经了解了怎样来使用一个大尺寸的卷组创建一个精简池,以及怎样通过过度资源配置在精简池中创建精简卷和扩着精简池。在下一篇文章中,我们将介绍怎样来移除逻辑卷。

在 LVM 中设置精简资源调配卷(第四部分)

逻辑卷管理有许多特性,比如像快照和精简资源调配。在先前(第三部分中),我们已经介绍了如何为逻辑卷创建快照。在本文中,我们将了解如何在 LVM 中设置精简资源调配。

在 LVM 中设置精简资源调配卷(第四部分)

在 LVM 中设置精简资源调配

精简资源调配是什么?

精简资源调配用于 LVM 以在精简池中创建虚拟磁盘。我们假定我服务器上有 15GB 的存储容量,而我已经有 2 个客户各自占去了 5GB 存储空间。你是第三个客户,你也请求 5GB 的存储空间。在以前,我们会提供整个 5GB 的空间(富卷)。然而,你可能只使用 5GB 中的 2GB,其它 3GB 以后再去填满它。

而在精简资源调配中我们所做的是,在其中一个大卷组中定义一个精简池,再在精简池中定义一个精简卷。这样,不管你写入什么文件,它都会保存进去,而你的存储空间看上去就是 5GB。然而,这所有 5GB 空间不会全部铺满整个硬盘。对其它客户也进行同样的操作,就像我说的,那儿已经有两个客户,你是第三个客户。

那么,让我们想想,我到底为客户分配了总计多少 GB 的空间呢?所有 15GB 的空间已经全部分配完了,如果现在有某个人来问我是否能提供 5GB 空间,我还可以分配给他么?答案是“可以”。在精简资源调配中,我可以为第四位客户分配 5GB 空间,即使我已经把那 15GB 的空间分配完了。

警告:从那 15GB 空间中,如果我们对资源调配超过 15GB 了,那就是过度资源调配了。

它是怎么工作的?我们又是怎样为客户提供存储空间的?

我已经提供给你 5GB 空间,但是你可能只用了 2GB,而其它 3GB 还空闲着。在富资源调配中,我们不能这么做,因为它一开始就分配了整个空间。

在精简资源调配中,如果我为你定义了 5GB 空间,它就不会在定义卷时就将整个磁盘空间全部分配,它会根据你的数据写入而增长,希望你看懂了!跟你一样,其它客户也不会使用全部卷,所以还是有机会为一个新客户分配 5GB 空间的,这称之为过度资源调配。

但是,必须对各个卷的增长情况进行监控,否则结局会是个灾难。在过度资源调配完成后,如果所有 4 个客户都尽量写入数据到磁盘,你将碰到问题了。因为这个动作会填满 15GB 的存储空间,甚至溢出,从而导致这些卷下线。

前置阅读

  • 使用 LVM 创建弹性磁盘存储——第一部分  http://www.linuxidc.com/Linux/2014-10/107697.htm
  • 在 Linux 中扩展 / 缩减 LVM(第二部分)http://www.linuxidc.com/Linux/2014-10/107786.htm
  • 在 LVM 中 录制逻辑卷快照并恢复(第三部分)http://www.linuxidc.com/Linux/2014-11/108867.htm

我的服务器设置

操作系统 — 安装有 LVM 的 CentOS 6.5
服务器 IP — 192.168.0.200

步骤 1:设置精简池和卷

理论讲太多了,让我们还是来点实际的吧,我们一起来设置精简池和精简卷。首先,我们需要一个大尺寸的卷组。这里,我创建了一个 15GB 的卷组用于演示。现在,用下面的命令来列出卷组。

  1. # vgcreate -s 32M vg_thin /dev/sdb1

在 LVM 中设置精简资源调配卷(第四部分)

列出卷组

接下来,在创建精简池和精简卷之前,检查逻辑卷有多少空间可用。

  1. # vgs
  2. # lvs

在 LVM 中设置精简资源调配卷(第四部分)

检查逻辑卷

我们可以在上面的 lvs 命令输出中看到,只显示了一些默认逻辑用于文件系统和交换分区。

创建精简池

使用以下命令在卷组(vg_thin)中创建一个 15GB 的精简池。

  1. # lvcreate -L 15G –thinpool tp_tecmint_pool vg_thin
  • -L – 卷组大小
  • –thinpool – 创建精简池
  • tp_tecmint_poolThin – 精简池名称
  • vg_thin – 我们需要创建精简池的卷组名称

在 LVM 中设置精简资源调配卷(第四部分)

创建精简池

使用‘lvdisplay’命令来查看详细信息。

  1. # lvdisplay vg_thin/tp_tecmint_pool

在 LVM 中设置精简资源调配卷(第四部分)

逻辑卷信息

这里,我们还没有在该精简池中创建虚拟精简卷。在图片中,我们可以看到分配的精简池数据为0.00%

创建精简卷

现在,我们可以在带有 -V(Virtual)选项的‘lvcreate’命令的帮助下,在精简池中定义精简卷了。

  1. # lvcreate -V 5G –thin -n thin_vol_client1 vg_thin/tp_tecmint_pool

我已经在我的 vg_thin 卷组中的 tp_tecmint_pool 内创建了一个精简虚拟卷,取名为thin_vol_client1。现在,使用下面的命令来列出逻辑卷。

  1. # lvs

在 LVM 中设置精简资源调配卷(第四部分)

列出逻辑卷

刚才,我们已经在上面创建了精简卷,这就是为什么没有数据,显示为0.00%M

好吧,让我为其它 2 个客户再创建 2 个精简卷。这里,你可以看到在精简池(tp_tecmint_pool)下有 3 个精简卷了。所以,从这一点上看,我们开始明白,我已经使用所有 15GB 的精简池。

在 LVM 中设置精简资源调配卷(第四部分)

创建文件系统

现在,使用下面的命令为这 3 个精简卷创建挂载点并挂载,然后拷贝一些文件进去。

  1. # mkdir -p /mnt/client1 /mnt/client2 /mnt/client3

列出创建的目录。

  1. # ls -l /mnt/

在 LVM 中设置精简资源调配卷(第四部分)

创建挂载点

使用‘mkfs’命令为这些创建的精简卷创建文件系统。

  1. # mkfs.ext4 /dev/vg_thin/thin_vol_client1 && mkfs.ext4 /dev/vg_thin/thin_vol_client2 && mkfs.ext4 /dev/vg_thin/thin_vol_client3

在 LVM 中设置精简资源调配卷(第四部分)

创建文件系统

使用‘mount’命令来挂载所有 3 个客户卷到创建的挂载点。

  1. # 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’命令来列出挂载点。

  1. # df -h

在 LVM 中设置精简资源调配卷(第四部分)

显示挂载点

这里,我们可以看到所有 3 个客户卷已经挂载了,而每个客户卷只使用了 3% 的数据空间。那么,让我们从桌面添加一些文件到这 3 个挂载点,以填充一些空间。

在 LVM 中设置精简资源调配卷(第四部分)

添加文件到卷

现在列出挂载点,并查看每个精简卷使用的空间,然后列出精简池来查看池中已使用的大小。

  1. # df -h
  2. # lvdisplay vg_thin/tp_tecmint_pool

在 LVM 中设置精简资源调配卷(第四部分)

检查挂载点大小

在 LVM 中设置精简资源调配卷(第四部分)

检查精简池大小

上面的命令显示了 3 个挂载点及其使用大小百分比。

  1. 13% of datas used out of 5GBfor client1
  2. 29% of datas used out of 5GBfor client2
  3. 49% of datas used out of 5GBfor client3

在查看精简池时,我们看到总共只有 30% 的数据被写入,这是上面 3 个客户虚拟卷的总使用量。

更多详情见请继续阅读下一页的精彩内容:http://www.linuxidc.com/Linux/2014-11/109757p2.htm

正文完
星哥说事-微信公众号
post-qrcode
 
星锅
版权声明:本站原创文章,由 星锅 2022-01-20发表,共计6509字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中