3.8.5 既存のディスク・グループまたはストレージ・グリッドからのストレージ・サーバーの削除

既存のOracle Exadataラックからストレージ・サーバーを削除できます。

  1. Oracle Automatic Storage Management (Oracle ASM)から削除するストレージ・サーバーに属しているディスクを削除します。

    ノート:

    Oracle Exadata VMデプロイメントでは、すべてのOracle VMクラスタで次のサブステップを実行する必要があります。
    1. クラスタ内の任意のノードにログインします。
    2. ターゲット・ストレージ・サーバーのクラスタで使用するグリッド・ディスクのリストを問い合せます。
      Grid_home/bin/asmcmd  lsdsk --suppressheader | grep cellName_being_removed | awk -F'/' '{print $NF}'

      ノート:

      削除するストレージ・サーバーのディスクが含まれているすべてのディスク・グループ内の使用可能な空き領域が、そのディスク・グループに割り当てられた記憶域の少なくとも15%であることを確認してください。
    3. 前述のコマンドで返されたOracle ASMディスクをそれぞれのディスク・グループから削除します。
      SQL> ALTER DISKGROUP diskgroup_name DROP DISKS IN FAILGROUP cellName_being_removed;
    4. このディスク削除操作により、デフォルトの電源レベルでリバランス操作が開始されます。次のコマンドを使用して、リバランスを監視します。
      SQL> SELECT * FROM gv$asm_operation;

      リバランスが完了するまで、つまり、gv$asm_operationから行が返されなくなるまで待ちます。

    5. すべてのディスク・グループが、削除するストレージ・サーバーのディスクを参照していないことを確認します。
      SQL> SELECT path, name, header_status, mode_status, mount_status, state,
       failgroup FROM v$asm_disk ORDER BY path;
      

      削除するストレージ・サーバーに属するすべてのディスクのheader_status列が、FORMERと表示されている必要があります。

      注意:

      Oracle Exadata VMデプロイメントでは、すべてのOracle VMクラスタで上のサブステップを実行する必要があります。
  2. 削除するストレージ・サーバーをクリーン・アップします。

    ストレージ・サーバーにcelladminとしてログインし、次のコマンドを実行します。各グリッド・ディスクに対して次のコマンドを実行します。

    1. グリッド・ディスクを削除します。
      cellcli -e drop griddisk all prefix=prefix_of_the_grid_disk
    2. フラッシュ・キャッシュが存在していて、ストレージ・サーバーがWriteBackフラッシュ・キャッシュ・モードの場合、フラッシュ・キャッシュは削除の前にフラッシュしておく必要があります。
      cellcli -e alter flashcache all flush

      コマンドが戻るまで待機します。

    3. フラッシュ・キャッシュを削除します。
      cellcli -e drop flashcache all
      
    4. セル・ディスクを削除します。
      cellcli -e drop celldisk all
      

      データを安全に消去するには、DROP CELLDISKコマンドをeraseオプションを指定して実行するか、DROP CELLコマンドをeraseオプションを指定して実行します。

      DROP CELLコマンドの下の表内に消去操作の所要時間が表示されます。

  3. クラスタ内のすべてのデータベース・サーバー・ノードで、削除するストレージ・サーバーのエントリを/etc/oracle/cell/network-config/cellip.oraから削除します。
    クラスタ内の任意のデータベース・サーバー・ノードで次のステップを実行します。
    1. cellip.oraファイルのバックアップ・コピーを作成します。
      cd /etc/oracle/cell/network-config
      cp cellip.ora cellip.ora.orig
      cp cellip.ora cellip.ora-bak
    2. 削除するストレージ・サーバーのエントリを/etc/oracle/cell/network-config/cellip.ora-bakから削除します。
    3. dcliを使用して、更新したcellip.ora-bakファイルを別のデータベース・サーバーにコピーします。

      次のコマンドのdatabase_nodesは、クラスタ内の各データベース・サーバーの名前を格納しているファイルを表します。データベース・サーバーの名前は、それぞれファイル内の個別の行に記載します。

      /usr/local/bin/dcli -g database_nodes -l root -f cellip.ora-bak -d 
      /etc/oracle/cell/network-config/cellip.ora
  4. Exachkの最新バージョンをダウンロードして実行し、結果の構成にOracle Exadataの最新のベスト・プラクティスが実装されたことを確認します。