G.1 障害ディスクを交換するための前提条件

予測障害状態にあるHDFSディスクまたはオペレーティング・システム・ディスクを交換するには、最初にHDFSパーティションをディスマウントする必要があります。オペレーティング・システム・ディスクを交換する前には、スワッピングを無効にする必要もあります。

注意:

HDFSパーティションのみをディスマウントしてください。オペレーティング・システム・ディスクの場合、オペレーティング・システム・パーティションをディスマウントしないでください。HDFSには、オペレーティング・システム・ディスクのパーティション4 (sda4またはsdb4)のみを使用します。

HDFSパーティションをディスマウントするには、次の手順を実行します。

  1. 障害ドライブのあるサーバーにログインします。

  2. 障害ドライブがオペレーティング・システムをサポートしている場合、スワッピングを無効にします。

    # bdaswapoff
    

    アクティブなスワッピングが存在するディスクを削除すると、カーネルがクラッシュします。

  3. マウントされているHDFSパーティションをリストします。

    # mount -l
    
    /dev/md2 on / type ext4 (rw,noatime)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    devpts on /dev/pts type devpts (rw,gid=5,mode=620)
    /dev/md0 on /boot type ext4 (rw)
    tmpfs on /dev/shm type tmpfs (rw)
    /dev/sda4 on /u01 type ext4 (rw,nodev,noatime) [/u01]
    /dev/sdb4 on /u02 type ext4 (rw,nodev,noatime) [/u02]
    /dev/sdc1 on /u03 type ext4 (rw,nodev,noatime) [/u03]
    /dev/sdd1 on /u04 type ext4 (rw,nodev,noatime) [/u04]
         .
         .
         .
    
  4. 障害ディスクでマウントされているパーティションのリストを確認します。ディスクのパーティションがリストされていない場合、「ディスク・ドライブの交換」に進みます。そうではない場合、次のステップに進みます。

    注意:

    オペレーティング・システム・ディスクの場合、パーティション4 (sda4またはsdb4)を見つけます。オペレーティング・システム・パーティションはディスマウントしないでください。

  5. 障害ディスクのHDFSマウント・ポイントをディスマウントします。

    # umount mountpoint
    

    たとえば、umount /u11によって、パーティション/dev/sdk1のマウント・ポイントが削除されます。

    umountコマンドに成功した場合、「ディスク・ドライブの交換」に進みます。umountコマンドがデバイス・ビジー・メッセージで失敗した場合、パーティションはまだ使用中です。次のステップに進みます。

  6. Cloudera Managerのブラウザ・ウィンドウを開きます。次に例を示します。

    http://bda1node03.example.com:7180

  7. Cloudera Managerで次のステップを実行します。

    注意:

    次のステップに従ってCloudera Managerでマウント・ポイントを削除する場合、他のすべての構成手順が終了した後に、Cloudera Managerでこれらのマウント・ポイントをリストアする必要があります。

    1. adminとしてログインします。

    2. 「Services」ページで、「hdfs」をクリックします。

    3. 「Instances」サブタブをクリックします。

    4. 「Host」列で、障害ディスクのあるサーバーを特定します。次に、「Name」列のサービス(datanodeなど)をクリックしてそのページを開きます。

    5. 「Configuration」サブタブをクリックします。

    6. 「Directory」フィールドからマウント・ポイントを削除します。

    7. 「Save Changes」をクリックします。

    8. 「Actions」リストから、「Restart this DataNode」を選択します。

  8. Cloudera Managerで、NodeManager Local Directoriesからマウント・ポイントを削除します。

    1. 「Services」ページで、「Yarn」をクリックします。

    2. 「Status Summary」で、「NodeManager」をクリックします。

    3. リストから、障害ディスクのあるホスト上のNodeManagerをクリックして選択します。

    4. 「Configuration」サブタブをクリックします。

    5. NodeManagerからマウント・ポイントを削除します。

    6. 「Save Changes」をクリックします。

    7. NodeManagerを再起動します。

  9. 同じHDFSマウント・ポイント(HBase Region Serverなど)にデータを格納する他のロールを追加した場合は、これらのロールに対するマウント・ポイントも同様に削除してリストアします。

  10. 障害ドライブのあるサーバーのセッションに戻ります。

  11. umountコマンドを再発行します。

    # umount mountpoint
    

    umountがまだ失敗する場合、lsofを実行して、HDFSマウント・ポイントの下で開かれているファイルとそれらを開いたプロセスをリストします。これはunmountを妨げているプロセスを特定するのに役立ちます。次に例を示します。

    # lsof | grep /u11
  12. ディスクをオフラインにします。

    # MegaCli64 PDoffline "physdrv[enclosure:slot]" a0
    

    たとえば、"physdrv[20:10]"はディスクs11を示します。これは、エンクロージャ20のスロット10にあります。

  13. コントローラ構成表からディスクを削除します。

    MegaCli64 CfgLDDel Lslot a0 
    

    たとえば、L10はスロット10を示します。

  14. 「ディスク・ドライブの交換」のステップを完了します。