Linux下清除磁盘分区及残留raid信息

Linux下清除磁盘分区及残留raid信息
适用场景:
1、 查看硬盘编号
2、 删除磁盘分区
3、 删除磁盘内残留raid信息

*本文适用于430-8i等只有低速格式化或没有格式化功能的HBA卡使用,若raid卡有格式化功能,建议使用raid卡格式化解决问题。

一、查看硬盘编号
适用lsblk命令可以查看当先系统下的磁盘相关信息及磁盘大小
Linux下清除磁盘分区及残留raid信息

sda为硬盘为系统内的第一个硬盘
sda1为该硬盘下的第一个分区以此类推

二、删除磁盘分区
1) 查看现有磁盘及分区
Linux下清除磁盘分区及残留raid信息
2) 删除对应磁盘下的分区
以删除sda 的sda1 sda2分区为例
进入:#parted /dev/sda
查看:(parted)p
删除:(parted)rm 1
(parted)rm 2
3) 适用lsblk查看是否删除成功

三、删除磁盘内残留raid信息
如果磁盘在其他raid卡中做过raid,在430-8i这类没有格式化功能的HBA卡中使用时,使用parted等相关命令无法将raid残留信息删除导致无法分区正常安装系统。
现象如下:
Linux下清除磁盘分区及残留raid信息

Raid卡残留信息的type为dmraid分区名称以`-ddf_开头

删除方法如下:
整体思路是通过dd命令将残留信息所在扇区置零
通常raid卡的信息会放在最后一个柱面即最后63个扇区

以sda为例:
1) 使用dd命令打印最后63个扇区到aaa中
dd if=/dev/sda of=aaa bs=512 skip=$(( $(blockdev –getsz /dev/sda) – 63 )) count=63
2) 使用hexedit查看aaa
Linux下清除磁盘分区及残留raid信息
发现有dpIBM等信息,为残留的raid信息

3) 将这63个扇区置零
dd if=/dev/zero of=/dev/sda bs=512 seek=$(( $(blockdev –getsz /dev/sda) – 63 )) count=63
Linux下清除磁盘分区及残留raid信息
再打印发现已经置零,清除成功。

重启节点重新加载linux中才会生效

原文链接:,转发请注明来源!

发表评论