study 11 檔案系統選型及nfs網路檔案

2021-07-24 21:46:18 字數 4039 閱讀 7803

一,檔案系統介紹:

1,檔案系統是對乙個儲存裝置上的資料和元資料進行組織的一種機制

2,分割槽必須格式建立檔案系統才能存放資料,不同的分割槽只能有一種檔案系統

3,linux下常見檔案系統 ext2 , ext3 , ext4 , zfs , xfs 和 reiserfs;windows常見的檔案系統ntfs, fat32

linux主要關注 ext2 , ext3 , ext4

二,檔案系統選型介紹:

1,sas/sata硬碟檔案系統選擇

1)大量小檔案業務首選 reiserfs

2) 資料庫業務(例如:mysql),門戶選 xfs

4)藍汛的cache業務(cdn**加速)也在用ext2 (ext2沒有日誌功能)

常規應用:

centos 5.x 系統用 ext3

centos 6.x 系統用 ext4

小結:1)centos預設的檔案系統都是比較優秀的。

2)xfs、reiserfs 這兩個檔案都需要單獨安裝。預設不支援的,維護可能不方便。

3)大併發並不是過多的做磁碟的優化,而是在前面增加快取

2,ssd檔案系統選擇

ext4/reiserfs 都可以作為ssd檔案系統

三,中小公司用nfs(network file system),大公司除了用nfs外,可能還會用mfs、gfs、fastfs(51cto)、tfs等分布式檔案系統;

nfs用在企業集群架構中做網路資料共享的,儲存靜態資源(使用者上傳的、檔案等),lvs - > 多台web伺服器 - >nfs檔案伺服器

四,nfs掛載原理

mount    遠端ip位址    本地目錄;

ntf服務會啟動多個隨機不同的埠,給客戶端帶來困擾,客戶端不知道啟動了哪些埠,所以產生了rpc(遠端過程呼叫)服務來解決這個問題,rpc服務主要的作用是記錄每個nfs服務使用的埠;

nfs原理流程:

1,伺服器端啟動rpc服務(c5: portmap ;c6: rpcbind)

2,伺服器端啟動nfs服務(nfs向rpc註冊埠)

3,客戶端啟動rpc服務,並向伺服器端rpc請求埠

4,伺服器端rpc向客戶端rpc返回埠

5,客戶端拿到埠向nfs伺服器端請求資料

(vmware轉殖後,新vm網絡卡和舊的一樣的解決辦法:/etc/udev/rules.d/70-persistent-net.rules 

刪除後重啟機器就可以了,因為這個檔案繫結了網絡卡和

mac位址,所以換了網絡卡以後

mac位址變了,所以不能正常啟動)

五,nfs安裝(1臺伺服器端 + 1臺客戶端)

1,nfs軟體:要部署nfs服務,需要安裝下面的軟體包

1)nfs-utils :這個nfs服務主程式

包括rpc.nfsd 、rpc.mountd 兩個daemons 和相關文件說明及執行命令檔案等。

2)portmap:c5下面的rpc的主程式(c6下名字為 rpcbind)

在提供nfs服務之前必須先啟動rpcbind

2, 伺服器端和客戶端 查詢是否安裝:rpm -qa nfs-utils rpcbind ,沒有則安裝(工作中只用一種):

1) yum groupinstall "nfs file server"  -y

2)或 yum install rpcbind nfs-utils -y

3,伺服器端配置

1)啟動rpc服務:/etc/init.d/rpcbind start

2)用乙個命令可以檢視本機nfs服務可用的埠:rpcinfo -p localhost   :(rpc服務對外使用111埠,所以本機沒有可用的nfs埠)

3)伺服器端啟動nfs服務:/etc/init.d/nfs start

4)再檢視服務端rpc服務,會發現很多埠:rpcinfo -p localhost 

5)伺服器端設為開啟啟動:

chkconfig nfs on

chkconfig rpcbind on

6)客戶端啟動rpc服務

/etc/init.d/rpcbind start

chkconfig rpcbind on

7)伺服器端nfs的配置檔案:/etc/exports

/data 192.168.1.0/24(rw,sync)

(sync:把資料從buffer寫入到磁碟中;rw:讀寫;ro:唯讀)

8)伺服器端重啟nfs: /etc/init.d/nfs reload   (平滑重啟nfs服務,不要用restart,restart會馬上重啟,而reload是不影響其他操作情況下進行重啟,更平滑安全)

本機檢查是否共享出來:showmount -e localhost

10)客戶端掛載:mount -t nfs [ 伺服器端ip ]:/data /mnt   (重啟失效,需要把掛載操作放到/etc/rc.local  或 /etc/fstab;例如:echo "mount -t nfs [ 伺服器端ip ]:/data /mnt"  >> /etc/rc.local)

11) 當客戶端往伺服器端寫資料時,伺服器端接收到資料後,是以nfsnobody(安裝nfs時自動建立的乙個使用者)使用者的身份寫資料的,所以需要將伺服器端共享目錄及子目錄的屬主改為nfsnobody

chown -r nfsnobody.nfsnobody [ 共享目錄 ]

六,1臺伺服器端 , 2臺(多台)客戶端

1)  建立乙個nfs共享使用者,所有機器都存在並且uid,gid相同;

useradd -u 555 oldboy 

2)伺服器端/etc/exports配置;

/data 192.168.1.0/24(rw,sync,all_squash,anonuid=555,anongid=555)     #引數可以參考  /var/lib/nfs/etab 

3)客戶端進行掛載

七,企業生產環境nfs客戶端掛載建議

1,把nfs rpc服務的啟動命令和掛載命令都放入到/etc/rc.local,然後再通過nagios監控軟體監控開機後的掛載情況。

2,如果決定考慮把掛載命令放入到/etc/fstab裡,那麼關鍵是第5,6列的數字要為0,即不備份,不做磁碟檢查(經驗:/或/boot 這兩個才做磁碟檢查)

經驗:為什麼要把開機啟動的服務放到/etc/rc.local呢,規範,統一開機啟動的位置。相當於把/etc/rc.local當作伺服器的檔案。所有伺服器的啟動配置都放到檔案裡,做好注釋。這是乙個規範的態度;或者寫好啟動指令碼都用chkconfig管理。

八,生產場景nfs共享儲存優化:

1,硬體方面:磁碟優化,選擇sas/ssd磁碟,買多塊,raid10安全效能高;網絡卡好

2,伺服器端:all_squash,async(效率高、不可靠),sync(效率一般,可靠)

3,客戶端:rsize,wsize,noatime,nodiratime,nosuid,noexec,soft(hard,intr)

例如:mount -t nfs -o nosuid,noexec,noatime,nodiratime,rsize=131072,wsize=131072    [ 伺服器ip位址 ]:/[ 共享目錄 ]      /[ 掛載目錄 ]

4,核心的優化:

net.core.wmen_default = 8388608

net.core.rmen_default = 8388608

net.core.rmen_max = 16777216

net.core.wmen_max = 16777216

需要退出掛載目錄再進行解除安裝,或者是nfs server宕機了,需要強制解除安裝 mount    -lf    /mnt 

工作中共享儲存一般在企業內網,一般無需開防火牆iptables

九,學習方法,學習習慣:

在使用中記憶,每天睡覺前,想下今天講過的和總結過的,過電影;

每天早晨醒來後,想下幾天要做的事情,計畫;

學會做小結,得出實踐後的結論;

通過例子,案例來記憶對應的理論;

學習知識盡量用man,看官方幫助,找到知識的源頭;

畫邏輯圖來表達知識容易記憶,讓知識變得更簡單,容易記憶;

用資料說話,用實際測試得出結論;

檔案管理 1 1 檔案與檔案系統

1.1.1 檔案及其分類 一 對比 以前認識和現在認識 1 old 檔案是最小單元,不能再細分。new 域是最小單元。域 記錄 檔案 2 old 域 記錄 檔案,該格式以為是資料庫檔案的獨創。new 該格式是檔案的先創,資料庫檔案在此基礎上的推演。再次體現大道理 任何新生事物都以以前事物為基礎,在其...

6 檔案系統

root edaserver1 ls bin boot dev etc home lib lib64 lost found media misc mnt net opt proc root sbin selinux srv sys tftpboot tmp usr var bin所有賬號命令,二進位...

4 14 檔案系統

為了說明檔案鏈結的概念,先要介紹unix檔案系統的基本結構。同時,了解i節點和指向i節點的目錄項之間的區別也是很有益的。目前,正在使用的unix檔案系統有多種實現。例如,solaris支援多種不同型別的磁碟檔案系統 傳統的基於bsd的unix檔案系統 稱為ufs 讀 寫dos格式軟盤的檔案系統 稱為...