LoginSignup
0
0

【KVM入門④】〜NFSを使って全ての仮想マシンでファイルを共有する〜

Last updated at Posted at 2024-06-02

KVM入門一覧

  1. 【KVM入門⓪】〜Linuxの基礎知識〜
  2. 【KVM入門①】〜KVMを使って仮想マシンを作成する〜
  3. 【KVM入門②】〜複数の仮想マシンを作成して仮想マシン間で通信を行えるようにする〜
  4. 【KVM入門③】〜DNSとhostsの設定を行う〜
  5. 【KVM入門④】〜NFSを使って全ての仮想マシンでファイルを共有する〜👈今ここ
  6. 【KVM入門⑤】〜LDAPを使ってユーザ情報などを一元管理する〜

はじめに

KVMシリーズ第4回です。

今回は、NFSを使って全ての仮想マシンでファイルを共有できるようにしていきます。

test-vm1をサーバ、test-vm2からtest-vm4をクライアントとして、以下の図の赤色の部分の設定をするところまでをこの回の目標とします。

image.png

すること

サーバ側(test-vm1

1. パッケージのインストール

パッケージマネージャのアップデートを行う。

sudo dnf update -y

nfs-utilsをインストールする。

sudo dnf install -y nfs-utils

2. /etc/exportsの編集

公開するディレクトリを作成する。

sudo mkdir /mnt/test

ファイルを編集する。

vi /etc/exports

以下を追記し、172.16.1.0/24からの接続を許可する。

/mnt/test 172.16.1.0/24(rw,no_root_squash)

設定を反映する。

sudo exportfs -rav

成功すれば以下のように表示される。

[xxx@vm1 ~]# sudo exportfs -rav
exporting 172.16.1.0/24:/mnt/test

nfs-serverサービスを起動し、さらに自動起動を有効にする。

sudo systemctl enable nfs-server --now

3. ファイアウォールの設定

ファイアウォールを起動していなかったら起動する。

sudo systemctl enable firewalld --now

nfsサービスをfirewalldサービスに追加する。

sudo firewall-cmd --add-service=nfs --permanent

firewalldサービスを再起動する。

sudo firewall-cmd --reload

以下のように表示されればファイアウォールの設定は成功している。

[xxx@vm1 ~]# sudo firewall-cmd --add-service=nfs --permanent
success
[xxx@vm1 ~]# sudo firewall-cmd --reload
success
[xxx@vm1 ~]# firewall-cmd --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: enp1s0
  sources:
  services: cockpit dhcpv6-client nfs ssh
  ports:
  protocols:
  forward: yes
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

クライアント側(test-vm2からtest-vm4

1. パッケージのインストール

パッケージマネージャのアップデートを行う。

sudo dnf update -y

nfs-utilsをインストールする。

sudo dnf install -y nfs-utils

2. マウント

マウントポイントを作成する。

sudo mkdir /mnt/test

マウントする。

sudo mount -t nfs vm1:/mnt/test /mnt/test

以下のように表示されればマウントは成功している。

[xxx@vm2 ~]# sudo mount -t nfs vm1:/mnt/test /mnt/test
[xxx@vm2 ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             4.0M     0  4.0M   0% /dev
tmpfs                888M     0  888M   0% /dev/shm
tmpfs                356M   33M  323M  10% /run
/dev/mapper/rl-root   26G  3.4G   23G  14% /
/dev/vda1            960M  366M  595M  39% /boot
tmpfs                178M  4.0K  178M   1% /run/user/2000
vm1:/mnt/test         26G  1.6G   25G   7% /mnt/test

3. OS起動時の自動マウントの設定

今のままでは以下のようにOSを再起動したときに自動でマウントしてくれない。

[xxx@vm2 ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             4.0M     0  4.0M   0% /dev
tmpfs                888M     0  888M   0% /dev/shm
tmpfs                356M   33M  323M  10% /run
/dev/mapper/rl-root   26G  3.4G   23G  14% /
/dev/vda1            960M  366M  595M  39% /boot
tmpfs                178M  4.0K  178M   1% /run/user/2000
vm1:/mnt/test         26G  1.6G   25G   7% /mnt/test
[xxx@vm2 ~]# reboot

...

Rocky Linux 9.4 (Blue Onyx)
Kernel 5.14.0-427.18.1.el9_4.x86_64 on an x86_64

vm2 login:
Password:
Last login: Sun Jun  2 07:15:55 on ttyS0
[xxx@vm2 ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             4.0M     0  4.0M   0% /dev
tmpfs                888M     0  888M   0% /dev/shm
tmpfs                356M   33M  323M  10% /run
/dev/mapper/rl-root   26G  3.4G   23G  14% /
/dev/vda1            960M  366M  595M  39% /boot
tmpfs                178M  4.0K  178M   1% /run/user/2000

そのため/etc/fstabファイルを編集して自動でマウントしてくれるようにする。

vi /etc/fstab

以下を追記する。

vm1:/mnt/test /mnt/test nfs rw 0 0

一旦アンマウントしてOSを再起動して、自動でマウントされていれば成功している。

[xxx@vm2 ~]# sudo umount /mnt/test
[xxx@vm2 ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             4.0M     0  4.0M   0% /dev
tmpfs                888M     0  888M   0% /dev/shm
tmpfs                356M  5.1M  351M   2% /run
/dev/mapper/rl-root   26G  3.4G   23G  14% /
/dev/vda1            960M  366M  595M  39% /boot
tmpfs                178M  4.0K  178M   1% /run/user/0
[xxx@vm2 ~]# reboot

...

Rocky Linux 9.4 (Blue Onyx)
Kernel 5.14.0-427.18.1.el9_4.x86_64 on an x86_64

vm2 login:
Password:
Last login: Sun Jun  2 07:15:55 on ttyS0
[xxx@vm2 ~]# df -h
Filesystem           Size  Used Avail Use% Mounted on
devtmpfs             4.0M     0  4.0M   0% /dev
tmpfs                888M     0  888M   0% /dev/shm
tmpfs                356M  5.1M  351M   2% /run
/dev/mapper/rl-root   26G  3.4G   23G  14% /
/dev/vda1            960M  366M  595M  39% /boot
vm1:/mnt/test         26G  1.6G   25G   7% /mnt/test
tmpfs                178M  4.0K  178M   1% /run/user/0

さいごに

今回はNFSを使って全ての仮想マシンでファイルを共有する方法を紹介しました。

次回はLDAPを使ってユーザ情報などを一元管理できるようにしていきます。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0