低内核版本机器扩容磁盘

简介: 低内核版本机器扩容磁盘


收集信息


确认内核版本


uname -a 查看 内核版本低于3.6 ,采取删除分区重建分区来扩容(这是迫不得已的方法,只有在没有dracut-modules-growroot 这个包时才使用此方法)


查看分区文件系统


执行blkid  看到都是ext4

但是执行fdisk -l 看到start 是 1  ,正常fdisk -l 查看MBR分区应该是从2048开始



查看分区参数

执行fdisk -lu 让分区按照sector 来显示


扩容


执行yum install -y dracut-modules-growroot 安装growpart工具,提示找不到包。

决定采用删除分区再新建分区的方案 执行fdisk 删除分区

[root@localhost ~]# fdisk /dev/xvdaWARNING: DOS-compatible mode is deprecated. It's strongly recommended to         switch off the mode (command 'c') and change display units to         sectors (command 'u').Command (m for help): pDisk /dev/xvda: 53.7 GB, 53687091200 bytes255 heads, 63 sectors/track, 6527 cylindersUnits = cylinders of 16065 * 512 = 8225280 bytesSector size (logical/physical): 512 bytes / 512 bytesI/O size (minimum/optimal): 512 bytes / 512 bytesDisk identifier: 0x000215a8    Device Boot      Start         End      Blocks   Id  System/dev/xvda1   *           1        5222    41942016   83  LinuxCommand (m for help): dSelected partition 1Command (m for help): nCommand action   e   extended   p   primary partition (1-4)pPartition number (1-4): 1First cylinder (1-6527, default 1): 1Last cylinder, +cylinders or +size{K,M,G} (1-6527, default 6527):Using default value 6527Command (m for help): wThe partition table has been altered!Calling ioctl() to re-read partition table.WARNING: Re-reading the partition table failed with error 16: 设备或资源忙.The kernel still uses the old table. The new table will be used atthe next reboot or after you run partprobe(8) or kpartx(8)Syncing disks.

由于操作的是正在使用的分区,因此需要重启来加载新的分区表,重启后系统就挂了,grub 无法识别分区文件系统。 因为一个cylinder 会包含多个sector ,这也是为什么前面fdisk 看 xvda 和xvdb 都是1,但是起始扇区却不一致的原因。 前面新建分区按照起始cylinder 设置为1 ,没有指定扇区 已经注定了这个分区文件系统将会异常。



恢复分区文件系统

使用PE 启动后,执行testdisk /dev/xvda   来进行恢复

由于是MBR分区,系统自动就选择 了第一项 【Inter】Inter/PC partition



分析当前分区结果并找回丢失的分区



不用等待扫描完就主动停止,因为除了修改分区起始扇区没做其它操作不需要深度扫描,绿色的就是找到的分区,按P查看文件是不是想要的(如果看不到,说明这个分区不对)



按Enter 继续并将分区信息写会磁盘,执行partprobe /dex/xvda告诉内核重新加载分区表


重新扩容磁盘

扩展分区


由于PE的fdisk版本较高,因此这里新建分区会按照sector 来显示,可以看到默认就是2048 扇区开始

需要注意的是,在提示分区包含一个ext4 的signature,提示是否需要移除时,一定要输入N ,否则保存后,文件系统会再次无法识别。



操作完毕后,执行blkid 分区文件系统正常。


扩展文件系统

执行resize2fs 提示需要先e2fsck -f  ,执行e2fsck -n 是先确认分区是否有异常。



扩容文件系统完成,分区大小已经发生变化





注:

❶ fdisk 低版本是按照cylinder来显示的 ,如果不加参数u 默认以cylinder为单位,而一个cylinder上会有多个sector导致在新建分区时无法指定准确的起始位置。

❷ fdisk 新建分区时,输入u 可以按照扇区sector来 指定起始扇区。

❸ 如果是GPT分区 选择第二项【EFI GPT】,遇到MBR 分区搜索不到正确的分区时尝试当做GPT分区扫描。

相关文章
|
6月前
|
消息中间件 监控 物联网
领航智联时代:阿里云 MQTT+Kafka 车/物联网实时数据分析解决方案
该解决方案深度整合移动端/设备端连接利器 MQTT 与大数据流处理核心引擎 Kafka,为车联网及物联网行业提供高可靠、高性能、极简运维的数据处理链路。
845 176
|
监控 安全 物联网
13位物联网卡与11位物联网卡有什么不同
物联网卡(IoT卡)的13位号码和11位号码之间存在一些关键差异。以下是针对这两者区别的详细操作步骤和解释:
|
Web App开发 JavaScript 前端开发
鸿蒙Flutter实战:04-如何使用DevTools调试Webview
本文介绍如何在鸿蒙 Flutter 开发中调试 Webview,包括配置允许调试、找到 devtools 端口、开启端口转发、在 Chrome 中调试 Webview等。
960 0
鸿蒙Flutter实战:04-如何使用DevTools调试Webview
|
Java 应用服务中间件 Maven
JavaWeb基础5——HTTP,Tomcat&Servlet
JavaWeb技术栈、HTTP、get和post区别、响应状态码、请求响应格数据式、IDEA使用Tomcat、报错解决、Servlet的体系结构、IDEA使用模板创建Servlet
JavaWeb基础5——HTTP,Tomcat&Servlet
|
Ubuntu Linux 开发者
解析deb与rpm文件的操作技巧
解析deb与rpm文件的操作技巧
3470 0
|
Python
NumPy 教程 之 Numpy 数组操作 16
本教程介绍Numpy中的数组操作,重点讲解了数组的连接方法。通过`concatenate`函数可以在指定轴上合并多个形状相同的数组。例如,有两个数组`a`和`b`,可以沿垂直轴(轴0)或水平轴(轴1)进行连接。默认情况下,`concatenate`沿轴0连接数组。示例展示了如何使用此函数实现垂直和水平的数组连接。
227 1
|
数据安全/隐私保护 网络架构 内存技术
H3C配置管理实验--ftp
H3C配置管理实验--ftp
|
新零售 人工智能 安全
(更新完结)阿里珍贵技术资料免费下载
小编精心挑选2016云栖大会、历届在线技术峰会、云栖技术直播核心资料,只把最好的呈现给你!因为资料集合过于庞大,所以分批放出,随时关注社区,可以看到全套460份资料合集哦!
392289 1
|
数据挖掘 API 开发工具
天猫商品详情数据接口(Tmall.item_get)
天猫商品详情数据接口(Tmall.item_get)
天猫商品详情数据接口(Tmall.item_get)
|
编解码 BI 定位技术
自然保护区边界数据(国家级、省级、县市级)/乡镇区划边界/村界/植被类型分布/土地利用数据/NPP数据/NDVI数据
自然保护区边界数据(国家级、省级、县市级)/乡镇区划边界/村界/植被类型分布/土地利用数据/NPP数据/NDVI数据
自然保护区边界数据(国家级、省级、县市级)/乡镇区划边界/村界/植被类型分布/土地利用数据/NPP数据/NDVI数据