【nfs】NFSマウントしバックアップメモ【rsync】

はじめに

ボリュームを増設したいと考え、その前にバックアップしたので、その手順です。

  • マシンA RAID拡張前にバックアップをしたいマシン
  • マシンB バックアップを保管するマシン

NFSマウント

nfs-common をインストール

マシンA に nfs-common をインストールします。

# sudo apt update
# sudo apt install nfs-common

nfs-kernel-server をインストール

マシンBに nfs-kernel-server をインストールします。

# sudo apt update
# sudo apt install nfs-kernel-server 

バックアップ保管ディレクトリ作成

マシンBに保管用ディレクトリを作成します。
マシンBの /Home/ がRaidなので、ここに作りました。
ここにバックアップファイルを入れていきます。

NFS の所有権は nobody:nogroup らしいので、設定します。

# sudo mkdir /home/nfs
# sudo chown nobody:nogroup /home/nfs

エクスポートの設定

マシンBにNFSエクスポート設定し、マシンAがマウント出来るようにします。

/etc/exports に設定を追記します。

# sudo vi /etc/exports
/home/nfs               192.168.0.0/24(rw,sync,no_subtree_check)

IP は環境合わせて変更してください。

  • rw 読み書きを許可します。
  • sync ファイルの同期書き込みを有効にします。転送は安定しますが速度は低下します。
  • no_subtree_check リクエストのたびにディレクトリに含まれるかのチェック無効化

この後、マシンBは再起動が必要だっかたもしれません。

マウントする

マシンAにマウント用のディレクトリを作成します。

# sudo mkdir /mnt/to_nfs -p

マシンAの mnt/to_nfs に マシンBの /home/nfs をマウントします。

IP はマシンBのIPを指定してください。192.168.0.200 は仮です。

# sudo mount 192.168.0.200:/home/nfs /mnt/to_nfs

これで マシンAが /mnt/to_nfs にファイルを書き込むと
マシンBの /home/nfs に反映されます。

バックアップする

あとは好きなようにバックアップするだけです。
今回は rsync を使いました。

マシンAで rsync でバックアップします。
仮に /home/mydata をバックアップします。

# sudo rsync -rlOtcv --info=progress2 /home/mydata /mnt/to_nfs/

パラメータですが -a を使用すると パーミッションエラーがでて失敗します。

 failed: Operation not permitted (1)
rsync error: some files/attrs were not transferred (see previous errors) 

なので -a を分解しパーミションは保持しない設定にします。

  • r ディレクトリを再帰的に同期する
  • l シンボリックリンクをコピーする
  • t タイムスタンプを保持する
  • O ディレクトリはタイムスタンプを保持しない
  • c チェックサムでファイルの変更の有無をチェックする
  • v 詳細表示
  • –info=progress2 rsync 全体の進捗を表示する

v と –info=progress2 はバックアップの進捗がわかりやすいよう追加してます。
それでも –info=progress2 はかなり適当な進捗ですが。

アンマウント

バックアップが終われば マシンAでアンマウントします

# sudo umount /mnt/to_nfs

バックアップはかなり時間がかかります。
3日はかかりました。

Tags:, ,