扩展LV的大小

我们在用传统磁盘管理工具的时候经常会有一种问题,就是分区在刚开始创建时候的大小是够用的,但是随着时间的推移,分区及硬盘的可用空间越来越少,并且到最后可能就不够用了,就只有通过添加硬盘并且添加分区的方式同时还要做数据转移来完成磁盘的添加工作,那么我们通过使用卷管理之后就可以实现分区大小的动态调整,也就是说单个分区不够了,我们添加硬盘后直接将新硬盘的空间无缝的动态在线添加载到当前需要扩容的分区上,原理如下图

 

|<-- sda1--- ->|<-- sda2------>|

+---------------+---------------+

|xxxxxxxxxxx|xxxxxx| |

|xxxxxxxxxxx|xxxxxx| |

+---------------+---------------+

 

硬盘分区/dev/sda1中的文件系统占满了整个分区,而/dev/sda2中的文件系统只占用了2/3左右的分区。

所以在调整逻辑卷容量大小的同时也要调整在该卷上的文件系统的大小,当要增大容量时,先调整容量,后调整文件系统,若要缩小容量则反之。

扩展LV大小的步骤如下:

1、检查VG的可用PE

[root@jetsen /]# vgdisplay soft

 --- Volume group ---

 VG Name              soft

 System ID            

 Format               lvm2

 Metadata Areas       2

 Metadata Sequence No 4

 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              1.43 GB

 PE Size              4.00 MB

 Total PE             366

 Alloc PE / Size      366 / 1.43 GB

 Free PE / Size      0 / 0                          ----可用PE0,需添加磁盘或分区

 VG UUID              D3x6JY-BVIL-C4ld-013H-U2Rq-hb1q-1oOVnx

 

 

2、如果不够,需想VG中添加磁盘或新的分区

[root@jetsen /]# fdisk /dev/sdc –l    查看现在分区信息

 

Disk /dev/sdc: 536.8 GB, 536870912000 bytes

255 heads, 63 sectors/track, 65270 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

  Device Boot     Start        End     Blocks  Id System

/dev/sdc1              1         62     497983+ 83 Linux

/dev/sdc2             63        187    1004062+ 83 Linux

 

[root@jetsen /]# fdisk /dev/sdc  n\ p\ 3\ +1G\ w\    --创建了1G分区

 

[root@jetsen /]# fdisk /dev/sdc –l                         ----再次查看分区信息

 

Disk /dev/sdc: 536.8 GB, 536870912000 bytes

255 heads, 63 sectors/track, 65270 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes

 

  Device Boot     Start        End     Blocks  Id System

/dev/sdc1              1         62     497983+ 83 Linux

/dev/sdc2             63        187    1004062+ 83 Linux

/dev/sdc3            188        310     987997+ 83 Linux

[root@jetsen /]#

添加刚才创建的分区到VG

[root@jetsen ~]# pvcreate /dev/sdc3

 Physical volume "/dev/sdc3" successfully created

[root@jetsen ~]# vgextend soft /dev/sdc3

 /dev/cdrom: open failed:只读文件系统

 /dev/cdrom: open failed:只读文件系统

 Attempt to close device '/dev/cdrom' which is not open.

 Volume group "soft" successfully extended

[root@jetsen ~]# vgdisplay soft

 --- Volume group ---

 VG Name              soft

 System ID            

 Format               lvm2

 Metadata Areas       3

 Metadata Sequence No 5

 VG Access            read/write

 VG Status            resizable

 MAX LV               0

 Cur LV               1

 Open LV              0

 Max PV               0

 Cur PV               3

 Act PV               3

 VG Size              2.37 GB

 PE Size              4.00 MB

 Total PE             607

 Alloc PE / Size      366 / 1.43 GB

 Free PE / Size      241 / 964.00 MB            ------我们可以看到,这里已经添加进来了

 VG UUID              D3x6JY-BVIL-C4ld-013H-U2Rq-hb1q-1oOVnx

 

 

3、扩展LV的大小

[root@jetsen /]# df -h

Filesystem           Size Used Avail Use% Mounted on

/dev/mapper/VolGroup00-LogVol00

                       18G 5.8G  11G 35% /

/dev/sda1              99M  12M  82M 13% /boot

tmpfs                  506M 4.0K 506M  1% /dev/shm

/dev/mapper/soft-soft01  1.5G  35M 1.4G  3% /soft                     -----现在大小是1.5G

[root@jetsen /]#

写法一: 在现有的空间中添加500M

[root@jetsen ~]# lvextend -L+500M /dev/soft/soft01  ---LV01添加500M的空间

  Extending logical volume soft01 to 1.92 GB          -----这里告诉你添加后的soft01的大小是1.92GB

 Logical volume soft01 successfully resized

写法二: 在现有的空间中添加到分区的总大小为2G

[root@jetsen ~]# lvextend -L2G /dev/soft/soft01

 Extending logical volume soft01 to 2.00 GB

 Logical volume soft01 successfully resized

 

4、查看lv扩容后的大小

[root@jetsen soft]# lvdisplay soft

 --- Logical volume ---

 LV Name               /dev/soft/soft01

 VG Name               soft

 LV UUID               AutjnY-C3KP-5bfC-Di5v-Zkdu-4VhD-AahFY8

 LV Write Access       read/write

 LV Status             available

 # open                1

 LV Size               2.00 GB                   ----已经扩容到2G

 Current LE            512

 Segments              3

 Allocation            inherit

 Read ahead sectors    auto

 - currently set to    256

 Block device          253:2

扩容文件系统

[root@jetsen ~]# resize4fs /dev/soft/soft01

resize4fs 1.41.5 (23-Apr-2009)

Filesystem at /dev/soft/soft01 is mounted on /soft; on-line resizing required

old desc_blocks = 1, new_desc_blocks = 1

Performing an on-line resize of /dev/soft/soft01 to 652288 (4k) blocks.

The filesystem on /dev/soft/soft01 is now 652288 blocks long.

 

查看大小已经是2G

[root@jetsen /]# df -h

Filesystem                         Size   Used  Avail Use% Mounted on

/dev/mapper/VolGroup00-LogVol00   18G   5.8G  11G  35%  /

/dev/sda1                         99M    12M  82M  13%  /boot

tmpfs                             506M   4.0K 506M  1%  /dev/shm

/dev/mapper/soft-soft01            2.0G    67M 1.9G  4%  /soft   ---大小已经是2G了。

 

注意:增加了逻辑卷的容量以后,就需要修改文件系统大小以实现利用扩充的空间。推荐使用ext4文件系统来替代reiserfsext2或者ext3。因此这里仅仅讨论ext4的情况。Reiserfs文件工具提供了文件系统大小调整工具:

对于使用reiserfs文件系统的用户可以考虑使用工具reiserfs

 

 

附录:

LV建立流程:

1.建立PV

2.建立VG,将PV加入到VG中。

3.建立LV,并设置LV大小。

4.格式化LVLP成你需要的文件系统。

 

LV删除流程:

1.umountFS

2.删除LV

3.PV从所在的VG中删除。

4.删除VG

 

 

卷管理常用命令集合:

 

查看显示

创建

删除

扩容

激活

扫描查找

LV

lvdisplay

lvcreate

lvremove

lvextend

lvchange

lvscan

PV

pvdisplay

pvcreate

pvremove

 

pvchange

pvscan

VG

vgdisplay

vgcreate

vgremove

vgextend

vgchange

vgscan

 

 

VG的完整架构图:

补充:

#检查/root逻辑卷

#e2fsck -f /dev/mapper/VolGroup-lv_root

#重新定义分区大小

#resize2fs /dev/mapper/VolGroup-lv_root

7)文件系统在线扩容

[root@Shell_HAT]# ext2online /dev/VolGroup00/LogVol00
ext2online v1.1.18 - 2001/03/18 for EXT2FS 0.5b