当前位置: 首页 >> 榆树网-系统 >> 文章正文

如何在线扩大LVM分区

如果你有一台正在跑业务的机器,随着数据量的增加,你发现原来规划的硬盘空间已经不能满足现有的需求了,此时,存储扩容将是首先最先考虑的,增加新的存储后,如何将现有分区扩大,能否自动扩大呢?如果你使用了LVM(逻辑卷管理),这将不是问题,这一切可以在线完成。

如果不幸没有使用逻辑卷管理,建议对新的存储进行分区、做文件系统,挂在到其他目录,暂停业务,通过tar等工具将数据复制到新存储上,然后修改fstab,重启挂在新的数据盘。

如果通过逻辑卷管理,增加新存储后,只需将新的存储加入到lvm中,根据需求将分区扩展至合适的大小即可,下面简单叙述整个操作过程:

1、增加物理存储,一般都需要reboot系统才能识别新的存储。

2、查看现有逻辑卷的PV状态

[root@mail ~]# pvs
PV         VG       Fmt  Attr PSize  PFree
/dev/sda2  VolGroup lvm2 a-   15.51g    0

[root@mail ~]# pvdisplay
--- Physical volume ---
PV Name               /dev/sda2
VG Name               VolGroup
PV Size               15.51 GiB / not usable 3.00 MiB
Allocatable           yes (but full)
PE Size               4.00 MiB
Total PE              3970
Free PE               0
Allocated PE          3970
PV UUID               PClEa7-pYpP-pwhv-MMYO-POJ8-i5Ax-gQogPS

3、查看新加存储

[root@mail ~]# fdisk /dev/sdb
Device contains neither a valid DOS partition table, nor Sun, SGI or OSF disklabel
Building a new DOS disklabel with disk identifier 0x75e7240a.
Changes will remain in memory only, until you decide to write them.
After that, of course, the previous content won't be recoverable.

Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)

WARNING: DOS-compatible mode is deprecated. It's strongly recommended to
switch off the mode (command 'c') and change display units to
sectors (command 'u').

Command (m for help): p

Disk /dev/sdb: 171.8 GB, 171798691840 bytes
255 heads, 63 sectors/track, 20886 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x75e7240a

Device Boot      Start         End      Blocks   Id  System

Command (m for help): quit

可以看到,新增加的存储为sdb,大小:170G。

4、在新存储上创建pv

[root@mail ~]# pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created

5、查看现有PV状态

[root@mail ~]# pvs
PV         VG       Fmt  Attr PSize   PFree
/dev/sda2  VolGroup lvm2 a-    15.51g      0
/dev/sdb            lvm2 a-   160.00g 160.00g

可以看到,sdb已经加入到逻辑卷中,但是尚未分配给任何卷组。

6、把sdb加入到卷组:VolGroup中。

[root@mail ~]# vgextend VolGroup /dev/sdb
Volume group "VolGroup" successfully extended

7、查看pv状态

[root@mail ~]# pvdisplay
--- Physical volume ---
PV Name               /dev/sda2
VG Name               VolGroup
PV Size               15.51 GiB / not usable 3.00 MiB
Allocatable           yes (but full)
PE Size               4.00 MiB
Total PE              3970
Free PE               0
Allocated PE          3970
PV UUID               PClEa7-pYpP-pwhv-MMYO-POJ8-i5Ax-gQogPS

--- Physical volume ---
PV Name               /dev/sdb
VG Name               VolGroup
PV Size               160.00 GiB / not usable 4.00 MiB
Allocatable           yes
PE Size               4.00 MiB
Total PE              40959
Free PE               40959
Allocated PE          0
PV UUID               dFrx5a-JJPM-r0Rp-F4tK-s7bh-FQB5-niAS4J

可以看到,sdb已经加入到VolGroup卷组了,并且有40959个PE是闲置的。

8、扩展逻辑卷lv,将限制的PE分配给某lv

[root@mail ~]# lvextend -L+160G /dev/mapper/VolGroup-lv_root
Extending logical volume lv_root to 170.55 GiB
Logical volume lv_root successfully resized

将所有闲置的PE分配给了逻辑卷VolGroup-lv_root。

9、查看lv的状态

[root@mail ~]# lvdisplay
--- Logical volume ---
LV Name                /dev/VolGroup/lv_root
VG Name                VolGroup
LV UUID                8FuOth-AjwE-G1UN-Aew6-x2zJ-jEDa-e0Fv1m
LV Write Access        read/write
LV Status              available
# open                 1
LV Size                170.55 GiB
Current LE             43661
Segments               2
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           253:0

--- Logical volume ---
LV Name                /dev/VolGroup/lv_swap
VG Name                VolGroup
LV UUID                Lo3ACz-kQbX-4bV3-oeSE-T7mT-Rdp2-kUziuu
LV Write Access        read/write
LV Status              available
# open                 1
LV Size                4.95 GiB
Current LE             1268
Segments               1
Allocation             inherit
Read ahead sectors     auto
- currently set to     256
Block device           253:1

可以看到lv_root容量已经变大了。

10、对文件系统进行扩展

[root@mail ~]# resize2fs /dev/VolGroup/lv_root
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/VolGroup/lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 11
Performing an on-line resize of /dev/VolGroup/lv_root to 44708864 (4k) blocks.
The filesystem on /dev/VolGroup/lv_root is now 44708864 blocks long.

11、最后用df查看剩余空间

[root@mail ~]# df -h
 Filesystem            Size  Used Avail Use% Mounted on
 /dev/mapper/VolGroup-lv_root
 168G  7.2G  153G   5% /
 tmpfs                 1.5G  396K  1.5G   1% /dev/shm
 /dev/sda1             485M   60M  401M  13% /boot

所有操作都完成了,期间业务中断过一次,就是重启系统已识别新的存储空间。

相关文章

发表评论