LVM分区无损增减

LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分LVM区管理的灵活性。其结构为:PV——VG——LV——PE,LVM分区比较灵活的一个功能就是可以无损更改分区大小。目前我现网中的服务器也使用的是LVM分区,目前也遇到了某分区分间不足的问题,所以在测试环境上演练下更改分区大小,在此记录下。
1).PV(Physical Volume):物理巻,处于LVM最底层,可以是物理硬盘或者分区。
2).VG(Volume Group):巻组,建立在PV之上,可以含有一个到多个PV。
3).LV(Logical Volume):逻辑巻,建立在PV之上,相当于原来分区的概念。不过大小可动态改变。
4).PE(Physical Extend):物理区域,PV中可以用于分配的最小存储单位,可以在建立PV时指定,如1,2,4,8... ...64M,同一VG中的所有PV的PE应该相同。

一、无损减小LVM分区大小

1、查看目前的分区情况

[root@localhost ~]# df -h
文件系统                    容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root      17G  5.4G   12G   32% /
devtmpfs                    901M     0  901M    0% /dev
tmpfs                       916M     0  916M    0% /dev/shm
tmpfs                       916M  9.0M  907M    1% /run
tmpfs                       916M     0  916M    0% /sys/fs/cgroup
/dev/sda1                  1014M  179M  836M   18% /boot
tmpfs                       184M   12K  184M    1% /run/user/42
tmpfs                       184M     0  184M    0% /run/user/0
/dev/mapper/ln-myweb        25G  2.3G   21G   7% /www

当前测试环境下的/www分区为LVM分区(普通分区也可以通过pvcreate、vgcreate、lvcreate等一系统命令完成),

2、卸载分区,调整大小

卸载分区

[root@localhost ~]# umount /www
umount: /www:目标忙。
        (有些情况下通过 lsof(8) 或 fuser(1) 可以
         找到有关使用该设备的进程的有用信息)

查出谁在使用这个资源:lsof命令或者fuser命令

[root@localhost ~]# lsof | grep www
lsof: WARNING: can't stat() fuse.gvfsd-fuse file system /run/user/1000/gvfs
      Output information may be incomplete.
bash   25062   root  cwd  DIR  253,2  4096  263836  /www/wdlinux/httpd/conf/vhost
bash   25195   root  cwd  DIR  253,2  4096  262266  /www/wdlinux/httpd/bin
bash   25603   root  cwd  DIR  253,2  4096  788793  /www/web/slai720
[root@localhost bin]# fuser -u -m -v /www
                     用户     进程号 权限   命令
/www:                root     kernel mount (root)/www
                     root      25062 ..c.. (root)bash
                     root      25195 ..c.. (root)bash
                     root      25603 ..c.. (root)bash
                     root      28030 ..c.. (root)bash

检查文件系统:

[root@localhost ~]# e2fsck -f /dev/mapper/ln-myweb  //强制检查文件系统的正确性
e2fsck 1.42.9 (28-Dec-2013)
第一步: 检查inode,块,和大小
第二步: 检查目录结构
第3步: 检查目录连接性
Pass 4: Checking reference counts
第5步: 检查簇概要信息
/dev/mapper/ln-myweb: 36437/1638400 files (0.1% non-contiguous), 725572/6552576 blocks

调整大小:

缩小ext4文件系统,因为LVM分区还是在基本文件系统之上建立的,其更改需要文件系统也要做相应的更改。不然两大小是对等的,就会出问题了。

[root@localhost ~]# resize2fs /dev/mapper/ln-myweb 20G  //20G为调整后www分区的大小
resize2fs 1.42.9 (28-Dec-2013)
Resizing the filesystem on /dev/mapper/ln-myweb to 5242880 (4k) blocks.
The filesystem on /dev/mapper/ln-myweb is now 5242880 blocks long.

接下来,缩小LVM分区的大小。

[root@localhost ~]# lvresize -L 20G /dev/mapper/ln-myweb 
  WARNING: Reducing active logical volume to 20.00 GiB.
  THIS MAY DESTROY YOUR DATA (filesystem etc.)
Do you really want to reduce ln/myweb? [y/n]: y
  Size of logical volume ln/myweb changed from <25.00 GiB (6399 extents) to 20.00 GiB (5120 extents).
  Logical volume ln/myweb successfully resized.

3、重新挂载,查看更改

[root@localhost ~]# mount /www/
[root@localhost ~]# df -h
文件系统                    容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root      17G  5.4G   12G   32% /
devtmpfs                    901M     0  901M    0% /dev
tmpfs                       916M     0  916M    0% /dev/shm
tmpfs                       916M  9.0M  907M    1% /run
tmpfs                       916M     0  916M    0% /sys/fs/cgroup
/dev/sda1                  1014M  179M  836M   18% /boot
tmpfs                       184M   12K  184M    1% /run/user/42
tmpfs                       184M     0  184M    0% /run/user/0
/dev/mapper/ln-myweb   20G  2.3G   17G   13% /www

二、创建新的测试分区

我们利用刚刚/www分区减小的分区,创建新的lv分区

[root@localhost bin]# pvscan
  PV /dev/sdb1   VG ln        lvm2 [<25.00 GiB / <5.00 GiB free]
  PV /dev/sda2   VG centos          lvm2 [<19.00 GiB / 0    free]
  Total: 2 [43.99 GiB] / in use: 2 [43.99 GiB] / in no VG: 0 [0   ]

[root@localhost bin]# lvcreate -n second-web -l 100%free ln
  Logical volume "second-web" created.

创建新的分区之前已经写过,需要的情查看:https://blog.csdn.net/shardy0/article/details/86239616 

三、无损增大LVM分区

[root@localhost bin]# pvscan
  PV /dev/sdb1   VG ln        lvm2 [<25.00 GiB / <5.00 GiB free]
  PV /dev/sda2   VG centos          lvm2 [<19.00 GiB / 0    free]
  Total: 2 [43.99 GiB] / in use: 2 [43.99 GiB] / in no VG: 0 [0   ]
[root@localhost bin]# df -hl
文件系统                    容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root      17G  5.4G   12G   32% /
devtmpfs                    901M     0  901M    0% /dev
tmpfs                       916M     0  916M    0% /dev/shm
tmpfs                       916M  9.1M  907M    1% /run
tmpfs                       916M     0  916M    0% /sys/fs/cgroup
/dev/sda1                  1014M  179M  836M   18% /boot
tmpfs                       184M   12K  184M    1% /run/user/42
tmpfs                       184M     0  184M    0% /run/user/0
/dev/mapper/ln-myweb   20G  2.3G   17G   13% /www

卸载home分区,并增加大小 (不进行umount操作也可以, 不过在操作过程中会引起IO增高的问题)

[root@localhost bin]# lvextend -L +5G /dev/mapper/ln-myweb 
  Insufficient free space: 1280 extents needed, but only 1279 available
[root@localhost bin]# lvextend -L +4G /dev/mapper/ln-myweb 
  Size of logical volume lnweixin/myweb changed from 20.00 GiB (5120 extents) to 24.00 GiB (6144 extents).
  Logical volume ln/myweb successfully resized.

使更改生效

[root@localhost bin]# resize2fs /dev/mapper/ln-myweb 
resize2fs 1.42.9 (28-Dec-2013)
Filesystem at /dev/mapper/ln-myweb is mounted on /www; on-line resizing required
old_desc_blocks = 3, new_desc_blocks = 3
The filesystem on /dev/mapper/ln-myweb is now 6291456 blocks long.

硬盘xfs格式
使用
xfs_growfs /dev/centos/root

卸载增加空间后,需要先运行e2fsck检查,按照提示先进行分区检查(若无上面的提示,下面的步骤可以省略)

e2fsck -f /dev/mapper/ln-myweb 

重新挂载,

mount /dev/mapper/ln-myweb  /www

查看大小

[root@localhost bin]# df -h
文件系统                    容量  已用  可用 已用% 挂载点
/dev/mapper/centos-root      17G  5.4G   12G   32% /
devtmpfs                    901M     0  901M    0% /dev
tmpfs                       916M     0  916M    0% /dev/shm
tmpfs                       916M  9.0M  907M    1% /run
tmpfs                       916M     0  916M    0% /sys/fs/cgroup
/dev/sda1                  1014M  179M  836M   18% /boot
tmpfs                       184M   12K  184M    1% /run/user/42
tmpfs                       184M     0  184M    0% /run/user/0
/dev/mapper/ln-myweb       24G  2.3G   21G   11% /www

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值