配置NFS文件系統
一
.NFS
的概念
1.NFS
概念
:Network File System,
是主機間經過網絡進行文件共享的網絡協議,最先由
Sun
公司提出
,
多用於
Unix
操做系統,它容許用戶將遠程主機的文件系統看作好象是本地文件系統同樣,而且是可安裝的,可讀的和可寫的。系統使用與本地文件系統同樣的命令
mount
把
NFS
文件系統掛接在本地文件樹結構上。
2.NFS
術語
擁有實際的物理磁盤而且經過
NFS
將這個磁盤共享的主機叫
NFS
文件服務器,經過
NFS
訪問遠程文件系統的主機叫
NFS
客戶機。一個
NFS
客戶機能夠利用許多
NFS
服務器提供的服務。相反,一個
NFS
服務器能夠與多個
NFS
客戶機共享它的磁盤。一個共享了部分磁盤的
NFS
服務器能夠是另外一個
NFS
服務器的客戶機。
NFS
服務器輸出的目錄叫遠程資源而且一般寫做:
host:pathname
其中
host
是文件服務器的名字而
pathname
是服務器上被輸出目錄的絕對路徑。
遠程資源被安裝到客戶機上的那個目錄叫安裝點(
mount point)
。
3.NFS
輸入輸出規則
規則一:
NFS
輸出目錄
,
服務器輸出的是目錄而不是文件系統。
規則二:若是服務器已經輸出了一個目錄,如
/usr/local
,而且有一個文件系統安裝在
/usr/local
/extra
,那麼
/usr/local/extra
的內容在客戶端看不到,除非服務器明確地輸出了它,或客戶機明確地安裝了它。
規則三:客戶機能夠安裝一個輸出目錄的子目錄,前提是此子目錄不是另外一個文件系統。
規則四:一個主機不能夠將一個輸入的目錄再次輸出。例如,若是一個主機經過
NFS
安裝
/usr/local,
它就不能將
/usr/local
輸出給另外的主機。
規則五:一個已經輸出目錄的子目錄不能夠再輸出,除非子目錄在一個不一樣的文件系統上。仍是舉個例子:假設你要按只讀方式輸出根文件系統的跟(
/
)目錄,可是又要按讀寫方式輸出
/tmp
目錄。你不可能作到這一點,除非
/tmp
被安裝在不一樣於跟的文件系統上
二
.NFS
安裝
只需安裝兩個軟件包便可,一般被默認安裝
#rpm -q nfs-utils portmap
插入
linux
的第一張光盤
#mount /mnt/cdrom #cd /RedHat/RPMS #rpm -ivh nfs-utils-
1.0.1
-2.9.i386.rpm #rpm -ivh portmap-4.0-54.i386.rpm
portmap
軟件包中的
portmap
服務,爲
NFS
提供
RPC
服務的支持
.nfs-utils
軟件包中提供了
NFS
服務器程序和相應的維護工具,
#rpm -ql nfs-utils
支持
RPC
的概念:使進程產生的調用看起來象是一個普通的調用,而真正的執行是在其餘進程中
——
也許是一個遠程系統中的進程。各類
RPC
執行協議都朝着一個共同的目標在發展,那就是用隱藏執行細節來簡化進程間通訊的複雜性。
RPC
機制的核心概念就是將函數調用產生的數據串行化到一個順序流中,而後在鏈接接收端對它進行重組。這兩種行爲同步發生,就好象傳統的過程化編程同樣。
RPC
客戶端進程發出一個看似標準的函數調用,可是,這個調用不會在本地執行,調用參數被打包並傳遞到一個遠程的執行環境當中,在那裏它們再被傳入真正的執行函數當中。在完成函數執行後,執行結果又被串行化傳回客戶端,再由客戶端函數傳給調用者。
三
.NFS
的配置
1.
服務器的配置
:NFS
服務器的配置文件
exports,export
文件在目錄
/etc/
下,用於配置
NFS
服務器所提供的目錄共享
.exports
文件默認設置爲空,這也是出於安全性的考慮
,exports(
輸出
)
文件
要輸出的共享目錄
客戶端主機地址
(
設置選項
)
/home/share *(sync,ro)
共享目錄
:
設置系統中須要爲共享的目錄路徑
客戶端主機地址
:
例
192.168.1.19 abc.com
指定域名的主機
192.168.1.0/24
指定網段中的全部主機
*.abc.com
指定域中的全部主機
*
全部主機
設置選項
:sync
設置
NFS
服務器同步寫磁盤
(async
:資料會先暫存於內存當中,而非直接寫入硬盤
),ro
設置輸出的共享目錄只讀
(
與
rw
不能共同使用
)
2.NFS
服務器的啓動與中止
啓動
NFS
服務器
#service portmap start
#service nfs start
查詢
NFS
服務器狀態
:#service portmap status #service nfs status
設置
NFS
服務器的自動啓動狀態
#chkconfig --list portmap|nfs
查看
nfs
服務的自動啓動狀態
#chkconfig --level 35 portmap|nfs on
指定運行級,由數字
0
到
7
構成的字符串
3.showmount
命令
:
查詢
NFS
服務器的共享目錄狀態
#showmount -h
顯示
showmount
命令的聯機幫助
#showmount [NFS
服務器主機地址
]:
顯示鏈接到指定
NFS
服務器的全部主機
#showmount -e [NFS
服務器主機地址
]
顯示指定
NFS
服務器的輸出目錄列表
#showmount -d [NFS
服務器主機地址
]
顯示指定
NFS
服務器中已被客戶端鏈接的全部輸出目錄
#showmount -a [NFS
服務器主機地址
]
顯示指定
NFS
服務器的全部客戶端主機及其所鏈接的目錄,例
#showmount -a
4.NFS
客戶端配置
#mount 192.168.1.57:/home/public /mnt/nfshare
#mount |grep nfs
查詢該目錄的掛載狀態
#umount /mnt/nfshare
卸載卸
NFS
共享目錄