逻辑卷管理器(LVM)让磁盘空间管理更为便捷。如果一个文件系统需要更多的空间,可以在它的卷组中将空闲空间添加到其逻辑卷中,而文件系统可以根据你的意愿调整大小。如果某个磁盘启动失败,用于替换的磁盘可以使用卷组注册成一个物理卷,而逻辑卷扩展可以将数据迁移到新磁盘而不会丢失数据。
在如今,每台服务器空间都会因为我们的需求增长而不断扩展。逻辑卷可以用于RAID,SAN。单个物理卷将会被加入组以创建卷组,在卷组中,我们需要切割空间以创建逻辑卷。在使用逻辑卷时,我们可以使用某些命令来跨磁盘、跨逻辑卷扩展,或者减少逻辑卷大小,而不用重新格式化和重新对当前磁盘分区。卷可以跨磁盘抽取数据,这会增加I/O数据量。
LVM特性
可以在任何时候灵活地扩展空间。
可以安装和处理任何文件系统。
可以通过迁移来恢复错误磁盘。
可以使用快照功能恢复文件系统到先前的阶段。等等……
我的服务器设置 - 需求
操作系统 —— 安装有LVM的CentOS 6.5
服务器IP地址 —— 192.168.0.200
在Linux中创建LVM磁盘存储
1. 我们已经在虚拟磁盘(VDA)中使用了带LVM的CentOS 6.5操作系统。在此,我们可以使用下列命令查看到物理卷(PV),卷组(VG),逻辑卷(LV)。
# pvs # vgs# lvs
下面是上面截图中各个参数的说明。
物理磁盘大小(PV Size)
用作虚拟磁盘vda的磁盘
卷组大小(VG Size)
卷组名称(vg_tecmint)
逻辑卷名称(LogVol00,LogVol01)
LogVol00分配给swap,大小1GB
LogVol01分配给/,大小16.5GB
从上面看,我们可以知道VDA磁盘中没有足够的空闲空间。
2. 为了创建一个新卷组,我们需要在这台服务器上添加额外的3个硬盘。3个驱动器不是强制使用的,只要一个就足够用来创建新的VG,并在其中创建LV了。我在这里添加了更多的磁盘,目的只是用于演示和更多命令功能的说明。
下面是我已经额外添加的磁盘。
sda, sdb, sdc
# fdisk -l
用于操作系统(CentOS 6.5)的默认磁盘。
默认磁盘上定义的分区(vda1 = swap),(vda2 = /)。
额外添加的磁盘Disk1,Disk2,Disk3。
各个磁盘大小都是20GB,默认的卷组的PE大小为4MB,我们在该服务器上配置的卷组使用默认PE。
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了。
3. 只使用了vda,当前CentOS在使用lvm的vda物理磁盘中安装了/boot,/,swap,,该磁盘中没有空间剩余。
# df -TH
上面的图片中显示了用于根的挂载点已使用了18GB,因此没有空闲空间可用了。
4. 那么,让我们创建新的物理卷(pv),以及名为tecmintaddvg的卷组(vg),并在其中创建逻辑卷(lv)。这里,我们可以创建4个逻辑卷,分别名为 tecmint_documents,tecmint_manager以及tecmintaddvg。
我们可以扩展当前使用的卷组以获得更多空间。但在这里,我们将要做的是,创建新的卷组,然后在里面肆意妄为吧。过会儿,我们可以看到怎样来扩展使用中的卷组的文件系统。
在使用新磁盘前,我们需要使用fdisk来对磁盘分区。
# fdisk -cu /dev/sda
c – 关闭DOS兼容模式,推荐使用该选项。
u – 当列出分区表时,会以扇区而不是柱面显示。
接下来,请遵循以下步骤来创建新分区。
选择n来创建新分区。
选择p来创建主分区。
选择我们需要创建的分区号。
按Enter两次来使用整个磁盘空间。
我们需要修改新创建的分区类型,输入t。
选择需要修改的分区号,选择我们创建的分区号1。
这里,我们需要修改类型。我们需要创建LVM,因此我们使用LVM的类型代码8e。如果不知道类型代码,按L来列出所有类型代码。
打印我们创建的分区以确认。
这里我们可以看到Linux LVM的ID 8e。
写入修改并退出fdisk。
重复以上步骤,为另外2个磁盘sdb和sdc创建新分区。然后重启机器,使用fdisk命令来验证分区表。
# fdisk -l
编译自:http://www.tecmint.com/create-lvm-storage-in-linux/作者: Babin Lonston
原创:LCTT https://linux.cn/article-3965-1.html译者: joeren