檔案共享之nfs
在伺服器共享中常用的服務有:
ftp伺服器端:linux windows 客戶端:linux windows 範圍:內網 外網
nfs伺服器端:linux客戶端:linux範圍:內網 外網
samba伺服器端:linux windows 客戶端:linux windows範圍:內網
檔案系統:
檔案系統是對一個儲存裝置上的資料和元素進行組織的一種機制
nfs作用:共享儲存,保證資料一致性
優點:簡單,容易上手,資料是在檔案系統之上的
2方便,部署快速,維護簡單
3可靠,從軟體層面上,資料可靠性高,經久耐用
侷限;
1存在單點故障,要用負載均衡高可用方案彌補
2在高併發的場合,nfs效率性有效,一般幾千萬pv的網站都不是瓶頸
3客戶端認證事基於ip和主機名的,安全性一般
4nfs資料是明文的,對資料完整性不作驗證
5多臺機器掛載nfs伺服器時候,連結管理維護麻煩,尤其nfs服務端出問題後,所有客戶端都掛載狀態
etc/exports檔案配置格式
nfs共享目錄 nfs客戶端地址1(引數1,引數2….)客戶端地址2(引數1..引數2)
nfs一定要用絕對路徑,注意許可權,nfs地址可以是單獨ip,網段,域名,也可以用*匹配
同步:傳送端等待接收端收到訊息後才會鍛掉
非同步:傳送端不會等接收端來接收,生產中必須用到的,入口網站中必須用到
配dfs生產重要技巧
1確保所有伺服器對nfs共享目錄具備相同的許可權
a all——squash把所有客戶端都壓縮成匿名使用者
b所有的客戶端和服務端都需要有一個相同的uid和gid ,即nfsnobody
實現多臺客戶端同時候掛一臺server端,server使用者和組都是同一個名稱lushneg,操作步驟
1建立一個nfs共享使用者,所有機器都存在並且uid gid相同
2cat >>/etc/exports <<eof
/tmp/data 172.16.10.0/24(rw,sync,all_squash,anonuid=555,anongid=555)
3showmount -e 172.16.10.10
df -h
mount -t nfs 172.16.10.10:/tmp/data /mnt/data
掛載開機自啟動:
echo “/bin/mount -t nfs 172.16.10.10:/tmp/data mnt/data” >>/etc/rc.local
缺點:偶爾開機掛載不上,工作中除了開機自啟動配置,對掛載點監控
nfs網路檔案系統不要放到fstab裡
1fstab優先於網路啟動,此時還連不上nfs伺服器
2即使是本地檔案系統,也要注意,那麼客戶端開機後可能會導致無法啟動的風險,fstab最後
兩列,要設定0 0,否則會有導致無法啟動伺服器的問題
nfs rpc服務的啟動命令和掛載命令都放入/etc/rc.local.然後用監控軟體監控開機後的狀態
經驗:為什麼要把所有開機當做伺服器的檔案,所有伺服器啟動配置都放在檔案裡,做好註釋,
或者寫好啟動指令碼都用chkconfig管理
現實生活中太多這多沒交接好,根本就不知道這臺電腦是做什麼用的,連重啟都不敢,更別說更改了
fstab修改錯誤導致系統無法啟動故障修復案例
維護模式
mount -o rw,remount
然後修改/etc/fstab
實際掛載優化
mount -t nfs -o noatime,nodiratime,nosuid,noexec 172.16.10.10:/tmp/data /mnt/data
非效能引數越多,速度會越慢
需要退出掛載目錄在進行解除安裝,或者是nfs server當機了,需要強制解除安裝 mount -lf/mnt/dev
故障解決步驟
1)服務端一定要開啟兩個服務 rpc ,nfs
2)客戶端一定要開啟rpc服務
nfs 至少啟動兩個程式,一個rpc服務,一個nfs服務
1)先開啟rpc服務(中介)
2)再啟動nfs服務,啟動後會向rpc服務註冊啟動的埠(房源)
3)客戶向rpc請求nfs服務
4)rpc返回埠給租客
5)拿著地址埠請求傳輸資料
Nfs實操演示
服務端環境準備
nfsserver 172.16.10.10
nfsclient 172.16.10.20
服務端和客戶端都要安裝
nfs服務需要安裝下面的軟體包
nfs-utils portmap rpcbind
寫文件一定要有這幾步基本資訊
[root@localhost ~]# cat /etc/redhat-release
CentOS release 6.5 (Final) 作業系統版本資訊
[root@localhost ~]# uname -r
[root@localhost ~]# uname -r 核心版本資訊
2.6.32-431.el6.x86_64
[root@localhost ~]# uname -m
x86_64
[root@localhost ~]# rpm -qa nfs-utils rpcbind
rpcbind-0.2.0-11.el6.x86_64
nfs-utils-1.2.3-39.el6.x86_64
如果沒有,yum -y install nfs-utils rpcbind
服務端操作:
[root@localhost ~]# /etc/init.d/rpcbind start
[root@localhost ~]# ps -ef |grep rpc
rpc 977 1 0 Mar26 ? 00:00:00 rpcbind
rpcuser 995 1 0 Mar26 ? 00:00:00 rpc.statd
root 2167 2115 0 02:52 pts/0 00:00:00 grep rpc
[root@localhost ~]# rpcinfo -p localhost //檢視rpc有無房源
[root@localhost ~]# /etc/init.d/nfs start //相當於向中介提供房源
啟動 NFS 服務: [確定]
關掉 NFS 配額: [確定]
啟動 NFS mountd: [確定]
啟動 NFS 守護程式: [確定]
正在啟動 RPC idmapd:
#設nfs rpc為開機自啟動,設定好之後記得檢查開機自啟動狀態
[root@localhost ~]# chkconfig nfs on
[root@localhost ~]# chkconfig rpcbind on
[root@localhost ~]# chkconfig –list nfs
nfs 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
[root@localhost ~]# chkconfig –list rpcbind
rpcbind 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5
客戶端操作,只需要啟動rpc服務即可
[root@localhost ~]# /etc/init.d/rpcbind start
[root@localhost ~]# chkconfig rpcbind on
[root@localhost ~]# chkconfig –list nfs
nfs 0:關閉 1:關閉 2:啟用 3:啟用 4:啟用 5:啟用 6:關閉
sync表示把資料從快取寫到磁碟裡面 async資料寫入到快取
服務端操作配置服務
[root@server ~]# ll /etc/exports
-rw-r–r–. 1 root root 0 1月 12 2010 /etc/exports
[root@server ~]# cat /etc/exports
[root@server ~]# mkdir /data //建立共享目錄
[root@server ~]# vim /etc/exports //編輯配置檔案,往裡面寫配置
#shared data for bbs luliechu at 20170327 //這一行註釋
/data 172.16.10.0/24(rw,sync)
data表示要共享的目錄 172.16.10.0表示可以訪問的網段 rw讀寫 sync表示把資料從快取寫到磁碟裡面
[root@server ~]# cat /etc/exports //檢查
#shared data for bbs luliechu at 20170327
/data 172.16.10.0/24(rw,sync)
[root@server ~]# /etc/init.d/nfs reload //配置完配置檔案後平滑重啟(提高使用者體驗)nfs服務
[root@server ~]# showmount -e localhost //在本機上檢查是否共享出來
Export list for localhost:
/data 172.16.10.0/24 //表示共享成功
在客戶端上檢查
[root@server ~]# showmount -e 172.16.10.10 //在本機上檢查是否共享出來
Export list for localhost:
/data 172.16.10.0/24 //表示共享成功
然後掛載
df -h 檢查有哪些磁碟掛載了
mount -t nfs 172.16.10.10:/data /mnt //掛載 ,當然於Windows的磁碟對映
df -h 檢查有哪些磁碟掛載了
注意本地目錄許可權也要可寫可讀才能真正可讀可寫
服務端上操作:
[root@localhost ~]# cat /var/lib/nfs/etab //檢視這個檔案可以看到nfs使用者id號
/data 172.16.10.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534)
[root@localhost ~]# grep 65534 /etc/passwd //檢視對應id號的使用者名稱
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
[root@localhost ~]# ls -ld /data //檢視共享目錄許可權
drwxr-xr-x. 2 root root 4096 3月 28 06:13 /data
[root@localhost ~]# chown nfsnobody -R /data //屬於屬於nfsnobpdy,讓遠端使用者可寫
[root@localhost ~]# ls -ld /data
drwxr-xr-x. 2 nfsnobody root 4096 3月 28 06:13 /data
測試效果:
[root@server ~]# ls /data
test1 test3 北大青鳥第2章學習資料
test2 北大青鳥第1章學習資料 北大青鳥第3章學習資料
[root@server ~]#
[root@client ~]# ls /mnt
test1 test3 北大青鳥第2章學習資料
test2 北大青鳥第1章學習資料 北大青鳥第3章學習資料
–end–
本文轉自 探花無情 51CTO部落格,原文連結:http://blog.51cto.com/983865387/1917718
相關文章
- NFS網路檔案共享NFS
- Linux檔案共享(FTP+NFS)LinuxFTPNFS
- CentOS 6 NFS 共享檔案與掛載CentOSNFS
- Linux系統配置NFS檔案共享服務LinuxNFS
- NfS網路共享檔案系統環境搭建NFS
- 在linux下搭建NFS伺服器實現檔案共享LinuxNFS伺服器
- NFS磁碟共享NFS
- Debian 搭建 NFS 共享NFS
- NFS網路檔案系統NFS
- 配置 NFS 共享目錄NFS
- Linux 提權-NFS 共享LinuxNFS
- CIFS檔案共享
- NFS共享儲存服務NFS
- macOS 下NFS 檔案系統掛載MacNFS
- NFS網路檔案系統詳解NFS
- Oracle RAC NFS掛載檔案系統OracleNFS
- 檔案共享服務
- Mac檔案共享工具Mac
- 使用Samba共享檔案Samba
- Windows檔案共享LinuxWindowsLinux
- 如何使用 autofs 掛載 NFS 共享NFS
- 在Linux中,如何配置NFS共享?LinuxNFS
- 如何實現檔案共享,檔案共享的設定方法-鐳速
- Windows 與 Linux (CentOS7) 之間的檔案共享WindowsLinuxCentOS
- 檔案共享之SMB/CIFS協議及Samba的使用協議Samba
- iGuard和NFS檔案同步的解決方案NFS
- win10兩臺電腦怎麼共享檔案 兩臺win10電腦之間如何共享檔案Win10
- FileProvider共享檔案、快取IDE快取
- FTP檔案共享服務FTP
- 用 Git 來共享檔案Git
- truenas(freenas) nfs和iscsi共享設定NFS
- 檔案共享服務之實時備份(inotify+rsync)
- 網路檔案共享服務
- Vagrant 開啟 smb 檔案共享
- 如何共享印表機和檔案
- 共享檔案和文件方法指南
- 部署YUM倉庫及NFS共享服務NFS
- win10怎麼檢視共享檔案_win10如何訪問共享檔案Win10
- linux-掛載NFS網路檔案系統教程LinuxNFS