NFS在Linux上的安裝與配置 NFS是Network File System的簡寫,即網路檔案系統。NFS允許一個系統在網路上與它人共用目錄和檔案,通過遠程掛載NFS,使用者和程式可以象訪問本地檔案一樣訪問遠端系統上的檔案。
但根據我過去的經驗,NFS在訪問量不大的時候,採用配置比較好的伺服器能夠滿足使用需求,可一旦日PV量達到百萬層級以後,NFS就成為了整個系統最大的效能瓶頸和單點故障。因此,強烈建議在訪問量達到一定程度以後,採用Distributed File System如moosefs、lustre等;如果不考慮成本的話,可採用IBM或HP等公司昂貴的NAS裝置。 www.2cto.com 下面開始對NFS在Linux上的安裝與配置進行講解。 1.安裝NFS伺服器所需軟體包RHEL/SUSE:#rpm -ivh nfs-utils-lib-*#rpm -ivh nfs-utils-*#rpm -ivh nfs4-acl-tools-*#rpm -ivh portmap-* CentOS:#yum install nfs-utils nfs4-acl-tools portmap Ubuntu:#apt-get install nfs-common nfs-kernel-server portmap www.2cto.com 2.配置NFS伺服器共用輸出伺服器端的某些目錄,以便NFS用戶端能掛載和訪問到#vi /etc/exports/data/nfshome/common 192.168.10.0/255.255.255.0(rw,sync)/data/nfshome/private 192.168.10.4(rw,sync,no_root_squash) 192.168.10.5(rw,sync,no_root_squash)/data/nfshome/public *(ro,sync) 相關註解如下:第一條規則 /data/nfshome/common 目錄對所有192.168.10.x的主機都開放,許可權為 rw 可讀寫,sync 檔案同步;第二條規則 /data/nfshome/private 目錄對192.168.10.4與192.168.10.5兩台主機開放,許可權為 rw 可讀寫,sync 檔案同步,no_root_squash 使root使用者具有根目錄的完全管理存取權限;第三條規則 /data/nfshome/public 目錄對所有主機開放,許可權為 ro 可讀寫,sync檔案同步。 下面是一些NFS共用的常用參數:ro //唯讀訪問rw //讀寫訪問sync //所有資料在請求時寫入共用async //NFS在寫入資料前可以響應請求wdelay //如果多個使用者要寫入NFS目錄,則歸組寫入(預設)no_wdelay //如果多個使用者要寫入NFS目錄,則立即寫入,當使用async時,無需此設定。hide //在NFS共用目錄中不共用其子目錄no_hide //共用NFS目錄的子目錄no_subtree_check //和上面相對,不檢查父目錄許可權all_squash //共用檔案的UID和GID映射匿名使用者anonymous,適合公用目錄。no_root_squash //root使用者具有根目錄的完全管理存取權限 www.2cto.com 設定NFS服務開機自啟動#chkconfig nfs on#chkconfig portmap on 啟動NFS服務#/etc/init.d/portmap start#/etc/init.d/nfs start 3.配置NFS用戶端遠端存取檢查NFS伺服器端是否有目錄共用(假設伺服器IP為192.168.10.3)#showmount -e 192.168.10.3/data/nfshome/public */data/nfshome/private 192.168.10.4 192.168.10.5/data/nfshome/common 192.168.10.0/255.255.255.0 www.2cto.com 掛載NFS共用目錄#mount -t nfs -o rw,tcp,intr 192.168.10.3:/data/nfshome/private /mnt/nfs 查看是否掛載成功#df -h 設定/etc/fstab實現開機自動掛載#vi /etc/fstab192.168.10.3:/data/nfshome/private /mnt/nfs nfs rw,tcp,intr