環境:
server: xuexi.com(rhel6.5)
client: study.com(rhel6.5)
NFS:Network File System即網絡檔案系統,NFS允許一個系統在網絡上與他人共享目錄和檔案,通過使用NFS使用者和程式像通路本地檔案一樣通路遠端系統上的檔案。
工作模式: C/S
應用端口:
nfs:2049
系統安裝:
<code>[root@xuexi ~]</code><code># yum -y install nfs-util</code>
相關管理指令:
mount showmount
主配置檔案
<code>[root@xuexi ~]</code><code># ls /etc/exports</code>
檢視2049端口是否開放
[root@xuexi ~]# netstat -antpu | grep 2049
開啟服務:
[root@xuexi ~]# service nfs start
配置開機自動啟動
chekconfig nfs on
服務使用
[root@study local]# showmount -e 10.10.125.4
Export list for 10.10.125.4:
檔案挂載
首先在服務端添加挂載共享出去的檔案夾即權限
[root@xuexi ~]# vim /etc/exports
/mnt *(rw)
<code>/etc/exports</code><code>書寫格式</code>
<code>需要共享出去的目錄 [</code><code>hostname</code><code>、IP、域名、*] [rw] [</code><code>sync</code><code>] [all_squash]</code>
<code>ceshi1 *(rw,no_root_squash)</code>
<code>ceshi2 10.10.125.1(rw,</code><code>sync</code><code>)</code>
<code>ceshi3 10.10.125.0</code><code>/24</code><code>(ro)</code>
<code>ceshi4 *.study.com(rw,all_squash,anonuid=500,angongid=500)</code>
<code>ceshi5 10.10.125.0</code><code>/24</code><code>(rw) 10.10.124.0</code><code>/24</code><code>(rw)</code>
<code>參數說明:</code>
<code>sync</code><code>/async</code><code>:資料同步寫入硬碟/不同步寫入在記憶體中緩存</code>
<code>root_squash(壓制):如果用root登入nfs,使其身份自動切換成nfsnobody。</code>
<code>no_root_squash:如果用root登入nfs,使其身份就是root。</code>
<code>all_squash:使用者登入nfs時,指定身份為UID</code><code>/GID</code><code>的使用者。</code>
<code>相關參數參考博文:http:</code><code>//zhengkangkang</code><code>.blog.51cto.com</code><code>/12015643/1873779</code>
此項中釋出恭喜下昂的目錄是必根參數其他為可選參數,釋出的共享目錄與用戶端之間及用戶端與用戶端之間需要空格,用戶端與參數之間不能有空格
用戶端挂載
[root@study ~]# mount 10.10.125.4:/mnt/ /nfs
[root@study ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 9.7G 4.1G 5.1G 45% /
tmpfs 672M 0 672M 0% /dev/shm
/dev/sda1 194M 28M 156M 16% /boot
/dev/sr0 3.6G 3.6G 0 100% /mnt
/dev/sdb5 20G 3.4G 16G 19% /data
10.10.125.4:/ceshi 7.7G 4.2G 3.2G 57% /nfs
驗證
<code>[root@study ~]</code><code># for i in {1..5};do mount 10.10.125.4:/share/ceshi${i} /share/ceshi${i};done</code>
<code>mount</code><code>.nfs: access denied by server </code><code>while</code> <code>mounting 10.10.125.4:</code><code>/share/ceshi4</code>
<code>[root@study ~]</code><code># df -h</code>
<code>Filesystem Size Used Avail Use% Mounted on</code>
<code>/dev/sda2</code> <code>9.7G 4.1G 5.1G 45% /</code>
<code>tmpfs 672M 0 672M 0% </code><code>/dev/shm</code>
<code>/dev/sda1</code> <code>194M 28M 156M 16% </code><code>/boot</code>
<code>/dev/sr0</code> <code>3.6G 3.6G 0 100% </code><code>/mnt</code>
<code>/dev/sdb5</code> <code>20G 3.4G 16G 19% </code><code>/data</code>
<code>10.10.125.4:</code><code>/share/ceshi1</code> <code>7.7G 4.2G 3.2G 57% </code><code>/share/ceshi1</code>
<code>10.10.125.4:</code><code>/share/ceshi2</code> <code>7.7G 4.2G 3.2G 57% </code><code>/share/ceshi2</code>
<code>10.10.125.4:</code><code>/share/ceshi3</code> <code>7.7G 4.2G 3.2G 57% </code><code>/share/ceshi3</code>
<code>10.10.125.4:</code><code>/share/ceshi5</code> <code>7.7G 4.2G 3.2G 57% </code><code>/share/ceshi5</code>
咦:/share/ceshi4 沒有共享出來耶
mount.nfs: access denied by server while mounting 10.10.125.4:/share/ceshi4
對于幾個共享出來的權限進行對比及測試:
<code>[root@study share]</code><code># for id in {1..5};do echo "${id}" >> ceshi${id}/111 ;done</code>
<code>-</code><code>bash</code><code>: ceshi2</code><code>/111</code><code>: 權限不夠</code>
<code>-</code><code>bash</code><code>: ceshi3</code><code>/111</code><code>: 隻讀檔案系統</code>
<code>-</code><code>bash</code><code>: ceshi4</code><code>/111</code><code>: 權限不夠</code>
<code>-</code><code>bash</code><code>: ceshi5</code><code>/111</code><code>: 權限不夠</code>
測試結果表明隻有ceshi1可寫其他均沒有可寫權限
[root@study share]# for id in {1..5};do cat ceshi${id}/* ;echo "ceshi${id}";done
各個nfs系統均可讀
實作開機自動挂載
echo “10.10.125.4:/share/ceshi1 /share/ceshi1 nfs defaults 0 0”>> /etc/fstab
[root@study ceshi4]# mount -a
觸發式自動挂載
nfs實作觸發式自動挂載則需要依賴工具autofs,其涉及的兩個檔案分别為/etc/auto.master 和/etc/auto.misc檔案
安裝
[root@study ceshi4]# yum -y install autofs
[root@study ceshi4]# mkdir nfs #建立挂載目錄
[root@study nfs]# vim /etc/auto.master #配置指定挂載的檔案目錄
/share/ceshi2 /etc/auto.nfs --timeout=60 #指定挂載配置檔案以及逾時時間60s
[root@study nfs]# cat /etc/auto.nfs #配置挂載點和挂載類型及nfs伺服器共項出來的目錄
nfs -fstype=nfs 10.10.125.4:/share/ceshi2
重新開機autofs服務
service autofs restart
cd /share/ceshi2/nfs
df -h
10.10.125.4:/share/ceshi2 7.7G 4.2G 3.2G 57% /share/ceshi2/nfs'
本文轉自 CARYFLASH 51CTO部落格,原文連結:http://blog.51cto.com/maoxiaoxiong/1959072