lvm动态磁盘扩容-扩在同一个卷组下

1、查看磁盘信息

 df -Th

 lsblk

2、对新加的硬盘进行分区

 fdisk /dev/nvme0n3
 #nvme0n3为新盘名

若为同一块硬盘扩容,则需要执行 partprobe 刷新分区表

3、创建物理卷

 pvcreate /dev/nvme0n3p1
 #nvme0n3p1为磁盘分区生成的分区名

 pvs

4、扩容卷组

 vgextend data /dev/nvme0n3p1
 #data为需要扩容的卷组名称,可以用vgs查看

 vgs

5、扩容逻辑卷

 lvextend -l +100%FREE /dev/data/data
 #data为需要扩容的卷组名称及逻辑卷名称,可以用lvs查看

 lvs

Logical volume data/data successfully resized.-------->说明逻辑卷扩容成功

6、调整文件系统大小,刷新存储空间

以 xfs 系统为例:

 xfs_growfs /dev/mapper/data-data

 systemctl daemon-reload

注意:若文件系统为ext2、ext3、ext4格式,则使用如下命令进行调整:

 resize2fs /dev/mapper/data-data

 systemctl daemon-reload

7、验证

 lsblk

 df -Th

8、附:python3环境下执行每5秒钟写入一条数据,可在扩容时使用:

import datetime
import time


while True:
    date=datetime.datetime.now().strftime('%d/%m/%Y, %H:%M:%S')
    with open('/data/time.txt','a') as file:
        file.write(f'{date}\n')
        time.sleep(5)

二、part标准分区扩容

1、将原如sda磁盘容量扩大

2、安装growpart

yum install cloud-utils-growpart -y

3、用指令 growpart /dev/sda 5 将 sda5的物理分区进行扩容

4、 resize2fs /dev/sda5 来扩容文件系统

5、df -Th 检查

三、LVM挂载磁盘

以挂载vdb盘为例,具体可执行lablk命令查看具体盘名,并更新disk_b变量

#!/bin/bash
yum install -y lvm2 expect
disk_b=`lsblk -d | egrep "*.b" | cut -d ' ' -f 1`
n='/dev/null'
yum -y install expect >> $n
expect <<EOF
set timeout 10
spawn fdisk /dev/$disk_b
expect "Command" { send "n\n" }
expect "Select" { send "\n" }
expect "Partition" { send "\n" }
expect "First" { send "\n" }
expect "Last" { send "\n" }
expect "Command" { send "t\n" }
expect "Hex" { send "8e\n" }
expect "Command" { send "w\n" }
expect eof
EOF
pvcreate /dev/"$disk_b"1 > $n
vgcreate vg_data /dev/"$disk_b"1 > $n
lvcreate -l +100%FREE -n lv_data vg_data > $n
expect <<EOF
set timeout 10
spawn mkfs.ext4 /dev/vg_data/lv_data
expect "WARNING" { send "y\n" }
expect eof
EOF
mkdir /data
disk=`blkid /dev/mapper/vg_data-lv_data | awk '{print $2}'`
cp /etc/fstab /etc/fstab.bak >> $n
echo "$disk /data ext4 defaults 0 0" >> /etc/fstab
mount -a 
systemctl daemon-reload
作者:wiki  创建时间:2024-12-17 16:07
最后编辑:wiki  更新时间:2025-01-09 11:10