LVM(一)——逻辑卷扩缩容

一、Linux 缩减逻辑卷

由于之前在逻辑卷上创建的文件系统是xfs文件系统,该文件系统 xfs是不能直接缩容的。因此这里要把文件系统改为ext4系统。

操作步骤:备份–卸载–重新格式化ext4–e2fsck检查文件系统完整性 --缩小容量resize2fs、lvreduce–格式化为xfs – 重新识别 xfs_growfs

1、 卸载逻辑卷

[root@centos7 ~]# umount /dev/vg_sdb1/lv_sdb1 

2、重新格式化成ext4文件系统

[root@centos7 ~]# mkfs.ext4 /dev/vg_sdb1/lv_sdb1 
mke2fs 1.42.9 (28-Dec-2013)
文件系统标签=
OS type: Linux
块大小=4096 (log=2)
分块大小=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5241856 blocks
262092 blocks (5.00%) reserved for the super user
第一个数据块=0
Maximum filesystem blocks=2153775104
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000

Allocating group tables: 完成                            
正在写入inode表: 完成                            
Creating journal (32768 blocks): 完成
Writing superblocks and filesystem accounting information: 完成   


3、检查文件系统完整性

[root@centos7 ~]# e2fsck -f /dev/vg_sdb1/lv_sdb1
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/vg_sdb1/lv_sdb1: 11/393216 files (0.0% non-contiguous), 65654/1572864 blocks

4、重新设定文件系统的大小,并缩减逻辑卷容量。

[root@centos7 ~]# resize2fs /dev/vg_sdb1/lv_sdb1 16G
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/vg_sdb1/lv_sdb1 to 4194304 (4k) blocks.
The filesystem on /dev/vg_sdb1/lv_sdb1 is now 4194304 blocks long.

缩容

[root@centos7 ~]# lvreduce -L -2G /dev/vg_sdb1/lv_sdb1 
  WARNING: Reducing active logical volume to <18.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce vg_sdb1/lv_sdb1? [y/n]: y
  Size of logical volume vg_sdb1/lv_sdb1 changed from <20.00 GiB (5119 extents) to <18.00 GiB (4607 extents).
  Logical volume vg_sdb1/lv_sdb1 successfully resized.

5、再次格式化为xfs

[root@centos7 ~]# mkfs.xfs -f /dev/vg_sdb1/lv_sdb1
meta-data=/dev/vg_sdb1/lv_sdb1   isize=512    agcount=4, agsize=1179392 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0, sparse=0
data     =                       bsize=4096   blocks=4717568, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

挂载之前最好检查一下xfs文件系统。

[root@centos7 ~]# xfs_repair /dev/vg_sdb1/lv_sdb1
Phase 1 - find and verify superblock...
Phase 2 - using internal log
        - zero log...
        - scan filesystem freespace and inode maps...
        - found root inode chunk
Phase 3 - for each AG...
        - scan and clear agi unlinked lists...
        - process known inodes and perform inode discovery...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
        - process newly discovered inodes...
Phase 4 - check for duplicate blocks...
        - setting up duplicate extent list...
        - check for inodes claiming duplicate blocks...
        - agno = 0
        - agno = 1
        - agno = 2
        - agno = 3
Phase 5 - rebuild AG headers and trees...
        - reset superblock...
Phase 6 - check inode connectivity...
        - resetting contents of realtime bitmap and summary inodes
        - traversing filesystem ...
        - traversal finished ...
        - moving disconnected inodes to lost+found ...
Phase 7 - verify and correct link counts...
done
[root@centos7 ~]# xfs_growfs /dev/vg_sdb1/lv_sdb1
xfs_growfs: /dev/vg_sdb1/lv_sdb1 is not a mounted XFS filesystem

6、挂载文件系统

[root@centos7 ~]# mount /dev/vg_sdb1/lv_sdb1 /data/lvm
[root@centos7 ~]# lsblk
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                   8:0    0  100G  0 disk 
├─sda1                8:1    0    1G  0 part /boot
├─sda2                8:2    0   50G  0 part /
├─sda3                8:3    0 19.5G  0 part /data
├─sda4                8:4    0  512B  0 part 
└─sda5                8:5    0    2G  0 part [SWAP]
sdb                   8:16   0   20G  0 disk 
└─sdb1                8:17   0   20G  0 part 
  └─vg_sdb1-lv_sdb1 253:0    0   18G  0 lvm  /data/lvm
sr0                  11:0    1  8.1G  0 rom  /mnt/cdrom

二、Linux 逻辑卷扩容

可以看到原先的卷组已经用完了,因此这里想要给逻辑卷扩容得先增加卷组,而卷组的增加又得增加物理卷。因此这里添加一块新的虚拟硬盘来模拟。
在这里插入图片描述

[root@centos6 ~]# echo "- - -" >/sys/class/scsi_host/host0/scan
[root@centos6 ~]# lsblk
NAME                         MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                            8:0    0  200G  0 disk 
├─sda1                         8:1    0    1G  0 part /boot
├─sda2                         8:2    0 48.8G  0 part /
├─sda3                         8:3    0 29.3G  0 part /data
├─sda4                         8:4    0    1K  0 part 
└─sda5                         8:5    0    2G  0 part [SWAP]
sr0                           11:0    1  8.1G  0 rom  /mnt/cdrom
sr1                           11:1    1  3.7G  0 rom  
sdb                            8:16   0   10G  0 disk 
├─sdb1                         8:17   0    2G  0 part /home
└─sdb2                         8:18   0    8G  0 part 
  └─vg--sdb2-lv--sdb2 (dm-0) 253:0    0    8G  0 lvm  
sdc                            8:32   0   10G  0 disk 

直接拿整块硬盘来作为逻辑卷,因此这里可以不用划分分区也不用更改分区类型。

[root@centos6 ~]# pvcreate /dev/sdc
  Physical volume "/dev/sdc" successfully created
[root@centos6 ~]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdb2
  VG Name               vg-sdb2
  PV Size               7.99 GiB / not usable 1.54 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              2045
  Free PE               0
  Allocated PE          2045
  PV UUID               f5WhrU-rYRI-Hqr5-Hdif-fxtH-VCyS-xx7ULu
   
  "/dev/sdc" is a new physical volume of "10.00 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc
  VG Name               
  PV Size               10.00 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               3hhHF0-mbxq-QXho-tdCX-fRvg-SUkC-27OEET

扩展卷组(把新的物理卷加入vg-sdb2)

[root@centos6 ~]# vgextend vg-sdb2 /dev/sdc
  Volume group "vg-sdb2" successfully extended

此时发现vg-sdb2这个卷组空间增大了

[root@centos6 ~]# vgdisplay
  --- Volume group ---
  VG Name               vg-sdb2
  System ID             
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               17.98 GiB
  PE Size               4.00 MiB
  Total PE              4604
  Alloc PE / Size       2045 / 7.99 GiB
  Free  PE / Size       2559 / 10.00 GiB
  VG UUID               TVNGkV-GhVL-wmdl-mUAQ-StPx-bN5o-nn98xy

扩展逻辑卷
增加5G的容量

[root@centos6 ~]# lvextend -L +5G /dev/vg-sdb2/lv-sdb2
  Size of logical volume vg-sdb2/lv-sdb2 changed from 7.99 GiB (2045 extents) to 12.99 GiB (3325 extents).
  Logical volume lv-sdb2 successfully resized.
[root@centos6 ~]# lvs
  LV      VG      Attr       LSize  Pool Origin Data%  Meta%  Move Log Cpy%Sync Convert
  lv-sdb2 vg-sdb2 -wi-a----- 12.99g    

注意:此处还要同步文件系统,因为新加入的逻辑卷上还没有创建文件系统
同步文件系统
此命令只适合ext系列的文件系统。

[root@centos6 ~]# resize2fs /dev/vg-sdb2/lv-sdb2
resize2fs 1.41.12 (17-May-2010)
Resizing the filesystem on /dev/vg-sdb2/lv-sdb2 to 3404800 (4k) blocks.
The filesystem on /dev/vg-sdb2/lv-sdb2 is now 3404800 blocks long.

也可以这样操作,在扩展逻辑卷的同时同步文件系统。

[root@centos6 ~]# lvextend -L +5G -r /dev/vg-sdb2/lv-sdb2
  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值