komeの備忘録

東大院卒外資ITエンジニアの技術ブログ

NFS構築作業ログ

NFSサーバ/クライアントを構築した作業ログ

サーバ: Ubuntu 16.04 Server (172.16.2.1) クライアント: Ubuntu 16.04 Desktop(DHCP)

マウント部分: /mnt/sdc/storage 公開範囲: 172.16.0.0/16

サーバ

まずは必要なものをインストール

$ sudo apt install nfs-kernel-server
$ sudo vi /etc/exports
# /etc/exportsの最終行に追記
# 読み書き許可、同期書き込み有効、サブツリーチェック無効
/mnt/sdc/storage 172.16.0.0/16(rw, sync,no_subtree_check)

オプションは以下のサイトに詳しく書いてある https://www.server-world.info/query?os=Ubuntu_14.04&p=nfs&f=1www.server-world.info

最後にサービスの再起動

$ sudo systemctl restart nfs-server.service



クライアント

こちらもまずは必要なものをインストール

$ sudo apt -y install nfs-common

ローカルにマウントするディレクトリの作成

$ mkdir ~/data


  • すぐにマウントする場合
  • $ sudo mount -t nfs 172.16.2.1:/mnt/sdc/storage ~/data
    

  • システム起動時にマウントする場合
  • fstabを編集して起動時に読み込むようにする
    $ sudo vi /etc/fstab
    
    # /etc/fstabの最終行に追記
    # <file system> <mount point> <type> <options> <dump> <pass>
    172.16.2.1:/mnt/sdc/storage /home/client/data nfs rw 0 0
    
    これで起動時に読み込まれるようになる

  • マウントポイントへのアクセス時に動的にマウントする場合
  • これもまた必要なものをインストール
    $ sudo apt -y install autofs
    
    設定ファイルの編集
    $ sudo vi /etc/auto.master
    
    # /etc/auto.masterの最終行に追記
    /- /etc/auto.mount
    
    設定ファイルの作成
    $ sudo vi /etc/auto.mount (新規作成)
    
    # /etc/auto.mount
    /home/client/data -fstype=nfs,rw 172.16.2.1:/mnt/sdc/storage
    
    サービスの再起動
    $ sudo initctl restart autofs
    

    おや?エラーした
    initctl: Unable to connect to Upstart: Failed to connect to socket /com/ubuntu/upstart: Connection refused
    

    参考にしたサイトはUbuntu14だったためこれで終わりらしい。 Ubuntu forum に答えがあった [UbuntuGnome] Unable to start Gnome or Cinnamon from GDM - 15.04
    Systemdが本格的に採用されたのはUbuntu15.04からで、それまでのUpstartと齟齬が生じている、とのこと。
    $ sudo dpkg-divert --local --rename --add /sbin/initctl
    $ sudo ln -s /bin/true /sbin/initctl
    


    そしてもう一度先程のコマンドを実行
    $ sudo initctl restart autofs
    
    あれ?動くけどマウントしない。。

    更に調べていると同じサイトでUbuntu16のものを発見した。。普通に initctl じゃなくて systemctl で動くとのこと。何だったんださっきの苦労。。 https://www.server-world.info/query?os=Ubuntu_16.04&p=nfs&f=2www.server-world.info
    $ sudo systemctl restart autofs
    
    無事にマウントされた

  • マウントを解除する時
  • $ sudo umount ~/data
    

参考にしたサイト

qiita.com https://www.server-world.info/query?os=Ubuntu_14.04&p=nfs&f=1www.server-world.info

kometchtech.blog.fc2.com

https://www.server-world.info/query?os=Ubuntu_16.04&p=nfs&f=2www.server-world.info

(C) komee.org