7.9 設定現有軟體 RAID 的多重路徑 I/O

理想狀況下,您應該先設定設備的多重路徑,然後再將它們當成軟體 RAID 設備的元件使用。如果您在建立任何軟體 RAID 設備後再新增多重路徑,則系統重新開機時可能會先啟動 multipath 服務,然後再啟動 DM-MPIO 服務,導致 RAID 可能會無法使用多重路徑。您可以使用本節所述的程序,讓多重路徑針對多先前存在的軟體 RAID 執行。

例如,在下列情況中,您可能需要設定軟體 RAID 中設備的多重路徑:

附註: 下列指示假設軟體 RAID 設備為 /dev/mapper/mpath0,這是核心可辨識的設備名稱。請務必修改適用於軟體 RAID 的設備名稱的指示。

  1. 開啟終端機主控台,以 root 使用者或同等身分登入。

    請在下列步驟中使用此主控台輸入指令,除非導向到其他位置。

  2. 如果目前已掛接或正在執行任何軟體 RAID 設備,請為每個設備輸入以下指令以卸下設備並將其停止。

    umount /dev/mapper/mpath0
    
    mdadm --misc --stop /dev/mapper/mpath0
    
  3. 輸入以下指令停止 boot.md 服務

    /etc/init.d/boot.md stop
    
  4. 輸入以下指令啟動 boot.multipathmultipathd 服務:

    /etc/init.d/boot.multipath start
    
    /etc/init.s/multipathd start
    
  5. 啟動多重路徑服務之後,驗證軟體 RAID 的元件設備是否列在 /dev/disk/by-id 目錄中。請執行下列其中一個步驟︰

    • 設備已列出: 設備名稱現在應該有連至設備對應程式多重路徑設備名稱的符號連結,如 /dev/dm-1

    • 設備未列出: 透過衝洗和重新探查設備的方式,強制多重路徑服務辨識設備。

      要實現此目的,請輸入以下指令:

      multipath -F
      
      multipath -v0
      

      設備現在應該列於 /dev/disk/by-id 中,並擁有連至其設備對應程式多重路徑設備名稱的符號連結。例如:

      lrwxrwxrwx 1 root root 10 Jun 15 09:36 scsi-mpath1 -> ../../dm-1
      
  6. 輸入以下指令重新啟動 boot.md 服務和 RAID 設備

    /etc/init.d/boot.md start
    
  7. 輸入以下指令檢查軟體 RAID 的狀態

    mdadm --detail /dev/mapper/mpath0
    

    RAID 的元件設備應與其設備對應程式多重路徑設備名稱相符,這些設備名稱在 /dev/disk/by-id 目錄中列為設備的符號連結。

  8. 建立新的 initrd,以確保系統重新開機時先載入設備對應程式多重路徑服務,然後再載入 RAID 服務。輸入

    mkinitrd -f multipath
    
  9. 將伺服器重新開機,以套用這些安裝後組態設定。

  10. 檢查 RAID 狀態,以驗證軟體 RAID 陣列是否正確地顯示在多重路徑設備頂部。輸入

    mdadm --detail /dev/mapper/mpath0
    

    例如:

    • Number Major Minor RaidDevice State
    • 0 253 0 0 active sync /dev/dm-0
    • 1 253 1 1 active sync /dev/dm-1
    • 2 253 2 2 active sync /dev/dm-2