> Linux教程 > 系统运维 >

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


创建卷组

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
Create Volume Groups
创建卷组
Verify Volume Groups
验证卷组

理解vgs命令输出:

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

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


  1. # vgs -v
Check Volume Group Information
检查卷组信息

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


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

创建逻辑卷

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


  1. # lvs
List Current Volume Groups
列出当前卷组

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


  1. # pvs
Check Free Space
检查空闲空间

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

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

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


  1. # vgdisplay tecmint_add_vg
Create New Logical Volume
创建新逻辑卷
  • 默认分配给该卷组的PE为32MB,这里单个的PE大小为32MB。
  • 总可用PE是1725。

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


  1. # bc


  1. 1725PE/3 = 575 PE.
  2. 575 PE x 32MB = 18400 --> 18GB
Calculate Disk Space
计算磁盘空间

按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
List Created Logical Volumes
列出创建的逻辑卷

方法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
Verify Created Logical Volumes
验证创建的逻辑卷

这里,我们可以看到,当创建第三个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
Create Ext4 File System
创建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
Mount Logical Volumes
挂载逻辑卷

永久挂载

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


  1. # cat /etc/mtab

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


  1. # vim /etc/fstab

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


  1. /dev/mapper/tecmint_add_vg-tecmint_documents  /mnt/tecmint_documents ext4 defaults 0 0
  2. /dev/mapper/tecmint_add_vg-tecmint_public  /mnt/tecmint_public ext4 defaults 0 0
  3. /dev/mapper/tecmint_add_vg-tecmint_manager  /mnt/tecmint_manager ext4 defaults 0 0
Get mtab Mount Entry
获取mtab挂载条目*
Open fstab File
打开fstab文件
Add Auto Mount Entry
添加自动挂载条目

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


  1. # mount -av
Verify fstab Entry
验证fstab条目

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

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

 

via: http://www.tecmint.com/create-lvm-storage-in-linux/

作者:Babin Lonston 译者:GOLinux 校对:wxy

本文由 LCTT 原创翻译,Linux中国 荣誉推出



(责任编辑:IT)