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

在Linux中使用LVM构建灵活的磁盘存储(第一部分)

175次阅读
没有评论

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

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)

逻辑卷管理器(LVM)让磁盘空间管理更为便捷。如果一个文件系统需要更多的空间,可以在它的卷组中将空闲空间添加到其逻辑卷中,而文件系统可以根据你的意愿调整大小。如果某个磁盘启动失败,用于替换的磁盘可以使用卷组注册成一个物理卷,而逻辑卷扩展可以将数据迁移到新磁盘而不会丢失数据。

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
在 Linux 中创建 LVM 存储

在如今,每台服务器空间都会因为我们的需求增长而不断扩展。逻辑卷可以用于 RAID,SAN。单个物理卷将会被加入组以创建卷组,在卷组中,我们需要切割空间以创建逻辑卷。在使用逻辑卷时,我们可以使用某些命令来跨磁盘、跨逻辑卷扩展,或者减少逻辑卷大小,而不用重新格式化和重新对当前磁盘分区。卷可以跨磁盘抽取数据,这会增加 I / O 数据量。

  • 使用 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 http://www.linuxidc.com/Linux/2014-08/105381.htm

Linux 入门教程:使用 LVM 逻辑卷管理器管理灵活存储 http://www.linuxidc.com/Linux/2014-07/104443.htm

CentOS 6.3 下配置 LVM(逻辑卷管理)http://www.linuxidc.com/Linux/2014-06/103839.htm

Linux 的 LVM(Logical Volume Manager) 学习笔记 http://www.linuxidc.com/Linux/2014-05/101880.htm

LVM-snapshot:基于 LVM 快照的备份之准备工作 http://www.linuxidc.com/Linux/2014-05/101308.htm

LVM-snapshot:基于 LVM 快照的备份 http://www.linuxidc.com/Linux/2014-05/101307.htm

RHEL5.9 LVM 的使用 http://www.linuxidc.com/Linux/2014-02/97268.htm

LVM 特性

  • 可以在任何时候灵活地扩展空间。
  • 可以安装和处理任何文件系统。
  • 可以通过迁移来恢复错误磁盘。
  • 可以使用快照功能恢复文件系统到先前的阶段。等等……

我的服务器设置 – 需求

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

在 Linux 中创建 LVM 磁盘存储

1. 我们已经在虚拟磁盘(VDA)中使用了带 LVM 的 CentOS 6.5 操作系统。在此,我们可以使用下列命令查看到物理卷(PV),卷组(VG),逻辑卷(LV)。

  1. # pvs
  2. # vgs
  3. # lvs

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
检查物理卷

下面是上面截图中各个参数的说明。

  • 物理磁盘大小(PV Size)
  • 用作虚拟磁盘 vda 的磁盘
  • 卷组大小(VG Size)
  • 卷组名称(vg_tecmint)
  • 逻辑卷名称(LogVol00,LogVol01)
  • LogVol00 分配给 swap,大小 1GB
  • LogVol01 分配给 /,大小 16.5GB

从上面看,我们可以知道 VDA 磁盘中没有足够的空闲空间。

2. 为了创建一个 新卷组 ,我们需要在这台服务器上添加额外的 3 个硬盘。3 个驱动器不是强制使用的,只要一个就足够用来创建新的VG,并在其中创建LV 了。我在这里添加了更多的磁盘,目的只是用于演示和更多命令功能的说明。

下面是我已经额外添加的磁盘。

  1. sda, sdb, sdc

  1. # fdisk -l

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
验证添加的磁盘

  • 用于操作系统(CentOS 6.5)的默认磁盘。
  • 默认磁盘上定义的分区(vda1 = swap),(vda2 = /)。
  • 额外添加的磁盘 Disk1,Disk2,Disk3。

各个磁盘大小都是 20GB,默认的卷组的 PE 大小为 4MB,我们在该服务器上配置的卷组使用默认 PE。

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
卷组显示

  • VG Name – 卷组名称。
  • Format – LVM 架构使用 LVM2。
  • VG Access – 卷组为读写模式,备好待用。
  • VG Status – 卷组可调整大小,如果我们需要添加更多空间,我们可以扩展更多。
  • Cur LV – 当前卷组中有 2 个逻辑卷。
  • CurPV and Act PV – 当前使用的物理磁盘是 1(vda),已被激活,因此我们可以使用该卷组。
  • PE Size – 磁盘的物理扩展大小,可以定义使用 PE,或者 GB,LVM 的默认 PE 大小是 4MB。例如,如果我们需要创建 5GB 大小的逻辑卷,我们可以使用总计 1280 PE,你们懂我的意思么?

这里解释一下 -> 1024MB = 1GB,这样的话,1024MB x 5 = 5120PE = 5GB,然后 5120/4 = 1280,4 是默认的 PE 大小。

  • Total PE – 该卷组具有的 PE 数量。
  • Alloc PE – 总的 PE 使用量,已经使用的全部 PE,4482 x 4PE = 17928。
  • Free PE – 这里因为已经使用,所以没有空闲 PE 了。

 

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

3. 只使用了 vda,当前 CentOS 在使用 lvm 的 vda 物理磁盘中安装了/boot,/,swap,,该磁盘中没有空间剩余。

  1. # df -TH

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
检查磁盘空间

上面的图片中显示了用于根的挂载点已使用了18GB,因此没有空闲空间可用了。

4. 那么,让我们创建新的物理卷(pv),以及名为 tecmintaddvg 的卷组(vg),并在其中创建逻辑卷(lv)。这里,我们可以创建 4 个逻辑卷,分别名为 tecmint_documentstecmint_manager以及tecmintaddvg

我们可以扩展当前使用的卷组以获得更多空间。但在这里,我们将要做的是,创建新的卷组,然后在里面肆意妄为吧。过会儿,我们可以看到怎样来扩展使用中的卷组的文件系统。

在使用新磁盘前,我们需要使用 fdisk 来对磁盘分区。

  1. # fdisk -cu /dev/sda
  • c – 关闭 DOS 兼容模式,推荐使用该选项。
  • u – 当列出分区表时,会以扇区而不是柱面显示。

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
创建新的物理分区

接下来,请遵循以下步骤来创建新分区。

  • 选择 n 来创建新分区。
  • 选择 p 来创建主分区。
  • 选择我们需要创建的分区号。
  • Enter 两次来使用整个磁盘空间。
  • 我们需要修改新创建的分区类型,输入t
  • 选择需要修改的分区号,选择我们创建的分区号1
  • 这里,我们需要修改类型。我们需要创建 LVM,因此我们使用 LVM 的类型代码 8e。如果不知道类型代码,按 L 来列出所有类型代码。
  • 打印我们创建的分区以确认。
  • 这里我们可以看到 Linux LVM 的 ID 8e。
  • 写入修改并退出 fdisk。

重复以上步骤,为另外 2 个磁盘 sdb 和 sdc 创建新分区。然后重启机器,使用 fdisk 命令来验证分区表。

  1. # fdisk -l

Verify Partition Table
验证分区表

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)

逻辑卷管理器(LVM)让磁盘空间管理更为便捷。如果一个文件系统需要更多的空间,可以在它的卷组中将空闲空间添加到其逻辑卷中,而文件系统可以根据你的意愿调整大小。如果某个磁盘启动失败,用于替换的磁盘可以使用卷组注册成一个物理卷,而逻辑卷扩展可以将数据迁移到新磁盘而不会丢失数据。

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
在 Linux 中创建 LVM 存储

在如今,每台服务器空间都会因为我们的需求增长而不断扩展。逻辑卷可以用于 RAID,SAN。单个物理卷将会被加入组以创建卷组,在卷组中,我们需要切割空间以创建逻辑卷。在使用逻辑卷时,我们可以使用某些命令来跨磁盘、跨逻辑卷扩展,或者减少逻辑卷大小,而不用重新格式化和重新对当前磁盘分区。卷可以跨磁盘抽取数据,这会增加 I / O 数据量。

  • 使用 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 http://www.linuxidc.com/Linux/2014-08/105381.htm

Linux 入门教程:使用 LVM 逻辑卷管理器管理灵活存储 http://www.linuxidc.com/Linux/2014-07/104443.htm

CentOS 6.3 下配置 LVM(逻辑卷管理)http://www.linuxidc.com/Linux/2014-06/103839.htm

Linux 的 LVM(Logical Volume Manager) 学习笔记 http://www.linuxidc.com/Linux/2014-05/101880.htm

LVM-snapshot:基于 LVM 快照的备份之准备工作 http://www.linuxidc.com/Linux/2014-05/101308.htm

LVM-snapshot:基于 LVM 快照的备份 http://www.linuxidc.com/Linux/2014-05/101307.htm

RHEL5.9 LVM 的使用 http://www.linuxidc.com/Linux/2014-02/97268.htm

LVM 特性

  • 可以在任何时候灵活地扩展空间。
  • 可以安装和处理任何文件系统。
  • 可以通过迁移来恢复错误磁盘。
  • 可以使用快照功能恢复文件系统到先前的阶段。等等……

我的服务器设置 – 需求

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

在 Linux 中创建 LVM 磁盘存储

1. 我们已经在虚拟磁盘(VDA)中使用了带 LVM 的 CentOS 6.5 操作系统。在此,我们可以使用下列命令查看到物理卷(PV),卷组(VG),逻辑卷(LV)。

  1. # pvs
  2. # vgs
  3. # lvs

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
检查物理卷

下面是上面截图中各个参数的说明。

  • 物理磁盘大小(PV Size)
  • 用作虚拟磁盘 vda 的磁盘
  • 卷组大小(VG Size)
  • 卷组名称(vg_tecmint)
  • 逻辑卷名称(LogVol00,LogVol01)
  • LogVol00 分配给 swap,大小 1GB
  • LogVol01 分配给 /,大小 16.5GB

从上面看,我们可以知道 VDA 磁盘中没有足够的空闲空间。

2. 为了创建一个 新卷组 ,我们需要在这台服务器上添加额外的 3 个硬盘。3 个驱动器不是强制使用的,只要一个就足够用来创建新的VG,并在其中创建LV 了。我在这里添加了更多的磁盘,目的只是用于演示和更多命令功能的说明。

下面是我已经额外添加的磁盘。

  1. sda, sdb, sdc

  1. # fdisk -l

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
验证添加的磁盘

  • 用于操作系统(CentOS 6.5)的默认磁盘。
  • 默认磁盘上定义的分区(vda1 = swap),(vda2 = /)。
  • 额外添加的磁盘 Disk1,Disk2,Disk3。

各个磁盘大小都是 20GB,默认的卷组的 PE 大小为 4MB,我们在该服务器上配置的卷组使用默认 PE。

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
卷组显示

  • VG Name – 卷组名称。
  • Format – LVM 架构使用 LVM2。
  • VG Access – 卷组为读写模式,备好待用。
  • VG Status – 卷组可调整大小,如果我们需要添加更多空间,我们可以扩展更多。
  • Cur LV – 当前卷组中有 2 个逻辑卷。
  • CurPV and Act PV – 当前使用的物理磁盘是 1(vda),已被激活,因此我们可以使用该卷组。
  • PE Size – 磁盘的物理扩展大小,可以定义使用 PE,或者 GB,LVM 的默认 PE 大小是 4MB。例如,如果我们需要创建 5GB 大小的逻辑卷,我们可以使用总计 1280 PE,你们懂我的意思么?

这里解释一下 -> 1024MB = 1GB,这样的话,1024MB x 5 = 5120PE = 5GB,然后 5120/4 = 1280,4 是默认的 PE 大小。

  • Total PE – 该卷组具有的 PE 数量。
  • Alloc PE – 总的 PE 使用量,已经使用的全部 PE,4482 x 4PE = 17928。
  • Free PE – 这里因为已经使用,所以没有空闲 PE 了。

 

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

创建物理卷

5. 现在,该使用 3 个磁盘来创建物理卷了。这里,我已经使用 pvs 命令将物理磁盘列了出来,现在只有一个默认的 pvs 被列出来了。

  1. # pvs

然后,使用命令创建新的物理磁盘。

  1. # pvcreate /dev/sda1 /dev/sdb1 /dev/sdc1

再次列出磁盘来查看新创建物理磁盘。

  1. # pvs

Create Physical Volumes
创建物理卷

创建卷组

6. 使用可用的空闲 PV 来创建名为 tecmintaddvg 的卷组,PE 大小为 32。显示当前卷组,我们可以看到只有带有 1 个 PV 的一个卷组在使用。

  1. # vgs

这将使用上面创建的 3 个物理卷创建名为 tecmintaddvg 的卷组,PE 大小为 32MB。

  1. # vgcreate -s 32M tecmint_add_vg /dev/sda1 /dev/sdb1 /dev/sdc1

接下来,再次运行 vgs 命令来验证卷组。

  1. # vgs

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
创建卷组
在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
验证卷组

理解 vgs 命令输出:

  • 卷组名。
  • 本卷组中使用的物理卷。
  • 显示本卷组中的可用空闲空间。
  • 卷组总大小。
  • 本卷组中的逻辑卷,这里我们还没创建,所以是 0。
  • SN = 卷组包含的快照数量。(后面,我们会创建一个快照。)
  • 卷组状态,如可写,可读,可调整大小,已导出,部分的和集群的。这里是 wz——意为 w = 可写,z = 可调整大小。
  • 卷组中使用的物理卷(PV)数量。

7. 使用命令来显示更多卷组信息。

  1. # vgs -v

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
检查卷组信息

8. 要获取更多关于新创建的卷组信息,运行以下命令。

  1. # vgdisplay tecmint_add_vg

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
列出新卷组

  • 卷组名称
  • 使用的 LVM 架构。
  • 可读写,备好待用。
  • 该卷组可以调整大小。
  • 使用和激活的物理磁盘数量。
  • 卷组总大小。
  • 这里单个 PE 大小为 32。
  • 该卷组中可用的 PE 总数。
  • 当前还没有在卷组中创建任何 LV,因此它是空闲的。
  • 该卷组的 UUID。

创建逻辑卷

9. 现在,创建 3 个名为 tecmint_documents,tecmint_managertecmint_public的逻辑卷。这里,我们可以看到如何分别以 PE 为单位和 GB 为单位来创建逻辑卷。首先,使用以下命令来列出当前逻辑卷。

  1. # lvs

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
列出当前卷组

10. 这些逻辑卷处于 vg_tecmint 卷组中使用 pvs 命令来列出并查看有多少空闲空间可以创建逻辑卷。

  1. # pvs

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
检查空闲空间

11. 卷组大小为54GB,而且未被使用,所以我们可以在该组内创建 LV。让我们将卷组平均划分大小来创建 3 个逻辑卷,就是说54GB/3 = 18GB,创建出来的单个逻辑卷应该会是 18GB。

方法 1:使用 PE 创建逻辑卷

首先,让我们使用物理扩展(PE)为单位来创建逻辑卷。我们需要知道分配到该卷组的默认 PE 大小,以及总的可用 PE 大小来创建新的逻辑卷,运行下面的命令来获取使用中的卷组信息。

  1. # vgdisplay tecmint_add_vg

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
创建新逻辑卷

  • 默认分配给该卷组的 PE 为 32MB,这里单个的 PE 大小为 32MB。
  • 总可用 PE 是 1725。

只要用 bc 命令做一点小小的计算来看看就知道了。

  1. # bc

  1. 1725PE/3=575 PE.
  2. 575 PE x 32MB=18400–>18GB

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
计算磁盘空间

CRTL+D 退出bc。现在让我们使用 575 个 PE 来创建 3 个逻辑卷。

  1. # lvcreate -l (Extend size) -n (name_of_logical_volume) (volume_group)
  2. # lvcreate -l 575 -n tecmint_documents tecmint_add_vg
  3. # lvcreate -l 575 -n tecmint_manager tecmint_add_vg
  4. # lvcreate -l 575 -n tecmint_public tecmint_add_vg
  • l – 使用扩展大小创建
  • n – 给逻辑卷命名

使用 lvs 命令来列出创建的逻辑卷。

  1. # lvs

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
列出创建的逻辑卷

方法 2:使用 GB 大小创建逻辑卷

在使用 GB 大小创建逻辑卷时,我们不能获得精确的大小。因此,最好的办法是用扩展。

  1. # lvcreate -L 18G -n tecmint_documents tecmint_add_vg
  2. # lvcreate -L 18G -n tecmint_manager tecmint_add_vg
  3. # lvcreate -L 18G -n tecmint_public tecmint_add_vg
  4. # lvcreate -L 17.8G -n tecmint_public tecmint_add_vg

使用 lvs 命令来列出创建的逻辑卷。

  1. # lvs

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
验证创建的逻辑卷

这里,我们可以看到,当创建第三个 LV 的时候,我们不能收集到 18GB 空间。这是因为尺寸有小小的改变,但在使用或者尺寸来创建 LV 时,这个问题会被忽略。

创建文件系统

12. 要使用逻辑卷,我们需要格式化。这里我使用 ext4 文件系统来创建卷,并打算挂载到/mnt

  1. # mkfs.ext4 /dev/tecmint_add_vg/tecmint_documents
  2. # mkfs.ext4 /dev/tecmint_add_vg/tecmint_public
  3. # mkfs.ext4 /dev/tecmint_add_vg/tecmint_manager

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
创建 Ext4 文件系统

13. 让我们在 /mnt 下创建目录,并将已创建好文件系统的逻辑卷挂载上去。

  1. # mount /dev/tecmint_add_vg/tecmint_documents /mnt/tecmint_documents/
  2. # mount /dev/tecmint_add_vg/tecmint_public /mnt/tecmint_public/
  3. # mount /dev/tecmint_add_vg/tecmint_manager /mnt/tecmint_manager/

使用下面的命令来列出并确认挂载点。

  1. # df -h

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
挂载逻辑卷

永久挂载

现在,这些逻辑卷是临时挂载上去的,要永久挂载,我们需要添加条目到 fstab 中。要达到这个目的,让我们使用下面的命令来获取挂载条目

  1. # cat /etc/mtab

在输入来自 mtab 中的挂载条目内容时,我们需要在 fstab 中做些小小的改变,修改 rw 为默认。

  1. # vim /etc/fstab

我们的 fstab 条目应该和下面的类似,使用 wq!保存并退出 fstab。

  1. /dev/mapper/tecmint_add_vgtecmint_documents /mnt/tecmint_documents ext4 defaults 00
  2. /dev/mapper/tecmint_add_vgtecmint_public /mnt/tecmint_public ext4 defaults 00
  3. /dev/mapper/tecmint_add_vgtecmint_manager /mnt/tecmint_manager ext4 defaults 00

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
获取 mtab 挂载条目 *
在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
打开 fstab 文件
在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
添加自动挂载条目

重启前,执行 mount - a 命令来检查 fstab 条目。

  1. # mount -av

在 Linux 中使用 LVM 构建灵活的磁盘存储(第一部分)
验证 fstab 条目

这里,我们已经了解了怎样来使用逻辑卷构建灵活的存储,从使用物理磁盘到物理卷,物理卷到卷组,卷组再到逻辑卷。

在我即将奉献的文章中,我将介绍如何扩展卷组、逻辑卷,减少逻辑卷,拍快照以及从快照中恢复。

在 Linux 中扩展 / 缩减 LVM(第二部分)  http://www.linuxidc.com/Linux/2014-10/107786.htm

Linux 入门教程:使用 LVM 逻辑卷管理器管理灵活存储 http://www.linuxidc.com/Linux/2014-07/104443.htm

CentOS 6.3 下配置 LVM(逻辑卷管理)http://www.linuxidc.com/Linux/2014-06/103839.htm

Linux LVM 简明教程 http://www.linuxidc.com/Linux/2014-06/103390.htm

Linux 的 LVM(Logical Volume Manager) 学习笔记 http://www.linuxidc.com/Linux/2014-05/101880.htm

RHCE 认证笔记:LVM 实验 http://www.linuxidc.com/Linux/2014-04/99685.htm

Linux 系统管理之 LVM 案例 http://www.linuxidc.com/Linux/2014-02/96987.htm

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