首页
搜索 搜索

Linux 系统在线扩容磁盘空间

今日头条     2023-04-19 11:39:09
一、概述

在Linux系统中,目录的大小是动态的,随着其中的文件和子目录的添加、删除和修改而变化。当目录中的文件和子目录越来越多时,可能需要对该目录进行动态扩容,以便为其提供足够的空间。

以下是Linux目录动态扩容的概述:


【资料图】

确定当前目录的大小:使用命令du可以获取目录的大小信息。例如,运行命令du -sh /path/to/directory可以显示指定目录的大小。确定当前目录的文件系统类型:使用命令df -T /path/to/directory可以获取指定目录所在的文件系统类型。通常,Linux系统使用ext2、ext3、ext4等文件系统类型。检查当前目录所在的文件系统是否支持动态扩容:不是所有文件系统都支持动态扩容,因此需要检查当前目录所在的文件系统是否支持。通常情况下,ext2、ext3、ext4等常用的Linux文件系统都支持动态扩容。对文件系统进行扩容:如果文件系统支持动态扩容,可以使用工具对其进行扩容。对于ext2、ext3、ext4等文件系统,可以使用resize2fs命令来扩展文件系统。例如,如果要将/dev/sda1文件系统扩展到10GB,可以使用命令resize2fs /dev/sda1 10G。扩容目录所在的分区:在对文件系统进行扩容后,需要将目录所在的分区进行扩容。可以使用fdisk命令或其他分区管理工具对分区进行扩容。注意,在扩容分区之前,必须先对文件系统进行扩容,否则扩容分区可能会导致数据丢失。检查目录是否已经扩容成功:使用du命令再次检查目录的大小,以确保已经成功扩容。

需要注意的是,在扩容文件系统和分区时,必须备份所有重要数据,以免发生数据丢失。

二、开始实战操作演示第一步:添加一块10G的硬盘第二步:查看添加的硬盘
fdisk -l

如果看不到新添加的磁盘块,则如下解决

# 重新扫描SCSI总线添加设备

echo "- - -" > /sys/class/scsi_host/host0/scanecho "- - -" > /sys/class/scsi_host/host1/scanecho "- - -" > /sys/class/scsi_host/host2/scan

注意,如果扫描这三个文件不成,就全部扫描一遍

cat /usr/local/src/test.sh#!/usr/bin/bashscsisum=`ll /sys/class/scsi_host/host*|wc -l`for ((i=0;i<${scsisum};i++))do    echo "- - -" > /sys/class/scsi_host/host${i}/scandone#echo "- - -" > /sys/class/scsi_host/host0/scan 这三个值代表通道,SCSI目标ID和LUN。破折号充当通配符,意思是“重新扫描一切”
第三步:对磁盘进行分区

注意:不同操作系统的磁盘命名方式不同,有些是/dev/vdc。具体使用方式参考第三步中fdisk -l首行显示Disk。按照下面Linux操作进行分区。

$ fdisk /dev/sdc# fdisk的交互模式,依次输入n  --创建新分区p  --创建主分区<回车>  --默认分区编号<回车>  --默认起始扇区位置。<回车>  --默认结束扇区位置。t  --设置分区类型8e  类型为LVMw  --写入分区表

# 查看分区情况

fdisk -l /dev/sdc
第四步:扩充根分区:将新分区扩展根:/

1、查看卷分组

[root@compute2 ~]# vgdisplay -v--- Volume group ---VG Name centos    # 卷分组名,后面会用到这个名字System IDFormat lvm2Metadata Areas 1Metadata Sequence No 3VG Access read/writeVG Status resizableMAX LV 0Cur LV 2Open LV 1Max PV 0Cur PV 1Act PV 1VG Size 12.00 GiBPE Size 4.00 MiBTotal PE 3073Alloc PE / Size 3072 / 12.00 GiBFree 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/sdc3VG NamePV Size <10.00 GiBAllocatable NOPE Size 0Total PE 0Free PE 0Allocated PE 0PV 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=0data     =                       bsize=4096   blocks=2621440, imaxpct=25         =                       sunit=0      swidth=0 blksnaming   =version 2              bsize=4096   ascii-ci=0 ftype=1log      =internal               bsize=4096   blocks=2560, version=2         =                       sectsz=512   sunit=0 blks, lazy-count=1realtime =none                   extsz=4096   blocks=0, rtextents=0data blocks changed from 2621440 to 3932160

8、最后查看文件系统

df -h

X 关闭

海峡工业网版权所有

备案号:皖ICP备2022009963号-10邮箱:396 029 142 @qq.com