Ubuntu的Linux逻辑卷管理

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时指定,如:

1# sudo vgdisplay vgdata | grep "Total PE" 2Total PE 10230 3 4# sudo lvcreate -l 10230 vgdata -n data

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

3.3 创建文件系统

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

sudo mke2fs /dev/vgdata/data 

3.4 伸缩逻辑卷

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

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

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

1# lvextend -L+1G /dev/testvg/testlv 2lvextend -- extending logical volume "/dev/testvg/testlv" to 13 GB 3lvextend -- doing automatic backup of volume group "testvg" 4lvextend -- 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 

等价于下面两条命令:

1# lvextend -L+1G /dev/testvg/testlv 2# 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 脚本中:

1/sbin/vgscan 2/sbin/vgchange -a y

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

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

/sbin/vgchange -a n
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

swap空间的增减方法

(1)增大swap空间去激活swap交换区:swapoff v /dev/vg00/lvswap扩展交换lv:lvextend L 10G /dev/vg00/lvswap重新生成swap交换区:mkswap /dev/vg00/lvswap激活新生成的交换区:swapon v /dev/vg00/lvswap

LVM的创建,修改大小,删除以及彻底卸载的操作步骤

首先解释一下几个关键词pv:physicalvolume物理卷,就是用物理磁盘组成的卷,要在物理磁盘上创建。vg:volumegroup卷组,就是物理卷组成的卷组合,要在物理卷基础上创建。lv:logicalvolume逻辑卷,可以理解为逻辑可动态分配的磁盘空间,要在卷组上创建。所以lvm的创建顺序就是,物理磁盘分区(也可以不