Data Domain:Boostfsのインストール、構成、マウントの問題をトラブルシューティングする方法
Summary: この記事は、BOOSTFSのインストールと構成に関する一般的な問題を特定して解決するのに役立ちます。
Symptoms
BOOSTFSは、一部のオペレーティング システムにインストールされるソフトウェア コンポーネントです。これにより、特定のバックアップ アプリケーションを使用せずにData DomainへのBOOSTバックアップを実行すると同時に、Netbackup、Networker、AvamarなどのBOOST対応バックアップ アプリケーションの使用に伴う機能の一部を活用できます。
「要点を押さえた」インストールと使用率の詳細については、Data Domainを確認してください。Data Domain BOOST FSの優先構成手順と詳細 KB記事を参照してください。
ただし、このKBには、BOOSTFSを構成および使用するときに発生する可能性のある一般的な問題がいくつか記載されています。これらの一般的なエラー、エラー メッセージ、およびそれらの解決方法に関するクイック リファレンスを提供します。このようなエラーの典型例には、「Boostfs を Linux サーバーにインストールできません」、「Boostfs マウントがエラーで失敗する」、「バックアップまたは復元がエラーで失敗する」などがあります。
Resolution
1.BOOST FSソフトウェア
のインストール時に必要な依存関係が見つからない 提供されたBOOSTFSソフトウェアRPMをクライアントLinuxオペレーティング システムにインストールできない場合は、まずBOOSTFSソフトウェアに必要なパッケージの依存関係を確認します。
# rpm -qpR DDBoostFS-1.0.0.1-539441.rhel.x86_64.rpm >ヒューズ = 2.8 ヒューズライブラリ >= 2.8 /bin/sh /bin/sh /bin/sh /bin/sh rpmlib(PayloadFilesHavePrefix) <= 4.0-1 rpmlib(圧縮ファイル名) <= 3.0.4-1
上記の例では、パッケージは FUSE (Filesystem in USEr space) バイナリとライブラリ (BOOSTFS は Linux の FUSE に基づいています)、およびシェル (sh) とデフォルトの RPM ライブラリを提供するパッケージのインストールを要求しています。したがって、このBOOSTFSパッケージは、「rpm」が実行されたLinuxシステムに正常にインストールされるはずです。
2./mnt/mountpoint/をマウントできません。予期しないエラー
ですBOOSTFSを使用してLinuxクライアントでリモートDDストレージ ユニットをローカルにマウントしようとすると、上記のエラーが発生することがあります。LinuxクライアントでBOOSTFSログ ファイルを確認します。たとえば、次の最初の例では、ロックボックス ファイルにホスト dd2500-abc.datadomain.com のエントリが含まれていません。
# less /opt/emc/boostfs/log/ddboostfs_0_0.log Jul 29 03:45:25 22795 3267069888 [E] bfs_lockbox_get_user_info: 構成ファイル/opt/emc/boostfs/lockbox/boostfs.lockboxでキー エントリー dd2500-abc.datadomain.com:LSU2が見つかりませんでした。要求されたLockboxエントリーが見つかりませんでした。 Jul 29 03:45:25 22795 3267069888 [E] bfs_conn_lookup:ノード0ファイル/.boostfs_sysinfoの接続ルックアップに失敗しました。(0 接続) Jul 29 03:45:25 22795 3267069888 [I] bfs_node_lookup: ファイル /.boostfs_sysinfo の接続を取得できませんでした Jul 29 03:45:25 22795 3267069888 [E] bfs_initialize_mntopts:初期化に失敗しました
この場合のソリューションは、デスティネーションDDホストとストレージ ユニットをローカルにマウントするためのロックボックス エントリーを追加することです。構文は次の例のようになります。
# /opt/emc/boostfs/bin/boostfs lockbox set -u sysadmin -d dd2500-abc.datadomain.com -s LSU2 ストレージ ユニット ユーザー パスワードを入力します。 確認のため、ストレージ ユニットのユーザー パスワードをもう一度入力します。 ロックボックス エントリー セット
ローカルBOOSTFSクライアント ログで確認できるもう1つのエラーは、DDホスト名がクライアントから解決されないことです。たとえば:
# less /opt/emc/boostfs/log/ddboostfs_0_0.log Jul 29 04:05:50 22882 3322156992 [E] bfs_conn_open:接続に失敗しました(0接続): 5037 Jul 29 04:05:50 22882 3322156992 [E] bfs_conn_lookup:ノード0ファイル/.boostfs_sysinfoの接続ルックアップに失敗しました。(0 接続) Jul 29 04:05:50 22882 3322156992 [I] bfs_node_lookup: ファイル/.boostfs_sysinfoの接続を取得できませんでした Jul 29 04:05:50 22882 3322156992 [E] bfs_initialize_mntopts: 初期化に失敗しました
この場合のソリューションは、静的ホストからIPへの静的マッピングをLinuxクライアントの/etc/hostファイルに追加するか、使用しているDNSサーバーでマッピングを構成することです。
3.マウント ポイント/mnt/mountpointが空ではありません。
BoostFSは、空でないマウント ポイントにはマウントできません。空のマウント ポイントにマウントしてみてください。
上記のメッセージは、指定されたマウント ポイント(/mnt/mountpoint)を使用してリモートDDストレージ ユニットを表示できないことを意味します。これは、マウント ポイントに以前に別のファイル システムをマウントすることも、コンテンツを含めることもできないためです。/mnt/mountpoint/は、Linuxクライアント内の空の未使用ディレクトリーにする必要があります。パスにすでにマウントがある場合は、別のマウント ポイントを指定する必要があります。例:
# マウント /dev/mapper/vg00-lv_root on / type ext4 (rw) /boot type ext4 (RW)上の/dev/sda1 /mnt/mountpoint 上の boostfs と入力します。 fuse.boostfs (rw、nosuid、nodev)
この場合、リモートDDストレージ ユニットはすでに/mnt/mountpoint/の下にマウントされているため、同じディレクトリーに再度マウントすることはできません。
4.DDBoostfsマウントがハングします(回復するまでに10分以上かかる場合があります)
これは、LinuxクライアントとターゲットDDデバイスの間にあるファイアウォールがTCPポート111および2049へのトラフィックをドロップしている場合に発生する可能性があります。LinuxクライアントがDDからTCPポート111および2049に到達できることを確認してから、再試行してください。例:
# /opt/emc/boostfs//bin/boostfs mount -d dd2500.domain.com -s LSU2 /mnt/mountpoint/
これは、このような場合にLinuxクライアントのBOOSTFSログに表示される内容の例です。
# less /opt/emc/boostfs/log/ddboostfs_0_0.log Jul 27 06:34:53 32762 3724339136 [E] bfs_conn_open: 接続に失敗しました (0 接続): 5037 Jul 27 06:34:53 32762 3724339136 [E] bfs_conn_lookup:ノード0ファイル/.boostfs_sysinfoの接続参照に失敗しました。(0 接続) Jul 27 06:34:53 32762 3724339136 [I] bfs_node_lookup: ファイル/.boostfs_sysinfoの接続を取得できませんでした Jul 27 06:34:53 32762 3724339136 [E] bfs_initialize_mntopts:初期化に失敗しました
5.マウント ポイントの下にあるコンテンツへのアクセスまたは一覧表示を試行した場合の操作は許可されません
# ls -l /mnt/mountpoint/ ls:ディレクトリの読み取り。: 操作は許可されていません 合計 0
問題は、リモートDDポート111および2049へのTCP接続がないか、ロックボックス認証が何らかの理由で期限切れになっている可能性があります。Linuxクライアントが指定されたポート上のDDに引き続きアクセスできることを確認し、リモートDD、ストレージ ユニット、BOOSTユーザーのロックボックスのセットアップを再試行します。
6.Kerberos認証を使用したへのアクセスが不十分であるか、ストレージ ユニットが存在しません。
# boostfs mount -s LSU3 -d dd2500.domain.com /mnt/mountpoint/ ストレージ ユニットLSU3へのアクセスが不十分であるか、LSU3が存在しません
ロックボックスにKerberos認証を使用している場合、エラーの原因として最も可能性が高いのは、Kerberos認証チケットの有効期限が切れていることです。以下のようなLinuxから上記のチケットを確認してください。
# /opt/emc/boostfs/bin/boostfs kerberos query -s LSU3 -u username クライアント プリンシパル:username@DOMAIN.COM 有効な開始日: Tue Aug 23 11:02:49 2016 有効 期限:Tue Aug 23 21:01:07 2016 更新期限: Tue Aug 30 11:02:49 2016 サービス プリンシパル:krbtgt/DOMAIN。COM@DOMAIN.COM
DDR で、ロックボックスを設定して Boostfs をマウントするときに、ストレージユニットに割り当てられた BOOST ユーザーが Linux クライアント上のユーザーと一致することを確認します (AD ユーザー名とストレージユニット ユーザー名はまったく同じである必要があります)。
# ddboost storage-unit show Name Pre-Comp(GiB)ステータス ユーザー レポート 物理テナントユニット サイズ(MiB) --------------- -------------- ------ -------- --------------- ----------- LSU3 0.0 RWユーザー名 - - --------------- -------------- ------ -------- --------------- -----------
また、DD、Linuxクライアント、Kerberosサーバー(AD)の日時の差が5分を超えていないことを確認してください。そうしないと、時刻が一致しないことが原因でチケットの期限切れに関する問題が発生する可能性があります。
以下は、時間の差が5分を超えた場合にDDログに表示される例です。
# watch debug/ddfs.info のログ記録 08/23 18:52: 09.654 (tid 0x7f738141fb00): nfs3 accepted 3000004b6 552 from 10.64.229.125:55042 08/23 18:52:09.660 (tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_print_error:117-イベントgss_error、gss_accept_sec_context失敗しました:maj = 0xd0000、min = 0x96c73a25 08/23 18:52:09.660 (tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_print_error:126-イベントgss_error、詳細不明なGSS障害。 マイナーコードは、より多くの情報を提供する場合があります 08/23 18:52:09.660 (tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_print_error:141-イベントgss_error、クロック スキューが大きすぎます 08/23 18:52:09.660 (tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_accept:217-イベントgss_accept_failed、maj = 851968、min2529638949 08/23 18:52:09.660 (tid 0x7f73814233f0): nfs3 が tcp 3000004b6 を破壊しました
これらはBOOSTFS Linuxホスト ログ用です。
# less /opt/emc/boostfs/log/ddboostfs_0_0.log Aug 23 18:04:39 1044 2019465280 [E] bfs_conn_open: 接続に失敗しました (0 接続): 5075 Aug 23 18:04:39 1044 2019465280 [E] bfs_conn_lookup: ノード 0 ファイル /.boostfs_sysinfo の接続参照に失敗しました。(0 接続) Aug 23 18:04:39 1044 2019465280 [I] bfs_node_lookup: ファイル/.boostfs_sysinfoの接続を取得できませんでした Aug 23 18:04:39 1044 2019465280 [E] bfs_initialize_mntopts: 初期化に失敗しました
7. Kerberos認証を使用したBoostfsマウントが失敗し、「ロックボックスにアクセスできないか、ロックボックス エントリーが見つかりません」というエラーが表示されます。
# /opt/emc/boostfs/bin/boostfs mount -s LSU3 -d dd2500.domain.com/mnt/mountpoint/ ロックボックスにアクセスできないか、ロックボックス エントリーが見つからない
「/opt/emc/boostfs/etc/boostfs.conf」でBOOSTFS構成オプションを使用する場合は、ファイル内の「[global]」設定を確認し、コメント アウトされていないことを確認します(グローバル オプションのいずれかを機能させるには、キーワード「[global]」のコメントを解除する必要があります)。このキーワードは、デフォルトでコメント化されます。
BOOSTFS「/opt/emc/boostfs/etc/boostfs.conf」構成ファイルの内容の例:
# オプション値のペアの後にはコメントは入れられません。 # ############################################################################# [グローバル] # Data Domainのホスト名またはIPアドレス # data-domain-system=dd2500.domain.com
LinuxクライアントのBOOSTFSログに表示される出力例は次のとおりです。
# less /opt/emc/boostfs/log/ddboostfs_0_0.log Aug 24 08:23:35 27227 3565582272 [E] bfs_lockbox_get_user_info: 構成ファイル/opt/emc/boostfs/lockbox/boostfs.lockboxでキー エントリーdd2500-rtp2.techsupp.local:LSU3が見つかりませんでした。要求されたLockboxエントリーが見つかりませんでした。 Aug 24 08:23:35 27227 3565582272 [E] bfs_conn_lookup:ノード0ファイル/.boostfs_sysinfoの接続ルックアップに失敗しました。(0 接続) Aug 24 08:23:35 27227 3565582272 [I] bfs_node_lookup: ファイル/.boostfs_sysinfo への接続を取得できませんでした Aug 24 08:23:35 27227 3565582272 [E] bfs_initialize_mntopts:初期化に失敗しました
また、Linuxクライアントの「mount」コマンドで、ロックボックスのセットアップに使用したホスト名、ストレージ ユニット名、BOOSTユーザー名、またはターゲットDDに対応するホスト名、ストレージ ユニット名、BOOSTユーザー名を使用した結果、エラーが発生する可能性もあります。DD、BOOSTFSロックボックス、および「mount」コマンドで、すべての名前が一致していることを確認します。
8. 「boostfs」ユーザー資格情報を設定しようとすると、次のエラーで失敗します 。
bfs_krb5_err_handler: Kerberosエラー: -1765328360 [ERROR_MESSAGE=初期認証情報の取得に失敗しました。]
Kerberos認証情報を
設定できません 1.Active Directoryユーザー資格情報
2を使用してDCにログインし、Active Directoryユーザー資格情報が正しいことを確認します。LinuxクライアントとKerberosサーバーの時刻の差が5分以内であることを確認します。Kerberos認証では、クロック時刻の間隔を5分以内にする必要があります。
9.LinuxクライアントでBOOSTFSをマウントすると、「fusermount: mount failed: 操作は許可されていません。
これにはいくつかの理由が考えられます。「fusermount」は、基盤となるLinuxコマンドであり、最終的にFUSEを使用してDD BOOSTストレージ ユニットをLinuxクライアント ネームスペースにローカルにマウントします。これを行うには、特別な権限が必要です。そのため、「fusermount」はLinuxクライアントのSUIDバイナリーです。
# ls -l /usr/bin/fusermount -rwsr-xr-xです。1ルートルート38680 2019年5月11日/usr/bin/fusermount
SUIDバイナリーであるため、ユーザーがストレージ ユニットのマウントをどのように実行しようとしても、「fusermount」は「root」権限で実行されます。「fusermount」がrootに対するSUIDでない場合は、LinuxクライアントのrootユーザーのみがリモートBOOSTストレージ ユニットをマウントできます。これは、/etc/fstab でマウントを設定する場合は問題にならないかもしれませんが、マウントが root 以外のユーザーによって行われる場合は問題になります。
10.BOOSTFSマウントは問題ないが、マウント ポイントでストレージ ユニットのコンテンツにアクセスしようとすると、権限エラー
で失敗するDataDomainの「boostfs」コマンドまたは/etc/fstab(またはCLIから「mount.fuse」)を使用してストレージ ユニットを手動でマウントする場合、BOOSTFSをマウントしたLinuxクライアント ユーザーIDへのファイルへのアクセスのみを許可することが、デフォルトの基盤となるFUSE実装です。したがって、マウントがrootとして行われた場合、rootのみがファイルにアクセスできます。ユーザー「postgres」(PostgreSQL DBのバックアップ用)としてマウントが行われた場合、このユーザーのみがファイルにアクセスする権限を持ちます。
さまざまな理由で、マウントされたストレージ ユニット内のファイルにLinuxクラウドから他のユーザーがアクセスできるようにする必要がある場合は、/etc/fuse.confを調整する必要があります。詳細はこちらをご覧ください:
http://manpages.ubuntu.com/manpages/bionic/en/man8/mount.fuse.8.html
/etc/fuse.conf で以下のオプションを設定する必要があります。
user_allow_other
root以外のユーザーが allow_other または allow_root マウント オプションを指定できるようにします(を参照)
を参照)。
次に、BOOSTストレージ ユニットをマウントするときにコマンド ラインから次のコマンドを使用します。
allow_other
このオプションは、ユーザーへのファイル アクセスを制限するセキュリティ対策をオーバーライドします
ファイルシステムをマウントします。 したがって、すべてのユーザー(rootを含む)がファイルにアクセスできます。 これ
オプションはデフォルトでrootにのみ許可されていますが、この制限は
前述の構成オプション(user_allow_other)。
Additional Information
1.boostfs構成ファイルで定義できるマウント ポイント セクションの最大数はいくつですか?
boostfs.confファイルのマウント ポイント セクションのマウント数に制限はありません。
# マウントポイントのセクションは [mountpoint] タグで区切られます # # [/path/to/mount] # [/mnt/bofs] # Data Domainのホスト名またはIPアドレス # data-domain-system=dd2500-1.yourdomain.com # ストレージユニット # storage-unit = su-name # ストレージ ユニット ユーザー名 # storage-unit-username=sysadmin # マウント先のストレージユニット内のサブディレクトリ # directory-name=path/to/subdir
2.NetWorkerはデフォルトでBOOSTFSをサポートしており、特定のタスクとバックアップ
を実行するためのオンザフライ マウントを処理できますNetWorkerがBOOST対応のバックアップ アプリケーションであっても、インストールされているLinuxクライアント システムでBOOSTFSもサポートします。Linuxクライアントのコマンド ラインから取得されるNWバックアップの例の1つを、BOOSTFSロックボックスを設定した後は次のようになります(PostgreSQLバックアップ)。
# nsroappbackup-z /nsr/apps/config/backup_postgresql.cfg 174908:(pid 16487):バックアップデータをプール「DB」に保存します。 175019:(pid 16487):ホスト「dd.example.com」のメディア管理バインディング情報を受信しました。 174910:(pid 16487):ホスト「dd.example.com」のnsrmmdプロセスに接続されました。 + /usr/pgsql-11/bin/pg_dump--file=/nsr/apps/tmp/e3106c82_294324_16487/dump.sql--format=plain 戻り値 0 で処理を続行しました。 + /bin/cp /data/postgresql.conf/nsr/apps/tmp/e3106c82_294324_16487/ 戻り値 0 で処理を続行しました。 時刻「01/04/20 15:40:36」のセーブセット「PostgreSQL_postgres_backuppostgre_full」内のファイルは次のとおりです。 サイズ: Name: 2645 dump.sql 24000 postgresql.conf 2ファイル 26645バイト バックアップ コマンド「/nsr/apps/config/scripts/backup-postgre-dbon1-full.sh」が正常に完了しました。 バックアップが正常に完了しました。
バックアップ ジョブが構成されると、NW GUIから開始して進行状況を監視することもできます。NWによって発行されたマウントが完了すると、messages.engineeringに次のようなログ エントリーが表示されます。
Apr 1 15:20:49 dd.example.com ddfs [17040]: 注意:ddboost-client.example.com-49808<>: Boostfs: Apr 1 15:22: 52.395 16275 704915520 [I] DDBoostプラグインのバージョン: [7.0.0.0.633508] Apr 1 15:20:49 dd.example.com ddfs [17040]: 注意:ddboost-client.example.com-49808<>: Boostfs: Apr 1 15:22: 52.395 16275 704915520 [I] BoostFSバージョン情報: [BOOSTFS:7.0.0.0-633922 FUSE:2.9.7] Apr 1 15:20:49 dd.example.com ddfs [17040]: 注意:ddboost-client.example.com-49808<>: Boostfs: Apr 1 15:22: 52.395 16275 704915520 [I] bfs_lib_init: /mnt/mountpointへのマウント dd.example.com:LSU_NAME