NFS網(wǎng)絡(luò)文件系統(tǒng)

NFS Network File System

用途:作為服務(wù)端向其他服務(wù)器提供共享目錄.
客戶(hù)端可以通過(guò)網(wǎng)絡(luò),將共享目錄掛載到本地文件系統(tǒng)上.
掛載方法 mount -t nfs 192.168.1.110:/data/share /mnt
掛載后查看本地基本掛載信息 df -h
這種網(wǎng)絡(luò)文件系統(tǒng)常用于中小企業(yè)(3000WPV),而大型企業(yè)可能會(huì)用到Moosefs(mfs),glusterfs,FastDFS.
而這些文件系統(tǒng)的主要功能為:存儲(chǔ)靜態(tài)資源文件,如圖片,附件,頭像
NFS服務(wù)有很多子服務(wù),有固定端口的2049 nfs,也有很多非固定端口的服務(wù),這些注冊(cè)信息被rpcbind服務(wù)管理.所以,在運(yùn)行NFS服務(wù)之前,應(yīng)先開(kāi)啟rpcbind服務(wù)供其注冊(cè),rpcbind主服務(wù)端口為111!

為什么企業(yè)集群架構(gòu)需要共享存儲(chǔ)?

常見(jiàn)組合

在Web服務(wù)器集群中,如果沒(méi)有共享存儲(chǔ),某一臺(tái)Web服務(wù)器上并沒(méi)有存儲(chǔ)其他Web服務(wù)器上的靜態(tài)資源時(shí),
會(huì)出現(xiàn)資源訪問(wèn)不到的情況,例如,用戶(hù)上傳到Web1一張圖片,而下次請(qǐng)求Web2訪問(wèn)圖片時(shí),Web2上并沒(méi)
有剛剛上傳的資源,所以訪問(wèn)不到資源.
解決方案:
1.Web服務(wù)器之間時(shí)時(shí)同步(浪費(fèi)帶寬,空間,資源)
2.共享存儲(chǔ)(最優(yōu)選擇)

NFS/rpcbind原理圖

NFS/rpcbind原理圖

安裝

規(guī)劃:
角色 名稱(chēng) IP
服務(wù)端 NFS_Server * . * . * .1
客戶(hù)端 LAMP_Server * . * . * .2
客戶(hù)端 LNMP_Server * . * . * .3
批量查看環(huán)境:

cat /etc/redhat-release //系統(tǒng)版本
uname -r //內(nèi)核版本
uname -m //操作系統(tǒng)位數(shù)

軟件列表:

nfs-utils:NFS主程序
rpcbind:RPC主程序

安裝方法:

yum install -y nfs-utils rpcbind
主客戶(hù)端均要安裝,按理來(lái)說(shuō)客戶(hù)端無(wú)需裝nfs-utils,但是客戶(hù)端會(huì)用到showmount命令.

啟動(dòng):

/etc/init.d/rpcbind start//啟動(dòng)rpcbind
/etc/init.d/rpcbind status//查看rpcbind狀態(tài)
lsof -i :111//查看端口
netstat -lntup|grep rpcbind//查看端口
rpcinfo -p localhost//查看rpc注冊(cè)端口信息
/etc/init.d/nfs start//啟動(dòng)nfs并向rpc注冊(cè)
/etc/init.d/rpcbind status//查看rpcbind狀態(tài)
netstat -lnupt | grep 2049//查看nfs端口信息
/etc/init.d/rpcbind start/etc/init.d/nfs start寫(xiě)入/etc/rc.loacl做一個(gè)自啟動(dòng)

NFS服務(wù)進(jìn)程說(shuō)明

ps -ef | egrep "rpc|nfs"

rpc       6668     1  0 19:58 ?        00:00:00 rpcbind
root      6742     2  0 20:00 ?        00:00:00 [rpciod/0]
root      6751     1  0 20:00 ?        00:00:00 rpc.rquotad //磁盤(pán)配額進(jìn)程
root      6756     1  0 20:00 ?        00:00:00 rpc.mountd  //權(quán)限管理驗(yàn)證
root      6763     2  0 20:00 ?        00:00:00 [nfsd4]
root      6764     2  0 20:00 ?        00:00:00 [nfsd4_callbacks]
root      6765     2  0 20:00 ?        00:00:00 [nfsd]
root      6766     2  0 20:00 ?        00:00:00 [nfsd]
root      6767     2  0 20:00 ?        00:00:00 [nfsd]
root      6768     2  0 20:00 ?        00:00:00 [nfsd]
root      6769     2  0 20:00 ?        00:00:00 [nfsd]  //nfs主進(jìn)程,id身份判定
root      6770     2  0 20:00 ?        00:00:00 [nfsd]
root      6771     2  0 20:00 ?        00:00:00 [nfsd]
root      6772     2  0 20:00 ?        00:00:00 [nfsd]
root      6803     1  0 20:00 ?        00:00:00 rpc.idmapd
NFS配置文件

/etc/exports
格式:
共享目錄 + 主機(jī)名/地址/通配符 + (參數(shù))

# sample /etc/exports file
   /               master(rw) trusty(rw,no_root_squash)
   /projects       proj*.local.domain(rw)
   /usr            *.local.domain(ro) @trusted(rw)
   /home/joe       pc001(rw,all_squash,anonuid=150,anongid=100)
   /pub            *(ro,insecure,all_squash)
   /srv/www        -sync,rw server @trusted @external(ro)
   /foo            2001:db8:9:e54::/64(rw) 192.0.2.0/24(rw)
   /build          buildhost[0-9].local.domain(rw)
共享參數(shù)
rw                              可讀寫(xiě)
ro                              只讀
sync                            同步寫(xiě)入磁盤(pán)(性能不好,但不丟數(shù)據(jù))
async                           異步寫(xiě)入(性能好,斷電會(huì)丟數(shù)據(jù))
no_root_squash                  客戶(hù)端為root,不會(huì)壓縮root為nfsnobody,權(quán)限太大,慎用
root_squash                     客戶(hù)端為root時(shí)會(huì)壓縮root為nfsnobody
all_squash                      客戶(hù)端為任何用戶(hù)都會(huì)壓縮為nfsnodoy用戶(hù)
anonuid=UID                     壓縮為UID的用戶(hù)
anongid=GID                     壓縮為GID的用戶(hù)

exportfs -rv
/etc/init.d/nfs reload //兩個(gè)平緩加載重啟NFS的命令

showmount -e IPADDRESS //查看某主機(jī)的共享目錄
mount -t nfs localhost:/data //掛載共享目錄

mount
cat /proc/mounts //查看掛載信息

cat /var/lib/nfs/etab //顯示nfs共享參數(shù)
df -h //查看掛載資源

默認(rèn)情況下,客戶(hù)端訪問(wèn)NFS文件系統(tǒng)時(shí),用戶(hù)被壓縮成默認(rèn)uid65534 nfsnobody的用戶(hù).
所以,需要將共享目錄的屬主數(shù)組改為nfsnobody.

常見(jiàn)故障排查

1.確認(rèn)服務(wù)是否啟動(dòng)
2.本地showmount一下,有可能防火墻擋住了
3.ping鏈路
4.服務(wù)啟動(dòng)順序 rpcbind-->nfs
5.共享目錄是否創(chuàng)建
6.如果文件無(wú)法創(chuàng)建,查看下nfs共享權(quán)限以及服務(wù)端本地權(quán)限.
7.注意.服務(wù)端掛掉,客戶(hù)端掛載會(huì)hang住.

客戶(hù)端掛載參數(shù)
fg/bg(默認(rèn)fg)                 掛載時(shí)選擇前臺(tái)/后臺(tái)(掛載請(qǐng)求會(huì)一直持續(xù),后臺(tái)不會(huì)影響前臺(tái)操作)
soft/hard(默認(rèn)hard)           soft掛載不上不再?lài)L試掛載,hard會(huì)持續(xù)嘗試掛載
intr                            hard方式在配合intr時(shí),超時(shí)可以將掛載程序中斷
rsize/wsize                     讀寫(xiě)塊大小,用于提升性能!
proto=tcp/udp                   協(xié)議,可靠/不可靠  
async                           異步操作寫(xiě)入磁盤(pán)
sync                            同步寫(xiě)入磁盤(pán)
ro                              只讀方式掛載
rw                              讀寫(xiě)方式掛載
auto                            能否通過(guò)mount -a 自動(dòng)掛載
default(rw,suid,dev,exec,auto,nouser,async)    默認(rèn)掛載參數(shù)
exec/noexec                     文件系統(tǒng)中的二進(jìn)制程序能否執(zhí)行(安全優(yōu)化)
noatime                         不更新inode,高并發(fā)最好選用這個(gè)參數(shù)
nodiratime                      不更新dirinode,高并發(fā)使用
suid/nosuid                     支持/不支持suid
remount                         用于修復(fù)文件系統(tǒng)因fstab修改錯(cuò)誤無(wú)法啟動(dòng)故障,具體案例見(jiàn)下文
                                救援模式下,mount -o rw,remount / ,然后修改fstab
建議:默認(rèn)或以下掛載方式
mount -t nfs -o bg,hard,intr,rsize=131072,wsize=131072 IP_ADDR:/data
一個(gè)掛載案例
1. 重啟系統(tǒng)看是否可以自動(dòng)修復(fù)丧蘸。

2. 使用fsck -y /dev/sda1 進(jìn)行自動(dòng)修復(fù)。(用”-y”選項(xiàng)來(lái)執(zhí)行該命令對(duì)硬盤(pán)進(jìn)行檢查和修復(fù))
   添加參數(shù):fsck -y -C -t ext3 /dev/sda1 (一般情況下修復(fù)完成后,所有文件移動(dòng)到 lost+found目錄,文件名會(huì)被改變)  
     (-C 顯示進(jìn)度條 -t 指定文件系統(tǒng)類(lèi)型 -y 默認(rèn)自動(dòng)yes修復(fù))

3. 如果fsck修復(fù)完成后科贬,啟動(dòng)系統(tǒng)依然自讀呐矾。
    查看分區(qū)結(jié)構(gòu):
    [root@localhost ~]# more /etc/fstab

    [root@localhost ~]# more /proc/mounts

    [root@localhost ~]# mount
    /dev/sda2 on / type ext3 (rw)
    proc on /proc type proc (rw)
    sysfs on /sys type sysfs (rw)
    查看ro掛載的分區(qū),如果發(fā)現(xiàn)有ro,就重新mount
    umount /dev/sda1
    mount /dev/sda1 /boot
    如果發(fā)現(xiàn)有提示“device is busy”踱蛀,找到是什么進(jìn)程使得他busy
    fuser -m /boot 將會(huì)顯示使用這個(gè)模塊的pid
    fuser -mk /boot 將會(huì)直接kill那個(gè)pid
    然后重新mount即可奠支。

4. 直接remount
  [root@localhost ~]# mount -o rw,remount /dev/sda1 
NFS優(yōu)化

安全掛載:mount -t nfs -o nosuid,noexec,nodev,rw IP_ADDR:/data /mnt
性能掛載:mount -t nfs -o noatime,nodiratime IP_ADDR:/data /mnt
安全+性能:mount -t nfs -o nosuid,nodev,noexec,rw,noatime,nodiratime IP_ADDR:/data /mnt

針對(duì)NFS對(duì)內(nèi)核進(jìn)行優(yōu)化

//調(diào)大套接字接受/發(fā)送緩沖區(qū)大小,來(lái)自官方

cat >>/etc/sysctl.conf<<EOF
net.core.wmem_default=8388608
net.core.rmem_default=8388608
net.core.rmem_max=16777216
net.core.wmem_max=16777216
NFS硬件選擇

SAS/SSD磁盤(pán)多塊,做raid0/10,網(wǎng)卡至少千兆,多塊bond.

強(qiáng)制卸載卸載不掉的文件系統(tǒng)

umount -lf

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末馋辈,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子胚宦,更是在濱河造成了極大的恐慌首有,老刑警劉巖燕垃,帶你破解...
    沈念sama閱讀 221,888評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件枢劝,死亡現(xiàn)場(chǎng)離奇詭異井联,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)您旁,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén)烙常,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人鹤盒,你說(shuō)我怎么就攤上這事蚕脏。” “怎么了侦锯?”我有些...
    開(kāi)封第一講書(shū)人閱讀 168,386評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵驼鞭,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我尺碰,道長(zhǎng)挣棕,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 59,726評(píng)論 1 297
  • 正文 為了忘掉前任亲桥,我火速辦了婚禮洛心,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘题篷。我一直安慰自己词身,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,729評(píng)論 6 397
  • 文/花漫 我一把揭開(kāi)白布番枚。 她就那樣靜靜地躺著法严,像睡著了一般。 火紅的嫁衣襯著肌膚如雪葫笼。 梳的紋絲不亂的頭發(fā)上深啤,一...
    開(kāi)封第一講書(shū)人閱讀 52,337評(píng)論 1 310
  • 那天,我揣著相機(jī)與錄音渔欢,去河邊找鬼墓塌。 笑死,一個(gè)胖子當(dāng)著我的面吹牛奥额,可吹牛的內(nèi)容都是我干的苫幢。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼垫挨,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼韩肝!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起九榔,我...
    開(kāi)封第一講書(shū)人閱讀 39,807評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤哀峻,失蹤者是張志新(化名)和其女友劉穎涡相,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體剩蟀,經(jīng)...
    沈念sama閱讀 46,349評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡催蝗,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,439評(píng)論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了育特。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片丙号。...
    茶點(diǎn)故事閱讀 40,567評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖缰冤,靈堂內(nèi)的尸體忽然破棺而出犬缨,到底是詐尸還是另有隱情,我是刑警寧澤棉浸,帶...
    沈念sama閱讀 36,242評(píng)論 5 350
  • 正文 年R本政府宣布怀薛,位于F島的核電站,受9級(jí)特大地震影響迷郑,放射性物質(zhì)發(fā)生泄漏枝恋。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,933評(píng)論 3 334
  • 文/蒙蒙 一三热、第九天 我趴在偏房一處隱蔽的房頂上張望鼓择。 院中可真熱鬧,春花似錦就漾、人聲如沸呐能。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,420評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)摆出。三九已至,卻和暖如春首妖,著一層夾襖步出監(jiān)牢的瞬間偎漫,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,531評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工有缆, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留象踊,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,995評(píng)論 3 377
  • 正文 我出身青樓棚壁,卻偏偏與公主長(zhǎng)得像杯矩,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子袖外,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,585評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 1史隆、第八章 Samba服務(wù)器2、第八章 NFS服務(wù)器3曼验、第十章 Linux下DNS服務(wù)器配站點(diǎn)泌射,域名解析概念命令:...
    哈熝少主閱讀 3,742評(píng)論 0 10
  • 網(wǎng)絡(luò)文件系統(tǒng)(英語(yǔ):Network File System粘姜,縮寫(xiě)為NFS)是一種分布式文件系統(tǒng)協(xié)議,最初由Sun ...
    uangianlap閱讀 735評(píng)論 0 0
  • 《鳥(niǎo)哥Linux私房菜》《老男孩Linux運(yùn)維》 NFS介紹 NFS維基百科:網(wǎng)絡(luò)文件系統(tǒng)(英語(yǔ):Network ...
    Zhang21閱讀 4,255評(píng)論 0 13
  • NFS的配置過(guò)程很簡(jiǎn)單熔酷。在服務(wù)器端中編輯/etc/exports文件孤紧,添加如下內(nèi)容: /home/nfs-s...
    bycall閱讀 5,204評(píng)論 0 1
  • 做了多年的學(xué)生坛芽,又教了這么多年的學(xué)生留储,我發(fā)現(xiàn)了一個(gè)有趣的現(xiàn)象:每次考試后翼抠,如果某生自我感覺(jué)考題很容易,做得又快又順...
    姑射山秋水閱讀 907評(píng)論 0 1