linux逻辑卷扩容(在已有的逻辑卷基础上扩容)

一、背景

场景一、

在实际生产环境中,我们的数据目录/data01  之前做了逻辑卷挂了100G到这个目录下,现在这个目录因为晚上日志切割备份,磁盘空间不够,导致在切割备份过程中产生告警。如果数据量增大会导致备份失败

场景二、

在生产环境中 ,我们的数据库目录/data01 现在做了逻辑卷挂在100G ,但是由于最近属于业务高峰期导致磁盘已经快满了 ,现在我们有两个选择:

1、更换数据目录,但这种情况一般不采取,因为我之前的软件或者数据可能到放在了/data 01如果现在换目录,就可能涉及软件重装或者数据迁移等等一系列的问题,

2、直接新增一块硬盘,做成逻辑卷挂在当前数据目录/data01下

往往在实际生产环境中  我们采用的都是第二种,因为使用第二种我们可以无限扩容或者缩容

本次我们讲的是给/data01盘扩容

二、确认磁盘是否添加

本次是用虚拟机模拟生产环境操作

[root@control ~]# lsblk   #查看是否添加新磁盘
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                   8:0    0   20G  0 disk
├─sda1                8:1    0    1G  0 part /boot
└─sda2                8:2    0   19G  0 part
  ├─centos-root     253:0    0   17G  0 lvm  /
  └─centos-swap     253:1    0    2G  0 lvm  [SWAP]
sdb                   8:16   0   20G  0 disk
└─sdb1                8:17   0   19G  0 part
  └─vg_data-vg_data 253:2    0 18.5G  0 lvm  /data01
sdc                   8:32   0    2G  0 disk
sr0                  11:0    1  8.8G  0 rom

从上述我们可以看出

1、目前我的的数据盘名为/data01  大小为18.5G

2、新增了一块sdc磁盘                   大小为2G

现在假设我们的data01 是数据目录现在已经快满了  我们需要进行扩容  我就扩容2G了

查看当前逻辑卷的系统类型(重点)

[root@node1 ~]# df -Th
文件系统                  类型      容量  已用  可用 已用% 挂载点
devtmpfs                  devtmpfs  475M     0  475M    0% /dev
tmpfs                     tmpfs     487M     0  487M    0% /dev/shm
tmpfs                     tmpfs     487M  7.7M  479M    2% /run
tmpfs                     tmpfs     487M     0  487M    0% /sys/fs/cgroup
/dev/mapper/centos-root   xfs        17G  4.7G   13G   28% /
/dev/sda1                 xfs      1014M  174M  841M   18% /boot
/dev/mapper/wang-lv--wang ext4       18G  1.3G   16G    8% /data01
tmpfs                     tmpfs      98M     0   98M    0% /run/user/0
[root@node1 ~]#
 

通过上面的命令我们可以清楚的知道 我们现在磁盘所使用得文件系统类型是ext4

三、制作逻辑卷

1、将添加的新盘进行分区

[root@control ~]# fdisk /dev/sdc   #将sdc盘进行分区
欢迎使用 fdisk (util-linux 2.23.2)。

更改将停留在内存中,直到您决定将更改写入磁盘。
使用写入命令前请三思。

Device does not contain a recognized partition table
使用磁盘标识符 0xfe5eb84a 创建新的 DOS 磁盘标签。

命令(输入 m 获取帮助):n     #代表新建
Partition type:
   p   primary (0 primary, 0 extended, 4 free)
   e   extended
Select (default p): p    #代表分区号默认为1
分区号 (1-4,默认 1):
起始 扇区 (2048-4194303,默认为 2048): 直接回车的话默认起始扇区为2048
将使用默认值 2048
Last 扇区, +扇区 or +size{K,M,G} (2048-4194303,默认为 4194303):  直接回车默认为sdc1磁盘大小
将使用默认值 4194303
分区 1 已设置为 Linux 类型,大小设为 2 GiB

命令(输入 m 获取帮助):p  查看分区信息

磁盘 /dev/sdc:2147 MB, 2147483648 字节,4194304 个扇区
Units = 扇区 of 1 * 512 = 512 bytes
扇区大小(逻辑/物理):512 字节 / 512 字节
I/O 大小(最小/最佳):512 字节 / 512 字节
磁盘标签类型:dos
磁盘标识符:0xfe5eb84a

   设备 Boot      Start         End      Blocks   Id  System
/dev/sdc1            2048     4194303     2096128   83  Linux

命令(输入 m 获取帮助):w  保存当前的修改
The partition table has been altered!

Calling ioctl() to re-read partition table.

查看sdc1分区

[root@control ~]# lsblk
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                   8:0    0   20G  0 disk
├─sda1                8:1    0    1G  0 part /boot
└─sda2                8:2    0   19G  0 part
  ├─centos-root     253:0    0   17G  0 lvm  /
  └─centos-swap     253:1    0    2G  0 lvm  [SWAP]
sdb                   8:16   0   20G  0 disk
└─sdb1                8:17   0   19G  0 part
  └─vg_data-vg_data 253:2    0 18.5G  0 lvm  /data01
sdc                   8:32   0    2G  0 disk
└─sdc1                8:33   0    2G  0 part
sr0                  11:0    1  8.8G  0 rom

2、制作物理卷

[root@control ~]# pvcreate /dev/sdc1    创建物理卷组
  Physical volume "/dev/sdc1" successfully created.
[root@control ~]# vgs       查看卷组信息
  VG      #PV #LV #SN Attr   VSize   VFree
  centos    1   2   0 wz--n- <19.00g      0
  vg_data   1   1   0 wz--n- <19.00g 508.00m
[root@control ~]# vgextend vg_data /dev/sdc1    把/dev/sdc1 下的2g加入vg_data卷组
  Volume group "vg_data" successfully extended
[root@control ~]#

3、把卷组加入逻辑卷vg_data

[root@control ~]# lvextend -L +2G /dev/vg_data/vg_data      把卷组加入逻辑卷
  Size of logical volume vg_data/vg_data changed from 18.50 GiB (4736 extents) to 20.50 GiB (5248 extents).
  Logical volume vg_data/vg_data successfully resized.

下面要根据实际情况看你自己的逻辑卷是使用ext4还是xfs制作的来选择对应的刷新方式,这里刷新文件系统是不会格式化/data01中的数据      ( 重点重点重点)


[root@control ~]# xfs_growfs /dev/vg_data/vg_data   xfs 刷新分区
[root@control ~]# resize2fs /dev/datavg/lvdata      ext4刷新分区
meta-data=/dev/mapper/vg_data-vg_data isize=512    agcount=4, agsize=1212416 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=4849664, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 4849664 to 5373952
[root@control ~]#
[root@control ~]#

4、查看/data01数据目录是否增加2G左右

未扩容之前

[root@control ~]# lsblk
NAME                MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
sda                   8:0    0   20G  0 disk
├─sda1                8:1    0    1G  0 part /boot
└─sda2                8:2    0   19G  0 part
  ├─centos-root     253:0    0   17G  0 lvm  /
  └─centos-swap     253:1    0    2G  0 lvm  [SWAP]
sdb                   8:16   0   20G  0 disk
└─sdb1                8:17   0   19G  0 part
  └─vg_data-vg_data 253:2    0 18.5G  0 lvm  /data01

扩容之后

[root@control ~]# df -h   查看磁盘使用情况
文件系统                     容量  已用  可用 已用% 挂载点
devtmpfs                     899M     0  899M    0% /dev
tmpfs                        910M     0  910M    0% /dev/shm
tmpfs                        910M  9.9M  900M    2% /run
tmpfs                        910M     0  910M    0% /sys/fs/cgroup
/dev/mapper/centos-root       17G   14G  3.8G   78% /
/dev/sda1                   1014M  275M  740M   28% /boot
/dev/mapper/vg_data-vg_data   21G   33M   21G    1% /data01

从上面的截图来看未扩容之前为:18.5G     扩容之后为:21G   

到此给现有的数据盘扩容就结束了  如果想要知道如何制作逻辑卷的小伙伴可以查看之前的文章地址如下:全网最详细的linux逻辑卷制作教程-CSDN博客