راه اندازی nfs server بر روی virtualbox

سلام. 

میخوایم یه nfs server بسازیم و از فضایی که ایجاد میشه روی سرورهای دیگه استفاده کنیم. 

قبلش توسط مقاله های زیر سرور رو آماده کنید تا بعد بگم چه کنیم:

ایجاد یک ماشین مجازی برای نصب اوراکل

نصب سیستم عامل اوراکل لینوکس 8.9

کانفیگ کارت شبکه با nmcli یا تنظیم ip با nmcli با یک کارت شبکه

نصب پکیج های مورد نیاز اوراکل با dnf

منتها قسمت آخر فقط تا بخشی که repository رو حاضر می کنید.

ورود به ماشین NFS سرور: وارد ماشین مجازی لینوکسی که قصد دارید به عنوان NFS سرور استفاده کنید، شوید.

نصب NFS server: اگر از توزیع مبتنی بر Red Hat (مانند Oracle Linux یا CentOS) استفاده می‌کنید:

[root@nfsserver yum.repos.d]# sudo dnf install nfs-utils -y

DVD for RHEL - BaseOS                                                                                            57 MB/s | 3.5 MB     00:00

DVD for RHEL - AppStream                                                                                         94 MB/s | 8.7 MB     00:00

Last metadata expiration check: 0:00:01 ago on Tue 20 Aug 2024 04:15:16 PM EDT.

Dependencies resolved.

================================================================================================================================================

 Package                            Architecture               Version                                  Repository                         Size

================================================================================================================================================

Installing:

 nfs-utils                          x86_64                     1:2.3.3-59.0.1.el8                       dvd-BaseOS                        514 k

Installing dependencies:

 gssproxy                           x86_64                     0.8.0-21.el8                             dvd-BaseOS                        119 k

 keyutils                           x86_64                     1.5.10-9.el8                             dvd-BaseOS                         66 k

 libev                              x86_64                     4.24-6.el8                               dvd-AppStream                      52 k

 libverto-libev                     x86_64                     0.3.2-2.el8                              dvd-AppStream                      16 k

 python3-pyyaml                     x86_64                     3.12-12.el8                              dvd-BaseOS                        193 k

 quota                              x86_64                     1:4.04-14.el8                            dvd-BaseOS                        214 k

 quota-nls                          noarch                     1:4.04-14.el8                            dvd-BaseOS                         95 k

 rpcbind                            x86_64                     1.2.5-10.el8                             dvd-BaseOS                         70 k

Transaction Summary

================================================================================================================================================

Install  9 Packages

Total size: 1.3 M

Installed size: 3.9 M

Downloading Packages:

Running transaction check

Transaction check succeeded.

Running transaction test

Transaction test succeeded.

Running transaction

  Preparing        :                                                                                                                        1/1

  Installing       : libev-4.24-6.el8.x86_64                                                                                                1/9

  Installing       : libverto-libev-0.3.2-2.el8.x86_64                                                                                      2/9

  Installing       : gssproxy-0.8.0-21.el8.x86_64                                                                                           3/9

  Running scriptlet: gssproxy-0.8.0-21.el8.x86_64                                                                                           3/9

  Running scriptlet: rpcbind-1.2.5-10.el8.x86_64                                                                                            4/9

  Installing       : rpcbind-1.2.5-10.el8.x86_64                                                                                            4/9

  Running scriptlet: rpcbind-1.2.5-10.el8.x86_64                                                                                            4/9

  Installing       : quota-nls-1:4.04-14.el8.noarch                                                                                         5/9

  Installing       : quota-1:4.04-14.el8.x86_64                                                                                             6/9

  Installing       : python3-pyyaml-3.12-12.el8.x86_64                                                                                      7/9

  Installing       : keyutils-1.5.10-9.el8.x86_64                                                                                           8/9

  Running scriptlet: nfs-utils-1:2.3.3-59.0.1.el8.x86_64                                                                                    9/9

  Installing       : nfs-utils-1:2.3.3-59.0.1.el8.x86_64                                                                                    9/9

  Running scriptlet: nfs-utils-1:2.3.3-59.0.1.el8.x86_64                                                                                    9/9

  Verifying        : gssproxy-0.8.0-21.el8.x86_64                                                                                           1/9

  Verifying        : keyutils-1.5.10-9.el8.x86_64                                                                                           2/9

  Verifying        : nfs-utils-1:2.3.3-59.0.1.el8.x86_64                                                                                    3/9

  Verifying        : python3-pyyaml-3.12-12.el8.x86_64                                                                                      4/9

  Verifying        : quota-1:4.04-14.el8.x86_64                                                                                             5/9

  Verifying        : quota-nls-1:4.04-14.el8.noarch                                                                                         6/9

  Verifying        : rpcbind-1.2.5-10.el8.x86_64                                                                                            7/9

  Verifying        : libev-4.24-6.el8.x86_64                                                                                                8/9

  Verifying        : libverto-libev-0.3.2-2.el8.x86_64                                                                                      9/9

Installed:

  gssproxy-0.8.0-21.el8.x86_64           keyutils-1.5.10-9.el8.x86_64         libev-4.24-6.el8.x86_64       libverto-libev-0.3.2-2.el8.x86_64

  nfs-utils-1:2.3.3-59.0.1.el8.x86_64    python3-pyyaml-3.12-12.el8.x86_64    quota-1:4.04-14.el8.x86_64    quota-nls-1:4.04-14.el8.noarch

  rpcbind-1.2.5-10.el8.x86_64

Complete!

 

ایجاد دایرکتوری برای اشتراک گذاری: یک دایرکتوری که می‌خواهید از طریق NFS به اشتراک بگذارید، ایجاد کنید. برای مثال:

من پارتیشن جداگانه ای برای اینکار در نظر گرفتم:

[root@nfsserver ~]# df -h

Filesystem                   Size  Used Avail Use% Mounted on

devtmpfs                     3.8G     0  3.8G   0% /dev

tmpfs                        3.8G     0  3.8G   0% /dev/shm

tmpfs                        3.8G  8.6M  3.8G   1% /run

tmpfs                        3.8G     0  3.8G   0% /sys/fs/cgroup

/dev/mapper/ol-root           70G  2.7G   68G   4% /

/dev/mapper/ol-nfspartition  300G  2.2G  298G   1% /nfspartition

/dev/sda2                   1014M  287M  728M  29% /boot

/dev/sda1                    599M  6.0M  593M   1% /boot/efi

tmpfs                        764M     0  764M   0% /run/user/0

تحت این پارتیشن یک پوشه میسازم:

[root@nfsserver ~]# mkdir /nfspartition/for51

مجوزهای لازم رو بهش میدیم که از بیرون دیده بشه:

[root@nfsserver ~]# chmod 755 /nfspartition/for51/

فایل زیر رو ویرایش میکنیم و آدرس هایی که میخوایم این فضا رو ببینند رو معرفی می کنیم:

[root@nfsserver ~]# vi /etc/exports

[root@nfsserver ~]# cat /etc/exports

/nfspartition/for51/ 192.168.56.0/24(rw,sync,no_subtree_check,no_root_squash)

برای اینکه سرویس بصورت اتوماتیک بیاد بالا از سری بعد و الان هم استارت بشه، دستورات زیر رو میزنیم:

[root@nfsserver ~]# systemctl start nfs-server

[root@nfsserver ~]# systemctl enable nfs-server

Created symlink /etc/systemd/system/multi-user.target.wants/nfs-server.service → /usr/lib/systemd/system/nfs-server.service.

تنظیمات مربوط به فایروال رو اضافه می کنیم:

[root@nfsserver ~]# firewall-cmd --permanent --add-service=nfs

success

[root@nfsserver ~]# firewall-cmd --permanent --add-service=mountd

success

[root@nfsserver ~]# firewall-cmd --permanent --add-service=rpc-bind

success

[root@nfsserver ~]# firewall-cmd --reload

success

 

حالا در سمت کلاینت:

[root@oracle9-19 ~]# dnf install nfs-utils -y

Last metadata expiration check: 1 day, 15:56:54 ago on Mon 19 Aug 2024 01:38:29 AM EDT.

Package nfs-utils-1:2.5.4-25.0.2.el9.x86_64 is already installed.

Dependencies resolved.

Nothing to do.

Complete!

من قبلاً نصب کرده بودم. اگر شما نصب نکردید، با این دستور نصب میشه. حواستون باشه که باید منابع dnf رو کانفیگ کرده باشید و iso رو هم بهش mount کنید.

یک پوشه با نام دلخواه در کلاینت می سازیم:

[root@oracle9-19 ~]# mkdir /backup/

حالا mount  میکنیم و ازش تست می گیریم:

[root@oracle9-19 ~]# mount 192.168.56.56:/nfspartition/for51/ /backup/

 

[root@oracle9-19 ~]# df -h

Filesystem                         Size  Used Avail Use% Mounted on

devtmpfs                           4.0M  4.0K  4.0M   1% /dev

tmpfs                              7.6G  1.1G  6.5G  15% /dev/shm

tmpfs                              3.1G  8.8M  3.1G   1% /run

/dev/mapper/ol-root                 30G  1.9G   29G   7% /

/dev/sda2                          960M  275M  686M  29% /boot

/dev/sda1                         1022M  6.3M 1016M   1% /boot/efi

/dev/mapper/ol-var                  30G  566M   30G   2% /var

/dev/mapper/ol-tmp                  20G  191M   20G   1% /tmp

/dev/mapper/ol-u01                 101G   37G   65G  37% /u01

tmpfs                              1.6G     0  1.6G   0% /run/user/0

192.168.56.56:/nfspartition/for51  300G  2.2G  298G   1% /backup

 

حالا اگر بخواهیم کاربر اوراکل هم دسترسی داشته باشد می تونیم بهش مجوز بدیم:

chown oracle:oinstall /backup/ -R

برای تست اینکار رو انجام میدیم:

[oracle@oracle9-19 ~]$ cd /backup/

[oracle@oracle9-19 backup]$ touch x

[oracle@oracle9-19 backup]$ ls

x