HPCI 共用ストレージ
利用マニュアル
クライアント導入編
2018/09/06クライアント導入編 2
更新履歴
版数 日付 更新内容 作成者 初版 2014/05/18 第2 版 2016/04/08 l 「3.1.ポートの開放」で「600/udp への incoming」を「600/udp からの incoming」 へ訂正 l Globus Toolkit のバージョンを 5.2.5 から 6.0 へ更新 l Gfarm のバージョンを 2.5.8.7 から 2.6.9 へ更新 l Gfarm2fs のバージョンを 1.2.9.6 から 1.2.9.9 へ更新 第 3 版 2017/10/24 l 「3.2.6. Gfarm のインストール ④」で gfarm2.conf を HPCI 情報共有 CMS ページ からダウンロードする手順に変更 l Gfarm のバージョンを 2.6.9 から 2.6.21 へ更新 l Gfarm2fs のバージョンを 1.2.9.9 から 1.2.9.11 へ更新 第4 版 2018/08/22 l Gfarm のバージョンを 2.6.26 へ更新 l Gfarm2fs のバージョンを 1.2.11 へ更新 l バージョンアップ手順を最終節へ移動 l ポートの開放に表を追加 l ローカルユーザーアカウント作成手順を訂 正 第5 版 2018/09/06 l 3.1 節にサーバーの IP アドレスに関する記 述を追加 l 3.2.5 節に証明書失効リストの定期更新に 関 す る 記 述 を 追 加 、 環 境 変 数 GLOBUS_GSSAPI_NAME_COMPATIBILI TY の設定を追加 l 5.3 節の gfhost コマンドのオプションを – lv から –lvu へ変更クライアント導入編
クライアント導入編 4
目次
1. はじめに ... 5 2. 動作要件 ... 6 3. 導入・設定 ... 7 3.1. ポートの開放 ... 7 3.2. クライアント導入 ... 8 3.2.1. OS インストール ... 8 3.2.2. 必要なパッケージ ... 8 3.2.3. nscd インストール ... 8 3.2.4. 時刻の同期 ... 8 3.2.5. Globus Toolkit インストール ... 9 3.2.6. Gfarm インストール ... 11 3.2.7. gfarm2fs インストール ... 12 4. 運用管理 ... 13 4.1. ローカルユーザアカウント作成 ... 13 4.1.1. 注意事項 ... 13 5. 利用確認 ... 14 5.1. 代理証明書の発行 ... 14 5.2. gfstatus コマンドによる確認 ... 14 5.3. gfhost コマンドによる確認 ... 14 5.4. mount.hpci コマンドによる確認 ... 15 6. 保守 ... 16 6.1. 証明書と失効リストの更新... 16 7. バージョンアップ手順 ... 17クライアント導入編 5
1. はじめに
本書は、利用者が HPCI 共用ストレージのクライアントを導入するための手順を解説した 文書です。 本書に掲載されているコマンドターミナル画面において、太字の部分は実際に入力してい ただくコマンドを表しています。またコマンドプロンプトが「#」の場合は root、「$」の場 合は一般ユーザを意味しています。クライアント導入編 6
2. 動作要件
クライアントとしてUnix/Linux 系の各種 OS が使用可能ですが、本書では CentOS 6(64 ビット版)を前提に解説しますので、他のバージョンや OS の場合は適宜読み替えてくだ さい。CentOS (The Community ENTerprise Operating System) http://www.centos.org/
クライアント導入編 7
3. 導入・設定
3.1. ポートの開放 クライアントにおいて以下の通信ができるようにポートを開放し、必要に応じてネットワ ークを設定してください。 ü 601/tcp への outgoing(メタデータサーバとの通信) ü 600/tcp への outgoing(ストレージサーバとの通信) ü 600/udp への outgoing(ストレージサーバとの通信) ü 600/udp からの incoming(ストレージサーバとの通信) source destination protocol 用途 IP アドレス ポート番号 IP アドレス ポート番号 クライアント ephemeral メタデータサーバ 601 tcp メタデータアクセス クライアント ephemeral ストレージサーバ 600 tcp データアクセス クライアント ephemeral ストレージサーバ 600 udp health check 要求 ストレージサーバ 600 クライアント ephemeral udp health check 応答 ephemeral は、Linux では「/sbin/sysctl net.ipv4.ip_local_port_range」コマンドで 確認・設定できるポート番号の範囲で、Linux では通常 32768~61000 です。メタデータサーバおよびストレージサーバのIP アドレスとしては、任意のアドレスを設定 してください。あるいはサーバのIP アドレスを限定したい場合は、共用ストレージ運用チ ームまで、HPCI ヘルプデスク(http://www.hpci-office.jp/pages/helpdesk ) 経由でお 問い合わせください。
クライアント導入編 8 3.2. クライアント導入 3.2.1. OS インストール コンパイラなどの開発ツールを含めてインストールしてください。OS インストール時に開 発ツールをインストールしなかった場合は、OS 起動後に root 権限で以下のコマンドを実 行して開発ツールをインストールしてください。 またroot 権限で以下のように実行して OS やインストールされているパッケージを最新の 状態にしてください。 3.2.2. 必要なパッケージ クライアントのインストールに必要なパッケージをインストールします。 3.2.3. nscd インストール ネームサービスキャッシュデーモンnscd をインストールして OS の起動とともに実行され るように設定してください。nscd が起動していない場合、Gfarm ファイルシステムをマ ウントするコマンドgfarm2fs の動作が遅くなることがあるためです。 3.2.4. 時刻の同期 クライアントを含む、Gfarm ファイルシステムを構成するホスト(ノード)間で時刻がず れていると正常に動作しなくなる可能性があります。ntp(Network Time Protocol)な どを利用して時刻を合わせるように設定してください。
# yum groupinstall 'Development Tools'
# yum update
# yum install openssl-devel postgresql-devel # yum install fuse fuse-devel
# yum install wget
# yum install nscd # service nscd start # chkconfig nscd on
クライアント導入編 9 3.2.5. Globus Toolkit インストール ① 以下のサイトから Globus Toolkit をダウンロードして、インストールします。 http://toolkit.globus.org/toolkit/downloads/latest-stable/ なお、本書ではバージョン6.0 を使用します。 ② 信頼できる CA の設定
/etc/grid-security/certificates ディレクトリに HPCI 認証局の自己証明書、signing policy ファイル、失効リストをおきます。 この最後の2 行、hpcia.crl の取得と mv は失効リストの更新処理です。cron に登録する 等の方法で、失効リストが期限切れになる前に定期的に失効リストを更新してください。 ③ 環境変数 GLOBUS_GSSAPI_NAME_COMPATIBILITY の設定 ユーザーの環境変数 GLOBUS_GSSAPI_NAME_COMPATIBILITY に、値「HYBRID」が 初期設定されるようにします。CentOS の場合、以下の 2 ファイルを設定するとよいでし ょう。 ファイル /etc/profile.d/globus.sh: ファイル /etc/profile.d/globus.csh: この設定を反映するためにログアウトして再度ログインしてください。 # yum install lsb # rpm –Uvh http://toolkit.globus.org/ftppub/gt6/installers/repo/ globus-toolkit-repo-latest.noarch.rpm
# yum install globus-gssapi-gsi-devel pkgconfig # yum install globus-proxy-utils globus-common-progs
# mkdir -p /etc/grid-security/certificates # cd /etc/grid-security/certificates
# wget https://www.hpci.nii.ac.jp/ca/61cd35bd.0
# wget https://www.hpci.nii.ac.jp/ca/61cd35bd.signing_policy # wget https://www.hpci.nii.ac.jp/ca/hpcica.crl &&
mv hpcica.crl `openssl crl –in hpcica.crl –noout –hash`.r0
export GLOBUS_GSSAPI_NAME_COMPATIBILITY=HYBRID
クライアント導入編
クライアント導入編 11 3.2.6. Gfarm インストール ① 以下のサイトから Gfarm のソースファイルをダウンロードします。 http://sourceforge.net/projects/gfarm/files/gfarm_v2/ なお、本書ではバージョン2.6.26(gfarm-2.6.26.tar.gz)を使用します。 ② 任意のユーザ(root である必要はない)でコンパイルした後、root 権限でインストー ルします。 ③ Gfarm のコマンドがインストールされる/usr/local/bin が実行パスに含まれてい ることを確認してください。 ④ 以下のサイトから最新の gfarm2.conf ダウンロードし/etc/gfarm2.conf に設置して ください。 https://www.hpci-office.jp/info/pages/viewpage.action?pageId=694 71402 $ tar zxf gfarm-2.6.26.tar.gz $ cd gfarm-2.6.26
$ ./configure --sysconfdir=/etc --enable-xmlattr --with-globus $ make $ su Password: # make install # exit # wget https://www.hpci-office.jp/info/download/attachments/69471402/g farm2.conf # chmod 644 gfarm2.conf # cp -a gfarm2.conf /etc/gfarm2.conf
クライアント導入編 12 3.2.7. gfarm2fs インストール ① 以下のサイトから gfarm2fs のソースファイルをダウンロードします。 http://sourceforge.net/projects/gfarm/files/gfarm2fs/ なお、本書ではバージョン 1.2.11(gfarm2fs-1.2.11.tar.gz)を使用します。上記 URL で示されるページでは、上部に「Download gfarm-2.x.x.tar.gz」のように表示され ますが、その下のディレクトリ以下にあるgfarm2fs-1.2.11.tar.gz をダウンロードしてく ださい。 ② 任意のユーザ(root である必要はない)でコンパイルした後、root 権限でインストー ルします。 ③ fusermount コマンドのモードを変更します。 一般ユーザで実行できるようにroot 権限でモードを変更します。 $ tar zxf gfarm2fs-1.2.11.tar.gz $ cd gfarm2fs-1.2.11
$ ./configure --with-gfarm=/usr/local --disable-acl $ make
$ su Password: # make install # exit
クライアント導入編 13
4. 運用管理
4.1. ローカルユーザアカウント作成 ローカルユーザそれぞれについて以下を行います。ここでは次のような表記を用います。 Taro Yamada 対象ローカルユーザーの氏名 Taro 対象ローカルユーザーのアカウント名 HPCI-ID 対象ユーザーの HPCI-ID Gfarm ファイルシステムのユーザは、クライアントに(OS の)ローカルアカウントが必 要です。未作成の場合はroot 権限で例えば以下を行います(useradd の man ページ参照)。ローカルアカウントのユーザ名はHPCI-ID と同じである必要はありません。 次に mount.hpci コマンドのためのマウントポイントとして、/gfarm 以下にユーザごと のディレクトリを作成し、所有者を変更します。これにはまず「5.1 代理証明書の発行」~ 「5.2 gfstatus コマンドによる確認」を実行しておき、そのユーザ権限で以下のコマンド を実行して gfgroup コマンドの結果を保存します。この gfgroup コマンドの実行は一度 だけでよく、ローカルユーザ毎に行う必要はありません。 次に各ローカルユーザ毎に、root 権限で以下を実行し、マウントポイントを作成します。 これにより、mount.hpci コマンドで HPCI 共用ストレージを各ユーザの権限でマウント できるようになります。なおユーザの参加する HPCI 課題が追加された場合、そのユーザ について gfgroup コマンド実行以降の手順の再実施が必要です。 4.1.1. 注意事項 各ユーザのマウントポイント以下に、ユーザが誤ってGfarm ファイルシステムをマウント せずに直接ファイルを作成し、ルートパーティションをあふれさせてしまう可能性があり ます。これを防ぐために、/gfarm を別パーティションにしてユーザごとにクォータによる 使用量制限を設定することをお勧めします。
# useradd -c ”Taro Yamada” –m taro
for g in `grep HPCI-ID /tmp/gfgroup.out | awk –F: '{ print $1 }'` do
mkdir –p /gfarm/$g && chmod 755 /gfarm/$g
mkdir –p /gfarm/$g/taro && chown taro /gfarm/$g/taro done
クライアント導入編 14
5. 利用確認
5.1. 代理証明書の発行 https://portal.hpci.nii.ac.jp/ をアクセスし、代理証明書をダウンロードします。保存先 は /tmp/x509up_u`id -u`、パミッションは 0600 とします。 代理証明書が正しく保存されているかどうかはgrid-proxy-info コマンドで確認できます。 5.2. gfstatus コマンドによる確認 gfstatus コマンドにより、メタデータサーバへの接続状況を確認することができます。 5.3. gfhost コマンドによる確認 gfhost コマンドにより、ファイルシステムノードへの接続状況を確認することができます。 $ gfhost –lvu 0.01/0.03/0.03 g i386-fedora3-linux 2 linux-1.example.com 600 0(10.0.0.1) 0.00/0.00/0.00 g i386-fedora3-linux 2 linux-2.example.com 600 0(10.0.0.2) -.--/-.--/-.-- - i386-fedora3-linux 2 linux-3.example.com 600 0(10.0.0.3) 0.00/0.02/0.00 x i386-redhat8.0-linux 1 linux-4.example.com 600 0(10.0.0.4) 0.10/0.00/0.00 g sparc-sun-solaris8 1 solaris-1.example.com 600 0(10.0.1.1) x.xx/x.xx/x.xx - sparc-sun-solaris8 1 solaris-2.example.com 600 0(10.0.1.2) ...$ chmod 600 /tmp/x509up_u`id -u`
$ gfstatus
user config file : /home/taro/.gfarm2rc system config file: /etc/gfarm2.conf
hostname : host.domain canonical hostname: not available
global username: HPCI-ID local username: taro local home dir: /home/taro
credential name: /C=JP/O=NII/OU=HPCI/CN=Taro%40Yamada[HPCI-ID]
gfmd server name: ms-0.aics.riken.jp gfmd server port: 601
クライアント導入編 15 ここで、左端の数字の並びは各ノードのロードアベレージ(負荷)を示します。これが 「-.--/-.--/-.--」と表示される場合は、ストレージサーバプログラム gfsd が正しく 起動していないことを示しており、「x.xx/x.xx/x.xx」と表示される場合はそのノードに 接続できないこと(ホスト停止、ネットワーク障害、600/udp がフィルタリングされてい るなど)を示しています。 左から 2 番目の文字は認証を示しており、ここが「G」「g」「s」のいずれかであれば、そ のノードが利用可能であることを示しています。なお、「G」は GSI 認証および暗号化、「g」 は認証処理のみ GSI で認証後は保護のない生データ(gsi_auth)、「s」は共有鍵認証 (sharedsecret)、「x」は認証失敗、「-」は認証を試みなかったことを示します。その他の 出力内容の詳細はgfhost の man ページを参照してください。 5.4. mount.hpci コマンドによる確認 mount.hpci コマンドにより HPCI 共用ストレージをマウントし、ファイル操作が可能であ るか確認します。 $ mount.hpci timeleft : 118:22:52 (4.9 days)
Mount GfarmFS on /gfarm/hp.../taro $ cd /gfarm/hp.../taro $ echo a > a $ ls a $ cd / $ umount.hpci
クライアント導入編 16
6. 保守
6.1. 証明書と失効リストの更新 インストールした HPCI 認証局の失効リストは証明書の期限とは無関係に定期的に更新す る必要があります。以下の操作を毎週実行するようにしてください。 # cd /etc/grid-security/certificates # wget https://www.hpci.nii.ac.jp/ca/hpcica.crlクライアント導入編
17
7. バージョンアップ手順
① 各々のユーザの権限でマウントしている Gfarm ファイルシステムをアンマウントしま す。
② Globus Toolkit は 3.2.5 節と同様な手順の再実行で、Gfarm は 3.2.6 節と同様の手順 で、gfarm2fs は 3.2.7 節と同様の手順でインストールして既存のファイルを上書きし ます。
③ 各々のユーザの権限でマウントし直します。 $ umount.hpci