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 マルチパスストレージLUNにSLESをインストールするためのマルチパスI/Oの有効化

multipathdデーモンは、システムのインストール時に自動的にアクティブになりません。このデーモンは、YaSTパーティショナの[マルチパスの設定]オプションを使用することによって起動できます。

  1. YaST2インストール設定ページでのインストール時に、[パーティション分割]をクリックして、YaSTパーティショナを開きます。

  2. カスタムパーティション - エキスパート用]を選択します。

  3. ハードディスク]メインアイコンを選択し、[設定]ボタンをクリックし、最後に、[マルチパスの設定]を選択します。

  4. multipathを起動します。

    YaST2がディスクの再スキャンを開始し、利用可能なマルチパスデバイスを表示します(/dev/mapper/3600a0b80000f4593000012ae4ab0ae65など)。これが、以降の処理すべての対象デバイスになります。

  5. 次へ]をクリックして、インストールを続行します。

7.8.2 アクティブ/パッシブマルチパスストレージLUNにSLESをインストールするためのマルチパスI/Oの有効化

multipathdデーモンは、システムのインストール時に自動的にアクティブになりません。このデーモンは、YaSTパーティショナの[マルチパスの設定]オプションを使用することによって起動できます。

  1. YaST2インストール設定ページでのインストール時に、[パーティション分割]をクリックして、YaSTパーティショナを開きます。

  2. カスタムパーティション - エキスパート用]を選択します。

  3. ハードディスク]メインアイコンを選択し、[設定]ボタンをクリックし、最後に、[マルチパスの設定]を選択します。

  4. multipathを起動します。

    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. OK]をクリックして、インストールを再起動します。

7.8.3 既存ルートデバイス用マルチパスI/Oの有効化

  1. Linuxをインストールし、1つだけパスをアクティブにします。このパスは、パーティショナでby-idシンボリックリンクがリストされるパスがお勧めです。

  2. インストール時に使用した/disk//disk/by-idパスを使用してデバイスをマウントします。

  3. インストール後、dm-multipath/etc/sysconfig/kernel:INITRD_MODULESに追加します。

  4. System Zの場合、mkinitrdの実行前に、/etc/zipl.confファイルを編集してzipl.conf内のby-path情報を、/etc/fstabで使用されたby-id情報に変更します。

  5. /sbin/mkinitrdを再実行して、initrdイメージを更新します。

  6. System Zの場合は、mkinitrdの実行後、ziplを実行します。

  7. サーバを再起動します。

7.8.4 ルートデバイスのマルチパスI/Oの無効化

  1. multipath=offをカーネルコマンドラインに追加します。

    これは、ルートデバイスだけに影響します。他のすべてのデバイスは影響されません。