1 / 40

PC クラスター構築 -OpenMPI のインストール -

PC クラスター構築 -OpenMPI のインストール -. 2011 年 1 月 22 日(土) 発表: dannna. 目次. 趣旨 概要: クラスターってなに 手順1:ネットワークの設定  [ 資料無し ] 手順2:ユーザの作成  [ 資料無し ] 手順3: リモートログインの設定 手順4: OpenMPI のインストール  [ 資料無し ] 手順5: OpenMPI の設定  [ 資料無し ] 手順6:共有ディレクトの設定   [ 資料無し ] まとめ 宿題. 趣旨. 趣旨 (1). 良くありそうな話  ちょっと前までは、

gellert
Download Presentation

PC クラスター構築 -OpenMPI のインストール -

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. PCクラスター構築-OpenMPIのインストール- 2011年1月22日(土) 発表:dannna

  2. 目次 • 趣旨 • 概要:クラスターってなに • 手順1:ネットワークの設定  [資料無し] • 手順2:ユーザの作成  [資料無し] • 手順3:リモートログインの設定 • 手順4:OpenMPIのインストール  [資料無し] • 手順5:OpenMPIの設定  [資料無し] • 手順6:共有ディレクトの設定  [資料無し] • まとめ • 宿題

  3. 趣旨

  4. 趣旨(1) • 良くありそうな話  ちょっと前までは、  並列処理の勉強で講義や参考書を買っても、  自宅やオフィスに実行環境があるのは稀でした。 マルチコアが一般化し、“並列処理”も敷居がなりました。  ついでにマシン1台当たりも安いので、クラスタPCに取り組んでみようと思ったけど… • ⇒なぜか、上手くいかない

  5. 趣旨(2) • そもそも、 • クラスタ≒並列処理 • クラスタの技術≒マルチコアの技術  “並列処理”という言葉に踊らされて、  “いろいろな技術”と“必要な知識”が混同してませんか?  クラスタPCの構築を通して、   絡まった考えを少しだけ紐解ければと願っております

  6. 概要:クラスターってなに

  7. クラスタってなに? • 2つ以上の“システム”を“インターコネクト”で接続し、 “一連の処理を共同で行わせる”を目的とした集合構成 • システム : PC • インターコネクト: LAN • 分散コンピューティングの一種

  8. クラスタの範囲 • Global Network(広域) • グリッド・コンピューティング(Grid Computing) • クラウド・コンピューティング(Cloud Computing) • Local Network(局所) • クラスタ・コンピューティング(Cluster Computing) クラウド ≒ グリッド ≧ クラスタ

  9. クラスタの目的と種類 • 高性能処理(HPC Cluster) • HPC:High Performance Computing • 種類: • 並列処理 • 並行処理 • 高可用性(HA Cluster) • HA:High Availability

  10. まとめ:クラスタってなに? • 意識してほしいこと • システム: PC • インターコネクト: Ethernet (LAN) • 目的 : 高性能な計算 “単体のシステム” と “2つ以上のシステム” を “インターコネクト” で接続し “効果・性能” を得る

  11. 手順1:ネットワークの設定

  12. 1-1ネットワークの設定 • グローバルIPとローカルIP • 固定IPアドレスの設定 • ホスト名の設定 • ホスト名とIPアドレスの名前解決

  13. 手順2:ユーザの作成

  14. 2-1 ユーザの追加 • プロセスについて • ユーザについて • デーモンについて • ユーザの追加方法

  15. 手順3:リモートログインの設定

  16. 3-1 リモートログインについて • クラスタを構成する”各ノードはマシンとして独立”してる。 • コマンドまたはプログラムを実行するために、 遠隔(リモート)操作が必要となる。 • “実行ユーザ”がリモートでログインする必要がある • 複数台あるため自動でリモートログインがしたい • ⇒パスワードを手で入力しない方式

  17. 3-2 リモートの種類 • telnet • 通信に暗号化はナシ、コマンドプロンプトからも実行可能 • パスワード認証 • rsh (remote shell) • 通信に暗号化はナシ • パスワード認証 • .rhosts認証 (クライアントホストの登録) • ssh (secure shell) • 通信に暗号化アリ(secure:安全) • パスワード認証 • 公開鍵暗号方式の認証[+パスフレーズ]⇒空のパスフレーズ • 公開鍵暗号付きrhosts認証(shosts)

  18. 3-3 公開鍵暗号について • 暗号化された2つの鍵ファイルが一致したとき、 平文化(復元)する。 • 2つの鍵ファイルは • 暗号鍵 ( secret-key ) • 公開鍵 ( public-key ) • 特徴として、片方の鍵が他者にわかってもよい。 • ⇒ 公開鍵を暗号化されていない通信で渡すことが多い イメージし づらい

  19. 3-4 公開鍵暗号について(イメージ) • 個人的な発想ですが、読み方を変えてイメージ化 • 2つの鍵ファイルは • 暗号鍵 ⇒   • 公開鍵 ⇒    公開錠 又は 公開鍵穴 • 自分が入ってよいマシンのドアに錠前をつけてもらうイメージ 鍵は1つ で良い

  20. 3-5OpenSSHについて • 特徴 • 基本Linuxに標準搭載 • インストールや設定は、ほぼ皆無 • セキュリティ等のポリシに沿った細かな変更も可能 • OSSベースである • 2つの鍵暗号方式に対応 • RSA (Rivest Shamir Adlman) • DSA(Digital Signature Algorithm) • SSHプトロコルのバージョン1、バージョン2に対応 • 今回は重要なポイントではないです。 • ポート番号:22

  21. 3-6 設定のポイント • 公開鍵によるパスフレーズなし認証のポイントは2つ • ログインを行う“クライアント”側の設定、 ログインされる“ホスト”側の設定、 どちらの設定かを明確にする • 公開鍵の登録 (ドアに錠前をつける作業) • パーミッションの設定について確認

  22. 3-7 演習問題 • 空のパスフレーズでRSAの秘密鍵と公開鍵を生成します。 • 3人一組(A,B,C)になって、次のように公開鍵を渡し、 パスワードなしでSSHのログインが可能な組合せを 確認します。 • A->B , B->C , C->A • クライアント:________ • ホスト:________ B A C

  23. 3-8 RSA鍵の生成(1)[クライアント] • 認証したい”ユーザ”でログインします • 次のコマンドを実行 $ ssh-keygen –t rsa Generating public/private rsa key pair. Enter file in which to save the key (/home/danna/.ssh/id_rsa): Created directory '/home/danna/.ssh'. Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/danna/.ssh/id_rsa. Your public key has been saved in /home/danna/.ssh/id_rsa.pub. The key fingerprint is: 99:f9:d0:76:d1:23:6c:6c:6f:3a:bf:52:3c:e8:2b:b5 danna@vmcent • 生成先の指定 • [ Enter ] キー “空のパスフレーズ”のため   そのまま[ Enter ] キー • パスフレーズの確認入力 [Enter]キー

  24. 3-9 RSA鍵の生成(2)[クライアント] • Homeディレクトリで、次のコマンドを実行 • 2つのファイルが生成されていることを確認 $ ls .ssh/ id_rsa id_rsa.pub 拡張子( .pub ) ありが “公開鍵( public-key )” 拡張子なしが “秘密鍵( secret-key )”

  25. 3-10 公開鍵の受け渡し(1) [クライアント-ホスト] • 試しに次のコマンドを実行 • パスワード入力を要求される • 鍵(秘密鍵)と錠前(公開鍵)はあるのに? • ドアに錠前がまだ付けていない状態 • 「ホスト側のドア」に「クライアントの錠前」をつける • 公開鍵をホスト側に何かしらの方法で渡す $ ssh localhost

  26. 3-11 公開鍵の受け渡し(2) [クライアント-ホスト] • scpコマンドについて • ssh通信を利用してホスト間でファイルのコピーを行う • 操作する”ユーザ”が同じ場合は、<ユーザ>省略可 • 操作する”ホスト”が同じ場合は、<ホスト>省略可 • リモートログインしたとき、<ユーザ>のhomeディレクトリへログインされる • ⇒相対pathを使うときは注意 • Homeディレクトリから、次のコマンドを実行 • このときは、まだパスワードの入力が必要になります $ scp [OPT] <ユーザ>@<送信元ホスト>:<ファイル><ユーザ>@<受信ホスト>:<ファイル> $scp .ssh/id_rsa.pub <相手ユーザ>@<相手ホスト>:~/

  27. 3-12 RSA鍵の登録 (1)[ホスト] • Homeディレクトリで、順にコマンドを実行 • ログインを許可する相手の公開鍵を確認 • 公開鍵を”authorized_keys2”へ登録 $ ls ~ id_rsa.pub ~ 登録する相手の“公開鍵 ” $ cat ./id_rsa.pub >> .ssh/authorized_keys2 “authorized_keys2 ”が ドアもしくはドアノブに該当するファイル

  28. 3-13 RSA鍵の登録 (2) [ホスト] • 続き • 公開鍵が登録されているかを確認 • ”authorized_keys2”のパーミッション変更 • 相手(クライアント)の公開鍵は削除します $ less ./id_rsa.pub $ less .ssh/authorized_keys2 $ chmod 600 .ssh/authorized_keys2 “authorized_keys2 ”は、 ホスト側のユーザ以外に権限があるとエラーとなります。 $ rm ./id_rsa.pub

  29. 3-14 sshログインの確認[クライアント] • Homeディレクトリから、次のコマンドを実行 • このときは、まだパスワードの入力が不要になっているはず • 失敗したとき(特にやりがちなこと) • “authorized_keys2”のスペルミス • “authorized_keys2”のパーミッション • そもそも”root”でのログインをsshが許可してない • クライアント側で鍵を再生成してしまった。 $ssh <相手ユーザ>@<相手ホスト>

  30. 3-15 known_hostsファイルについて[クライアント] • クライアント側でsshを実行すると、 次のファイルが作成されます • これは、応答が返ってくる際の公開鍵が登録されています • 参照: “/etc/ssh/ssh_host_rsa_key.pub” • ホスト側でOS入れ替えなどが会った場合、過去の履歴との不整合からエラーとなることがあります • known_hostsの該当箇所を削除 • 追加設定 • セキュリティは低下しますが、余計な問い合わせが減ります $ ls .ssh/known_hosts $ echo StrictHostKeyChecking=no >>.ssh/config

  31. 手順4:OpenMPIのインストール 

  32. 4-1 MPIについて • MPI種類 [実装規格] • version1 • version2 (version1.x) • 主な実装(非商用) • SCore • http://www.pccluster.org/ja/ • mpich • MPI ver.1までの実装 • mpich2 • MPI ver.2へ対応するために、作成し直したもの • OpenMPI • LAMなどが複数が統合?されたもの

  33. 4-2OpenMPIについて • 主なディストリにはパッケージとして提供されている • Ubuntu 10.04にはOSインストール時に設定済み • CentOSでもyumインストール可 • 開発元・入手先 • http://www.open-mpi.org/ • 最新の安定版はver.1.4.3 # yum install openmpi

  34. 4-3 一連の流れ • ソース群(source)のダウンロード • ダウンロードしたソースの展開 • Configureコマンド実行 • Makeコマンド実行 • Make installのコマンド実行 • 環境変数の設定

  35. 手順5:OpenMPIの設定

  36. 5-1 OpenMPIを使うための設定 • “mpiexec”のPATH確認 • OpenMPIでの通信等の設定 • Machinefileの用意 • 実行テスト

  37. 手順6:共有ディレクトの設定

  38. 6-1共有ディレクトの設定 • ファイルシステムとマウント • NFSについて • サーバ(公開側)の設定 • クライアントの設定

  39. まとめ

  40. 6-1 まとめ • 抜けた部分: • ユーザの一元管理 • リソースの管理 • 並列処理の必要性?

More Related