Linux创建逻辑卷,合并多块数据盘。

3,087次阅读
没有评论

共计 3927 个字符,预计需要花费 10 分钟才能阅读完成。

逻辑卷的组成

逻辑卷管理的技术可理解为,将单个或多个物理磁盘分区(PV 物理卷)组成逻辑卷组(VG),再把卷组分成多个逻辑卷(LV),主要特点是,在不影响原来数据情况下可简易的扩充磁盘的大小(缩小硬盘空间可能会导至数据丢失)。

Linux 创建逻辑卷,合并多块数据盘。

逻辑组成

1. 物理卷(PV,Physical Volume)

就是真正的物理硬盘或分区。

2. 卷组(VG,Volume Group)

将多个物理卷合起来就组成了卷组,组成同一个卷组的物理卷可以是同一个硬盘的不同分区,也可以是不同硬盘上的不同分区。我们可以把卷组想象为一个逻辑硬盘。

3. 逻辑卷(LV,Logical Volume)

卷组是一个逻辑硬盘,硬盘必须分区之后才能使用,这个分区我们称作逻辑卷。逻辑卷可以格式化和写入数据。我们可以把逻辑卷想象成为分区。

4. 物理扩展(PE,Physical Extend)

PE 是用来保存数据的最小单元,我们的数据实际上都是写入 PE 当中,PE 的大小是可以配置的,默认是 4MB。

建立 LVM 的步骤 

1. 起步

  • 首先需要把物理硬盘分成分区,当然也可以是整块物理硬盘。
  • 然后把物理分区建立成为物理卷(PV),也可以直接把整块硬盘都建立为物理卷。
  • 接下来把物理卷整合成为卷组(VG)。卷组就已经可以动态的调整大小了,可以把物理分区加入卷组,也可以把物理分区从卷组中删除。
  • 最后就是把卷组再划分成为逻辑卷(LV),当然逻辑卷也是可以直接调整大小的。我们说逻辑卷可以想象成为分区,所以也需要格式化和挂载。

2. 物理卷管理 

2.1 硬盘分区

创建方式就是使用 fdisk 交互命令,不过需要注意的是分区的系统 ID 不再是 Linux 默认的分区 ID 号 83 了,而要改成 LVM 的 ID 号 8e,(xfs 中 LVM 的 ID 号是 15)。

2.2 建立物理卷

[root@localhost ~]# pvcreate [设备文件名]
# 建立物理卷时,我们说即可以把整块硬盘都建立成物理卷,也可以把某个分区建立成物理卷。如果要把整块硬盘都建立成物理卷,命令如下
[root@localhost ~]# pvcreate /dev/sdb
# 在我们的使用中,是要把分区建立成为物理卷,所以执行以下命令:[root@localhost ~]# pvcreate /dev/sdb5

2.3 查看物理卷

[root@localhost ~]# pvscan
PV /dev/sdb5 lvm2 [1.01 GiB]
PV /dev/sdb6 lvm2 [1.01 GiB]
PV /dev/sdb7 lvm2 [1.01 GiB]
Total: 3 [3.03 GiB] / in use: 0 [0] / in no VG: 3 [3.03 GiB]

可以看到在我的系统中,/dev/sdb5- 7 这三个分区是物理卷。最后一行的意思是:总共 3 个物理卷 [大小] / 使用了 0 个卷[大小] / 空闲 3 个卷[大小]。
第二个查询命令是 pvdisplay,它可以查看到更详细的物理卷状态,命令如下:

[root@localhost ~]# pvdisplay
--- Physical volume ---
PV Name /dev/vdb
VG Name program
PV Size 100.00 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 25599
Free PE 0
Allocated PE 25599
PV UUID 2xNVwr-hSDU-as06-OKYm-jB47-kyo0-87PCPz

--- Physical volume ---
PV Name /dev/vdc
VG Name program
PV Size 100.00 GiB / not usable 4.00 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 25599
Free PE 0
Allocated PE 25599
PV UUID hySTQB-vBdk-ugE7-pJJb-kwZv-2Gl0-ThSeGH

2.4 删除物理卷

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

3. 卷组管理

3.1 建立卷组

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

可选项:

  • -s PE 大小:指定 PE 的大小,单位可以是 MB,GB,TB 等。如果不写默认 PE 大小事 4MB

我们又三个物理卷 /dev/sdb5-7,我们先把 /dev/sdb5 和 /dev/sdb6 加入卷组,留着 /dev/sdb7 一会实验调整卷组大小,命令如下:

[root@localhost ~]# vgcreate -s 8MB scvg /dev/sdb5 /dev/sdb6
Volume group "scvg" successfully created

3.2 查看卷组

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

[root@VM-4-11-centos ~]# vgscan
  Reading volume groups from cache.
  Found volume group "program" using metadata type lvm2
[root@VM-4-11-centos ~]# vgdisplay
  --- Volume group ---
  VG Name               program
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               1
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               199.99 GiB
  PE Size               4.00 MiB
  Total PE              51198
  Alloc PE / Size       51198 / 199.99 GiB
  Free  PE / Size       0 / 0   
  VG UUID               dxkvC2-M8pb-9ja4-rvM1-6I3u-OzC8-k4QyWL

vgscan 是查看系统中是否有卷组,而 vgdisplay 则是查看卷组的详细状态的。

3.3 增加卷组容量

# 把 /dev/sdb7 物理卷也加入 scvg 卷组
[root@localhost ~]# vgextend scvg /dev/sdb7
Volume group "scvg" successfully extended

3.4 减小卷组容量

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

3.5 删除卷组

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

卷组删除之后,才能删除删除物理卷。还要注意的是 scvg 卷组还没有添加任何的逻辑卷,那如果拥有了逻辑卷,记得先删除逻辑卷再删除卷组

4. 逻辑卷管理 

4.1 建立逻辑卷

[root@localhost ~]# lvcreate [选项] [-n 逻辑卷名] 卷组名
[root@localhost ~]# lvcreate -L 1.5G -n userlv scvg
Logical volume "userlv" created

选项:

  • -L 容量:指定逻辑卷大小,单位 MB,GB,TB 等
  • -l 个数:按照 PE 个数指定逻辑卷大小,这个参数需要换算容量,太麻烦
  • -n 逻辑卷名:指定逻辑卷名

建立完逻辑卷之后,还要格式化和挂载之后逻辑卷才能正常使用。格式化和挂载命令和操作普通分区时是一样的,不过需要注意的是逻辑卷的设备文件名是 /dev/ 卷组名 / 逻辑卷名,如我们的 userlv 的设备文件名就是“/dev/scvg/userlv”

4.2 查看逻辑卷 

[root@VM-4-11-centos ~]# lvscan
  ACTIVE            '/dev/program/Myself' [199.99 GiB] inherit
[root@VM-4-11-centos ~]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/program/Myself
  LV Name                Myself
  VG Name                program
  LV UUID                QegoVK-FU7e-XEKz-o5r6-342t-Nq2t-LcVbtb
  LV Write Access        read/write
  LV Creation host, time VM-4-11-centos, 2022-06-11 12:28:57 +0800
  LV Status              available
  # open                 1
  LV Size                199.99 GiB
  Current LE             51198
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           252:0

4.3 调整逻辑卷大小

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

选项:

  • -L 容量:安装容量调整大小,单位 KB,GB,TB 等。使用 + 代表增加空间,- 号代表减少空间。如果直接写容量,代表设定逻辑卷大小为指定大小。
  • -l 个数:按照 PE 个数调整逻辑卷大小

如果需要让分区使用这个新逻辑卷,还要使用 resize2fs 命令来调整分区的大小。LVM 不需要卸载分区,直接就能调整分区的大小。resize2fs 命令如下:

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

4.4 删除逻辑卷

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

删除时要先卸载。命令如下:

[root@localhost ~]# umount /dev/scvg/userlv
[root@localhost ~]# lvremove /dev/scvg/userlv 

    正文完
     0
    Yojack
    版权声明:本篇文章由 Yojack 于2024-09-10发表,共计3927字。
    转载说明:
    1 本网站名称:优杰开发笔记
    2 本站永久网址:https://yojack.cn
    3 本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长进行删除处理。
    4 本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
    5 本站所有内容均可转载及分享, 但请注明出处
    6 我们始终尊重原创作者的版权,所有文章在发布时,均尽可能注明出处与作者。
    7 站长邮箱:laylwenl@gmail.com
    评论(没有评论)