Pivotal Knowledge Base

フォローする

gpddboostとnfsエクスポートを用いてData Domainシステムからデータを削除し領域を回収する方法

環境

製品 バージョン
Pivotal Greenplum(GPDB) 4.3
Data Domain  

事象

ユーザが Data Domain システムからデータ削除を試行したり、"gpcrondump -o --ddboost" コマンドでクリーンアップ可能な領域を回収する際に、以下のエラーメッセージに直面することがある。

20130827:15:26:50|ddboost-[ERROR]:-ddboost create storage unit failed. Err = 5040
20130827:15:26:50|gpddboost-[ERROR]:-Could not connect to DD_host with DD_user and the DD_password.
20130827:15:26:53:008209 gpcrondump:dca1_mastr1:gpadmin-[ERROR]:-gpcrondump error: Failed to connect to DD_host with DD_user and the DD_password

原因

指定したユーザ名/パスワードで Data Domain(以下、DD)への接続に失敗した旨を示すメッセージの方は誤解を招く恐れがあり、実際の問題はストレージユニットの作成ができないことを示す "[ERROR]:-ddboost create storage unit failed" というエラーメッセージの方にある。すぐにDDサーバ上で確認すると、多くの場合はファイルシステムの利用状況が100%となっている。

gpddb_user@DD640XIAE> filesys show space
Active Tier:
Resource           Size GiB   Used GiB   Avail GiB   Use%   Cleanable GiB
----------------   --------   --------   ---------   ----   -------------
/data: pre-comp           -   290616.1           -      -               -
/data: post-comp     7580.7     7580.7         0.0   100%             0.0
/ddvar                 78.7        2.2        72.6     3%               -
----------------   --------   --------   ---------   ----   -------------

解決策

本問題を解決し、Data Domain の領域を回収するため、以下の 2 つの方法がある。

  • Data Domain 上で空き領域を作る(ディスクの追加ができない場合)
  • Data Domain における定期的なクリーンアップ処理

DCA・GPDBソフトウェアの gpddboost を利用した領域のクリーンアップ

  • gpddboost --show-config を利用して、どこがデフォルトのバックアップディレクトリか確認する。
[gpadmin@dca1_mastr1 ~]$ gpddboost --show-config
20130827:18:47:52|ddboost-[DEBUG]:-Libraries were loaded successfully
20130827:18:47:52|ddboost-[INFO]:-opening LB on /home/gpadmin/DDBOOST_CONFIG
Data Domain Hostname:dd640_1_1
Data Domain Boost Username:gpddb_user
Default Backup Directory:db_dumps
Data Domain default log level:WARNING
  • gpddboost --listDirectory --dir=db_dumpsを利用して、db_dumps以下のディレクトリ一覧を確認する。
[gpadmin@dca1_mastr1 ~]$ gpddboost --listDirectory  --dir=db_dumps
20130827:18:48:07|ddboost-[DEBUG]:-Libraries were loaded successfully
20130827:18:48:07|ddboost-[INFO]:-opening LB on /home/gpadmin/DDBOOST_CONFIG
20130827:18:48:07|gpddboost-[DEBUG]:-ddp_open_dir(db_dumps)
20130227
20130301
20130311
20130312
[.....]
20130825
  • 以下コマンドで対象のディレクトリを削除する。
gpddboost --del-dir=db_dumps/20130618

メモ: 安全に削除できるディレクトリのみ削除すること。

  • Cleanable GiB 領域を確認。
sysadmin@DD640XIAE# filesys show space
Active Tier:
Resource           Size GiB   Used GiB   Avail GiB   Use%   Cleanable GiB
----------------   --------   --------   ---------   ----   -------------
/data: pre-comp           -   154789.5           -      -               -
/data: post-comp     7580.7     7511.2        69.5    99%          2038.5
/ddvar                 78.7        2.2        72.6     3%               -
----------------   --------   --------   ---------   ----   -------------

メモ: Cleanable GiB はガベージコレクション処理経由で回収可能な領域を示す。

  • ディレクトリを削除した後、空きスペースを利用できるようにするには、sysadminとしてDDにログインした後に以下のコマンドを実行する。
'filesys clean start nowait' 

メモ: このコマンドで、ガベージコレクションプロセスを開始する。

  • filesys clean watch もしくは filesys clean status を用いたステータスの確認(データサイズに依存するが、ガベージコレクションは大抵4〜5時間かかる)Watch the status using: filesys clean watch or filesys clean status (It would take around 4-5 hours, but depends on the size)
sysadmin@DD640XIAE# filesys clean status
Cleaning started at 2013/08/27 06:00:02: phase 9 of 10 (copy)
 67.1% complete,     0 GiB free; time: phase  0:09:11, total  3:32:50
  • filesys cleanの完了後、以下のコマンドで現在のディスク領域の使用量を確認できる。
sysadmin@DD640XIAE# filesys show space

Data Domainへログインし、nfsディレクトリをエクスポート、DCA上にDDのバックアップディレクトリのマウントし、それからディレクトリ群を削除する

  • DCAにログイン後、mtree リストを確認する。
sysadmin@DD640XIAE# mtree list
Name                Pre-Comp (GiB)   Status
-----------------   --------------   ------
/data/col1/GPDB           133508.8   RW
/data/col1/backup              0.0   RW
-----------------   --------------   ------
  • mtree /data/col1/GPDB のためにData Domain 上でnfsエクスポート設定を行う。
sysadmin@DD640XIAE# nfs add /data/col1/GPDB   *
Hint: * is to allow all client, but you could mention IP like 172.10.10.0/24 as well.
sysadmin@DD640XIAE# nfs show clients
path              client          options
---------------   -------------   ----------------------------------------
/data/col1/GPDB   *               (rw,no_root_squash,no_all_squash,secure)

メモ: この手順は、ドキュメント 2.3 節 "Mount the nfs export on DD on DCA master" をまだ実施していない場合に行う。

[root@dca1_mastr1 ~]#  
mkdir /bkp_pivGPDB; 
mount -t nfs -o hard,intr,nfsvers=3,tcp,rsize=32768,wsize=32768 dd640_1_1:/data/col1/GPDB /bkp_pivGPDB
  • ここで、Data Domain 上のデータを削除するために、共有ファイルシステム上でLinuxコマンドを使用することができる(例: rm -rf /bkp_pivGPDB/db_dumps/20130620)。
[root@dca1_mastr1 ~]# ls /bkp_pivGPDB/
db_dumps
[root@dca1_mastr1 ~]# ls /bkp_pivGPDB/db_dumps/
20130620  20130624  20130628  20130713  20130717  20130721  20130725  20130729  20130802  
  • ディレクトリ群削除後、空き領域を確保するためにはsysadminとしてDDにログインし、下記コマンドを実行する。
filesys clean start nowait 
  • Data Domain 上で、以下のいずれかのコマンドを用いてステータスを確認する。
filesys clean status あるいは filesys clean status

メモ: ガベージコレクション処理は総ディスク容量約 10TB に対して 4〜5 時間ほどかかるが、実サイズに依存する。

コメント

Powered by Zendesk