磁盘扩容问题汇总

简介: 磁盘扩容问题汇总

注意事项

  1. 已经给磁盘创建快照
  2. 允许umount 分区(针对数据盘尤其是不支持在线扩容的场景)
  3. 确认好当前是否可以操作,以及可能影响业务运行时间。
  4. 必须得到业务使用者和主机管理员授权才可以操作,如果约定好了停机时间,必须在约定时间内进行。
    目前大部分Linux 机器都可以在线扩容(业务上),但是并非所有机器都可以在不重启的情况下完成文件系统的扩容,在操作前先查看用户的分区起始扇区(fdisk -lu)和文件系统类型(df -T / blkid),根据不同的场景参考不同的文档处理。

提示

• 下面扩容均以扩容系统盘为例,除Freebsd、LVM 场景下,均按照系统盘只有一个分区进行操作。
• 数据盘在线扩容利用growpart 扩展分区时与系统盘操作一样。
• 当无法满足growpart扩展分区条件时,需要删除并新建分区方式,此类问题比较复杂;系统盘需要删除、新建分区后重启一次机器,数据盘在umount 情况下,需要执行partprobe /dev/vd 通知内核重新加载分区表,低版本fdisk 不一定是按照扇区来展示及分区,需要创建分区时选择起始位置时确认起始位置是否是前面看到的起始扇区。
• 当下面文档中的所有场景都不符合时,应按照实际情况采取扩容方案或者终止操作建议用户备份数据后重新分区、格式化并恢复数据的方案。

Linux

ext3/ext4 文件系统

⑴ 内核版本大于 等于3.6.0

   [该情况请参见高内核版本的操作步骤](链接地址https://help.aliyun.com/document_detail/113316.html?#section-cqo-5zn-ine)

① 安装扩容工具

 CentOS、Redhat、AliyunLinux 
 
 yum install cloud-utils-growpart

Ubuntu 、Debian

apt install cloud-guest-utils

② 查看分区情况,并扩容分区大小

growpart /dev/vda 1         #扩容系统盘

③ 扩容

EXT文件系统使用

resize2fs /dev/vda1

⑵ 内核版本小于3.6.0

该情况请参见低内核版本的操作步骤

如CentOS 6、Debian 7和SUSE Linux Enterprise Server 11 SP4等发行版,需要经过一次控制台重启或者API重启才能完成分区扩容。

①安装扩容工具

yum install -y dracut-modules-growroot

② 覆盖已有的initramfs文件

dracut -f

③ 扩容分区

growpart vda 1   

④ 控制台和API 重启实例
⑤ 登录后扩展文件系统大小

resize2fs /dev/vda1 

注意:
①以上两种方式均不用删除分区和新建分区。
②方法⑵低版本内核扩容需要在growpart 之后控制台或者API 重启一次实例,所以这个操作是必定会影响业务,操作前务必和业务方及主机管理员沟通好重启时间。
③ growpart 执行出错
④ 扩容ext4的文件系统并不需要 安装 xfsprogs

⑶ 删除分区新建分区(不推荐)

使用fdisk 删除分区然后新建分区,新建分区时分配所有空间,重启机器后直接resize2fs
要点是新建分区的起始位置要和老分区起始位置一致。
分区起始扇区位置不一致的问题
fdisk 查看分区起始位置不是2048
使用parted工具扩容分区

xfs 文件系统

(1)安装工具(通常已安装过)
Centos 、AliyunLinux

yum install xfsprogs   

Ubuntu Debian

apt install xfsprogs

(2)扩容分区

growpart /dev/vda 1

(3)扩容文件系统

需要在挂载状态下执行,不能写
xfs_growfs /dev/vda1
要写

xfs_growfs /

NTFS文件系统

Linux 机器使用NTFS分区时,不能在linux 下扩容分区和文件系统,应将磁盘卸载挂载到其它Widnows 机器上,然后用diskmgmt.msc 来扩展分区。

Windows

注意:Windows 机器磁盘涉及跨区卷(一个分区分布在两个甚至多个磁盘上)时,操作扩容前必须要求用户关机状态下给磁盘做所有快照,否则不予扩容。并推荐让用户备份数据后,重新分区使用简单卷。
NTFS文件系统,在控制台扩容后如果磁盘大小改变,直接利用diskmgmt.msc 来扩展卷
⑴ 磁盘大小未改变

   需要[升级驱动](链接地址https://help.aliyun.com/document_detail/113322.html),并通过控制台或API重启一次机器。

⑵ 分区大小和资源管理大小看到的不一致

分区已经变大但是资源管理器里看到的大小没有改变需要 扩展文件系统大小

Unix

Freebsd 系统盘扩容

其它

LVM

⑴ 直接扩容PV
⑵ 新建分区增加PV
https://developer.aliyun.com/article/776446

分区恢复

⑴磁盘简单分区恢复
【暂无】
⑵LVM恢复
https://developer.aliyun.com/article/776442

逻辑分区扩容

https://developer.aliyun.com/article/776447

在线扩容 https://help.aliyun.com/document_detail/113316.html
Windows 升级驱动 https://help.aliyun.com/document_detail/113322.html
NTFS 扩展文件系统 https://help.aliyun.com/knowledge_detail/148901.html
resize2fs 分区提示permission denied https://developer.aliyun.com/article/776407

目录
相关文章
|
弹性计算 中间件 大数据
什么是容器计算服务 ACS?
全球首款容器计算服务ACS(Alibaba Cloud Container Compute Service)
984 2
|
5月前
|
人工智能 中间件 程序员
大模型上下文协议 MCP 带来了哪些货币化机会
本文探讨了MCP(Model-Calling Protocol)的兴起及其对AI生态的影响。自2月中旬起,MCP热度显著提升,GitHub Star和搜索指数均呈现加速增长趋势。MCP通过标准化协议连接大模型与外部工具,解决了碎片化集成问题,推动AI应用货币化及生态繁荣。文章分析了MCP与Function Calling的区别,指出MCP更适用于跨平台、标准化场景,而Function Calling在特定实时任务中仍具优势。此外,MCP促进了 supply端(如云厂商、大模型、中间件服务商)和消费端(终端用户)的变革,尤其以Devin和Manus为代表,分别改变了程序员和普通用户的交互方式。
642 37
大模型上下文协议 MCP 带来了哪些货币化机会
|
7月前
|
机器学习/深度学习 算法 PyTorch
从零开始深度学习:全连接层、损失函数与梯度下降的详尽指南
在深度学习的领域,全连接层、损失函数与梯度下降是三块重要的基石。如果你正在踏上深度学习的旅程,理解它们是迈向成功的第一步。这篇文章将从概念到代码、从基础到进阶,详细剖析这三个主题,帮助你从小白成长为能够解决实际问题的开发者。
|
9月前
|
运维 Kubernetes Java
阿里云容器计算服务ACS ,更普惠易用、更柔性、更弹性的容器算力
ACS是阿里云容器服务团队推出的一款面向Serverless场景的子产品,基于K8s界面提供符合容器规范的CPU及GPU算力资源。ACS采用Serverless形态,用户无需关注底层节点及集群运维,按需申请使用,秒级按量付费。该服务旨在打造更普惠易用、更柔性、更弹性的新一代容器算力,简化企业上云门槛,加速业务创新。ACS支持多种业务场景,提供通用型、性能型及BestEffort算力质量,帮助客户更从容应对流量变化,降低综合成本。
|
7月前
|
机器学习/深度学习 算法 文件存储
神经架构搜索:自动化设计神经网络的方法
在人工智能(AI)和深度学习(Deep Learning)快速发展的背景下,神经网络架构的设计已成为一个日益复杂而关键的任务。传统上,研究人员和工程师需要通过经验和反复试验来手动设计神经网络,耗费大量时间和计算资源。随着模型规模的不断扩大,这种方法显得愈加低效和不够灵活。为了解决这一挑战,神经架构搜索(Neural Architecture Search,NAS)应运而生,成为自动化设计神经网络的重要工具。
|
10月前
|
存储 分布式计算 大数据
大数据减少单个分区的数据量
【11月更文挑战第3天】
239 2
|
12月前
|
存储 监控 NoSQL
MongoDB的水平扩展能力
MongoDB的水平扩展能力
148 5
|
Linux 虚拟化 Docker
深入了解Windows安装Docker
【8月更文挑战第22天】深入了解Windows安装Docker
578 0
|
SQL 安全 中间件
Go开发:如何封装函数来统计执行时间
Go开发:如何封装函数来统计执行时间
662 0