Fedora使用逻辑分区(lvm)以实现动态扩展目录空间

原载于博客
在安装Linux时,如果选择了逻辑分区的方式,那么后续新增硬盘后,可以弹性扩展目录空间。本文以Fedora为例。

1. 查看逻辑分区情况

1.1 查看vg(volume group)

可以将vg看作是一个“硬盘池”,也即硬盘的虚拟化。所有的物理硬盘,分区后加入到vg中,作为虚拟空间统一分配。

[root@localhost ~]# vgscan 
  Reading volume groups from cache.
  Found volume group "fedora" using metadata type lvm2

可以看到,系统已经有了一个名为fedora的vg,这是安装系统时自动建立的vg,当然也可以通过vgcreate命令自己创建新的vg,此处略过。

1.2 查看lv(logical volume)

lv就是所谓的逻辑卷,将其挂载到某个目录后再格式化,便可以直接使用。所谓弹性扩展,就是扩展lv,使之对应的目录空间大小发生变化。

[root@localhost ~]# lvscan
  ACTIVE            '/dev/fedora/swap' [<11.76 GiB] inherit
  ACTIVE            '/dev/fedora/home' [<0.8 TiB] inherit
  ACTIVE            '/dev/fedora/root' [50.00 GiB] inherit
[root@localhost ~]# df -h
...
/dev/mapper/fedora-home  1.8T  302M  0.8G  1% /home
...

可以看到系统分成了三个lv,其中/dev/fedora/home这个lv挂载到了/home这个目录。
假设我们要做的工作就是扩展/home这个目录的空间。

2. 安装新硬盘并分区

拿到一块硬盘后,首先还是分区,这里我们使用gdisk命令来进行分区。

[root@localhost ~]# gdisk /dev/sdb
GPT fdisk (gdisk) version 1.0.3

Partition table scan:
  MBR: protective
  BSD: not present
  APM: not present
  GPT: present

Found valid GPT with protective MBR; using GPT.

Command (? for help): n
Partition number (2-128, default 2): 
First sector (34-2047, default = 34) or {+-}size{KMGTP}: 
Last sector (34-2047, default = 2047) or {+-}size{KMGTP}: 
Current type is 'Linux filesystem'
Hex code or GUID (L to show codes, Enter = 8300): 8E00
Changed type of partition to 'Linux LVM'

Command (? for help): w

两个注意点:

  1. 分区编码部分,输入8E00,表示是逻辑分区。
  2. 分区结束后记得输入w,以写入。

3. 新建pv(pysical volume)

硬盘分区后,需要建立pv,将分区转成pv后,才能加入到vg硬盘池中。

[root@localhost ~]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created

4. 将新的pv加入到vg中

接下来,通过vgextend命令,可以将pv加入到vg中。

vgextend vbirdvg /dev/sdb1

可以通过vgdisplay命令查看vg的情况

[root@localhost ~]# vgdisplay fedora
  --- Volume group ---
  VG Name               fedora
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  7
  VG Access             read/write
  VG Status             resizable
  ...
 Free  PE / Size      */* GiB 
  VG UUID               VPKdDe-z60K-lEXZ-430w-Plts-Tv2X-jUTyqG

可以看到,vg的可用空间发生了变化(Free PE/Size)。

5. 扩展lv

使用lvresize命令可以动态弹缩逻辑分区的空间,也就是上文提及的/dev/fedora/home这个分区的空间。
这里我们把vg里多出来的空间都新增到该分区(亦即新硬盘的大小)

lvresize -L +931G /dev/fedora/home

6. 文件系统格式化

要想使用lv多出来的空间,还需要将其格式化。
首先查看系统文件系统情况:

[root@localhost ~]# cat /etc/fstab
/dev/mapper/fedora-home /home                   ext4    defaults        1 2

该系统使用了ext4文件格式。对于ext4的文件格式,通过如下命令,便可以动态格式化新的lv(保留原有文件):

resize2fs /dev/fedora/home

如果是xfs文件格式,则可以使用xfs_growfs命令。

如此,便实现了目录空间的动态扩展。

    原文作者:schnauzer
    原文地址: https://www.jianshu.com/p/143788dd1d47
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞