NFS網路共用服務部署

来源:http://www.cnblogs.com/hackerer/archive/2016/02/26/5221556.html
-Advertisement-
Play Games

10.3 NFS服務端部署環境準備 10.3.1 NFS服務部署伺服器準備 伺服器系統 角色 IP Centos6.7 x86_64 NFS伺服器端(NFS-server) 192.168.1.14 Centos6.7 x86_64 NFS客戶端(Web-lamp01) 192.168.1.15 C


10.3 NFS服務端部署環境準備

10.3.1 NFS服務部署伺服器準備

伺服器系統 角色 IP
Centos6.7 x86_64 NFS伺服器端(NFS-server) 192.168.1.14
Centos6.7 x86_64 NFS客戶端(Web-lamp01) 192.168.1.15
Centos6.7 x86_64 NFS客戶端(Web-lnmp02) 192.168.1.16

 

 

 

 

10.3.2 NFS服務部署架構圖

 

10.3.3 NFS伺服器端操作系統及內核版本

1 [root@NFS-server ~]# cat /etc/redhat-release 
2 CentOS release 6.7 (Final)
3 [root@NFS-server ~]# username -r
4 [root@NFS-server ~]# uname -r
5 2.6.32-573.el6.x86_64
6 [root@NFS-server ~]# uname -m
7 x86_64

10.4 NFS服務安裝前準備

10.4.1 查詢nfs-utils和rpcbind包是否安裝

 

1 [root@NFS-server ~]# rpm -qa nfs-utils rpcbind   ##查詢結果為兩個安裝包都未安裝
2 [root@NFS-server ~]#

知識擴展:

安裝NFS軟體安裝的3種方法:

檢查:rpm -qa nfs-utils rpcbind ←最佳

1)方法1:yum -y install nfs-utils rpcbind

2)方法2:通過系統光碟里的rpm包安裝,命令如:rpm -ivh nfs-utils-1.2.3-36.e16.x86_64.rpm

3)方法3:LANG=en

yum grouplist|grep -i nfs

yum groupinstall "NFS file server" -y

 

10.4.2使用方法1安裝所需軟體包

 

10.4.3檢查安裝包是否安裝上

1 [root@NFS-server ~]# rpm -qa nfs-utils rpcbind
2 rpcbind-0.2.0-11.el6_7.x86_64
3 nfs-utils-1.2.3-64.el6.x86_64

10.4.4 接下來啟動相應的服務

 1 [root@NFS-server ~]# /etc/init.d/rpcbind status  <==檢查rpcbind服務狀態
 2 rpcbind is stopped
 3 [root@NFS-server ~]# rpcinfo -p localhost  <==rpcbind服務未啟動檢查 rpcinfo信息報錯
 4 rpcinfo: can't contact portmapper: RPC: Remote system error - Connection refused
 5 [root@NFS-server ~]# /etc/init.d/rpcbind start  <==啟動rpcbind服務
 6 Starting rpcbind:                                          [  OK  ]
 7 [root@NFS-server ~]# /etc/init.d/rpcbind status
 8 rpcbind (pid  2083) is running...
 9 ​[root@NFS-server ~]# /etc/init.d/nfs status  <==查看nfs服務狀態
10 rpc.svcgssd is stopped
11 rpc.mountd is stopped
12 nfsd is stopped
13 rpc.rquotad is stopped
14 [root@NFS-server ~]# /etc/init.d/nfs start  <==啟動nfs服務
15 Starting NFS services:                                     [  OK  ]
16 Starting NFS quotas:                                       [  OK  ]
17 Starting NFS mountd:                                       [  OK  ]
18 Starting NFS daemon:                                       [  OK  ]
19 Starting RPC idmapd:                                       [  OK  ]

10.4.5 設置開機自啟動

1 [root@NFS-server ~]# chkconfig --level 35  nfs on  <==設置nfs服務開機自啟動
2 [root@NFS-server ~]# chkconfig --list nfs
3 nfs             0:off   1:off   2:off   3:on    4:off   5:on    6:off
4 [root@NFS-server ~]# chkconfig --level 35 rpcbind on
5 [root@NFS-server ~]# chkconfig --list rpcbind     <==<==設置rpcbind服務開機自啟動
6 rpcbind         0:off   1:off   2:on    3:on    4:on    5:on    6:off

10.5 配置NFS服務端

10.5.1 NFS服務端配置文件路徑

NFS服務配置文件路徑為:/etc/exports,並且預設是為空。

1 [root@NFS-server ~]# ll /etc/exports
2 -rw-r--r--. 1 root root 0 Jan 12  2010 /etc/exports
3 [root@NFS-server ~]# cat /etc/exports
4 [root@NFS-server ~]# 

10.5.2 編輯NFS服務端配置文件

1 [root@NFS-server ~]# vim /etc/exports
2 /data 192.168.1.0/24(rw,sync,all_squash)  <==添加如下內容
1 [root@NFS-server ~]# vim /etc/exports
2 /data 192.168.1.0/24(rw,sync,all_squash)  <==添加如下內容
3 ​[root@NFS-server ~]# mkdir -p /data  <==創建共用目錄/data
4 [root@NFS-server ~]# ls -ld /data
5 drwxr-xr-x. 3 root root 4096 Nov 26 15:19 /data  <==當前共用目錄的屬主屬組分別為root
6 [root@NFS-server ~]# chown -R nfsnobody.nfsnobody /data  <==修改/data及子文件屬主屬組為nfsnobody
7 [root@NFS-server ~]# ls -ld /data                      
8 drwxr-xr-x. 3 nfsnobody nfsnobody 4096 Nov 26 15:19 /data

10.5.3 重新載入NFS服務(優雅重啟)

1 [root@NFS-server ~]# /etc/init.d/nfs reload ===exportfs -r
2 [root@NFS-server ~]# cat /var/lib/nfs/etab                
3 /data   192.168.1.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534,sec=sys,rw,root_squash,all_squash)
4 [root@NFS-server ~]# showmount -e 192.168.1.14 <==掛載前首先檢查有許可權需要掛載的信息
5 Export list for 192.168.1.14:
6 /data 192.168.1.0/24 <---可以看到共用/data目錄

10.5.4 檢查或測試掛載

1 [root@NFS-server test]# mount -t nfs 192.168.1.14:/data /mnt  ##將/data共用目錄掛載到/mnt目錄
2 [root@NFS-server test]# df -h
3 Filesystem          Size  Used Avail Use% Mounted on
4 /dev/sda3           7.1G  1.5G  5.3G  22% /
5 tmpfs               279M     0  279M   0% /dev/shm
6 /dev/sda1           190M   36M  145M  20% /boot
7 192.168.1.14:/data  7.1G  1.5G  5.3G  22% /mnt

註意:

大型企業工作場景統一按照運維規範將服務的啟動寫到/etc/rc.local文件里,而不用chkconfig管理。把/etc/rc.local文件作為本機的重要檔案,所有服務的開機自啟動都必須放入/etc/rc.local。這樣規範的好處是,一旦有運維人員離職,或者業務遷移時都通過/etc/rc.local很容易查看伺服器相關的服務,可以方便運維管理。並且把啟動命令放入到/etc/rc.local文件中一定要加上啟動服務的註釋。

 

 1 [root@NFS-server test]# vim /etc/rc.local 
 2 #!/bin/sh
 3 #
 4 # This script will be executed *after* all the other init scripts.
 5 # You can put your own initialization stuff in here if you don't
 6 # want to do the full Sys V style init stuff.
 7 
 8 touch /var/lock/subsys/local
 9 #start up nfs services by zhurui at 20160226
10 /etc/init.d/rpcbind start <==開機自啟rpcbind服務
11 /etc/init.d/nfs start  <==開機自啟nfs服務

Web-lamp01客戶端部署:

 1 1.安裝軟體
 2 [root@Web-lamp01 ~]# yum -y install nfs-utils rpcbind   
 3 Loaded plugins: fastestmirror, security
 4 Setting up Install Process
 5 Loading mirror speeds from cached hostfile
 6  * base: mirrors.sina.cn
 7  * extras: mirrors.opencas.cn
 8  * updates: centos.ustc.edu.cn
 9 base                                             | 3.7 kB     00:00     
10 extras                                           | 3.4 kB     00:00     
11 extras/primary_db                                |  34 kB     00:00     
12 updates                                          | 3.4 kB     00:00 
13 2.啟動rpcbind
14 [root@Web-lamp01 ~]# /etc/init.d/rpcbind start
15 Starting rpcbind:                                          [  OK  ]
16 [root@Web-lamp01 ~]# 
17 3.配置開機自啟動
18 [root@Web-lamp01 ~]# chkconfig --level 35 rpcbind on
19 [root@Web-lamp01 ~]# chkconfig --list rpcbind
20 rpcbind         0:off   1:off   2:on    3:on    4:on    5:on    6:off
21 [root@Web-lamp01 ~]# 
22 4.測試服務端共用
23 [root@Web-lamp01 ~]# showmount -e 192.168.1.14
24 Export list for 192.168.1.14:
25 /data 192.168.1.0/24
26 5.掛載
27 [root@Web-lamp01 ~]# mount -t nfs 192.168.1.14:/data /mnt
28 [root@Web-lamp01 ~]# df -h
29 Filesystem          Size  Used Avail Use% Mounted on
30 /dev/sda3           7.1G  1.5G  5.3G  22% /
31 tmpfs               279M     0  279M   0% /dev/shm
32 /dev/sda1           190M   36M  145M  20% /boot
33 192.168.1.14:/data  7.1G  1.5G  5.3G  22% /mnt
34 6.測試讀,寫
35 伺服器端:
36 [root@NFS-server test]# cd /data/
37 [root@NFS-server data]# ll
38 total 8
39 -rw-r--r--. 1 nfsnobody nfsnobody    0 Nov 28 12:20 fs.sf
40 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 26 15:19 test
41 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 28 12:20 zhurui
42 [root@NFS-server data]# mkdir zhurui1
43 [root@NFS-server data]# ll
44 total 12
45 -rw-r--r--. 1 nfsnobody nfsnobody    0 Nov 28 12:20 fs.sf
46 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 26 15:19 test
47 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 28 12:20 zhurui
48 drwxr-xr-x. 2 root      root      4096 Nov 28 12:21 zhurui1
49 客戶端:
50 [root@Web-lamp01 ~]# cd /mnt/
51 [root@Web-lamp01 mnt]# ll
52 total 4
53 drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test
54 [root@Web-lamp01 mnt]# touch fs.sf
55 [root@Web-lamp01 mnt]# ll
56 total 4
57 -rw-r--r--. 1 nobody nobody    0 Nov 28 12:20 fs.sf
58 drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test
59 [root@Web-lamp01 mnt]# mkdir zhurui
60 [root@Web-lamp01 mnt]# ls -ld zhurui/
61 drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:20 zhurui/
62 [root@Web-lamp01 mnt]# ll
63 total 12
64 -rw-r--r--. 1 nobody nobody    0 Nov 28 12:20 fs.sf
65 drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test
66 drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:20 zhurui
67 drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:21 zhurui1
68 7.開機自啟動
69 ​[root@Web-lamp01 mnt]# vim /etc/rc.local 
70#start  up rpcbind services by zhurui 20160226
71 
72 /etc/init.d/rpcbind start
73 
74 /bin/mount -t nfs 192.168.1.14:/data /mnt

Web-lnmp02客戶端部署跟Web-lamp01部署步驟相同,這裡就不多加說明

14  1 1.安裝軟體
15  2 [root@Web-lnmp02 ~]# yum -y install nfs-utils rpcbind   
16  3 Loaded plugins: fastestmirror, security
17  4 Setting up Install Process
18  5 Loading mirror speeds from cached hostfile
19  6  * base: mirrors.sina.cn
20  7  * extras: mirrors.opencas.cn
21  8  * updates: centos.ustc.edu.cn
22  9 base                                             | 3.7 kB     00:00     
23 10 extras                                           | 3.4 kB     00:00     
24 11 extras/primary_db                                |  34 kB     00:00     
25 12 updates                                          | 3.4 kB     00:00 
26 13 2.啟動rpcbind
27 14 [root@Web-lnmp02 ~]# /etc/init.d/rpcbind start
28 15 Starting rpcbind:                                          [  OK  ]
29 16 [root@Web-lnmp02 ~]# 
30 17 3.配置開機自啟動
31 18 [root@Web-lnmp02 ~]# chkconfig --level 35 rpcbind on
32 19 [root@Web-lnmp02 ~]# chkconfig --list rpcbind
33 20 rpcbind         0:off   1:off   2:on    3:on    4:on    5:on    6:off
34 21 [root@Web-lnmp02 ~]# 
35 22 4.測試服務端共用
36 23 [root@Web-lnmp02 ~]# showmount -e 192.168.1.14
37 24 Export list for 192.168.1.14:
38 25 /data 192.168.1.0/24
39 26 5.掛載
40 27 [root@Web-lnmp02 ~]# mount -t nfs 192.168.1.14:/data /mnt
41 28 [root@Web-lnmp02 ~]# df -h
42 29 Filesystem          Size  Used Avail Use% Mounted on
43 30 /dev/sda3           7.1G  1.5G  5.3G  22% /
44 31 tmpfs               279M     0  279M   0% /dev/shm
45 32 /dev/sda1           190M   36M  145M  20% /boot
46 33 192.168.1.14:/data  7.1G  1.5G  5.3G  22% /mnt
47 34 6.測試讀,寫
48 35 伺服器端:
49 36 [root@NFS-server test]# cd /data/
50 37 [root@NFS-server data]# ll
51 38 total 8
52 39 -rw-r--r--. 1 nfsnobody nfsnobody    0 Nov 28 12:20 fs.sf
53 40 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 26 15:19 test
54 41 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 28 12:20 zhurui
55 42 [root@NFS-server data]# mkdir zhurui1
56 43 [root@NFS-server data]# ll
57 44 total 12
58 45 -rw-r--r--. 1 nfsnobody nfsnobody    0 Nov 28 12:20 fs.sf
59 46 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 26 15:19 test
60 47 drwxr-xr-x. 2 nfsnobody nfsnobody 4096 Nov 28 12:20 zhurui
61 48 drwxr-xr-x. 2 root      root      4096 Nov 28 12:21 zhurui1
62 49 客戶端:
63 50 [root@Web-lnmp02 ~]# cd /mnt/
64 51 [root@Web-lnmp02 mnt]# ll
65 52 total 4
66 53 drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test
67 54 [root@Web-lnmp02 mnt]# touch fs.sf
68 55 [root@Web-lnmp02 mnt]# ll
69 56 total 4
70 57 -rw-r--r--. 1 nobody nobody    0 Nov 28 12:20 fs.sf
71 58 drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test
72 59 [root@Web-lnmp02 mnt]# mkdir zhurui
73 60 [root@Web-lnmp02 mnt]# ls -ld zhurui/
74 61 drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:20 zhurui/
75 62 [root@Web-lnmp02 mnt]# ll
76 63 total 12
77 64 -rw-r--r--. 1 nobody nobody    0 Nov 28 12:20 fs.sf
78 65 drwxr-xr-x. 2 nobody nobody 4096 Nov 26 15:19 test
79 66 drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:20 zhurui
80 67 drwxr-xr-x. 2 nobody nobody 4096 Nov 28 12:21 zhurui1
81 68 7.開機自啟動
82 69 ​[root@Web-lnmp02 mnt]# vim /etc/rc.local 
83 70 ​#start  up rpcbind services by zhurui 20160226
84 71 
85 72 /etc/init.d/rpcbind start
86 73 
87 74 /bin/mount -t nfs 192.168.1.14:/data /mnt

10.6 mount掛載性能優化參數選項

(1)禁止更新目錄及文件時間戳掛載

1 mount -t nfs -o noatime,nodiratime 192.168.1.14:/data

(2)安全加優化的掛載方式

1 mount -t nfs -o nosuid,noexec,nodev,noatime,nodiratime,intr,rsize=131072,wsize=131072 192.168.1.14:/data /mnt

(3)預設的掛載方式

1 mount -t nfs 192.168.1.14:/data /mnt

10.7 NFS內核優化

對應的具體內核優化命令:

1 cat >>/etc/sysctl.conf<<EOF
2 net.core.wmem_default = 8388608
3 net.core.rmem_default = 8388608
4 net.core.rmem_max = 16777216
5 net.core.wmem_max = 16777216
6 EOF
執行sysctl -p生效

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • SQL Server代理是所有實時資料庫的核心。代理有很多不明顯的用法,因此系統的知識,對於開發人員還是DBA都是有用的。這系列文章會通俗介紹它的很多用法。 在這一系列的上一篇,我們查看了維護計劃,一個維護計劃可能會創建多個作業,多個計劃。你還簡單地看了SSIS子系統,並查看了維護計劃作業步驟的 屬
  • 最近項目中要遞歸樹形,案例如下: 測試數據: CREATE TABLE tb(ID char(3),PID char(3),Name nvarchar(10)) INSERT tb SELECT'001',NULL ,'山東省' UNION ALL SELECT'002','001','煙臺市' U
  • 為數據表去掉一個外鍵關聯,然後再添加一個外鍵關聯.批量數據導入.在全部用戶表和存儲過程中尋找包含某段文字的用戶表和存儲過程.數據表的列重命名.
  • 之前一直是到處寫printf來列印調試信息,不需要是還得一個一個註釋掉.之後上網查詢發現有很多方法來進行DEBUG列印,參數可變而且方便一次性開關. #define DEBUG(fmt,...) printf (fmt,lxx_va_args) 這裡的“…”指的是可變參數. int main() {...
  • 近幾天在Ubuntu系統中使用Netbeans做為開發環境並使用Git作為代碼管理的時候,提示代碼都被標記為已修改狀態,但是進行仔細比較的時候,卻發現並沒有修改。。 看了以下文章後,根據自身的實際情況對比了下,發現原來我在代碼克隆下來的時候,有意的對整個項目目錄執行過 chmod 777 ,所以才產...
  • 因為最近開始學習Nginx,在網上看到別人介紹了一款強大的內核探測工具Systemtap,於是便準備學習下這款探測工具為以後代碼分析做準備。 第一步便是安裝。在自己電腦上安裝的時候,也是費了一番勁兒。因此,為防止以後需要重新安裝,也希望可以幫助後來學習的人,在這裡準備寫一篇博客做一個記錄。 以下便是
  • 1 步驟 1) vi test.txt 進入一般模式 2) i 進入編輯模式,輸入內容 3) Esc 回到一般模式 4) :wq 存儲後退出 2 編輯模式 i 游標處插入, 已有文字則向後退 I 游標行的第一個非空字元處插入 a 游標的下一個字元處開始插入 A 游標行的最後一個字元處開始插入 o 光
  • 話不多說,直接開工 準備工作: 本人測試環境:Win10 虛擬機:VM Linux:CentOS5.5 (已搭建好LNMP環境) 軟體包:redis-2.6.14.tar.gz (Linux下redis安裝包) 下載地址:http://pan.baidu.com/s/1oX8dN 下麵開始安裝: 第
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...