User Tools

Site Tools


自作クラスタ計算機:nfsの基本設定

This is an old revision of the document!


概要

  • 実際に数値計算を行う際、たくさんある計算ノードの一つ一つにプログラムや入力ファイルをコピーするのは面倒です
  • そこで、ファイルは1つのファイルサーバに集約して置いておき、各計算ノードは計算のたびにそこからファイルを読み込むようにします
  • 分散ファイルシステムの一つであるNetwork File System (NFS)を利用します
  • ファイルサーバとして管理ノード(IPアドレス: 192.168.0.1)を使用します

設定手順

ヘッドノード

  1. NFSのファイルサーバ用のパッケージをインストールします
    $ sudo apt install nfs-kernel-server
  2. 設定ファイルに、共有したいディレクトリと、そのディレクトリを共有するネットワークを指定します
    $ sudo vi /etc/exports
    exports
    /home 192.168.0.0/24(rw,async)
    /usr/local 192.168.0.0/24(ro)
    /opt 192.168.0.0/24(ro)
    • ここでは次のディレクトリを共有します
      • /home/ … ホーム・ディレクトリ
      • /usr/local/ … 各種ライブラリがインストールされるディレクトリ
      • /opt/ … 各種ソフトウェアがインストールされるディレクトリ
    • オプションの意味は次の通りです
      • rw … ファイルの読み書き (read-and-write) が可能。設定しなければ ro (read-only)となり、ファイルの書き換えができない
      • async … 非同期書き込み。設定しなければ sync (同期) になり、クライアントでファイルの書き換えが実行されたときはファイルサーバのファイルもその都度書き換わるが、パフォーマンスが落ちる。
  3. NFSサーバを再起動します
    $ sudo systemctl restart nfs-kernel-server

計算ノード

すべての計算ノードで作業する必要があります

  1. NFSのクライアント用のパッケージをインストールします
    $ sudo apt install nfs-common
  2. 同期するディレクトリを指定します
    $ sudo vi /etc/fstab
    fstab
    #ファイルの最後に次のように書き加えます  
    192.168.0.1:/home       /home       nfs defaults 0 0
    192.168.0.1:/usr/local  /usr/local  nfs defaults 0 0
    192.168.0.1:/opt        /opt        nfs defaults 0 0
    • 名前解決ができる場合、IPアドレスの代わりにホスト名でも可能です
  3. ファイルサーバのディレクトリをマウントします
    $ sudo mount -a
  4. マウントが成功したか確認します
    $ df -h
    Filesystem              Size  Used Avail Use% Mounted on
    (略)
    192.168.0.1:/home       1.8T  8.0G  1.7T   1% /home
    192.168.0.1:/usr/local  1.8T  8.0G  1.7T   1% /usr/local
    192.168.0.1:/opt        1.8T  8.0G  1.7T   1% /opt
  5. 実際に管理ノードでファイルを作ってみて、計算ノードでそのファイルが反映したか確認してみましょう
    • マウント先と元とディレクトリ名が被った場合、マウント先のディレクトリが優先して表示されます
    • 元のディレクトリのファイルが見たい場合はマウントを解除します
      $ sudo umount -a
自作クラスタ計算機/nfsの基本設定.1583899587.txt.gz · Last modified: 2021/06/27 21:58 (external edit)