7.8 設定根設備的多重路徑 I/O

重要: 在 SUSE Linux Enterprise Server 10 SP1 初版以及較早版本中,僅當 /boot 分割區位於獨立的非多重路徑分割區中時,系統才支援多重路徑中的根分割區 (/)。否則,系統不會寫入任何開機載入程式。

現在,SUSE Linux Enterprise Server 11 中提供了 DM-MPIO 及其對 /boot/root 的支援。此外,YaST2 安裝程式中的 YaST 磁碟分割程式支援在安裝期間啟用多重路徑。

7.8.1 啟用多重路徑 I/O 以在多重路徑儲存 LUN 上安裝 SLES

系統安裝過程中,multipathd 精靈不會自動啟動。您可以使用 YaST 磁碟分割程式中的設定多重路徑選項來啟動。

  1. 安裝期間,在 YaST2 的「安裝設定」頁面上按一下磁碟分割,開啟 YaST 磁碟分割程式。

  2. 選取自定分割區 (進階)

  3. 選取硬碟主圖示,按一下設定按鈕,然後選取設定多重路徑

  4. 啟動多重路徑。

    YaST2 即會開始重新掃描磁碟,然後顯示可用的多重路徑設備 (例如 /dev/mapper/3600a0b80000f4593000012ae4ab0ae65)。之後所有的處理步驟都應使用此設備。

  5. 下一步繼續安裝。

7.8.2 啟用多重路徑 I/O 以在主動/被動多重路徑儲存 LUN 上安裝 SLES

系統安裝過程中,multipathd 精靈不會自動啟動。您可以使用 YaST 磁碟分割程式中的設定多重路徑選項來啟動。

  1. 安裝期間,在 YaST2 的「安裝設定」頁面上按一下磁碟分割,開啟 YaST 磁碟分割程式。

  2. 選取自定分割區 (進階)

  3. 選取硬碟主圖示,按一下設定按鈕,然後選取設定多重路徑

  4. 啟動多重路徑。

    YaST2 即會開始重新掃描磁碟,然後顯示可用的多重路徑設備 (例如 /dev/mapper/3600a0b80000f4593000012ae4ab0ae65)。之後所有的處理步驟都應使用此設備。記下設備路徑與 UUID,稍後會用到。

  5. 下一步繼續安裝。

  6. 完成所有設定和安裝後,YaST2 即會開始寫入開機載入程式資訊,並顯示重新啟動系統的倒數計時。按一下停止按鈕停止計數器,然後按 CTRL+ALT+F5 存取主控台。

  7. 使用主控台確定是否在 /boot/grub/device.map 檔案中為 hd0 項目輸入了被動路徑。

    執行此動作非常必要,因為安裝程序無法區分主動路徑與被動路徑。

    1. 輸入以下指令,將根設備掛接至 /mnt

      mount /dev/mapper/UUID_part2 /mnt
      

      例如,輸入

      mount /dev/mapper/3600a0b80000f4593000012ae4ab0ae65_part2 /mnt
      
    2. 輸入以下指令,將開機設備掛接至 /mnt/boot

      mount /dev/mapper/UUID_part1 /mnt/boot
      

      例如,輸入

      mount /dev/mapper/3600a0b80000f4593000012ae4ab0ae65_part1 /mnt/boot
      
    3. 輸入以下指令,開啟 /mnt/boot/grub/device.map 檔案

      less /mnt/boot/grub/device.map
      
    4. /mnt/boot/grub/device.map 檔案中,確定 hd0 項目是否指向被動路徑,然後執行下列其中一項動作︰

      • 主動路徑: 不需要執行任何動作,跳過步驟 8,繼續步驟 9

      • 被動路徑: 必須變更組態並重新安裝開機載入程式。繼續執行步驟 8

  8. 如果 hd0 項目指向被動路徑,請變更組態並重新安裝開機載入程式:

    1. 在主控台提示符處,輸入下列指令:

      mount -o bind /dev /mnt/dev
      
      mount -o bind /sys /mnt/sys
      
      mount -o bind /proc /mnt/proc
      
      chroot
      
      
    2. 在主控台中執行 multipath -ll,然後檢查輸出以尋找主動路徑。

      被動路徑會有 ghost 標記。

    3. /mnt/boot/grub/device.map 檔案中,將 hd0 項目變更為主動路徑並儲存變更,然後關閉檔案。

    4. 如果先前選擇從 MBR 開機,/etc/grub.conf 內容應如下所示:

      setup --stage2=/boot/grub/stage2 (hd0) (hd0,0)
      quit
      
    5. 輸入以下指令,重新安裝開機載入程式

      grub < /etc/grub.conf
      
    6. 輸入下列指令:

      exit
      
      umount /mnt/*
      
      umount /mnt
      
  9. 按 CTRL+ALT+F7 返回 YaST 圖形環境。

  10. 按一下確定繼續執行安裝的重新開機作業。

7.8.3 對現有根設備啟用多重路徑 I/O

  1. 僅使用單個主動路徑安裝 Linux,尤其是當磁碟分割程式中列有 by-id 符號連結時。

  2. 使用安裝期間所用的 /dev/disk/by-id 路徑來掛接設備。

  3. 安裝之後,將 dm-multipath 新增至 /etc/sysconfig/kernel:INITRD_MODULES

  4. 對於 System Z,請先編輯 /etc/zipl.conf 檔案,以 /etc/fstab 中使用的 by-id 資訊變更 zipl.conf 中的 by-path 資訊,然後再執行 mkinitrd。

  5. 重新執行 /sbin/mkinitrd 以更新 initrd 影像。

  6. 對於 System Z,請在執行 mkinitrd 之後執行 zipl

  7. 重新載入伺服器。

7.8.4 在根設備上停用多重路徑 I/O

  1. multipath=off 新增至核心指令行。

    這只會影響根設備,而不會影響所有其他設備。