首页 > 系统相关 >Linux 系统在线扩容磁盘空间

Linux 系统在线扩容磁盘空间

时间:2023-04-18 21:12:24浏览次数:44  
标签:扩容 在线 centos 分区 文件系统 dev 磁盘空间 Linux root

@

目录

一、概述

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

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

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

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

img

二、开始实战操作演示

第一步:添加一块10G的硬盘

img

第二步:查看添加的硬盘

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

在线扩容到此为止了,有任何疑问欢迎给我留言或关注我公众号【大数据与云原生技术分享】加群交流或私信沟通,后续会持续更新技术文章,请小伙伴耐心等待~

标签:扩容,在线,centos,分区,文件系统,dev,磁盘空间,Linux,root
From: https://www.cnblogs.com/liugp/p/17331116.html

相关文章

  • Linux基础命令
    目录一、关机或重启命令二、显示当前所在路径,显示当前路径下的所有内容三、基础命令touch、cat、echo四、基础命令cp、mv、rm五、切换目录六、创建目录结构七、编辑相关命令八、如何建立软连接?一、关机或重启命令'''参数介绍-h(hour小时的意思后面跟具体时间12:30常用-h0......
  • Linux下Mysql数据库的基础操作
    (Linux下Mysql数据库的基础操作)一、Mysql数据介绍Mysql数据库是一种关系型数据库管理系统,具有的优点有体积小、速度快、总体成本低,开源,可移植性(跨平台,在不同系统中使用),可以和开发语结合,属于轻量级数据库。二、数据库相关术语介绍1.数据库相关名词数据库:database表:table......
  • Redis 一、(简介,redis-linux下载,启动方式,常用配置,应用场景,数据结构和内部编码,字符类型)
    目录Redis一、Redis1、简介2、RedisLinux下载安装3、redis启动方式3、1.简单启动3、2.动态参数启动3、3.配置文件启动5、常用配置6、redis应用场景7、redis通用命令8、数据结构和内部编码9、redis字符串类型Redis一、Redis1、简介#Redis特性1)速度快10wops(每秒10万......
  • 配置SUSE linux实例的NTP/Chrony时钟同步服务
    问题描述您希望了解如何修改Linux系统的ECS实例的时区,以及如何开启、配置及使用NTP/Chrony服务,保证实例的时间精确同步。适用于SUSELinuxEnterpriseforSAP12SUSELinuxEnterpriseforSAP15说明和使用限制NTP服务的通信端口为UDP123,您需要在实例安全组的入方向......
  • Linux 防火墙命令
    一、Linux查看、关闭、打开防火墙命令以下截图中的操作均在Centos7上进行。1.查看防火墙状态的命令 systemctlstatusfirewalld  或者 firewall-cmd--state 2.关闭防火墙命令2.1暂时关闭防火墙(使用reboot命令重启后会恢复到原来的状态)systemctlstopfirewall......
  • obd demo快速部署单副本oceanbase(在线)
    资源要求:可用内存不少于8G安装目录空间不少于50G(默认安装在当前安装用户的家目录下) 1.什么是obd?odb是oceanbase社区版部署工具oceanbasedeployer的简称,通过obd可以快速完成oceanbaseclusterr的部署。不传入配置文件的情况下,在单机通过执行obddemo可以快速部署oceanba......
  • linux minicom的使用
    1.使用执行minicom-s,弹出以下菜单 使用向下键跳至第三项,回车,可以在这里修改port在此菜单中,输入A/B/C可以跳至对应项,修改后,回车即可退出到上一层级跳至Exit,回车即可进入minicom,再回车几次即可进入命令行2.退出在使用终端输入minicom进入传输时,是无法直接退出的,需要使......
  • linux篇-linux LAMP yum版安装
    LAMP(linux、apache、mysql、php),是四个套件的合成,简单讲就是要把php运行在linux上,需要依赖apache和mysql数据库。1准备好一个linux系统(centos7)确保selinux、firewall已经关闭systemctlstopfirewalld.service//关闭systemctldisablefirewalld.service......
  • linux篇-centos7 安装cacti
    1cacti运行环境准备cacti需要php+apache+mysql+snmp+RRDTool,以及cacti本身。cacti本体是用php开发的网站,通过snmp对远端设备信息进行采集。apache+mysql+php在以前已经做过了 这里只对剩余的部分进行安装。2安装snmpyuminstall-ynet-snmp*vi/etc/sn......
  • 基于LINUX系统下多线程贪吃蛇小游戏
    基于Ncurse图形库的C语言小游戏。涉及到,C变量,流程控制,函数,指针,结构体等知识内容,动态链表的创建和插入,以及释放。数组的遍历,#include<stdlib.h>#include<curses.h>#defineROW20#defineCOL20#defineROW_Snake2#defineCOL_Snake2#defineUP1#defineDOWN......