計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)

Ubuntu 18.04 に CIFS マウントした Windows ファイルシステムを NFS に載せる


問題
  CIFS で Ubuntu にマウントした Windows ファイルシステムは exportfs で直接 NFS クライアントに提供することはできない.
  そこで, 本来はファイルシステムの文字コードを一括変換するプログラムである convmvfs を使って, 一旦ユーザランドファイルシステムに変換してやる.

準備
  sudo apt install autofs
  sudo apt install cifs-util
  sudo apt install fuse-convmvfs

設定
 【A】まず CIFS で <SERVER> 上の Windows ファイルシステムをリモートマウントする.
  (ここでは autofs による自動マウントを行う)

  1. /smb ディレクトリを作成
    sudo mkdir /smb

  2. /etc/auto.master に下記の一行を追加

/smb /etc/auto.smb --timeout=300

  3. /etc/auto.smb を次のように編集 (opts に vers=1.0 と sec=ntlm を加える)

*** /etc/auto.smb.orig	2019-01-30 14:19:08.721611961 +0900
--- /etc/auto.smb	2019-01-30 14:08:38.446064895 +0900
***************
*** 38,44 ****
  }
  
  key="$1"
! opts="-fstype=cifs"
  
  for P in /bin /sbin /usr/bin /usr/sbin
  do
--- 38,44 ----
  }
  
  key="$1"
! opts="-fstype=cifs,vers=1.0,sec=ntlm"
  
  for P in /bin /sbin /usr/bin /usr/sbin
  do

  4. /etc/creds ディレクトリを作成し, 共有サーバ名 SERVER の名のファイルを作る
    sudo mkdir /etc/creds
    (echo username=USER; echo password=PASSWORD;) | sudo cat > /etc/creds/SERVER
    sudo chmod 600 /etc/creds/SERVER

  5. autofs を起動
    sudo systemctl enable autofs
    sudo systemctl start autofs

  6. これで SERVER の共有フォルダ FOLDER に /smb/SERVER/FOLDER としてアクセスできるようになった.

 【B】convmvfs を使ってユーザランドファイルシステムに変換する. 

  1. マウントポイントを適当な箇所に作成(ここでは /export/FOLDER とする)
    sudo mkdir /export/FOLDER
    
  2. convmvfs の実行スクリプト /root/bin/autoconvmvfs.sh を次のように作成

#!/bin/sh
convmvfs /export/FOLDER -o srcdir=/smb/SERVER/FOLDER,allow_other;
exit 0;

  3. 実行パーミッションを付加
    sudo chmod +x /root/bin/autoconvmvfs.sh

  4. 実行
    /root/bin/autoconvmvfs.sh

    これで NFS でエクスポート可能な /export/FOLDER ができる.

  5. 起動時に自動実行するように設定(rc.localを設定)
    sudo vi /etc/rc.local

#!/bin/sh
/root/bin/autoconvmvfs.sh

    sudo chmod 755 /etc/rc.local
    
 【C】NFSサーバに登録する

  1. /etc/exports

/export/FOLDER CLIENT(rw,sync,no_subtree_check,no_root_squash,fsid=0) ...

  2. NFSサーバ再起動
    sudo startctl restart nfs-server.service



計算機メモ目次 (目的のページと内容が一致しない場合, 目次から探してください)
海洋大循環分野
daigo@ocg.aori.u-tokyo.ac.jp