NFSサーバー・クライアント構築手順

サーバー側の設定

1. NFSサーバーのインストール

# パッケージ更新
sudo apt update

# NFSサーバーをインストール
sudo apt install nfs-kernel-server -y

2. 共有ディレクトリの作成

# 画像保存用ディレクトリを作成
sudo mkdir -p /mnt/images

# 所有権を設定
sudo chown nobody:nogroup /mnt/images
sudo chmod 755 /mnt/images

3. NFSエクスポート設定

# エクスポート設定ファイルを編集
sudo nano /etc/exports

以下を追加(ネットワーク範囲は環境に合わせて変更):

/mnt/images 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)

パラメータ説明:

4. NFSサーバーの起動

# 設定を反映
sudo exportfs -ra

# NFSサーバーを再起動
sudo systemctl restart nfs-kernel-server

# 自動起動を有効化
sudo systemctl enable nfs-kernel-server

# ステータス確認
sudo systemctl status nfs-kernel-server

5. 共有状況の確認

# エクスポートされているディレクトリを確認
sudo exportfs -v

# IPアドレスを確認(クライアント側で使用)
ip a

6. ファイアウォール設定(必要な場合)

# UFWを使用している場合
sudo ufw allow from 192.168.1.0/24 to any port nfs

クライアント側の設定

1. NFSクライアントのインストール

# パッケージ更新
sudo apt update

# NFSクライアントをインストール
sudo apt install nfs-common -y

2. マウントポイントの作成

# マウント先のディレクトリを作成
sudo mkdir -p /mnt/images

3. NFSサーバーの確認

# NFSサーバーの共有を確認(<NFSサーバーのIP>は実際のIPに置き換え)
showmount -e <NFSサーバーのIP>

4. 一時的なマウント(テスト用)

# NFSをマウント
sudo mount <NFSサーバーのIP>:/mnt/images /mnt/images

# マウント確認
df -h | grep images
ls -la /mnt/images

5. 永続的なマウント設定

# fstabを編集
sudo nano /etc/fstab

以下の行を追加:

<NFSサーバーのIP>:/mnt/images /mnt/images nfs defaults,_netdev 0 0

パラメータ説明:

6. fstabからマウント

# fstabの設定を適用
sudo mount -a

# 確認
df -h | grep images
mount | grep images

7. 動作確認

# テストファイルを作成
sudo touch /mnt/images/test.txt

# ファイルが作成できることを確認
ls -la /mnt/images/

トラブルシューティング

マウントできない場合

# ネットワーク接続確認
ping <NFSサーバーのIP>

# NFSサーバーの共有確認
showmount -e <NFSサーバーのIP>

# ポート確認(サーバー側)
sudo ss -tulpn | grep 2049

# ログ確認(サーバー側)
sudo journalctl -u nfs-kernel-server -n 50

権限エラーの場合

# サーバー側で権限確認
ls -la /mnt/images

# 必要に応じて権限変更
sudo chmod 777 /mnt/images  # 開発環境の場合

複数クライアントからの利用

複数のLXCコンテナから同じNFSをマウントする場合、各クライアントで上記の「クライアント側の設定」を繰り返します。


バックアップ設定(推奨)

Proxmox Web UIからの設定

  1. データセンター → バックアップ
  2. 追加 をクリック
  3. 設定:
    • スケジュール: 0 2 * * *(毎日2時)
    • 選択モード: NFSサーバーのLXCを選択
    • 保持: 7世代
    • モード: スナップショット
    • 圧縮: ZSTD

コマンドラインからの手動バックアップ

# NFSサーバーLXCのバックアップ
vzdump <CTID> --storage local --mode snapshot --compress zstd

チェックリスト

サーバー側

クライアント側