Ubuntu的Linux逻辑卷管理-LVM快速入门

LVM(逻辑卷)管理系统可以将多个物理磁盘组装为一个大的逻辑磁盘进行使用,尤其是管理大文件时非常方便。LVM可以减少多个磁盘的部分空间闲置的情况,集中使用提高磁盘利用率。LVM的卷可以动态伸缩,方便使用。

LVM由PV(物理卷)、VG(卷组)、LV(逻辑卷)组成,其中PV对应到物理磁盘的一个物理分区,LV相当于一个逻辑分区,VG建立起逻辑卷和物理卷之间的对应关系。

1、将物理磁盘转换为PV

  • 注意:备份您的所有数据!

查看物理磁盘信息

df -h

创建物理卷

如果要将物理分区/dev/sdb2转为物理卷:

sudo pvcreate /dev/sdb2

将把LVM的标志符写入到磁盘之中。

查看物理卷

sudo pvs

2、建立逻辑卷组-VG

2.1 创建逻辑卷组

以上面添加的第一个物理盘为基础,创建逻辑卷组

vgcreate vgdata /dev/sdb2 

2.2 激活VG

在被激活之前,VG与LV是无法访问的,这时可用命令:

sudo vgchange -a y  vgdata

激活所要使用的卷组。

2.3 卸载VG

当不再使用VG时,可用vgchange使之不再可用。

sudo vgchange -a n  vgdata

3、建立逻辑卷-LV

3.1 命令lvcreate用于创建逻辑卷

语法如下:

lvcreate [options]  -n 逻辑卷名  卷组名 [PV1 ... ]

其中的常用可选项有:

  • -i Stripes :采用交错(striped)方式创建LV,其中Stripes指卷组中PV的数量。
  • -I Stripe_size :采用交错方式时采用的块大小(单位为KB),Stripe_size必须为2的指数:2N ,N=2,3...9。
  • -l LEs :指定LV的逻辑块数。
  • -L size :指定LV的大小,其后可以用K、M、G表示KB、MB、GB。
  • -s :创建一已存在LV的snapshot卷。
  • -n name :为LV指定名称。

3.2 将整个物理卷指定为逻辑卷

如果需要LV使用整个VG,可首先用vgdisplay 查找 Total PE 值,然后在运行lvcreate时指定,如:

# sudo vgdisplay vgdata | grep "Total PE"
Total PE              10230

# sudo lvcreate -l 10230 vgdata -n data 

这时创建了一个逻辑卷,名称为data。

3.3 创建文件系统

创建出的逻辑卷相当于系统的一个“裸磁盘分区”,需要进一步创建文件系统和进行格式化。

sudo mke2fs /dev/vgdata/data 

3.4 伸缩逻辑卷

为逻辑卷增加容量可用使用lvextend,即可以指定要增加的尺寸也可以指定扩容后的尺寸,如

# lvextend -L12G /dev/vgdata/data
lvextend -- extending logical volume "/dev/testvg/testlv" to 12 GB
lvextend -- doing automatic backup of volume group "testvg"
lvextend -- logical volume "/dev/testvg/testlv" successfully extended

将扩大逻辑卷data的容量为12GB。

# lvextend -L+1G /dev/testvg/testlv
lvextend -- extending logical volume "/dev/testvg/testlv" to 13 GB
lvextend -- doing automatic backup of volume group "testvg"
lvextend -- logical volume "/dev/testvg/testlv" successfully extended

将为LV testlv再增大容量1GB至13GB。

为LV扩容的一个前提是:LV所在的VG有足够的空闲存储空间可用。 在为LV扩容之后,应同时为LV之上的文件系统扩容,使二者相匹配。对不同的文件系统有相对应的扩容方法。

  • ext2/ext3 除非内核已有ext2online 补丁,否则在改变ext2/ext3文件系统的大小时应卸载它:
# umount /dev/testvg/testlv
# resize2fs /dev/testvg/testlv
# mount /dev/testvg/testlv /home

这里假设testlv安装点为/home。在es2fsprogs-1.19或以上版本中包含resize2fs命令。

在LVM发行包中有一个称为e2fsadm的工具,它同时包含了lvextend与resize2fs的功能,如:

# e2fsadm -L+1G /dev/testvg/testlv 

等价于下面两条命令:

# lvextend -L+1G /dev/testvg/testlv 
# resize2fs /dev/testvg/testlv

但用户仍需首先卸载文件系统。

  • reiserfs 与ext2不同,Reiserfs不必卸载文件系统,如:
# resize_reiserfs -f /dev/testvg/testvl 
  • xfs SGI XFS文件系统必须在安装的情况下才可改变大小,并且要使用安装点而不是块设备,如:
# xfs_growfs /home 

4、格式化逻辑卷

此时,操作系统中应该已经可以看到这个逻辑卷了,与普通磁盘没有任何区别。

按照普通磁盘格式化方法,进行格式化、赋予卷标,就可以正常使用了。

5、添加新物理盘

当卷组空间不足时,可以加入新的物理卷来扩大容量,这时可用命令vgextend,如:

# vgextend vgdata /dev/sdb2

其中/dev/sdb2是新的PV(物理卷,使用pvcreate从物理盘创建)。

需要以下几个步骤(/dev/sdb2是需要加入的物理磁盘,通过df -h获取磁盘标识):

  • A、使用pvcreate初始化物理磁盘。
sudo pvcreate /dev/sdb2

输入sudo pvs可以看到创建的物理卷。

  • B、使用vgextend加入PV到VG中。
sudo vgextend vgdata /dev/sdb2

输入sudo vgs可以看到vg中的物理卷列表。

  • C、使用lvextend扩展虚拟卷的大小。
#476899为增加的空闲空间,通过vgdisplay命令显示的Free PE值来确定。
lvextend -l+476899 /dev/vgdata/appdata

再执行sudo vgs可以看到空闲空间被分配到了vgdata中,但这时文件系统中仍然无法使用。

  • Resize 逻辑卷LV的尺寸。 再次,扩大文件系统到整个逻辑卷。 首先df -h查看逻辑卷的名称,然后调用resize2fs。
sudo resize2fs /dev/mapper/vgdata-appdata
#将全部的剩余空间赋给虚拟卷appdata的文件系统。

这时候在操作系统中,点击文件夹的“属性”,可以看到整个磁盘空间已经扩大了。

6、系统启动/关闭

为使系统启动时可自动激活并使用LVM,可将以下几行添加到启动 rc 脚本中:

/sbin/vgscan
/sbin/vgchange -a y

这些行将浏览所有可用的卷组并激活它们。要注意的是,它们应在安装卷组上的文件系统操作之前被执行,否则将无法正常安装文件系统。

在系统关机时,要关闭LVM,这可将以下这行添加到关机 rc 脚本中,并确保它在卸装了所有文件系统后执行:

/sbin/vgchange -a n 

转载于:https://my.oschina.net/u/2306127/blog/782773

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值