NFS¶
[更新: 2024年12月18日]
「NFS」は、 さくらのVPS で作成された仮想サーバにストレージを追加できるサービスです。
さくらのVPS のコントロールパネルからお客様のプライベートなローカルネットワーク内に、NFS(Network File System)のプロトコルに対応した追加ストレージを作成できます。
前提条件・事前確認¶
NFSは以下のサービスでご利用いただけます。
さくらのVPS のV3以降(2012年3月29日以降に申し込まれたサーバー)
さくらのVPS for Windows Server のV5のみ(2019年10月23日以降に申し込まれたサーバー)
NFSはローカルネットワークで接続するため「スイッチ」が必要です。また、NFSとスイッチは、接続するサーバーと同一ゾーンで作成してください。
お支払い方法に「クレジットカード」を選択した場合のみ、2週間のお試し期間をご利用いただけます。
電話認証 を行われていない場合は、お申し込み前にお手続きください。
お試し期間中の機能制限はございません。お試し期間中に利用方法などのご確認をお勧めいたします。
事前準備¶
サーバーとスイッチの接続¶
サーバーとスイッチが未接続の場合は、以下のマニュアルをご参考いただき接続を行なってください。
NFSの追加¶
「新規追加」を選択し、「NFS」をクリックします。
お支払いパターン、NFSの容量、リージョンを選択します。
ネットワーク情報を設定します。
IPアドレス |
ローカルネットワークのIPアドレスを入力します。 |
---|---|
ネットマスク |
ローカルネットワークのネットマスクを選択します。 |
任意でNFSの名前を入力し、「お支払い方法選択へ」をクリックします。
「お支払方法」を選択し、その他の申込内容に誤りがないか確認します。
支払いパターン |
前の画面で選択した内容の確認および変更が可能です。 |
---|---|
支払い方法 |
「クレジットカード」でお支払いの場合のみ、2週間のお試し期間をご利用いただけます。 |
ご請求額 |
毎月または毎年のお支払い金額と初回請求金額をご確認ください。 |
約款を確認し、「同意する」にチェックを入れ、「お支払いを確定する」をクリックします。
NFSとスイッチの接続¶
Note
NFSの状態を「停止中」にする必要があります。 「稼働中」の場合は「シャットダウン」等で停止してください。
「NFS」を選択してスイッチと接続するNFSをクリックします。
「ネットワーク」を選択します。
「接続先を設定する」をクリックします。
「接続先」の一覧からスイッチを選択して「接続先を設定」をクリックします。
※ 「接続先を設定した後に自動的にNFSを起動します」にチェックを入れることで、設定後に状態が「稼働中」になります。
マウントするサーバーの設定¶
ネットワークインターフェースへのローカルIPアドレス設定¶
Note
サーバーをOS再インストールもしくは新規契約される場合、スタートアップスクリプト Local-IP Setup を利用することができます。
VNCコンソール等でサーバにログインし、コマンドによる編集や設定ファイルの編集・新規作成を行います。
【設定例】
ネットワークインターフェース(eth1/ens4)にローカルIPアドレス「192.0.2.1」とネットマスク「255.255.255.0」を設定した後、NFSのローカルIPアドレス「192.0.2.2」へ疎通確認をする。
[CentOS 7]
NICの確認
$ nmcli device show eth1
GENERAL.DEVICE: eth1
GENERAL.TYPE: ethernet
GENERAL.HWADDR: XX:XX:XX:XX:XX:XX
GENERAL.MTU: 1500
GENERAL.STATE: 30 (disconnected) ←デバイスが切断された状態
GENERAL.CONNECTION: --
GENERAL.CON-PATH: --
WIRED-PROPERTIES.CARRIER: on
NICを接続する
$ nmcli connection add type ethernet ifname eth1 con-name eth1
NICにローカルIPアドレスを追加する
$ nmcli connection modify eth1 ipv4.method manual ipv4.addresses "192.0.2.1/24" ipv6.method "ignore"
追加後の確認方法
$ nmcli device show eth1
GENERAL.DEVICE: eth1
GENERAL.TYPE: ethernet
GENERAL.HWADDR: XX:XX:XX:XX:XX:XX
GENERAL.MTU: 1500
GENERAL.STATE: 100 (connected) ←デバイスが接続された状態
GENERAL.CONNECTION: eth1
GENERAL.CON-PATH: /org/freedesktop/NetworkManager/ActiveConnection/XX
WIRED-PROPERTIES.CARRIER: on
IP4.ADDRESS[1]: 192.0.2.1/24 ←ローカルIPアドレスが設定されている
IP4.GATEWAY: --
IP6.GATEWAY: --
$ ping 192.0.2.2
pingの応答がない場合、eth1がNFSと同じスイッチに接続されているか確認してください。
[Ubuntu 16.04]
NICに割り当てられたインターフェース名称を確認する
$ ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 9c:a3:ba:01:ad:c4 brd ff:ff:ff:ff:ff:ff
inet XXX.XXX.XXX.XXX/23 brd 160.16.51.255 scope global ens3
valid_lft forever preferred_lft forever
3: ens4: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 9c:a3:ba:03:34:64 brd ff:ff:ff:ff:ff:ff
4: ens5: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 9c:a3:ba:04:bb:04 brd ff:ff:ff:ff:ff:ff
設定ファイルを編集する
$ sudo vi /etc/network/interfaces
auto ens4
iface ens4 inet static
address 192.0.2.1
netmask 255.255.255.0
設定を反映させる
$ sudo ifup ens4
反映後の確認方法
$ ip address show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 9c:a3:ba:01:ad:c4 brd ff:ff:ff:ff:ff:ff
inet XXX.XXX.XXX.XXX/23 brd 160.16.51.255 scope global ens3
valid_lft forever preferred_lft forever
3: ens4: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 9c:a3:ba:03:34:64 brd ff:ff:ff:ff:ff:ff
inet 192.0.2.1/24 brd 192.0.2.255 scope global ens4
valid_lft forever preferred_lft forever
4: ens5: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
link/ether 9c:a3:ba:04:bb:04 brd ff:ff:ff:ff:ff:ff
$ ping 192.0.2.2
pingの応答がない場合、ens4がNFSと同じスイッチに接続されているか確認してください。
サーバーにNFSを認識させる¶
必要なアプリケーションをインストールし、NFSをマウントします。
NFSのエクスポートディレクトリは「/export」です。
【設定例】
NFSのローカルIPアドレスが「192.0.2.2」で、/mnt ディレクトリにマウントする。
[CentOS 7]
$ yum -y install rpcbind nfs-utils
$ mount 192.0.2.2:/export /mnt
[Ubuntu 16.04]
$ sudo apt update
$ sudo apt -y install nfs-common
$ sudo mount -t nfs 192.0.2.2:/export /mnt
マウントの確認¶
マウントの状態は、dfコマンドやmountコマンドで確認できます。
「192.0.2.2:/export 〜」のようにNFSのローカルIPアドレスが表示されていればマウント完了です。
$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda3 18193828 1702472 15560492 10% /
tmpfs 250952 0 250952 0% /dev/shm
/dev/vda1 243823 66289 164734 29% /boot
192.0.2.2:/export 100762112 1727616 93909376 2% /mnt
$ mount
/dev/vda3 on / type ext4 (rw)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
tmpfs on /dev/shm type tmpfs (rw)
/dev/vda1 on /boot type ext4 (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
sunrpc on /var/lib/nfs/rpc_pipefs type rpc_pipefs (rw)
192.0.2.2:/export on /mnt type nfs (rw,vers=4,addr=192.0.2.2,clientaddr=192.0.2.1)
システム起動時にNFSを認識させる¶
サーバーを再起動した際、NFSを自動でマウントするように「/etc/fstab」ファイルを編集します。
[CentOS]
$ vi /etc/fstab
[Ubuntu]
$ sudo vi /etc/fstab
以下を追加する
192.0.2.2:/export /mnt nfs defaults 0 0
補足事項¶
NFSに接続できなくなった場合¶
NFSをハードマウントしている場合、NFSが収容されているホストサーバー側にメンテナンスなどが発生した際、マウントしたサーバから接続できなくなることがあります。
この場合は一度マウント状態を解除した後、再度マウントしてください。
[CentOS]
$ umount -l /mnt/
$ service netfs restart
$ mount 192.0.2.2:/export /mnt
[Ubuntu]
$ sudo umount -l /mnt/
$ sudo mount -t nfs 192.0.2.2:/export /mnt