G.1 障害ディスクを交換するための前提条件
予測障害状態にあるHDFSディスクまたはオペレーティング・システム・ディスクを交換するには、最初にHDFSパーティションをディスマウントする必要があります。オペレーティング・システム・ディスクを交換する前には、スワッピングを無効にする必要もあります。
注意:
HDFSパーティションのみをディスマウントしてください。オペレーティング・システム・ディスクの場合、オペレーティング・システム・パーティションをディスマウントしないでください。HDFSには、オペレーティング・システム・ディスクのパーティション4 (sda4またはsdb4)のみを使用します。
HDFSパーティションをディスマウントするには、次の手順を実行します。
-
障害ドライブのあるサーバーにログインします。
-
障害ドライブがオペレーティング・システムをサポートしている場合、スワッピングを無効にします。
# bdaswapoff
アクティブなスワッピングが存在するディスクを削除すると、カーネルがクラッシュします。
-
マウントされている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 (sda4またはsdb4)を見つけます。オペレーティング・システム・パーティションはディスマウントしないでください。
-
障害ディスクのHDFSマウント・ポイントをディスマウントします。
# umount mountpoint
たとえば、
umount /u11
によって、パーティション/dev/sdk1
のマウント・ポイントが削除されます。umount
コマンドに成功した場合、「ディスク・ドライブの交換」に進みます。umount
コマンドがデバイス・ビジー・メッセージで失敗した場合、パーティションはまだ使用中です。次のステップに進みます。 -
Cloudera Managerのブラウザ・ウィンドウを開きます。次に例を示します。
http://bda1node03.example.com:7180
-
Cloudera Managerで次のステップを実行します。
注意:
次のステップに従ってCloudera Managerでマウント・ポイントを削除する場合、他のすべての構成手順が終了した後に、Cloudera Managerでこれらのマウント・ポイントをリストアする必要があります。
-
admin
としてログインします。 -
「Services」ページで、「hdfs」をクリックします。
-
「Instances」サブタブをクリックします。
-
「Host」列で、障害ディスクのあるサーバーを特定します。次に、「Name」列のサービス(datanodeなど)をクリックしてそのページを開きます。
-
「Configuration」サブタブをクリックします。
-
「Directory」フィールドからマウント・ポイントを削除します。
-
「Save Changes」をクリックします。
-
「Actions」リストから、「Restart this DataNode」を選択します。
-
-
Cloudera Managerで、
NodeManager Local Directories
からマウント・ポイントを削除します。-
「Services」ページで、「Yarn」をクリックします。
-
「Status Summary」で、「NodeManager」をクリックします。
-
リストから、障害ディスクのあるホスト上のNodeManagerをクリックして選択します。
-
「Configuration」サブタブをクリックします。
-
NodeManagerからマウント・ポイントを削除します。
-
「Save Changes」をクリックします。
-
NodeManagerを再起動します。
-
-
同じHDFSマウント・ポイント(HBase Region Serverなど)にデータを格納する他のロールを追加した場合は、これらのロールに対するマウント・ポイントも同様に削除してリストアします。
-
障害ドライブのあるサーバーのセッションに戻ります。
-
umount
コマンドを再発行します。# umount mountpoint
umount
がまだ失敗する場合、lsof
を実行して、HDFSマウント・ポイントの下で開かれているファイルとそれらを開いたプロセスをリストします。これはunmountを妨げているプロセスを特定するのに役立ちます。次に例を示します。# lsof | grep /u11
-
ディスクをオフラインにします。
# MegaCli64 PDoffline "physdrv[enclosure:slot]" a0
たとえば、
"physdrv[20:10]"
はディスクs11を示します。これは、エンクロージャ20のスロット10にあります。 -
コントローラ構成表からディスクを削除します。
MegaCli64 CfgLDDel Lslot a0
たとえば、L10はスロット10を示します。
-
「ディスク・ドライブの交換」のステップを完了します。