首页 > 系统相关 >Linux-使用 growpart 工具自动扩容磁盘分区

Linux-使用 growpart 工具自动扩容磁盘分区

时间:2024-09-20 17:47:31浏览次数:1  
标签:tmpfs run Linux dev 0% 磁盘 growpart 磁盘分区 root

Linux-使用 growpart 工具自动扩容磁盘分区

  • 需要预先将云磁盘在 web 控制台进行扩容
  • growpart 为分区表修改工具

1.安装扩容工具

  • centos7
# 安装 growpart
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
sed -i -e '/mirrors.cloud.aliyuncs.com/d' -e '/mirrors.aliyuncs.com/d' /etc/yum.repos.d/CentOS-Base.repo
yum search growpart
yum install cloud-utils-growpart

# 分区表为 GPT 需要安装 gdisk
yum install gdisk -y

# 文件系统为 xfs 需要安装 xfsprogs
yum install xfsprogs -y
  • ubuntu18
apt install -y cloud-guest-utils

2.检查并记录磁盘分区信息

  • 包括磁盘分区的 容量,分区表类型,扩容前后扇区位置
# 检查分区使用情况
df -h
--------------------------------
[root@zuiyoujie ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs         16G     0   16G   0% /dev
tmpfs            16G     0   16G   0% /dev/shm
tmpfs            16G   50M   16G   1% /run
tmpfs            16G     0   16G   0% /sys/fs/cgroup
/dev/vda1       100G  3.2G   97G   4% /
tmpfs           3.2G     0  3.2G   0% /run/user/0
--------------------------------

# 磁盘分区信息
fdisk -l

# 磁盘容量
lsblk
--------------------------------
[root@zuiyoujie ~]# lsblk
NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    253:0    0  100G  0 disk 
└─vda1 253:1    0  100G  0 part /
vdb    253:16   0  200G  0 disk 
└─vdb1 253:17   0  100G  0 part /data
--------------------------------

# 检查磁盘文件系统类型 file 命令查看分区文件
file -s /dev/nvme?n*        # 针对 nvme 磁盘
file -s /dev/vdb
--------------------------------
[root@zuiyoujie ~]# file -s /dev/vdb
/dev/vdb: SGI XFS filesystem data (blksz 4096, inosz 512, v2 dirs)
--------------------------------

# 检查磁盘文件系统类型 blkid 查看分区信息
blkid
--------------------------------
[root@zuiyoujie ~]# blkid
/dev/vda1: UUID="dfca4c40-ed04-4c41-928f-d51dec01c3b3" TYPE="ext4" 
/dev/vdb1: UUID="4a7b0493-f24d-43d5-b499-822df72e7867" TYPE="xfs" 
--------------------------------

3.修改分区表

  • SSD 磁盘
# 修改分区表信息 ssd 磁盘
growpart /dev/vdb 1
lsblk
  • NVME 磁盘
# 修改分区表 nvme 磁盘(根磁盘)
growpart /dev/nvme1n1 1
lsblk

# 修改磁盘分区表(第二磁盘)
growpart /dev/nvme0n1 1
lsblk

4.扩容磁盘分区-刷新文件系统

  • ext4 文件系统
# 扩容分区空间
resize2fs /dev/vdb1

# 扩容分区空间(根磁盘)
resize2fs  /dev/nvme1n1p1

# 扩容分区空间(第二磁盘)
resize2fs /dev/nvme0n1p1

# 检查分区用量
df -h
--------------------
  • xfs 文件系统
# 参数可以使用设备名 /dev/vdb 或者 挂载点 /data
df -h
xfs_growfs -d /data
xfs_growfs -d /dev/vdb

lsblk
df -h|grep /dev/vdb

5.实例演示

5.1.SSD 磁盘

  • 实例演示:根分区由 8GB 扩容到 50GB
# 扩容前检查磁盘分区信息
-----------------
root@zuiyoujie:/opt/tools# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1      7.8G  3.6G  3.9G  49% /          # 检查磁盘分区信息
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            1.9G   12K  1.9G   1% /dev
tmpfs           377M  352K  377M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.9G     0  1.9G   0% /run/shm
none            100M     0  100M   0% /run/user
/dev/vdb        15G   39M   15G   1% /mnt

root@zuiyoujie:/opt/tools# lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
vda    202:0    0     8G  0 disk
└─vda1 202:1   0     8G  0 part /             # 检查磁盘块信息
vdb    202:16   0  15.3G  0 disk /mnt
vdc    202:32   0  15.3G  0 disk

root@zuiyoujie:/opt/tools# file -s /dev/vda
/dev/vda: x86 boot sector

-----------------
# 扩容分区并检查磁盘信息
root@zuiyoujie:/opt/tools# growpart /dev/vda 1
CHANGED: partition=1 start=16065 old: size=16755795 end=16771860 new: size=104840190,end=104856255

# 磁盘容量扩容已生效,分区表已变更
root@zuiyoujie:/opt/tools# lsblk
NAME    MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
vda    202:0    0    50G  0 disk
└─vda1 202:1    0   50G  0 part /            # 磁盘分区生效
vdb    202:16   0  15.3G  0 disk /mnt
vdc    202:32   0  15.3G  0 disk

# 此时磁盘可用容量未增加
root@zuiyoujie:/opt/tools# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1      7.8G  3.6G  3.9G  49% /         # 修改分区表,容量还未生效
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            1.9G   12K  1.9G   1% /dev
tmpfs           377M  352K  377M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.9G     0  1.9G   0% /run/shm
none            100M     0  100M   0% /run/user
/dev/vdb        15G   39M   15G   1% /mnt

# 扩容磁盘分区并检查分区信息
root@zuiyoujie:/opt/tools# resize2fs /dev/vda1
resize2fs 1.42.9 (4-Feb-2014)
Filesystem at /dev/vda1 is mounted on /; on-line resizing required
old_desc_blocks = 1, new_desc_blocks = 4
The filesystem on /dev/vda1 is now 13105023 blocks long.

# 此时磁盘可用容量已增加
root@zuiyoujie:/opt/tools# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda1       50G  3.6G   44G   8% /         # 扩容完毕,容量生效
none            4.0K     0  4.0K   0% /sys/fs/cgroup
udev            1.9G   12K  1.9G   1% /dev
tmpfs           377M  352K  377M   1% /run
none            5.0M     0  5.0M   0% /run/lock
none            1.9G     0  1.9G   0% /run/shm
none            100M     0  100M   0% /run/user
/dev/vdb        15G   39M   15G   1% /mnt
---------------------------

5.2.NVME 磁盘

  • 根分区由 20GB 扩容到 100GB
# 扩容前检查磁盘状态
--------------------
root@zuiyoujie:/opt/tools# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.8G     0  3.8G   0% /dev
tmpfs           764M   78M  687M  11% /run
/dev/nvme0n1p1   20G   15G  5.1G  74% /
tmpfs           3.8G     0  3.8G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup
tmpfs           764M     0  764M   0% /run/user/0

root@zuiyoujie:/opt/tools# file -s /dev/nvme?n*
/dev/nvme0n1:   DOS/MBR boot sector
/dev/nvme0n1p1: Linux rev 1.0 ext4 filesystem data, UUID=01909065-0362-439c-9af2-29d0fc837f6b, volume name "cloudimg-rootfs"
(needs journal recovery) (extents)
(large files) (huge files)

-------------------
# 扩容后查看磁盘容量变更
root@zuiyoujie:/opt/tools# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
nvme0n1     259:0    0  100G  0 disk                  # 磁盘大小已经修改为 100GB
└─nvme0n1p1 259:1    0   20G  0 part /               # 分区大小为 20GB

# 修改分区表
root@zuiyoujie:/opt/tools# growpart /dev/nvme0n1 1
CHANGED: partition=1 start=2048 old: size=41940959 end=41943007 new: size=209713119,end=209715167

# 查看修改后的磁盘分区表
root@zuiyoujie:/opt/tools# lsblk
NAME        MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
nvme0n1     259:0    0  100G  0 disk
└─nvme0n1p1 259:1    0  100G  0 part /              # 分区表已经扩容(识别)为 100GB

# 此时磁盘分区可用容量未生效
root@zuiyoujie:/opt/tools# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.8G     0  3.8G   0% /dev
tmpfs           764M   78M  687M  11% /run
/dev/nvme0n1p1   20G   15G  5.1G  74% /               # 未执行 resize2fs 命令,磁盘容量未增加
tmpfs           3.8G     0  3.8G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup
tmpfs           764M     0  764M   0% /run/user/0

# 扩容磁盘分区
root@zuiyoujie:/opt/tools# resize2fs /dev/nvme0n1p1   # 执行扩容命令,扩容磁盘
resize2fs 1.42.13 (17-May-2015)
Filesystem at /dev/nvme0n1p1 is mounted on /; on-line resizing required
old_desc_blocks = 2, new_desc_blocks = 7
The filesystem on /dev/nvme0n1p1 is now 26214139 (4k) blocks long.

# 此时磁盘分区可用容量已经生效
root@zuiyoujie:/opt/tools# df -h
Filesystem      Size  Used Avail Use% Mounted on
udev            3.8G     0  3.8G   0% /dev
tmpfs           764M   78M  687M  11% /run
/dev/nvme0n1p1   97G   15G   83G  15% /              # 实际分区大小为 100GB
tmpfs           3.8G     0  3.8G   0% /dev/shm
tmpfs           5.0M     0  5.0M   0% /run/lock
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup
tmpfs           764M     0  764M   0% /run/user/0
------------------------------------------------

10.参考地址

  • 扩展卷之后扩容文件系统(分区)容量
https://docs.aws.amazon.com/zh_cn/AWSEC2/latest/UserGuide/recognize-expanded-volume-linux.html#extend-linux-volume-partition
https://help.aliyun.com/document_detail/113316.html?spm=a2c4g.11186623.2.18.6fe75d6brpDtOv#concept-syg-jxz-2hb

标签:tmpfs,run,Linux,dev,0%,磁盘,growpart,磁盘分区,root
From: https://www.cnblogs.com/tssc/p/18422950

相关文章

  • Linux系统使用 mkfs.xfs 格式化磁盘分区
    Linux系统使用mkfs.xfs格式化磁盘分区1.安装xfs工具集在CentOS7上安装:yuminstallxfsprogs-y在Ubuntu18上安装:apt-getinstallxfsprogs在ArchLinux上安装:pacman-Sxfsprogs2.修改磁盘分区表使用fdisk创建分区:fdisk/dev/vdb使用pa......
  • Linux-手动扩容磁盘分区
    Linux-手动扩容磁盘分区1.手动扩容磁盘分区实例演示:使用fdisk扩容ext4磁盘分区在本示例中,我们将阿里云的高效云盘从50GB扩容到60GB。1.1扩容前检查磁盘分区信息检查并记录分区表信息:fdisk-l/dev/vdb输出示例:Disk/dev/vdb:60GiB,64424509440bytes,1258291......
  • Linux系统怎样选择磁盘文件系统
    linux系统磁盘常用文件系统该怎样选择1.ext3文件系统在执行fsck(文件系统检查)时耗时较长,文件越多,时间越长。目前只支持最多32000个子目录。2.ext4文件系统是ext3的升级版本,支持更大的文件和文件系统。fsck用时较少,相比ext3有显著提升。子目录数量无限制,文件......
  • Linux系统使用 mkfs.ext4 格式化磁盘分区
    Linux系统使用mkfs.ext4格式化磁盘分区1.安装格式化工具大多数系统默认已经安装相关的软件工具。2.修改分区表可以使用fdisk或parted来修改分区表。3.格式化磁盘格式化指定分区:mkfs.ext4/dev/vdb1格式化完成后进行优化配置:tune2fs-c-1/dev/vdb14.......
  • [linux]跨发行版运行二进制
    需求点:客户不接受docker部署,服务编译环境无法和客户环境对齐,需要找到办法兼容方案:mock整套ld/so,不依赖客户环境的基础组件  1.正常编译,编译后拷贝整套so#!/bin/bashABS_PATH=`pwd`echo"startcopysystemruntimelibs,rightpath:${ABS_PATH}"ldd_output=$(ld......
  • 【linux】【docker】Docker默认网段配置导致无法访问
    背景集团有N个基地,所有基地的网络使用的是172.x.x.x网段,这本身没有什么问题!但Docker默认的桥接网段也是172.17.x.x的,如果不修改docker的默认配置会导致个别基地无法访问!列举几个基地使用的网段基地网段A基地172.30.x.xB基地172.28.x.xC基地172.18.x.x如......
  • centos(linux): logrotate常用功能
    一,测试配置是否正确?-d:打印debug信息-v:显示详细的输出信息[[email protected]]#logrotate-d/etc/logrotate.d/secure-v二,配置/var/log/secure按天分割/etc/logrotate.d/secure/var/log/secure{missingokdailyrotate90notifemptydatee......
  • linux 基础知识 什么是僵尸进程?有什么影响?如何解决?
    linux系统僵尸进程在Linux系统中,僵尸进程(ZombieProcess)是一种特殊的进程状态,它指的是一个已经完成执行的进程,其父进程尚未通过wait()或waitpid()系统调用来回收其资源和状态信息。僵尸进程本身并不占用CPU和其他资源,但它的进程描述符(PCB)仍然保留在系统中,这会占用系统资源并可......
  • 在ESP32-C3上运行Linux:探索RISC-V的无限可能
    在ESP32-C3上运行Linux:探索RISC-V的无限可能随着物联网和嵌入式系统的快速发展,开发者们对更强大、更灵活的平台需求日益增长。今天,我们向大家介绍一个令人兴奋的开源项目——在ESP32-C3上引导Linux内核。这个项目展示了如何在ESP32-C3RISC-V处理器上运行Linux,为开发者打开......
  • linux基础-linux基本命令
       linux基本命令    1.APT(AdvancedPackingTool)   ubuntu中功能最强大的命令行软件包管理工具,用于获取、   安装、编译、卸载和查询一些软件包,以及检测软件信号关系。      工作原理:       /etc/apt/sources.list文件  ......