在linux系统中,目录的大小是动态的,随着其中的文件和子目录的添加、删除和修改而变化。当目录中的文件和子目录越来越多时,可能需要对该目录进行动态扩容,以便为其提供足够的空间。
以下是Linux目录动态扩容的概述:
需要注意的是,在扩容文件系统和分区时,必须备份所有重要数据,以免发生数据丢失。
fdisk -l
如果看不到新添加的磁盘块,则如下解决
# 重新扫描SCSI总线添加设备
echo "- - -" > /sys/class/scsi_host/host0/scan
echo "- - -" > /sys/class/scsi_host/host1/scan
echo "- - -" > /sys/class/scsi_host/host2/scan
注意,如果扫描这三个文件不成,就全部扫描一遍
cat /usr/local/src/test.sh
#!/usr/bin/bash
scsisum=`ll /sys/class/scsi_host/host*|wc -l`
for ((i=0;i<${scsisum};i++))
do
echo "- - -" > /sys/class/scsi_host/host${i}/scan
done
#echo "- - -" > /sys/class/scsi_host/host0/scan 这三个值代表通道,SCSI目标ID和LUN。破折号充当通配符,意思是“重新扫描一切”
注意:不同操作系统的磁盘命名方式不同,有些是/dev/vdc。具体使用方式参考第三步中fdisk -l首行显示Disk。
按照下面Linux操作进行分区。
$ fdisk /dev/sdc
# fdisk的交互模式,依次输入
n --创建新分区
p --创建主分区
<回车> --默认分区编号
<回车> --默认起始扇区位置。
<回车> --默认结束扇区位置。
t --设置分区类型
8e 类型为LVM
w --写入分区表
# 查看分区情况
fdisk -l /dev/sdc
1、查看卷分组
[root@compute2 ~]# vgdisplay -v
--- Volume group ---
VG Name centos # 卷分组名,后面会用到这个名字
System ID
Format lvm2
Metadata Areas 1
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 2
Open LV 1
Max PV 0
Cur PV 1
Act PV 1
VG Size 12.00 GiB
PE Size 4.00 MiB
Total PE 3073
Alloc PE / Size 3072 / 12.00 GiB
Free PE / Size 1 / 4.00 MiB # 这一项表示目前该系统上还存在4.00G的空闲空间,可以增加到其它分区上使用
VG UUID gjNdOE-1caE-oOKW-CzOU-3JTz-NUFY-f5R5my
2、为新增的分区创建物理卷
# 注意3表示上面设置分区编号
pvcreate /dev/sdc3
3、查看新建的物理卷和大小,使用pvdisplay命令。
[root@compute2 ~]# pvdisplay /dev/sdc3
"/dev/sdc3" is a new physical volume of "<10.00 GiB"
--- NEW Physical volume ---
PV Name /dev/sdc3
VG Name
PV Size <10.00 GiB
Allocatable NO
PE Size 0
Total PE 0
Free PE 0
Allocated PE 0
PV UUID w7wpuN-2kvs-v8Zp-3y6V-ptpC-QvFq-BAWQ9O
4、扩展卷分组,"centos"是vgdisplay命令查到的卷分组名:这里的卷分组名跟上面呼应
[root@compute2 ~]# vgextend centos /dev/sdc3
Volume group "centos" successfully extended
5、查看文件根系统名称
[root@compute2 ~]# df -h|grep '/$'
/dev/mApper/centos-root 10G 6.7G 3.4G 67% /
6、扩展逻辑卷空间5G
[root@compute2 ~]# **lvextend -L +5G /dev/mapper/centos-root**
Size of logical volume centos/root changed from 10.00 GiB (2560 extents) to 15.00 GiB (3840 extents).
Logical volume centos/root successfully resized.
7、最后扩容文件系统
# 使用 resize2fs或xfs_growfs 对挂载目录在线扩容
# resize2fs 针对文件系统ext2 ext3 ext4
# xfs_growfs 针对文件系统xfs
[root@compute2 ~]# xfs_growfs /dev/mapper/centos-root
meta-data=/dev/mapper/centos-root isize=512 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=0 spinodes=0
data = bsize=4096 blocks=2621440, 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 2621440 to 3932160
8、最后查看文件系统
df -h
在线扩容到此为止了,有任何疑问欢迎给我留言或关注我公众号【大数据与云原生技术分享】加群交流或私信沟通,后续会持续更新技术文章,请小伙伴耐心等待~