mount: /dev/sdb already mounted or /sheepdog1 busy(multipath,wwid,uuid,udev)

正常处理逻辑:

先umount /dev/sdb或是umount /backup
如果还是显示的busy,你试试下面的方法
fuser -m /dev/sdb
查看一下是否sdb1正在被使用,或是有进程正在使用它
然后fuser -km /dev/sdb
强制杀掉所有使用/dev/sdb目录的进程
最后umount /dev/sdb1或是umount /backup
再试着mount /dev/sdb1 /backup。

安装上面的方法操作了,还是提示设备忙。

fuser -m /dev/sdb查看,发现multipathd的进程。

fdisk -l查看,原来是产生了/dev/mapper/mpathi这个多路径,直接挂载/dev/sdb显示设备busy

需要mount /dev/mapper/mpathi /destination,如果直接挂载/dev/sdb会显示设备busy

注:

/dev/mapper/mpathb不一定对应/dev/sdb。

使用multipath -l可以查看,多路径与设备的对应关系。

[root@cloud1 ~]# multipath -l
mpathi (36c81f66000c60a7c000001d153d906eb) dm-1 DELL,MD36xxf
size=500G features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=0 status=active
| `- 0:0:0:1 sdi 8:128 active undef running
|-+- policy='round-robin 0' prio=0 status=enabled
| `- 0:0:1:1 sdk 8:160 active undef running
|-+- policy='round-robin 0' prio=0 status=enabled
| `- 1:0:0:1 sdm 8:192 active undef running
`-+- policy='round-robin 0' prio=0 status=enabled
  `- 1:0:1:1 sdo 8:224 active undef running
mpathh (36c81f66000c60ac9000001f853d61638) dm-0 DELL,MD36xxf
size=2.0T features='0' hwhandler='0' wp=rw
|-+- policy='round-robin 0' prio=0 status=active
| `- 0:0:0:0 sdh 8:112 active undef running
|-+- policy='round-robin 0' prio=0 status=enabled
| `- 0:0:1:0 sdj 8:144 active undef running
|-+- policy='round-robin 0' prio=0 status=enabled
| `- 1:0:0:0 sdl 8:176 active undef running
`-+- policy='round-robin 0' prio=0 status=enabled
  `- 1:0:1:0 sdn 8:208 active undef running

 

另外,本地磁盘不需要多路径,可以在/etc/multipath.conf,利用blacklist关键字进行设置。

blacklist {
        wwid    36c81f660e05108001a9dee3a07f4647b
        wwid    36c81f660e05108001a9dee430880eb15
        wwid    36c81f660e05108001a9dee4b08f11a43
        wwid    36c81f660e05108001a9dee2406a6866e
        wwid    36c81f660e05108001a9dee5209606e95
        wwid    36c81f660e05108001a9dee2f07422a0f
}

另外,multipath -F(清楚unsed path)

How to identity unsed path:

If the dev does not mount,it's unused path.

multiple -F will erase all paths.

Create multiple path:

Use command 

Shell#multipath

 

操作系统通过路径发送IO到存储,Linux系统SCSI磁盘路径有以下部分组成:
·HBA卡的PCI标示符
·HBA卡的管道号
·存储端SCSI target地址
·LUN(Logical Unit Number) 号
根据SCSI标准,每个SCSI磁盘都有一个WWID。类似于网卡的MAC地址,要求是独一无二。

About WWID

通过WWID标示SCSI磁盘就可以保证磁盘路径永久不变,Linux系统上/dev/disk/by-id目录包含每个SCSI磁盘WWID访问路径

实例:scsi-3600508b400105e210000900000490000 -> ../../sda 

sda的wwid就是3600508b400105e210000900000490000
  提示:Linux自带的device-mapper-multipath工具就是通过WWID来探测SCSI磁盘路径,可以将同一设备多条路径合并,并在/dev/mapper/下面创建新的设备路径。通过multipath –l可以看到WWID与  磁盘路径、Host:Channel:Target:Lun与/dev/sd以及major:minor对应关系。

About UUID
    UUID是有文件系统在创建时候生成的,用来标记文件系统,类似WWID一样也是独一无二的
。因此使用UUID来标示SCSI磁盘,也能保证路径是永久不变的。

    Method:Linux上/dev/disk/by-uuid可以看到每个已经创建文件系统的磁盘设备以及与/dev/sd之间的映射关键。
    注意:Linux自带的md和LVM工具也会在SCSI磁盘上面写入UUID信息。

About UDEV
    UDEV是Linux提供的一种让用户对设备进行自定义命名的机制。可以通过UDEV将WWID/UUID信息跟磁盘路径映射起来,这样也可以保证设备路径永久不变。

posted @ 2017-11-13 09:45  luckyall  阅读(4333)  评论(0编辑  收藏  举报