AI智能
改变未来

『学了就忘』Linux文件系统管理 — 67、通过命令模式进行LVM分区

[toc]

通过命令模式进行LVM分区,也就是通过命令进行LVM逻辑卷分区。

1、物理卷管理

(1)准备硬盘或者分区

前提还是首先要有一块硬盘或者分区。

创建方式就是使用

fdisk

交互命令,不过需要注意的是,分区的系统ID不再是Linux默认的分区ID号83了,而要改成LVM的ID号

8e

通过

fdisk

交互命令,在扩展分区

sdb3

中创建了三个逻辑分区

sdb4

sdb5

sdb6

如下图所示:

从图中可以看出,这三个分区的默认系统ID号为83,我们需要修改程LVM的ID号

8e

执行如下命令即可,逐一修改。

最后结果如下:

最后保存退出即可,如下图所所示:

需要执行

reboot

命令,重启一下系统。

(2)建立物理卷

有了上边的分区之后,我们就可以把分区建立成物理卷了。

创建物理卷命令:

[root@localhost ~]# pvcreate [设备文件名]

建立物理卷时,我们说即可以把整块硬盘都建立成物理卷,也可以把某个分区建立成物理卷。

如果要把整块硬盘都建立成物理卷,命令如下:

[root@localhost ~]# pvcreate /dev/sdb(硬盘的设备文件名)

在我们的使用中,是要把分区建立成为物理卷,执行以下命令:

[root@localhost ~]# pvcreate /dev/sdb5(分区名称)

执行命令结果:

(3)查看物理卷

需要执行

pvscan

命令查看物理卷。

[root@localhost ~]# pvscan

命令结果如下:

我们可以看到在我的系统中,

/dev/sdb5-7

这三个分区是物理卷。

最后一行的意思是:总共3个物理卷[大小] / 使用了0个卷[大小] / 空闲3个卷[大小]

第二个查询命令是

pvdisplay

命令,它可以查看到更详细的物理卷状态。

命令如下:

[root@localhost ~]# pvdisplay

命令结果如下:

(3)删除物理卷

需要执行

pvremove

命令。

命令如下:

[root@localhost ~]# pvremove /dev/sdb7

2、创建卷组

(1)建立卷组

建立卷组格式如下:

[root@localhost ~]# vgcreate [选项] 卷组名 物理卷名

选项:

  • -s

    :指定PE的大小,单位可以是

    MB

    GB

    TB

    等。如果不写默认

    PE

    大小是4MB。(

    vgcreate

    命令的选项就

    -s

    一个,还是修改

    PE

    大小的,所以上边命令中选项就可以省略了。 )

我们有三个物理卷

/dev/sdb5-7

,我们先把

/dev/sdb5

和/

dev/sdb6

加入卷组,留着

/dev/sdb7

一会实验调整卷组大小。

命令如下:

[root@localhost ~]# vgcreate scvg /dev/sdb5 /dev/sdb6Volume group "scvg" successfully created# 提示:名称为scvg的VG创建成功

上边命令的作用就是把

/dev/sdb5

和/

dev/sdb6

物理卷加入到

scvg

卷组中。

(2)查看卷组

查看卷组的命令同样是两个,

vgscan

命令主要是查看系统中是否有卷组,而

vgdisplay

命令则是查看卷组的详细状态的。

执行

vgscan

命令,结果如下:

执行

vgdisplay

命令,结果如下:

(3)增加卷组容量

卷组是可以进行扩容的,使用的命令是

vgextend

执行命令:把

/derv/sdb7

物理卷也加入

scvg

卷组。

[root@localhost ~]# vgextend scvg /dev/sdb7Volume group "scvg" successfully extended

执行

vgdisplay

命令查看卷组,结果如下:

说明:如果有更多的物理卷,可以随时加入到卷组中。

(4)减小卷组容量

特别注意:

理论上卷组容量是可以缩减的,但是不允许进行缩减操作。例如:如果你6GB容量写满数据,你缩减2GB容量,数据肯定会丢失。

# 在卷组中删除/dev/sdb7物理卷[root@localhost ~]# vgreduce scvg /dev/sdb7Removed "/dev/sdb7" from volume group "scvg"# 删除所有的未使用物理卷[root@localhost ~]# vgreduce -a

(5)删除卷组

使用

vgremove

命令,可以删除卷组。

[root@localhost ~]# vgremove scvgVolume group "scvg" successfully removed

卷组删除之后,才能删除物理卷。

还要注意的是,

scvg

卷组还没有添加任何的逻辑卷,才可以删除,那如果拥有了逻辑卷,记得先删除逻辑卷再删除卷组。还记得我刚说的吗?删除就是安装的反过程,每一步都不能跳过。

3、创建逻辑卷管理

(1)建立逻辑卷

建立逻辑卷命令:

[root@localhost ~]# lvcreate [选项] [-n 逻辑卷名] 卷组名

选项:

  • -L

    容量:指定逻辑卷大小,单位

    MB

    GB

    TB

    等。(只要卷组中有空间,分配多大的空间都可以,不一定按照物理卷的大小进行分配。)

  • -l

    个数:按照

    PE

    个数指定逻辑卷大小,这个参数需要换算容量,太麻烦。

  • -n

    逻辑卷名:指定逻辑卷名。

那我们就建立一个3GB的

sclv

逻辑卷,建立命令如下:

#在scvg卷组中建立3GB的sclv逻辑卷[root@localhost ~]# lvcreate -L 3G -n sclv scvgLogical volume "sclv" created

建立完逻辑卷之后,还要对逻辑卷进行格式化和挂载,之后逻辑卷才能正常使用。格式化和挂载命令的操作,和操作普通分区时是一样的,不过需要注意的是,逻辑卷的设备文件名是

/dev/卷组名/逻辑卷名

,如我们的

sclv

的设备文件名就是

/dev/scvg/sclv

具体命令如下:

# 格式化[root@localhost ~]# mkfs -t ext4 /dev/scvg/sclv# 建立挂载点,并挂载[root@localhost ~]# mkdir /disklvm[root@localhost ~]# mount /dev/scvg/sclv /disklvm/

再用

mount

命令查看分区挂载情况(用

df -h

命令也可以查看)。

执行命令如下:

可以看到

sclv

逻辑卷,已正常挂载。

当然如果需要开机自动挂载,也要修改

/etc/fstab

文件。

(2)查看逻辑卷

同样的查看命令是两个,第一个

lvscan

命令只能看到系统中是否拥有逻辑卷。

命令如下:

# 能够看到激活的逻辑卷,大小事3GB[root@localhost ~] # lvscanACTIVE  \'/dev/scvg/sclv\' [3 GiB]inherit

第二个命令是

lvdisplay

,可以看到逻辑卷的详细信息。

命令如下:

(3)调整逻辑卷大小

调整逻辑卷大小用

lvresize

命令,执行命令如下。

[root@localhost ~]# lvresize [选项] 逻辑卷设备文件名

选项:

  • -L

    容量:安装容量调整大小,单位

    KB

    GB

    TB

    等。使用

    +

    代表增加空间,

    -

    号代表减少空间。如果直接写容量,代表设定逻辑卷大小为指定大小。

  • -l

    个数:按照

    PE

    个数调整逻辑卷大小。(一般不按这个分配空间,不好算。)

提示:逻辑卷增加容量,逻辑卷中的文件是不会丢失的。缩减容量不符合使用习惯,不要使用。

刚刚的

sclv

逻辑卷的大小是3GB,我们的

scvg

卷组中还有3GB的空闲空间,那么增加

sclv

逻辑卷的大小到4GB。

命令如下:

# 增加sclv逻辑卷的大小到4GB[root@localhost ~]# lvresize -L 4G /dev/scvg/sclvSize of logical volume scvg/sclv changed from 3.00 GiB (768 extents) to 4.00 GiB(1024 extents).Logical volume userlv successfully resized# 当然命令也可以这样写[root@localhost ~]# lvresize -L +1G /dev/scvg/sclv

执行

lvdisplay

命令查看卷组,结果如下:

逻辑卷的大小已经改变了,但是好像有些问题,我通过

df -h

命令查看磁盘信息,发现

sclv

逻辑卷的大小还是3GB,如下图:

是因为

sclv

逻辑卷的大小调整了,但是

sclv

逻辑卷的挂载,依旧挂的是3GB大小。

如果需要让分区使用这个新扩容的逻辑卷,我们还要使用

resize2fs

命令来调整分区的大小。不过这里就体现了LVM的优势,我们不需要卸载分区,直接就能调整分区的大小。(总结一下说,

lvresize

命令是逻辑卷的扩容,

resize2fs

命令是逻辑卷文件系统的扩展。)

resize2fs

命令格式如下:

[root@localhost ~]# resize2fs [选项] [设备文件名] [调整的大小]

选项:

  • -f

    :强制调整。

  • 设备文件名:指定调整哪个分区的大小。
  • 调整的大小:指定把分区调整到多大,要加
    M

    G

    等单位。如果不加大小,会使用整个分区。

执行

resize2fs

命令,之后再用

df -h

命令查看磁盘信息。

执行命令结果如下:

可以看到

sclv

逻辑卷的大小变成了4GB。(不需要卸载分区,里边的数据也不会丢失,很方便。)

(4)删除逻辑卷

一般不用此需求,创建好的逻辑卷就踏实的用。

lvremove

命令是删除逻辑卷,格式如下:

[root@localhost ~]# lvremove 逻辑卷设备文件名

我们删除

sclv

这个逻辑卷,记得删除时要先卸载。

命令如下:

[root@localhost ~]# umount /dev/scvg/sclv[root@localhost ~]# lvremove /dev/scvg/sclv
赞(0) 打赏
未经允许不得转载:爱站程序员基地 » 『学了就忘』Linux文件系统管理 — 67、通过命令模式进行LVM分区