LINUX 多路徑對映Multipath與正規表示式

清風艾艾發表於2021-02-19

    最近,指導一位同事對oracle rac叢集伺服器的linux系統做多路徑對映和udev綁盤,然後做ASM加盤,一共做了兩次;

第一次,同事在生產端加盤,rac叢集兩臺伺服器識別到的磁碟機代號是sdw、sdx、sdy、sdz之類,經過多路徑繫結對映和udev

修改許可權,ASM加盤很順利,但是,由於第一次指導過同事,第二次同事按照第一次操作進行多路徑對映時,無論怎麼操作

多路徑只識別到一塊盤,multipah配置重新新增、主機伺服器重啟,這些操作之後,多路徑還是隻識別到一個盤。同事十分

不解,諮詢我查詢原因。

     經過反覆檢視同事的多路徑對映配置檔案,不經意間發現多路徑配置的“正規表示式”:

# cat /etc/multipath.conf

blacklist {

       wwid 3600508b1001c0ee72b8dab703df2fdfd

        devnode "^sda"

}

defaults {

           polling_interval 10

           user_friendly_names no

           find_multipaths yes

}

    /etc/multipath.conf配置檔案中紅色標註字型就是正規表示式的一種,在多路徑配置檔案中是黑名單,作用是對符合正則

表示式的盤不進行多路徑對映,是為了保護作業系統盤。而有時候,作業系統新增的磁碟,磁碟機代號可能是複核sda*,就可能被屏

蔽掉,無法進行正常的多路徑對映。

   順著被遮蔽的黑名單正規表示式,檢視同事新加的磁碟,發現命中黑名單的正規表示式:

Disk /dev/sdaw: 171.8 GB, 171798691840 bytes, 335544320 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 16384 bytes / 16777216 bytes

Disk /dev/sdaq: 171.8 GB, 171798691840 bytes, 335544320 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 16384 bytes / 16777216 bytes

Disk /dev/sdak: 171.8 GB, 171798691840 bytes, 335544320 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 16384 bytes / 16777216 bytes

Disk /dev/sdae: 171.8 GB, 171798691840 bytes, 335544320 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 16384 bytes / 16777216 bytes

    發現問題原因後,經溝通,同事註釋掉黑名單正規表示式,將系統盤UUID號加入黑名單:

# cat /etc/multipath.conf

blacklist {

       wwid 3600508b1001c0ee72b8dab703df2fdfd

#       devnode "^sda"

}


defaults {

           polling_interval 10

           user_friendly_names no

           find_multipaths yes

}

    修改多路徑配置,重啟多路徑服務後,多路徑綁盤成功:

# systemctl reload multipathd.service

# systemctl restart multipathd.service

# multipath -ll

DB_DATA02 (360002ac0000000000000003900021126) dm-14 3PARdata,VV              

size=160G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw

`-+- policy='round-robin 0' prio=50 status=active

  |- 14:0:2:5 sdak  65:32  active ready running

  |- 16:0:2:5 sdaq 66:160 active ready running

  |- 14:0:3:5 sdae 65:192 active ready running

  `- 16:0:3:5 sdaw 67:0   active ready running


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29357786/viewspace-2757590/,如需轉載,請註明出處,否則將追究法律責任。

相關文章