Linux下调整逻辑卷(Logical Volume Manager)大小

//系统
# cat /etc/redhat-release 
CentOS release 6.8 (Final)
# uname -r
2.6.32-642.el6.x86_64
# df -hl	//当前系统分区大小
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_lvm-lv_root
                      3.9G  742M  2.9G  21% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             477M   28M  425M   7% /boot
/dev/mapper/vg_lvm-lv_home
                       14G   34M   13G   1% /home
//因为根分区过小,现在需要调整/home分区的10G到大小根分区
//步骤如下
# fuser -m -v -i -k /home/	//kill所有在/home分区的进程
# umount /home/	//卸载分区
# resize2fs /dev/mapper/vg_lvm-lv_home 4G	//调整文件系统大小到4G,注意当分区当中存在数据时,需要先运行命令 e2fsck -f /dev/mapper/vg_lvm-lv_home 进行分区检查且文件缩小的文件系统大小不能小于已存在的文件大小否则已有文件会出错。
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/mapper/vg_lvm-lv_home to 1048576 (4k) blocks.
The filesystem on /dev/mapper/vg_lvm-lv_home is now 1048576 blocks long.

# lvreduce -L 4G /dev/mapper/vg_lvm-lv_home 	//缩小逻辑卷到4G大小
  WARNING: Reducing active logical volume to 4.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg_lvm/lv_home? [y/n]: y
  Size of logical volume vg_lvm/lv_home changed from 13.57 GiB (3474 extents) to 4.00 GiB (1024 extent
s).  Logical volume lv_home successfully resized.

# mount -t ext4 /dev/mapper/vg_lvm-lv_home /home/	//重新挂载/home分区,若不能确定/home分区的格式,可以 df -Th /home 查看,根据分区格式不同,命令略有不同
# lvextend -L +10G /dev/mapper/vg_lvm-lv_root 	//增加10G根分区大小
  Insufficient free space: 2560 extents needed, but only 2450 available
 //发现报错,提示只有2450 available,10G的长度是2560 extents,判断可能是因为计算方法的差异造成的,尝试+9G
 
# lvextend -L +9G /dev/mapper/vg_lvm-lv_root 	//增加9G 根分区大小
  Size of logical volume vg_lvm/lv_root changed from 4.00 GiB (1024 extents) to 13.00 GiB (3328 extent
s).  Logical volume lv_root successfully resized.
//调整成功

[root@lvm ~]# resize2fs /dev/mapper/vg_lvm-lv_root 	//激活修改的配置
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_lvm-lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mapper/vg_lvm-lv_root to 3407872 (4k) blocks.
The filesystem on /dev/mapper/vg_lvm-lv_root is now 3407872 blocks long.

# df -hl	//查看现在的分区大小
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_lvm-lv_root
                       13G  744M   12G   7% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             477M   28M  425M   7% /boot
/dev/mapper/vg_lvm-lv_home
                      3.9G   28M  3.6G   1% /home

# vgdisplay 	//查看逻辑卷空间情况
  --- Volume group ---
  VG Name               vg_lvm
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  6
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.51 GiB
  PE Size               4.00 MiB
  Total PE              4994
  Alloc PE / Size       4848 / 18.94 GiB
  Free  PE / Size       146 / 584.00 MiB
  VG UUID               bXjVA1-bMUC-zk0q-NUcS-PfJd-vQJU-ld4p2B

//重复增加根分区步骤,完全利用Free PE
# lvextend -L +584M /dev/mapper/vg_lvm-lv_root 
  Size of logical volume vg_lvm/lv_root changed from 13.00 GiB (3328 extents) to 13.57 GiB (3474 exten
ts).  Logical volume lv_root successfully resized.
# resize2fs /dev/mapper/vg_lvm-lv_root 
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_lvm-lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 1
Performing an on-line resize of /dev/mapper/vg_lvm-lv_root to 3557376 (4k) blocks.
The filesystem on /dev/mapper/vg_lvm-lv_root is now 3557376 blocks long.

# vgdisplay 	//再次查看逻辑卷空间情况
  --- Volume group ---
  VG Name               vg_lvm
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  7
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               19.51 GiB
  PE Size               4.00 MiB
  Total PE              4994
  Alloc PE / Size       4994 / 19.51 GiB
  Free  PE / Size       0 / 0   
  VG UUID               bXjVA1-bMUC-zk0q-NUcS-PfJd-vQJU-ld4p2B
//以上是在原有的LVM中调整分区大小,但如果实在没有多余的空间进行调整而又需要新增空间只能通过新增加物理卷的方式增加卷组用量
//现在新增一个20G大小的物理卷sdb
# lsblk 
NAME                      MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sr0                        11:0    1 1024M  0 rom  
sda                         8:0    0   20G  0 disk 
├─sda1                      8:1    0  500M  0 part /boot
└─sda2                      8:2    0 19.5G  0 part 
  ├─vg_lvm-lv_root (dm-0) 253:0    0 13.6G  0 lvm  /
  ├─vg_lvm-lv_swap (dm-1) 253:1    0    2G  0 lvm  [SWAP]
  └─vg_lvm-lv_home (dm-2) 253:2    0    4G  0 lvm  /home
sdb                         8:16   0   20G  0 disk 

# lvdisplay 	//查看当前卷组信息并记录要把物理卷扩容到的 VG Name ,我这里要把这20G扩容到vg_lvm中
  --- Logical volume ---
  LV Path                /dev/vg_lvm/lv_home
  LV Name                lv_home
  VG Name                vg_lvm
  LV UUID                fSFgNe-YlfT-V2yJ-m8vo-OuCp-zWE0-633hf9
  LV Write Access        read/write
  LV Creation host, time lvm.com, 2019-02-12 23:13:42 +0800
  LV Status              available
  # open                 1
  LV Size                4.00 GiB
  Current LE             1024
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:2
   
  --- Logical volume ---
  LV Path                /dev/vg_lvm/lv_root
  LV Name                lv_root
  VG Name                vg_lvm
  LV UUID                tDmwOB-A2pq-Oo6F-fxIp-18Dw-a22l-mxsSqn
  LV Write Access        read/write
  LV Creation host, time lvm.com, 2019-02-12 23:13:44 +0800
  LV Status              available
  # open                 1
  LV Size                13.57 GiB
  Current LE             3474
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:0
   
  --- Logical volume ---
  LV Path                /dev/vg_lvm/lv_swap
  LV Name                lv_swap
  VG Name                vg_lvm
  LV UUID                AxXe0X-u8CK-36Nm-RuHl-csH2-tuTj-FXcCQa
  LV Write Access        read/write
  LV Creation host, time lvm.com, 2019-02-12 23:13:44 +0800
  LV Status              available
  # open                 1
  LV Size                1.94 GiB
  Current LE             496
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:1

# vgextend vg_lvm /dev/sdb 	//把新的物理卷加入到卷组中
  Physical volume "/dev/sdb" successfully created
  Volume group "vg_lvm" successfully extended
# vgdisplay 	//查看卷组信息,可以看到 Free PE 有 20.00 GiB
  --- Volume group ---
  VG Name               vg_lvm
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  8
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                3
  Open LV               3
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               39.50 GiB
  PE Size               4.00 MiB
  Total PE              10113
  Alloc PE / Size       4994 / 19.51 GiB
  Free  PE / Size       5119 / 20.00 GiB
  VG UUID               bXjVA1-bMUC-zk0q-NUcS-PfJd-vQJU-ld4p2B

//重复前面的增加根分区步骤,完全利用Free PE,达到增加根分区容量的目的
# lvextend -L +19.9G /dev/mapper/vg_lvm-lv_root 
  Rounding size to boundary between physical extents: 19.90 GiB.
  Size of logical volume vg_lvm/lv_root changed from 13.57 GiB (3474 extents) to 33.47 GiB (8569 exten
ts).  Logical volume lv_root successfully resized.

# resize2fs /dev/mapper/vg_lvm-lv_root 
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_lvm-lv_root is mounted on /; on-line resizing required
old desc_blocks = 1, new_desc_blocks = 3
Performing an on-line resize of /dev/mapper/vg_lvm-lv_root to 8774656 (4k) blocks.
The filesystem on /dev/mapper/vg_lvm-lv_root is now 8774656 blocks long.

# lvextend -L +96M /dev/mapper/vg_lvm-lv_root 
  Size of logical volume vg_lvm/lv_root changed from 33.47 GiB (8569 extents) to 33.57 GiB (8593 exten
ts).  Logical volume lv_root successfully resized.

# resize2fs /dev/mapper/vg_lvm-lv_root 
resize2fs 1.41.12 (17-May-2010)
Filesystem at /dev/mapper/vg_lvm-lv_root is mounted on /; on-line resizing required
old desc_blocks = 3, new_desc_blocks = 3
Performing an on-line resize of /dev/mapper/vg_lvm-lv_root to 8799232 (4k) blocks.
The filesystem on /dev/mapper/vg_lvm-lv_root is now 8799232 blocks long.

# df -h	//查看分区大小,可以看到根分区已经扩大20G
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_lvm-lv_root
                       33G  746M   31G   3% /
tmpfs                 491M     0  491M   0% /dev/shm
/dev/sda1             477M   28M  425M   7% /boot
/dev/mapper/vg_lvm-lv_home
                      3.9G   28M  3.6G   1% /home
LVM的优点
- 文件系统可以跨多个磁盘,因此文件系统大小不会受物理磁盘的限制。
- 可以在系统运行的状态下动态的扩展文件系统的大小。
- 可以增加新的磁盘到LVM的存储池中。
- 可以以镜像的方式冗余重要的数据到多个物理磁盘。
- 可以方便的导出整个卷组到另外一台机器。
缺点:
- 在从卷组中移除一个磁盘的时候必须使用reducevg命令(这个命令要求root权限,并且不允许在快照卷组中使用)。
- 当卷组中的一个磁盘损坏时,整个卷组都会受到影响。
- 因为加入了额外的操作,存贮性能受到影响。

你可能感兴趣的:(CentOS_6,网络转载)