zoukankan      html  css  js  c++  java
  • Linux 磁盘旧RAID 信息 导致不能格式化 和mount 的解决方法


    服务器上加了一块旧硬盘,打算格式化以后放点历史数据,结果用fdisk 报错:

           /dev/sda1 isapparently in use by the system; will not make a filesystem here!

    一般来说,这种情况是该盘已经被系统使用或者挂载到其他地方,使用mount 和df –lh确认,这个盘没有使用。

    在我之前的blog里有整理过一篇类似的文章:

    /dev/sdxx isapparently in use by the system; will not make a filesystem here! 解决方法

    http://blog.csdn.net/tianlesoftware/article/details/8594958

    在这篇文章里是一个共享设备挂载到同一个2个不同的节点,但我这里是一个设备挂载到一个服务器,所以情况和我们之前的不一样。

    Google了一下,说是受以前盘上遗留的RAID信息的影响,系统会根据残留的信息自动发现raid,由于系统的自动识别,硬盘被虚拟地组建成了raid(即便没有真实raid存在),这就提示磁盘正在被使用,硬盘无法格式化。

    确认了一下:

    [root@web1 ~]# dmraid -s

    ERROR: ddf1: wrong # of devices in RAID set"ddf1_4035305a8680b02520202020202020209a33c30a3a354a45" [1/2] on/dev/sda

    *** Group superset .ddf1_disks

    --> *Inconsistent*Active Subset

    name  : ddf1_4035305a8680b02520202020202020209a33c30a3a354a45

    size  : 145051648

    stride : 128

    type  : mirror

    status : inconsistent

    subsets: 0

    devs  : 1

    spares : 0

    [root@web1 mapper]# dmsetup status

    ddf1_4035305a8680b02520202020202020209a33c30a3a354a45:0 145051651 linear

    释放对磁盘的使用可以使用如下方法:

    1) dmsetup remove_all

    [root@web1 mapper]# dmsetup remove_all

    # dmsetup remove /dev/mapper/[device]

    [root@web1 mapper]#  dmsetup status

    No devices found

    2) 用dmraid来disableactive状态:dmraid -a no

    [root@web1 conf]# dmraid -a no

    ERROR: ddf1: wrong # of devices in RAID set"ddf1_4035305a8680b02520202020202020209a33c30a3a354a45" [1/2] on/dev/sda

    ERROR: device"ddf1_4035305a8680b02520202020202020209a33c30a3a354a45" could not befound

    RAID set"ddf1_4035305a8680b02520202020202020209a33c30a3a354a45" is not active

    [root@web1 conf]#

    --验证:

    [root@web1 ~]# dmraid -s

    ERROR: ddf1: wrong # of devices in RAID set"ddf1_4035305a8680b02520202020202020209a33c30a3a354a45" [1/2] on/dev/sda

    *** Group superset .ddf1_disks

    --> *Inconsistent*Subset

    name  : ddf1_4035305a8680b02520202020202020209a33c30a3a354a45

    size  : 145051648

    stride : 128

    type  : mirror

    status : inconsistent

    subsets: 0

    devs  : 1

    spares : 0

    [root@web1 ~]#

    释放以后我们就可以对磁盘格式化,在进行挂载了。

    但这样在系统重启之后,还是会识别到磁盘的RAID信息,依旧不能正常mount。尝试清除磁盘上RAID的信息。

    --使用dmraid –x

    [root@web1 ~]# dmraid -x

    ERROR: ddf1: wrong # of devices in RAID set"ddf1_4035305a8680b02520202020202020209a33c30a3a354a45" [1/2] on/dev/sda

    About to delete RAID setddf1_4035305a8680b02520202020202020209a33c30a3a354a45

    WARNING: The metadata stored on theraidset(s) will not be accessible after deletion

    Do you want to continue ? [y/n] :y

    ERROR: Raid set deletion is notsupported in "ddf1" format

    [root@web1 ~]#

    --使用:dmraid -rE

    [root@web1 mapper]# dmraid -rE

    Do you really want to erase"ddf1" ondisk metadata on /dev/sda ? [y/n] :y

    ERROR: ddf1: seeking device"/dev/sda" to 38070153641984

    ERROR: writing metadata to /dev/sda, offset74355768832 sectors, size 0 bytes returned 0

    ERROR: erasing ondisk metadata on /dev/sda

    [root@web1 mapper]#

    都不能成功清除,这样即使我把mount信息添加到/etc/fstab里,在启动启动之后,也不能正常mount。所以选择了一种方法。

    在/etc/rc.d/rc.local 文件中添加了如下信息:

    dmraid -a no

    sleep 5

    mount /dev/sda1 /backup

    这样就可以自动挂载了。

    ---------------------------------------------------------------------------------------

    版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!

    Skype:    tianlesoftware

    QQ:       tianlesoftware@gmail.com

    Email:    tianlesoftware@gmail.com

    Blog:     http://blog.csdn.net/tianlesoftware

    Weibo:    http://weibo.com/tianlesoftware

    Twitter:  http://twitter.com/tianlesoftware

    Facebook: http://www.facebook.com/tianlesoftware

    Linkedin: http://cn.linkedin.com/in/tianlesoftware


    道森Oracle,国内最早、最大的网络语音培训机构,我们提供专业、优质的Oracle技术培训和服务! 我们的官方网站:http://www.daosenoracle.com 官方淘宝店:http://daosenpx.taobao.com/
  • 相关阅读:
    Visual Studio 2019 XAML Hot Reload功能介绍
    C#开启和关闭UAC功能
    使用Powershell启用/关闭Windows功能
    解决C#调用COM组件异常来自 HRESULT:0x80010105 (RPC_E_SERVERFAULT)的错误
    ComPtr的介绍以及使用
    C#使用Selenium
    estimateAffinePartial2D 替代 estimateRigidTransform
    mtcnn
    pytorch 指定GPU
    cv2.imread()与PIL中Image.open(),以及相互转换
  • 原文地址:https://www.cnblogs.com/tianlesoftware/p/3609076.html
Copyright © 2011-2022 走看看