扩展ext4 LVM根卷

时间:2020-03-21 11:43:33  来源:igfitidea点击:

我们的根分区已满,我们想在LVM上增加其大小。

一般免责声明适用,任何损失或者损坏,使用风险自负并经常备份,概不负责!

软件

本文使用的软件:

  • Oracle Linux 6.6
  • lvm2, e2fsck, resize2fs

准备工作

在此示例中,我们在VirtualBox上使用Oracle Linux 6.6(此处不介绍VirtualBox)。

磁盘分区表如下所示:

# fdisk -l | grep sd
Disk /dev/sda: 12.9 GB, 12884901888 bytes
/dev/sda1   *    1     52    409600  83  Linux
/dev/sda2

52   1567  12172288  8e  Linux LVM

我们只有一个13GB磁盘和两个分区。

根分区的使用情况如下所示。
它有大约600MB的可用空间。

# df -h /
Filesystem

Size  Used Avail Use% Mounted on
/dev/mapper/vg_oracle-lv_root

7.0G  6.0G  631M  91% /

磁盘扫描物理卷:

# pvscan
  PV /dev/sda2   VG vg_oracle   lvm2 [11.61 GiB/0 free]
  Total: 1 [11.61 GiB]/in use: 1 [11.61 GiB]/in no VG: 0 [0]
# pvs
  PV

VG

Fmt  Attr PSize  PFree
  /dev/sda2  vg_oracle lvm2 a--  11.61g    0

卷组和逻辑卷如下:

# vgs
  VG

#PV #LV #SN Attr   VSize  VFree
  vg_oracle   1   4   0 wz--n- 11.61g    0
# lvs
  LV

VG

Attr

LSize   Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv_home vg_oracle -wi-ao----   1.95g

lv_root vg_oracle -wi-ao----   7.21g

lv_swap vg_oracle -wi-ao---- 500.00m

lv_var  vg_oracle -wi-ao----   1.95g

扩展根LVM

扩展VirtualBox上的磁盘并检查磁盘分区表:

# fdisk -l | grep sd
Disk /dev/sda: 32.2 GB, 32212254720 bytes
/dev/sda1   *    1     52    409600  83  Linux
/dev/sda2

52   1567  12172288  8e  Linux LVM

现在,它具有32GB的磁盘空间。

修改磁盘分区表,以便扩展第二个分区(LVM分区)。
在这里要非常小心。

# fdisk /dev/sda
>> d (delete)
>> 2
>> n (create a new one)
>> p
>> 2
>> [enter] make sure the first cylinder matches the one you deleted before (i.e. 52)
>> [enter] last cylinder should be default to use all space available
>> p
>> t (change filesystem type to LVM)
>> 2
>> 8e
>> p
>> w (save changes)

重新启动后将重新读取分区信息:

# reboot

除了重新引导系统外,我们还可以读取磁盘(请参阅https://access.redhat.com/solutions/57542)并尝试向系统添加新分区(使用后果自负):

# partx -v -a /dev/sda

重新启动后,调整“/dev/sda2”物理卷的大小:

# pvresize /dev/sda2
  Physical volume "/dev/sda2" changed
  1 physical volume(s) resized/0 physical volume(s) not resized

检查物理卷和卷组信息:

# pvs
  PV

VG

Fmt  Attr PSize  PFree
  /dev/sda2  vg_oracle lvm2 a--  29.61g 18.00g
# vgs
  VG

#PV #LV #SN Attr   VSize  VFree
  vg_oracle   1   4   0 wz--n- 29.61g 18.00g

将逻辑根卷扩展10GB:

# lvextend --size +10GB /dev/mapper/vg_oracle-lv_root
  Size of logical volume vg_oracle/lv_root changed from 7.21 GiB (1846 extents) to 17.21 GiB (4406 extents).
  Logical volume lv_root successfully resized

我们现在应该真正检查文件系统,但是,如果挂载了文件系统,则e2fsck打印的结果无效:

# e2fsck -n /dev/mapper/vg_oracle-lv_root

在根卷上调整ext4文件系统的大小:

# resize2fs /dev/mapper/vg_oracle-lv_root
resize2fs 1.43-WIP (20-Jun-2013)
Filesystem at /dev/mapper/vg_oracle-lv_root is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 2
The filesystem on /dev/mapper/vg_oracle-lv_root is now 4511744 blocks long.

检查根分区的使用情况:

# df -h /
Filesystem

Size  Used Avail Use% Mounted on
/dev/mapper/vg_oracle-lv_root

17G  6.0G   11G  38% /