Linux安裝NFS全過程
一、檢測
檢查本地是否已經安裝nfs服務
rpm -qa | grep nfs-utils rpm -qa | grep rpcbind
出現(xiàn)以下標識說明已經安裝
[melonrind@melonrind ~]$ rpm -qa | grep rpcbind rpcbind-0.2.0-49.el7.x86_64 [melonrind@melonrind ~]$ rpm -qa | grep nfs-utils nfs-utils-1.3.0-0.66.el7_8.x86_64
二、安裝
需要進行目錄共享的兩臺服務器上均需要安裝
1、在線安裝
在線安裝可以安裝nfs-utils及其依賴
yum install nfs-utils -y
2、離線安裝
需要先在可以聯(lián)網的環(huán)境中下載nfs-utils及其依賴包
#該命令需要root權限 yum -y install nfs-utils --downloadonly --downloaddir /home/melonrind/nfspackages #最終顯示以下信息說明所有依賴包已經下載完成 依賴關系解決 =========================================================================================== Package 架構 版本 源 大小 =========================================================================================== 正在安裝: nfs-utils x86_64 1:1.3.0-0.68.el7.2 updates 413 k 為依賴而安裝: gssproxy x86_64 0.7.0-30.el7_9 updates 111 k keyutils x86_64 1.5.8-3.el7 base 54 k libbasicobjects x86_64 0.1.1-32.el7 base 26 k libcollection x86_64 0.7.0-32.el7 base 42 k libevent x86_64 2.0.21-4.el7 base 214 k libini_config x86_64 1.3.1-32.el7 base 64 k libnfsidmap x86_64 0.25-19.el7 base 50 k libpath_utils x86_64 0.2.1-32.el7 base 28 k libref_array x86_64 0.1.5-32.el7 base 27 k libtirpc x86_64 0.2.4-0.16.el7 base 89 k libverto-libevent x86_64 0.2.5-4.el7 base 8.9 k quota x86_64 1:4.01-19.el7 base 179 k quota-nls noarch 1:4.01-19.el7 base 90 k rpcbind x86_64 0.2.0-49.el7 base 60 k tcp_wrappers x86_64 7.6-77.el7 base 78 k 事務概要 =========================================================================================== 安裝 1 軟件包 (+15 依賴軟件包) 總下載量:1.5 M 安裝大小:4.3 M Background downloading packages, then exiting: (1/16): libbasicobjects-0.1.1-32.el7.x86_64.rpm | 26 kB 00:00:00 (2/16): gssproxy-0.7.0-30.el7_9.x86_64.rpm | 111 kB 00:00:00 (3/16): keyutils-1.5.8-3.el7.x86_64.rpm | 54 kB 00:00:00 (4/16): libcollection-0.7.0-32.el7.x86_64.rpm | 42 kB 00:00:00 (5/16): libpath_utils-0.2.1-32.el7.x86_64.rpm | 28 kB 00:00:00 (6/16): libtirpc-0.2.4-0.16.el7.x86_64.rpm | 89 kB 00:00:00 (7/16): libverto-libevent-0.2.5-4.el7.x86_64.rpm | 8.9 kB 00:00:00 (8/16): libini_config-1.3.1-32.el7.x86_64.rpm | 64 kB 00:00:00 (9/16): libnfsidmap-0.25-19.el7.x86_64.rpm | 50 kB 00:00:00 (10/16): nfs-utils-1.3.0-0.68.el7.2.x86_64.rpm | 413 kB 00:00:00 (11/16): quota-4.01-19.el7.x86_64.rpm | 179 kB 00:00:00 (12/16): tcp_wrappers-7.6-77.el7.x86_64.rpm | 78 kB 00:00:00 (13/16): libref_array-0.1.5-32.el7.x86_64.rpm | 27 kB 00:00:05 (14/16): rpcbind-0.2.0-49.el7.x86_64.rpm | 60 kB 00:00:05 (15/16): quota-nls-4.01-19.el7.noarch.rpm | 90 kB 00:00:05 (16/16): libevent-2.0.21-4.el7.x86_64.rpm | 214 kB 00:00:09 ------------------------------------------------------------------------------------------- 總計 156 kB/s | 1.5 MB 00:00:09 exiting because "Download Only" specified
一共16個rpm包
在當前下載目錄進行安裝
[root@melonrind nfspackages]# rpm -ivh *.rpm --force --nodeps 準備中... ################################# [100%] 正在升級/安裝... 1:libtirpc-0.2.4-0.16.el7 ################################# [ 6%] 2:rpcbind-0.2.0-49.el7 ################################# [ 13%] 3:libref_array-0.1.5-32.el7 ################################# [ 19%] 4:libevent-2.0.21-4.el7 ################################# [ 25%] 5:libcollection-0.7.0-32.el7 ################################# [ 31%] 6:libbasicobjects-0.1.1-32.el7 ################################# [ 38%] 7:libverto-libevent-0.2.5-4.el7 ################################# [ 44%] 8:tcp_wrappers-7.6-77.el7 ################################# [ 50%] 9:quota-nls-1:4.01-19.el7 ################################# [ 56%] 10:quota-1:4.01-19.el7 ################################# [ 63%] 11:libpath_utils-0.2.1-32.el7 ################################# [ 69%] 12:libini_config-1.3.1-32.el7 ################################# [ 75%] 13:gssproxy-0.7.0-30.el7_9 ################################# [ 81%] 14:libnfsidmap-0.25-19.el7 ################################# [ 88%] 15:keyutils-1.5.8-3.el7 ################################# [ 94%] 16:nfs-utils-1:1.3.0-0.68.el7.2 ################################# [100%] [root@melonrind nfspackages]# rpm -qa|grep rpcbind rpcbind-0.2.0-49.el7.x86_64 [root@melonrind nfspackages]# rpm -qa|grep nfs libnfsidmap-0.25-19.el7.x86_64 nfs-utils-1.3.0-0.68.el7.2.x86_64
三、配置NFS(服務端)
在配置時,分為服務端和客戶端。服務端即被共享的服務器,共享的文件真實存在在此服務器上;客戶端即共享服務器,共享目錄指向服務端目錄。
1、創(chuàng)建共享目錄(兩臺服務器)
[root@melonrind data]# mkdir share [root@melonrind data]# cd share/ [root@melonrind share]# ll 總用量 0 [root@melonrind share]# pwd /data/share [root@melonrind share]#
2、服務端配置共享目錄
[root@rocketmq-nameserver1 share]# vi /etc/exports
添加共享命令
/data/share/ 192.168.72.163(rw,sync,no_root_squash,no_all_squash)
參數(shù)說明:
/data/share/: 共享目錄 192.168.72.163: 客戶端IP ro:共享目錄只讀; rw:共享目錄可讀可寫; all_squash:所有訪問用戶都映射為匿名用戶或用戶組; no_all_squash(默認):訪問用戶先與本機用戶匹配,匹配失敗后再映射為匿名用戶或用戶組; root_squash(默認):將來訪的root用戶映射為匿名用戶或用戶組; no_root_squash:來訪的root用戶保持root帳號權限; anonuid=<UID>:指定匿名訪問用戶的本地用戶UID,默認為nfsnobody(65534); anongid=<GID>:指定匿名訪問用戶的本地用戶組GID,默認為nfsnobody(65534); secure(默認):限制客戶端只能從小于1024的tcp/ip端口連接服務器; insecure:允許客戶端從大于1024的tcp/ip端口連接服務器; sync:將數(shù)據同步寫入內存緩沖區(qū)與磁盤中,效率低,但可以保證數(shù)據的一致性; async:將數(shù)據先保存在內存緩沖區(qū)中,必要時才寫入磁盤; wdelay(默認):檢查是否有相關的寫操作,如果有則將這些寫操作一起執(zhí)行,這樣可以提高效率; no_wdelay:若有寫操作則立即執(zhí)行,應與sync配合使用; subtree_check(默認) :若輸出目錄是一個子目錄,則nfs服務器將檢查其父目錄的權限; no_subtree_check :即使輸出目錄是一個子目錄,nfs服務器也不檢查其父目錄的權限,這樣可以提高效率;
四、啟動服務端
[root@rocketmq-nameserver1 share]# systemctl status rpcbind ● rpcbind.service - RPC bind service Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; indirect; vendor preset: enabled) Active: inactive (dead) [root@rocketmq-nameserver1 share]# systemctl enable rpcbind [root@rocketmq-nameserver1 share]# systemctl start rpcbind [root@rocketmq-nameserver1 share]# systemctl status rpcbind ● rpcbind.service - RPC bind service Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; indirect; vendor preset: enabled) Active: active (running) since 五 2021-12-24 11:20:57 CST; 3s ago Process: 24325 ExecStart=/sbin/rpcbind -w $RPCBIND_ARGS (code=exited, status=0/SUCCESS) Main PID: 24326 (rpcbind) CGroup: /system.slice/rpcbind.service └─24326 /sbin/rpcbind -w 12月 24 11:20:57 rocketmq-nameserver1 systemd[1]: Starting RPC bind service... 12月 24 11:20:57 rocketmq-nameserver1 systemd[1]: Started RPC bind service. [root@rocketmq-nameserver1 share]# systemctl status nfs-server ● nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled) Active: inactive (dead) [root@rocketmq-nameserver1 share]# systemctl enable nfs-server Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service. [root@rocketmq-nameserver1 share]# systemctl start nfs-server [root@rocketmq-nameserver1 share]# systemctl status nfs-server ● nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled) Active: active (exited) since 五 2021-12-24 11:23:20 CST; 3s ago Process: 24724 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS) Process: 24720 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) Main PID: 24724 (code=exited, status=0/SUCCESS) CGroup: /system.slice/nfs-server.service 12月 24 11:23:20 rocketmq-nameserver1 systemd[1]: Starting NFS server and services... 12月 24 11:23:20 rocketmq-nameserver1 systemd[1]: Started NFS server and services. [root@rocketmq-nameserver1 share]#
啟動后查看共享是否成功
[root@rocketmq-nameserver1 share]# showmount -e localhost Export list for localhost: /data/share 192.168.72.163
顯示剛才配置的共享目錄和IP說明共享生效
五、客戶端配置
1、查看遠程共享服務器是否共享成功
[root@melonrind share]# showmount -e 192.168.72.81 Export list for 192.168.72.81: /data/share 192.168.72.163
這里查看時連接的是遠程服務端IP
2、啟動客戶端服務
[root@melonrind share]# systemctl status rpcbind ● rpcbind.service - RPC bind service Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled) Active: active (running) since 四 2021-09-30 09:14:18 CST; 2 months 24 days ago Process: 773 ExecStart=/sbin/rpcbind -w $RPCBIND_ARGS (code=exited, status=0/SUCCESS) Main PID: 774 (rpcbind) Tasks: 1 CGroup: /system.slice/rpcbind.service └─774 /sbin/rpcbind -w 9月 30 09:14:18 melonrind.ora systemd[1]: Starting RPC bind service... 9月 30 09:14:18 melonrind.ora systemd[1]: Started RPC bind service. [root@melonrind share]# systemctl status nfs-server ● nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled) Active: inactive (dead) [root@melonrind share]# systemctl enable nfs-server Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service. [root@melonrind share]# systemctl start nfs-server [root@melonrind share]# systemctl status nfs-server ● nfs-server.service - NFS server and services Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; enabled; vendor preset: disabled) Active: active (exited) since 五 2021-12-24 11:29:50 CST; 3s ago Process: 31978 ExecStartPost=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS) Process: 31961 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS) Process: 31959 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS) Main PID: 31961 (code=exited, status=0/SUCCESS) Tasks: 0 CGroup: /system.slice/nfs-server.service 12月 24 11:29:50 melonrind.ora systemd[1]: Starting NFS server and services... 12月 24 11:29:50 melonrind.ora systemd[1]: Started NFS server and services.
3、掛載共享目錄
mount -t nfs -o nolock 192.168.72.81:/data/share /data/share
說明:mount -t nfs -o nolock 服務端IP:共享目錄絕對路徑 本地掛載目錄
4、查看掛載結果
[root@melonrind share]# df -Th 文件系統(tǒng) 類型 容量 已用 可用 已用% 掛載點 devtmpfs devtmpfs 1.8G 0 1.8G 0% /dev tmpfs tmpfs 1.8G 672M 1.2G 37% /dev/shm tmpfs tmpfs 1.8G 91M 1.7G 5% /run tmpfs tmpfs 1.8G 0 1.8G 0% /sys/fs/cgroup /dev/mapper/centos-root xfs 100G 33G 68G 33% / /dev/sda2 xfs 1014M 226M 789M 23% /boot /dev/sda1 vfat 1022M 12M 1011M 2% /boot/efi /dev/mapper/centos-var xfs 10G 4.1G 6.0G 41% /var /dev/mapper/centos-home xfs 812G 98G 714G 12% /home tmpfs tmpfs 366M 8.0K 366M 1% /run/user/42 tmpfs tmpfs 366M 0 366M 0% /run/user/1002 tmpfs tmpfs 366M 0 366M 0% /run/user/0 tmpfs tmpfs 366M 0 366M 0% /run/user/1000 192.168.72.81:/data/share nfs4 400G 239G 162G 60% /data/share
可以看到遠程目錄已經掛載
5、將掛載功能加入開機自啟動
vi /etc/fstab #在文件末尾添加一句命令 192.168.72.81:/data/share /data/share nfs defaults 0 0
六、測試共享
1、在服務端共享目錄中創(chuàng)建一個文件test
[root@rocketmq-nameserver1 share]# ll 總用量 0 [root@rocketmq-nameserver1 share]# touch test [root@rocketmq-nameserver1 share]# vi test [root@rocketmq-nameserver1 share]# ll 總用量 4 -rw-r--r-- 1 root root 7 12月 24 11:35 test [root@rocketmq-nameserver1 share]# pwd /data/share
2、再去客戶端共享目錄中查看
[root@melonrind share]# cd /data/share/ [root@melonrind share]# ll 總用量 0 [root@melonrind share]# ll 總用量 4 -rw-r--r-- 1 root root 7 12月 24 11:35 test [root@melonrind share]# pwd /data/share
已經可以看到共享的文件了
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
linux下查看yum/rpm/dpkg某軟件是否已安裝的方法
這篇文章主要介紹了在linux下查看yum/rpm/dpkg某軟件是否已安裝的方法,文中給出了詳細的示例代碼,對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-03-03一條命令讓你明白shell中read命令的常用參數(shù)
今天小編就為大家分享一篇關于一條命令讓你明白shell中read命令的常用參數(shù),小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03Linux利用firewalld和iptables實現(xiàn)IP端口限制與開放
在服務器管理中,防火墻是保護系統(tǒng)安全的重要工具,通常,我們可能會關閉firewalld,但在某些情況下,我們需要利用firewalld或iptables來限制IP請求,本文將詳細介紹如何使用firewalld和iptables來實現(xiàn)IP端口限制與開放,需要的朋友可以參考下2025-02-02