『壹』 iscsi、cifs、nfs在存儲上的區別。
iscsi、cifs、nfs區別為:對象不同、環境不同、方式不同。
一、對象不同
1、iscsi:iscsi是針對數據塊存儲的。
2、cifs:cifs是針對共享文件存儲的。
3、nfs:nfs是針對共享文件存儲的。
二、環境不同
1、iscsi:iscsi主要應用在Windows環境下,適用於TCP/IP通訊協議。
2、cifs:cifs主要應用在NT/Windows環境下。
3、nfs:nfs主要應用在UNIX環境下,廣泛應用在FreeBSD、SCO、Solaris等等異構操作系統平台。
三、方式不同
1、iscsi:iscsi並不能用於在磁碟中存儲和管理數據,是通過TCP/IP網路傳輸文件時的文件組織格式和數據傳輸方式。
2、cifs:cifs讓協議運行於TCP/IP通信協議之上,讓Unix計算機可以在網路鄰居上被Windows計算機看到,並進一步傳遞存儲數據。
3、nfs:nfs能夠支持在不同類型的系統之間通過網路進行文件共享存儲。
『貳』 什麼是NFS文件系統
NFS是Network
File
System的縮寫,即網路文件系統。
它的主要功能是通過網路(一般是區域網)讓不同的主機系統之間可以共享文件或目錄。NFS客戶端(一般為應用伺服器,例如web)可以通過掛載(mount)的方式將NFS服務端共享的數據目錄掛載到NFS客戶端本地系統中(就是某一個掛載點下)。從NFS客戶端的機器本地看,NFS服務端共享的目錄就好像是客戶自己的磁碟分區或者目錄一樣,而實際上確是遠端的NFS服務端的目錄。
NFS網路文件系統類似windows系統的網路共享、安全功能、網路驅動器映射,這也和linux系統里的samba服務類似。應用於互聯網中小型集群架構後端作為數據共享,如果是大型網站,那麼有可能還會用到更復雜的分布式文件系統,例如Moosefs(mfs)、glusterfs、FastDFS。
『叄』 什麼是分布式數據存儲
什麼是分布式存儲
分布式存儲是一種數據存儲技術,它通過網路使用企業中每台機器上的磁碟空間,這些分散的存儲資源構成了虛擬存儲設備,數據分布存儲在企業的各個角落。
分布式存儲系統,可在多個獨立設備上分發數據。傳統的網路存儲系統使用集中存儲伺服器來存儲所有數據。存儲伺服器成為系統性能的瓶頸,也是可靠性和安全性的焦點,無法滿足大規模存儲應用的需求。分布式網路存儲系統採用可擴展的系統結構,使用多個存儲伺服器共享存儲負載,利用位置伺服器定位存儲信息,不僅提高了系統的可靠性,可用性和訪問效率,而且易於擴展。
『肆』 linux,NFS服務,是什麼啊
NFS(Network File System)即網路文件系統,是FreeBSD支持的文件系統中的一種,它允許網路中的計算機之間共享資源。在NFS的應用中,本地NFS的客戶端應用可以透明地讀寫位於遠端NFS伺服器上的文件,就像訪問本地文件一樣。
NFS最顯而易見的優點:
1、節省本地存儲空間,將常用的數據存放在一台NFS伺服器上且可以通過網路訪問,那麼本地終端將可以減少自身存儲空間的使用。
2、用戶不需要在網路中的每個機器上都建有Home目錄,Home目錄可以放在NFS伺服器上且可以在網路上被訪問使用。
3、一些存儲設備如軟碟機、CDROM和Zip(一種高儲存密度的磁碟驅動器與磁碟)等都可以在網路上被別的機器使用。這可以減少整個網路上可移動介質設備的數量。
(4)分布式數據存儲nfs共享擴展閱讀:
NFS 有很多實際應用。下面是比較常見的四點:
1、多個機器共享一台CDROM或者其他設備。這對於在多台機器中安裝軟體來說更加便宜跟方便。
2、在大型網路中,配置一台中心 NFS 伺服器用來放置所有用戶的home目錄可能會帶來便利。這些目錄能被輸出到網路以便用戶不管在哪台工作站上登錄,總能得到相同的home目錄。
3、不同客戶端可在NFS上觀看影視文件,節省本地空間。
4、在客戶端完成的工作數據,可以備份保存到NFS伺服器上用戶自己的路徑下。
NFS是運行在應用層的協議。隨著NFS多年的發展和改進,NFS既可以用於區域網也可以用於廣域網,且與操作系統和硬體無關,可以在不同的計算機或系統上運行。
參考資料來源:
網路-NFS
網路-linux
『伍』 分布式文件存儲系統通過什麼方式提高可用性和安全性
分布式存儲的六大優點
1. 高性能
一個具有高性能的分布式存戶通常能夠高效地管理讀緩存和寫緩存,並且支持自動的分級存儲。分布式存儲通過將熱點區域內數據映射到高速存儲中,來提高系統響應速度;一旦這些區域不再是熱點,那麼存儲系統會將它們移出高速存儲。而寫緩存技術則可使配合高速存儲來明顯改變整體存儲的性能,按照一定的策略,先將數據寫入高速存儲,再在適當的時間進行同步落盤。
2. 支持分級存儲
由於通過網路進行松耦合鏈接,分布式存儲允許高速存儲和低速存儲分開部署,或者任意比例混布。在不可預測的業務環境或者敏捷應用情況下,分層存儲的優勢可以發揮到最佳。解決了目前緩存分層存儲最大的問題是當性能池讀不命中後,從冷池提取數據的粒度太大,導致延遲高,從而給造成整體的性能的抖動的問題。
3. 多副本的一致性
與傳統的存儲架構使用RAID模式來保證數據的可靠性不同,分布式存儲採用了多副本備份機制。在存儲數據之前,分布式存儲對數據進行了分片,分片後的數據按照一定的規則保存在集群節點上。為了保證多個數據副本之間的一致性,分布式存儲通常採用的是一個副本寫入,多個副本讀取的強一致性技術,使用鏡像、條帶、分布式校驗等方式滿足租戶對於可靠性不同的需求。在讀取數據失敗的時候,系統可以通過從其他副本讀取數據,重新寫入該副本進行恢復,從而保證副本的總數固定;當數據長時間處於不一致狀態時,系統會自動數據重建恢復,同時租戶可設定數據恢復的帶寬規則,最小化對業務的影響。
4. 容災與備份
在分布式存儲的容災中,一個重要的手段就是多時間點快照技術,使得用戶生產系統能夠實現一定時間間隔下的各版本數據的保存。特別值得一提的是,多時間點快照技術支持同時提取多個時間點樣本同時恢復,這對於很多邏輯錯誤的災難定位十分有用,如果用戶有多台伺服器或虛擬機可以用作系統恢復,通過比照和分析,可以快速找到哪個時間點才是需要回復的時間點,降低了故障定位的難度,縮短了定位時間。這個功能還非常有利於進行故障重現,從而進行分析和研究,避免災難在未來再次發生。多副本技術,數據條帶化放置,多時間點快照和周期增量復制等技術為分布式存儲的高可靠性提供了保障。
5. 彈性擴展
得益於合理的分布式架構,分布式存儲可預估並且彈性擴展計算、存儲容量和性能。分布式存儲的水平擴展有以下幾個特性:
1) 節點擴展後,舊數據會自動遷移到新節點,實現負載均衡,避免單點過熱的情況出現;
2) 水平擴展只需要將新節點和原有集群連接到同一網路,整個過程不會對業務造成影響;
3) 當節點被添加到集群,集群系統的整體容量和性能也隨之線性擴展,此後新節點的資源就會被管理平台接管,被用於分配或者回收。
6. 存儲系統標准化
隨著分布式存儲的發展,存儲行業的標准化進程也不斷推進,分布式存儲優先採用行業標准介面(SMI-S或OpenStack Cinder)進行存儲接入。在平台層面,通過將異構存儲資源進行抽象化,將傳統的存儲設備級的操作封裝成面向存儲資源的操作,從而簡化異構存儲基礎架構的操作,以實現存儲資源的集中管理,並能夠自動執行創建、變更、回收等整個存儲生命周期流程。基於異構存儲整合的功能,用戶可以實現跨不同品牌、介質地實現容災,如用中低端陣列為高端陣列容災,用不同磁碟陣列為快閃記憶體陣列容災等等,從側面降低了存儲采購和管理成本。
『陸』 分布式文件系統的NFS介紹
(NFS)(Network File System)是個分布式的客戶機/伺服器文件系統。NFS的實質在於用戶間計算機的共享。用戶可以聯結到共享計算機並像訪問本地硬碟一樣訪問共享計算機上的文件。管理員可以建立遠程系統上文件的訪問,以至於用戶感覺不到他們是在訪問遠程文件。
NFS是個到處可用和廣泛實現的開放式系統。 允許用戶象訪問本地文件一樣訪問其他系統上的文件。提供對無盤工作站的支持以降低網路開銷。
簡化應用程序對遠程文件的訪問使得不需要因訪問這些文件而調用特殊的過程。
使用一次一個服務請求以使系統能從已崩潰的伺服器或工作站上恢復。
採用安全措施保護文件免遭偷竊與破壞。
使NFS協議可移植和簡單,以便它們能在許多不同計算機上實現,包括低檔的PC機。
大型計算機、小型計算機和文件伺服器運行NFS時,都為多個用戶提供了一個文件存儲區。工作站只需要運行TCP/IP協議來訪問這些系統和位於NFS存儲區內的文件。工作站上的NFS通常由TCP/IP軟體支持。對DOS用戶,一個遠程NFS文件存儲區看起來是另一個磁碟驅動器盤符。對Macintosh用戶,遠程NFS文件存儲區就是一個圖標。 伺服器目錄共享 伺服器廣播或通知正在共享的目錄,一個共享目錄通常叫做出版或出口目錄。有關共享目錄和誰可訪問它們的信息放在一個文件中,由操作系統啟動時讀取。
客戶機訪問 在共享目錄上建立一種鏈接和訪問文件的過程叫做裝聯(mounting),用戶將網路用作一條通信鏈路來訪問遠程文件系統。
NFS的一個重要組成是虛擬文件系統(VFS),它是應用程序與低層文件系統間的介面。 close文件關閉操作
create 文件生成操作
fsync將改變保存到文件中
getattr 取文件屬性
link 用另一個名字訪問一個文件
lookup 讀目錄項
mkdir建立新目錄
open 文件打開操作
rdwr 文件讀寫操作
remove 刪除一個文件
rename 文件改名
rmdir刪除一目錄
setattr 設置文件屬性 Andrew File System(AFS)Andrew文件系統(AFS)
AFS是專門為在大型分布式環境中提供可靠的文件服務而設計的。它通過基於單元的結構生成一種可管理的分布式環境。一個單元是某個獨立區域中文件伺服器和客戶機系統的集合,這個獨立區域由特定的機構管理。通常代表一個組織的計算資源。用戶可以和同一單元中其他用戶方便地共享信息,他們也可以和其他單元內的用戶共享信息,這取決於那些單元中的機構所授予的訪問許可權。
文件伺服器進程 這個進程響應客戶工作站對文件服務的請求,維護目錄結構,監控文件和目錄狀態信息,檢查用戶的訪問。
基本監察(BOS)伺服器進程 這個進程運行於有BOS設定的伺服器。它監控和管理運行其他服務的進程並可自動重啟伺服器進程,而不需人工幫助。
卷宗伺服器進程 此進程處理與卷宗有關的文件系統操作,如卷宗生成、移動、復制、備份和恢復。
卷宗定位伺服器進程 該進程提供了對文件卷宗的位置透明性。即使卷宗被移動了,用戶也能訪問它而不需要知道卷宗移動了。
鑒別伺服器進程 此進程通過授權和相互鑒別提供網路安全性。用一個「鑒別伺服器」維護一個存有口令和加密密鑰的鑒別資料庫,此系統是基於Kerberos的。
保護伺服器進程 此進程基於一個保護資料庫中的訪問信息,使用戶和組獲得對文件服務的訪問權。
更新伺服器進程 此進程將AFS的更新和任何配置文件傳播到所有AFS伺服器。
AFS還配有一套用於差錯處理,系統備份和AFS分布式文件系統管理的實用工具程序。例如,SCOUT定期探查和收集AFS文件伺服器的信息。信息在給定格式的屏幕上提供給管理員。設置多種閾值向管理者報告一些將發生的問題,如磁碟空間將用完等。另一個工具是USS,可創建基於帶有欄位常量模板的用戶帳戶。Ubik提供資料庫復制和同步服務。一個復制的資料庫是一個其信息放於多個位置的系統以便於本地用戶更方便地訪問這些數據信息。同步機制保證所有資料庫的信息是一致的。
『柒』 nfs是什麼
NFS 是由SUN公司發展, 並於1984年推出, NFS是一個RPC service ,它使我們能夠達到檔案的共享, 它的設計是為了在不同的系統間使用, 所以它的通訊協定設計與主機及作業系統無關.當使用者想用遠端檔案時只要用"mount"就可把remote檔案系統掛接在自己的檔案系統之下,使得遠端的檔案使用上和local機器的檔案沒兩樣.
machine A machine B
/ /
bin etc usr bin etc usr
man man share local
假如我們在機器A上, 要把機器B上的 /usr/man 掛接到machine A 的/usr/man只要下
mount machine_name:/usr/man /usr/home
就可mount過來.而我們不只是可以mount目錄,就是一個檔也是可以的.在掛接之後我們只能對檔案做reading (or writing) 的動作,而不能在remote machie上把此檔或目錄move,delete掉 , 但須注意的是如我們 mount /usr 後 , 不能再mount /usr底下的目錄, 否則會發生錯誤
□ Servers & Clients
NFS就是促使Servers上的檔案能被其他的機器mount,而達到資源共享,享用這些檔案的機器就可稱為Client,一個client可以從server上mount一個檔或是一個層次的目錄(file hierarchies) . 然而事實上任何一台機器都可以做NFS server or NFS client ,甚至同時為NFS server and NFS client 也可以.
□ Server''s Exporting & Client''s Mounting
NFS server 所export 出來的檔案或目錄都記錄在 /etc/exports 這一個檔中,當我們啟動NFS server 時 在 /etc/rc.local 的這一個script會自動的啟動 exportfs 這一個程式 , 搜尋 /etc/exports 這一個檔是否存在, 並且賦予正確的許可權給所有export出去的 file hierarchies .
但須注意的是,只有server所export出去的路徑,NFS client才能夠mount , 同樣的當啟動client時 , 系統會自動去mount所有server export的路徑,而mount到的所有路徑都會記錄在 /etc/fstab 下 , 類似如下的fstab檔
/dev/sd0a / 4.2 rw 1 1
/dev/sd0h /tmp 4.2 rw 1 3
/dev/sd0g /usr 4.2 rw 1 2
/dev/fd0 /pcfs pcfs rw,noauto 0 0
sparc20:/swap /swap nfs rw,intr,bg,soft 0 0
sparc17:/home /home nfs rw,intr,bg,soft 0 0
sparc17:/home3 /home3 nfs rw,intr,bg,soft 0 0
sparc14:/home4 /home4 nfs rw,intr,bg,soft 0 0
sparc20:/home2 /home2 nfs rw,intr,bg,soft 0 0
sparc20:/var/spool/mail /var/spool/mail nfs rw,intr,bg,soft 0 0
rs970:/home1 /home1 nfs rw,intr,bg,soft 0 0
★ Noted :
當client mount 到一個路徑,絕對不是說 server上的這一個路徑到local的機器上,我們可以用 cd 進入這一個mount到的路徑,就如同是使用local directory一樣
□ Setting Up a NFS Server
1. 定義機器為 NFS file server
2. 劃分server''s disk ,定義哪一些partitions 是要提供出來作為
client 所共享的file system
3. 在 Client Form 上定義每一台client 的參數
4. 寫出 /etc/exports (一般系統都有一個default exports)
5. 重新boot NFS server or 用指令 exportfs -a 輸出所有的
directories 並且用 nfsd 8 & 啟動 nfsd守護程式,常駐在背景
※ ps. 一些細節
1. 檢查 /etc/exports 輸出路徑的許可權,確定只有root能修改,
all user只能read
2. 用exportfs 去增加或刪除directories
exportfs -o access=engineering,ro=dancer /usr
exportfs -u /usr
3. 假如你的機器沒有NIS(YP server)的服務,當更改資料時記得修改
/etc/passwd
/etc/group
/etc/hosts
/etc/ethers
4. 為你自己的network 設置security
exportfs的語法
/usr/etc/exportfs [ -avu ] [ -o option ] [ directory ]
-a : 把 /etc/exports 中所有路徑export出去
-u : 把 export出去的路徑卸下 , 如 exportfs -u /usr
-o option : 如 exportfs -o ro /usr ,所有人對/usr 都為read only
option 還有 root = hostname , access = client
access = netgroup
For example :
exportfs -a 把exports中的路徑全部export出去
exportfs -o access=engineering:other /usr
/usr 這路徑export後只有engineering and other 這兩個
group 能夠 read & write
exportfs -o access=oak,ro=dancer /usr
設定dancer 這台client 對 /usr 為read only ,且只有
oak這一個 group 能做read
/etc/exports 檔的□例
● syntax : directory -option[,option]
(設定兩個group能rw)
/usr -access=engineering:accounting
/home -access=engineering:accounting
/var/spool/mail -access=engineering:accounting
/export/exec/sun3 -access=engineering:accounting
/export/exec/sun3.sunos.4.1 -access=engineering:accounting
/export/exec/kvm/sun3.sunos.4.1 -access=engineering:accounting
/export/root/birch -access=birch,root=birch
/export/swap/birch -access=birch,root=birch
/export/root/oak -access=oak,root=oak
/export/swap/oak -access=oak,root=oak
/export/root/willow -access=willow,root=willow
/export/swap/willow -access=willow,root=willow
/export/root/pine -accsee=pine,root=pine
/export/swap/pine -accsee=pine,root=pine
(access=client , root=hostname 如此只有這一台client的superuser有權力rw)
□ Setting Up a NFS Client
1. 宣告機器為沒有磁碟機或沒有資料的Client,在使用SunInstall之前
2. 編輯好 /etc/fstab 這一個檔,確定要mount的路徑都在fstab中
3. 依照fstab所設的內容,在Client上設定好Mount points
(mount_points 就是用mkdir 設exports所輸出的路徑)
4. 確定我們所要mount的路徑,都有出現在 /etc/exports 中
5. 可以啟動mount去連結server上的directories ( mount -a )
/etc/fstab 檔的□例
● syntax filesystem directory type options freq pass
oak:/export/root/boomer / nfs rw 0 0
^^^
因為檔案在server上,not on client
所以client的設定為0
oak:/export/exec/sun3 /usr nfs ro 0 0
oak:/export/exec/kvm/sun3 /usr/kvm nfs ro 0 0
oak:/usr/share /usr/share nfs ro 0 0
oak:/home/oak /home/oak nfs rw,bg 0 0
§ mount 的語法
● syntax : mount -t type [-rv] -o [option] server:pathname /mount_point
MOUNT :
mount -a 把/etc/fstab 中所列的路徑全部掛上
mount -o ro,soft,bg dancer:/usr/local /usr/local/dancer
把dancer server 的/usr/local mount 到 client的
/usr/local/dancer 並且是read only
-t type : 你所要mount的型別, 如 nfs or 4.2
-r : 所mount的路徑定為read only
-v : mount過程的每一個動作,都有messages 傳回到螢幕上
hard : 重復要求,直到server回應為止,但如server一直不回應
the server may be down !
soft : 當client的請求得不到回應,retry one time 後 傳回
error message
bg : 當第一次請求不成功,第二次的mount將放到背景執行
fg : retries mount 都一直在提示符號下進行
intr : 當正在進行 NFS 請求時,允許用鍵盤中斷
mount 成功時的message
NFS server hostname ok
<hard> mount fail
NFS server hostname not responding, still trying
<soft> . . .hostname server not reponding: RPC: Timed out
§ UNMOUNT :
umount mount_point
umount -a 卸下所有已經mount上的路徑
==========================================================================
◎ How NFS Work ?
當我們啟動 NFS file server 時,/etc/rc.local 會自動啟動exportfs這一個程式,指定可以export的檔案或目錄,而我們所能mount的也只能是其所指定的目錄.
□ NFS 架設在 XDR/RPC的協定之上
XDR : (eXternal Data Representation) 外部資料表示法
XDR(eXternal Data Representation) 提供一種方法把資料從一種格式轉換成另一種標准資料格式表示法,確保在不同的電腦,作業系統及電腦語言中,所有資料代表的意義都是相同的
RPC : (Remote Procere Calls) 遠端程序呼叫
RPC(Remote Procere Calls) 遠端程序呼叫, 請求遠端電腦給予服務. 委託器(client)就會透過網路傳送RPC到遠端電腦,請求服務.
(一般 local machine : client remote machine : server )
□ NFS 如何運用 RPC 傳送資料
客戶端process 主服務端process
┌————┐ ┌—————┐
│ 客戶端 │ │ 主服務站 │
│routines│ │ routines │
└—┬——┘ └┬————┘
本地程序呼叫 │ 《 │ 《
(1) │ │ (10) (6) │ │ (5)
》 │ 》 │
┌———┴┐ ┌————┴┐
│ 客戶端 │ │ 主服務端 │
│ stub │ │ stub │
└—┬——┘ └┬————┘
系統呼叫 │ 《 │ 《
(2) │ │ (9) (7) │ │ (4)
》 │ 》 │
┌———┴┐ (8) ┌————┴┐
│network │ <——————┤ network │
│routines├——————> │ routines │
└————┘ (3) └—————┘
本地系統核心 網路通訊 遠端系統核心
(1) client 送出訊息,請求服務
(2) client stub (客戶株) 把client 送出的參數轉換成XDR---標准資料
格式並用系統呼叫(system call) 把訊息送到網路上
(3) 訊息經過網路送達遠端主機系統
(4) 遠端主機將接受到的訊息傳給server stub (服務站株)
(5) 把XDR形式的資料,轉換成符合主機端的格式,取出client發出的服務
請求參數,送給server
(6) -- (10) 則是逆向而行 , server 送出服務給 client
□ rc.local 啟動守護程式
一個NFS server 要 inet , portmap , nfs , mount 此四個守護程式,保持在背景執行的狀態下才能運作. (if running NIS must add ypbind daemon)
◆ 當啟動 NFS file server 時,
the /etc/rc.local script 會做如下的動作
1. 執行exportfs , 讀取server''s /etc/exports 告訴kernel
所要輸出的file hierarchies 和 存取的許可權
( exportfs -a )
2. 啟動 rpc.mountd daemon 和 nfsd daemon (通常是 8 個)
( rpc.mountd -n nfsd 8 & echo -n ''nfsd'' )
◆ 當啟動 NFS client 時
rc.local 會做如下的動作
1. 啟動 boid daemons 處理讀寫的程序
(biod 8 echo -n '' biod'' )
2. 執行 mount -vat nfs 讀取client''s /etc/fstab 並且 mount 所
有屬於 NFS-type 的files
□ NFS daemons (守護程式) 的功用
nfsd, biod, rpc.mountd, inetd, portmap 都可在/usr/etc 下找到
nfsd : 依client 對檔案系統的需求情況, 而啟動
" file system request daemon "
應付client 的需求,而一般file system request daemon 的數目
是 " 8 ", 這也就是我們在rc.local 中寫 " nfsd 8 & "的原因了
biod : 此指令是在NFS client上用的 , 用來啟動
" asynchronous block I/O daemon"
用來建立buffer cache , 處理在client上的讀寫
mountd : mountd 是一台 RPC server ,啟動rpc.mountd daemon後 它會讀取
/etc/xtab 查看哪一台client正在mount 哪一個file system,並回
應client 所要mount 的路徑
(mountd處理的過程可用 showmount 來看)
inetd : inetd (Internet services daemon) , 當系統啟動時rc.local
會啟動inetd 讀取 inetd.conf 這一個 configuration-file ,
讀取網路上所有 server''s address , 連結啟動inetd.conf中所
有的server , 當client 請求服務時, inetd 就會為clinet 啟動
相關的server daemon 負責任務, 如user 用 telnet 時 , 則
inetd 啟動telnetd 迎合user telnet 的需求, 其餘像 ftp ,
finger , rlogin 之類的應用程式 , inetd 也都會啟動相對應的
daemons, ftpd, fingerd, rloingd
portmap : portmap 是一台server , 主要功能 轉換 TCP/IP 通訊協定的
port number 變成 RPC program number , 因為這樣clinet才能
做RPC calls
一般 RPC server 是被inetd 所啟動的, 所以portmap 必須
在inetd之前啟動, 否則無法做 RPC call
□ NFS 的網路安全的
NFS 使server上的檔案能被client所取用, 乍看之下好像server 上的檔案任何人都可取用沒什麽保護性, 其實不是如此的. 一開始server要 exportfs 之前在 /etc/exporrc 中就已經設定了檔案的使用許可權, 像
/usr/src -access=engineering:accounting
就是限定只有 rcgineering 和 accounting 這兩台 client 才能 mount /usr/src
/usr/src -access=oak,root=oak
這是說只有 oak 這台 cilent 能 mount這一個路徑 且只有 oak client''s
superuser 才能行使 read & write 的權力
另外管理者為了維護 exported 和 mounted 的安全, 一定要建立公共(public)和私人(secret)的 key(password), 然而這些安全性問題是要建立在 NIS (network infomation system) 上的, 有一個/etc/publickey檔 ,裡面記錄了public and secret keys , 而這些key是依照 machine_name 和 user_name ,以16 進位碼表示出來的, 管理者可在有NIS的機器上用
newkey -u username 給予user login 權力
newkey -h hostname 造出login 此機器時所需的password
在NFS剛安裝時 user 是 "nobody" 任何人都可以進入, 所以管理者一定要做修改, 以保護資料的安全.
當使用者為 nobody 時 publickey 的內容
netname user''s public key : user''s secret key
nobody 3d91f44568fbbefada5a7:7675cd9b8753b5db09dabf12
在管理者給予user權力之後, user 就可使用 chkey 修改自己的secret key 創造自己的帳號路口,
willow% chkey
Generating new key for username
password : <enter password>
Sending key change request to server ...
Done.
willow%
所設定的password 是使用者位於 NIS 中的加密鍵 , 當我們login 時NIS 就會將此密碼解開,(因為publickey中是以16進位碼記錄) , 存放到keyserv 里加以保管, 再將加密鍵傳給client , 當client 發出請求時 ,此鍵會附在每個NFS 請求上一起送到 NFS server 上, 當加密鍵和server上所保存的keyserv核對無錯後, 請求就會被接受
□ When fail to mount server
1. 用 rpcinfo -p server_name 去查看此server是否存在
2. 用 rpcinfo -u server_name mount 查看mountd daemon 是否有
在server上執行
3. 假如server 都沒問題,檢查 server 和 client 之間的
Ethernet connetions
4. 在client 上 用 ps ax 看portmap and several biod daemons
running or not !
(rpcinfo : 用來對 RPC server 做 RPC 呼叫,回傳遠端程序呼叫
過程中的訊息)
一些mount 失敗的錯誤訊息
1. /etc/mtab : No such file or directory
mtab 這一個路徑或是檔案必須存在,在mount之前
2. mount : ... Block device required
遠端的機器名稱可能打錯了
3. mount: ... not found in /etc/fstab
fstab 一定要存在,client 上 /etc下
4. ... not in hosts database
/etc/hosts 沒有這一個 hosts database , 或是
NIS 的daemon, ypbind 沒有在執行
5. Must be root to use mount
一般都只有 root 才能mount ,所以mount之前先成
為superuser
6. Stale NFS file handle
當我們已經mount 上的file or directory ,在server
上突然被remove or unexport ,就會出現此訊息
fyx2008 回復於:2004-03-20 17:53:55
寫得很詳盡嘛。。。
success_king 回復於:2004-03-20 19:44:22
謝謝謝謝
pengtao_hlp 回復於:2004-03-21 11:44:23
風兄。好貼。好文筆。。。不錯。。多多向您學習!!
charley 回復於:2004-03-23 01:44:07
寫得好。
提個建議,在實際應用的直接使用mount連接NFS只適用於測試護著臨時性的連接,正常使用應該採用autofs, 建議加入。
另外仁兄使用的命令是Solaris的命令么?
openview 回復於:2004-03-24 10:01:52
[quote:581f9509d2="charley"]寫得好。
提個建議,在實際應用的直接使用mount連接NFS只適用於測試護著臨時性的連接,正常使用應該採用autofs, 建議加入。
另外仁兄使用的命令是Solaris的命令么?[/quote:581f9509d2]
好像是linux上的東西。東西不錯。
icebreak 回復於:2004-03-26 10:02:47
很好,感覺好像是linux上的,不是solaris上面的。
ward_bao 回復於:2004-03-26 10:08:21
那如果server是sun的,client是windows2000 or winxp的怎麼辦呢?也是用nfs嗎?
..............
另外,NFS是極品飛車的意思(游戲),哈哈
『捌』 nfs hdfs gfs tfs區別
nfs hdfs gfs tfs的各項區別:
nfs通過rpcbind這個服務去跟客戶端通信的。NFS網路文件系統一般被用來存儲共享視頻,圖片,附件等靜態資源(一般把網站用戶上傳的文件都放到NFS共享里, 例如BBS 產品的圖片,附件,頭次昂,注意網站BBS程序不要放NFS共享里)。
NFS是當前互聯網系統架構中最常用的數據存儲服務之一,特別是對中小型企業來講是非常合適的一個分布式文件系統,大公司或門戶除了使用NFS外,還可能會使用MFS,GFS,FASTDFS,TFS等分布式文件系統。
TFS(Taobao FileSystem)是一個高可擴展、高可用、高性能、面向互聯網服務的分布式文件系統,其設計目標是支持海量的非結構化數據。
目前,國內自主研發的文件系統可謂鳳毛麟角。淘寶在這一領域做了有效的探索和實踐,Taobao File System(TFS)作為淘寶內部使用的分布式文件系統,針對海量小文件的隨機讀寫訪問性能做了特殊優化,承載著淘寶主站所有圖片、商品描述等數據存儲。
HDFS 參照了它所以大部分架構設計概念是類似的,比如 HDFS NameNode 相當於 GFS Master,HDFS DataNode 相當於 GFS chunkserver。
但還有些細節不同的地方,所以本文主要分析下不同的地方。
總結如下:
分布式文件系統(Distributed File System,DFS)是指文件系統管理的物理存儲資源不一定直接連接在本地節點上,而是通過計算機網路與節點(可簡單的理解為一台計算機)相連;或是若干不同的邏輯磁碟分區或卷標組合在一起而形成的完整的有層次的文件系統。