当前位置: 首页 > news >正文

Linux 磁盘扩容操作指引

磁盘新扩容的空间,可以被独立创建成一个分区,或者用于扩容已有分区的空间。
Linux 虚拟机云硬盘扩容有以下两种场景需求:
1.        对于新增的容量空间,建立独立的新分区,老的分区保持不变。
2.        扩容旧的分区至新增的容量空间,并且保持老分区的数据不丢失。
以上两种场景,在您的linux虚拟机云硬盘升级成功之后,都可以通过linux下的分区扩容工具(fdisk/e2fsck/resize2fs),执行一系列命令,完成分区扩容,并且保证原数据不会丢失。

以下分别介绍两种场景下的操作流程:

新空间格式化成一个独立分区

1. 查看数据盘信息

登录Linux云服务器后,可以使用“fdisk -l”命令查看数据盘的已分区和未分区的信息。使用“df –h”命令,无法看到未分区和格式化的数据盘。



 

2. 数据盘分区

执行以下命令,新建一个分区
fdisk /dev/xvdc
按照界面的提示,依次输入”p”(查看现有分区信息)、“n”(新建分区)、“p”(新建主分区)、“2”(使用第2个主分区),两次回车(使用默认配置),输入“w”(保存分区表),开始分区。
这里是以创建1个分区为例,用户也可以根据自己的需求创建多个分区。


3. 查看新分区

使用“fdisk -l”命令,即可查看到,新的分区xvdc2已经创建完成

 

4. 格式化新分区

在进行分区格式化时,用户可以自行决定文件系统的格式,如ext2、ext3等。
这里以“ext3”为例:
使用下面的命令对新分区进行格式化。 
mkfs.ext3 /dev/ xvdc2


5.挂载新分区

使用命令“mkdir /data1”创建data1目录,再通过“mount /dev/xvdc2 /data1”命令手动挂载新分区后,用“df -h”命令查看,出现以下信息说明挂载成功,即可以查看到数据盘了。


6.添加分区信息

如果希望云服务器在重启或开机时能自动挂载数据盘,必须将分区信息添加到/etc/fstab中。如果没有添加,则云服务器重启或开机后,都不能自动挂载数据盘。
使用“echo '/dev/xvdc2 /data1 ext3 defaults 0 0' >> /etc/fstab
”命令添加分区信息后,使用“cat /etc/fstab”命令查看,出现以下信息表示添加分区信息成功。

新空间增加到已有分区空间中

1. 查看数据盘信息

登录Linux云服务器后,可以使用“fdisk -l”命令查看数据盘的已分区和未分区的信息。使用“df –h”命令,无法看到未分区和格式化的数据盘。 

 

2. 卸载正在使用的磁盘

使用以下命令,卸载已挂载的需要扩容的磁盘
umount /data

3. 数据盘分区

执行以下命令:
fdisk /dev/xvdc
按照界面的提示,一次输入”p”(查看已有分区信息), ”d”(删除需要扩容的分区)、“n”(新建分区)、“p”(新建主分区)、“1”(使用第1个主分区,必须保持与需要扩容的分区一样),两次回车(使用默认配置),输入“w”(保存分区表),开始分区。
这里是以创建1个分区为例,用户也可以根据自己的需求扩容多个分区。


4. 检查扩容后的分区

使用“fdisk –l /dev/xvdc1”命令,即可查看到,新的分区xvdc1已经创建并扩容完成
再使用e2fsck -f /dev/xvdc1检查扩容的分区是否ok


5. 扩容分区

使用resize2fs /dev/xvdc1命令扩容分区


6.挂载扩容后的分区

通过“mount /dev/xvdc1 /data”命令手动挂载扩容后的分区,用“df -h”命令查看,出现以下信息说明挂载成功,即可以查看到数据盘了。
再执行”ll /data”命令,可以查看到,扩容后原分区的数据没有丢失

将新空间增加到已有分区空间中(第二中情况适用于磁盘未分区)

若原有的硬盘分区为一个MBR分区(可以看到vdb1,vdc1等字样),同时在此分区上制作了文件系统。或原有的硬盘没有分区,直接在此硬盘上制作了文件系统。这两种情况都可以选择使用自动扩容工具进行扩容。

自动扩容工具适用于Linux操作系统,用于将扩容时新扩的云硬盘存储空间添加到已存在的文件系统中,扩容能够成功必须满足下面3个条件:

  • 文件系统是ext2/ext3/ext4
  • 当前文件系统不能有错误
  • 扩容后的磁盘大小不超过2TB

下面介绍自动扩容工具的使用方法。

卸载正在使用的硬盘分区

执行以下命令卸载分区:

umount 挂载点

下载一键扩容工具

执行以下命令下载工具:

wget -O /tmp/devresize.py http://mirrors.tencentyun.com/install/virts/devresize.py

执行扩容工具

执行以下命令进行扩容:

python /tmp/devresize.py 硬盘路径

请注意,这里硬盘路径是需要扩容的云硬盘,而不是分区名。若您的文件系统在vdb1上,则应执行python /tmp/devresize.py /dev/vdb

若输出“The filesystem on /dev/vdb1 is now XXXXX blocks long.“则表示扩容成功。

若输出的是“[ERROR] - e2fsck failed!!“,请先用fsck对文件系统所在分区进行修复,可以执行以下命令进行自动修复:

fsck -a 分区路径

请注意这里与前一个命令不同,需要填写的是文件系统所在分区。若您的文件系统在vdb1上,则应执行fsck -a /dev/vdb1。

修复成功后,再使用python /tmp/devresize.py 硬盘路径来使用扩容工具进行扩容。

重新挂载扩容后的分区

执行以下命令挂载扩容后的分区:

mount 分区路径 挂载点

并通过以下命令查看扩容后的分区容量:

df -h

这里通过mount /dev/vdb1 /data命令手动挂载扩容后的分区(如果原先是没有分区的,执行mount /dev/vdb /data),用df -h命令查看,出现以下信息说明挂载成功,即可以查看到数据盘了:


再执行ll /data命令,可以查看到,扩容后原分区的数据没有丢失,新增加的存储空间已经扩容到文件系统中

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 深入CSS 布局——WEB开发系列29
  • 【JavaSE】重写equals()和hashCode()
  • 2409wtl,网浏包装
  • 程序员如何写笔记?
  • 软件开发人员从0到1实现物联网项目:项目架构的思考
  • 基于聚类与LSTM对比特币价格深度分析与预测
  • 开机自动启动nginx
  • 【无人机设计与控制】 四轴飞行器的位移控制
  • Spring WebSocket 快速示例
  • 【空气能热泵热水系统原理
  • 容器测评十个热门小知识
  • JVM面试(四)类加载器和双亲委派机制
  • 什么是敏捷?
  • Kafka【九】如何实现数据的幂等性操作
  • SQL各子句的执行顺序
  • 【译】JS基础算法脚本:字符串结尾
  • JAVA_NIO系列——Channel和Buffer详解
  • PHP面试之三:MySQL数据库
  • vue 个人积累(使用工具,组件)
  • vue从创建到完整的饿了么(18)购物车详细信息的展示与删除
  • vue从入门到进阶:计算属性computed与侦听器watch(三)
  • Vue学习第二天
  • Vultr 教程目录
  • WinRAR存在严重的安全漏洞影响5亿用户
  • 后端_ThinkPHP5
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 简单实现一个textarea自适应高度
  • 开源中国专访:Chameleon原理首发,其它跨多端统一框架都是假的?
  • 前端技术周刊 2018-12-10:前端自动化测试
  • 温故知新之javascript面向对象
  • 消息队列系列二(IOT中消息队列的应用)
  • 阿里云重庆大学大数据训练营落地分享
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ​补​充​经​纬​恒​润​一​面​
  • # 职场生活之道:善于团结
  • #define、const、typedef的差别
  • #pragma data_seg 共享数据区(转)
  • (Matalb分类预测)GA-BP遗传算法优化BP神经网络的多维分类预测
  • (笔记)Kotlin——Android封装ViewBinding之二 优化
  • (附源码)spring boot建达集团公司平台 毕业设计 141538
  • (附源码)springboot优课在线教学系统 毕业设计 081251
  • (附源码)小程序 交通违法举报系统 毕业设计 242045
  • (九)c52学习之旅-定时器
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • (译)计算距离、方位和更多经纬度之间的点
  • (原創) 如何解决make kernel时『clock skew detected』的warning? (OS) (Linux)
  • (源码分析)springsecurity认证授权
  • (转)VC++中ondraw在什么时候调用的
  • (转)大型网站架构演变和知识体系
  • (转)全文检索技术学习(三)——Lucene支持中文分词
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • ***linux下安装xampp,XAMPP目录结构(阿里云安装xampp)
  • .apk 成为历史!
  • .libPaths()设置包加载目录
  • .net core 调用c dll_用C++生成一个简单的DLL文件VS2008