低内核版本机器扩容磁盘

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


收集信息


确认内核版本


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分区扫描。

相关文章
|
4月前
|
存储 运维 Linux
Linux磁盘精准缩容:操作详解与技巧
在Linux系统管理中,有效的磁盘空间优化对于维护系统性能至关重要。本文将深入探讨如何在Linux环境下安全地进行磁盘缩容,帮助你合理调整存储资源,确保系统高效运行。跟随本篇的步骤,一起优化你的Linux系统磁盘空间!
Linux磁盘精准缩容:操作详解与技巧
|
5月前
|
Linux
linux查看磁盘容量和清理磁盘
linux查看磁盘容量和清理磁盘
53 5
|
Linux
Linux——系统扩容根目录磁盘空间、磁盘扩容的操作方法
Linux根目录磁盘空间不够用了,当修改了虚拟机模版增加磁盘大小或者插入了一块新硬盘,但是发现系统里的大小还是没改变。 产生的原因是没有给磁盘格式化,没有增加分区。
1974 0
|
Ubuntu 虚拟化 开发者
虚拟机磁盘大小变更后的Ubuntu动态分区调整
家人们,今天我们来分享一下关于虚拟机磁盘大小变更后,在Ubuntu操作系统中如何进行动态分区调整的技巧。随着虚拟化技术的发展,虚拟机已经成为许多开发者和系统管理员的首选工具之一。在使用虚拟机过程中,可能会遇到需要扩展磁盘容量的情况,而Ubuntu作为一种常见的操作系统,我们将介绍如何动态调整分区以适应磁盘大小的变更。
376 0
虚拟机磁盘大小变更后的Ubuntu动态分区调整
|
存储 缓存 Linux
14.11 Linux如何查看硬盘的读写性能?
除了 CPU 和内存,硬盘读写(I/O)能力也是影响 Linux 系统性能的重要因素之一。本节将介绍几个可用来查看硬盘读写性能的系统命令,并教大家如何通过这些命令的输出结果,判断出当前系统中硬盘是否处于超负荷运转。
1707 0
14.11 Linux如何查看硬盘的读写性能?
|
存储 监控 Linux
linux磁盘容量爆满了,如何进行扩容呢?记录centos7系统下扩容过程
linux磁盘容量爆满了,如何进行扩容呢?记录centos7系统下扩容过程
474 0
YI
|
Ubuntu Linux 虚拟化
VMware虚拟机磁盘扩容
在VMware虚拟机中使用ubuntu学习时,发现磁盘容量不太够,遂决定给磁盘扩容。本文记录扩容过程。
YI
253 0
|
Linux
记一次Linux虚拟机进行磁盘扩展后的扩容操作过程
记一次Linux虚拟机进行磁盘扩展后的扩容操作过程
696 0
记一次Linux虚拟机进行磁盘扩展后的扩容操作过程
|
缓存 监控 网络协议
Linux:常用性能检查命令(内存、CPU 、网络、磁盘、Java应用)
Linux:常用性能检查命令(内存、CPU 、网络、磁盘、Java应用)
1221 0
Linux:常用性能检查命令(内存、CPU 、网络、磁盘、Java应用)