NFS 伺服器的架設

2021-05-26 12:23:18 字數 3544 閱讀 6968

ubuntu 預設是沒有nfs服務的,所以需要自己安裝

1、安裝nfs服務版

apt-get install nfs-kernel-server

2、修改nsf配置檔案

vi /etc/exports

在檔案中新增nfs的目錄格式如下

/myandroid  *(sync,rw,no_root_squash)    // 在我的實驗中/armnfs 因為touchscreen所在目錄/home/wangwei/work/touchscreen

存檔退出

3、在根目錄下建立nsf的目錄

mkdir /myandroid

修改該目錄的許可權

chmod 777 myandroid

4、從新啟動nfs

/etc/init.d/nfs-kernel-server restart

5、測試nsf

mount 192.168.1.17:/myandroid  /media/nfs

nfs(network file system, 網路檔案系統)可以通過網路將分享不同主機(不同的os)的目錄——可以通過nfs掛載遠端主機的目錄, 訪問該目錄就像訪問本地目錄一樣!

一般而言, 使用nfs能夠方便地使各unix-like系統之間實現共享. 但如果需要在unix-like和windows系統之間共享, 就得使用samba了!

nfs執行在sun的rpc(remote procedure call, 遠端過程呼叫)基礎上, rpc定義了一種與系統無關的方法來實現程序間通訊. 由此, nfs server也可以看作是rpc server.

正因為nfs是乙個rpc服務程式, 所以在使用它之前, 先要對映好埠——通過portmap設定. 比如: 某個nfsclient發起nfs服務請求時, 它需要先得到乙個埠(port). 所以它先通過portmap得到port number. (不僅nfs,所有的rpc服務程式啟動之前, 都需要設定好portmap)

與nfs相關的幾個檔案, 命令

1, /etc/exports

對nfs卷的訪問是由exports來批准, 它列舉了若干有權訪問nfs伺服器上檔案系統的主機名.

2, /sbin/exportfs

維護nfs的資源共享. 可以通過它重新設定 /etc/exports 的共享目錄, 解除安裝nfs server共享的目錄或者重新共享等.

3, /usr/sbin/showmount

用在 nfs server 端,而 showmount 則主要用在 client 端. showmount 可以用來檢視 nfs 共享的目錄資源.

4, /var/lib/nfs/xtab

nfs的記錄文件: 通過它可以檢視有哪些client 連線到nfs主機的記錄.

下面這幾個並不直接負責nfs, 實際上它們負責所有的rpc

5, /etc/default/portmap

實際上, portmap負責對映所有的rpc服務埠, 它的內容非常非常之簡單(後面詳述)

6, /etc/hosts.deny

設定拒絕portmap服務的主機

7, /etc/hosts.allow

設定允許portmap服務的主機

安裝nfs

debian/ubuntu上預設是沒有安裝nfs伺服器的,首先要安裝nfs服務程式:

$ sudo apt-get install nfs-kernel-server

(安裝nfs-kernel-server時,apt會自動安裝nfs-common和portmap)

這樣,宿主機就相當於nfs server。

同樣地,目標系統作為nfs的客戶端,需要安裝nfs客戶端程式。如果是debian/ubuntu系統,則需要安裝nfs-common。

$ sudo apt-get install nfs-commmon

nfs-common和nfs-kernel-server都依賴於portmap!

配置nfs

配置portmap

(禁止任何host(主機)能和你的nfs伺服器進行nfs連線),加入:

### nfs daemons

portmap:all

lockd:all

mountd:all

rquotad:all

statd:all

配 置/etc/hosts.allow

允許那些你想要的主機和你的nfs伺服器建立連線。下列步驟將允許任何ip位址以192.168.2開頭的主機(連 接到nfs伺服器上),也可以指定特定的ip位址。參看man頁 hosts_access(5), hosts_options(5)。加入:

### nfs daemons

portmap: 192.168.1.

lockd: 192.168.1.

rquotad: 192.168.1.

mountd: 192.168.1.

statd: 192.168.1.

/etc/hosts.deny 和 /etc/hosts.allow 設定對portmap的訪問.採用這兩個配置檔案有點類似"mask"的意思. 現在/etc/hosts.deny中禁止所有使用者對portmap的訪問.再在/etc/hosts.allow 中允許某些使用者對portmap的訪問.

執行 $ sudo /etc/init.d/portmap restart 重啟portmap daemon.

配置/etc/exports

nfs掛載目錄及許可權由/etc/exports檔案定義

比如我要將將我的home目錄中的/home/zp/share目錄讓192.168.2.*的ip共享, 則在該檔案末尾新增下列語句:

/word  192.168.1.*(rw,sync,no_root_squash)

192.168.2.* 網段內的nfs客戶端能夠共享nfs伺服器/home/zp/share目錄內容.且有讀,寫許可權, 並且該使用者進入/home/zp/share目錄後的身份為root

最好加上sync, 否則 $ sudo exportfs -r 時會給出警告, sync是nfs的預設選項.

(執行 $ showmount -e 檢視nfs server的export list.

若更改了/etc/exports, 執行 $ sudo exportfs -r 更新

執行 $ sudo /etc/init.d/nfs-kernel-server restart 重啟nfs服務)

/etc/exports實際上就是nfs伺服器的核心配置檔案了. 鳥哥的linux私房菜列舉了一些exports檔案的寫法.

測試nfs

可以嘗試一下掛載本地磁碟(假設本地主機ip位址為:192.128.2.1,將/home/zp/share掛載到/mnt)

$ sudo mount 192.168.2.1:/home/zp/share /mnt

執行 $ df 看看結果

$ sudo umount /mnt

注意被拷貝檔案的讀/寫許可權!

另外, 可以使用一定的引數:

使用加引數的辦法:mount -o nolock,rsize=1024,wsize=1024,timeo=15 192.168.2.130:/tmp/ /tmp/

架 設 W e b 服 務 器

伺服器是 的靈魂,是開啟 的必要載體。按照體系架構來區分,伺服器主要分為非x86伺服器 x86伺服器。非x86伺服器使用risc 精簡指令集 或epic 並行指令 處理器 x86伺服器又稱cisc 複雜指令 架構伺服器。管理資源並為使用者提供服務的計算機軟體,通常分為檔案伺服器 能使使用者在其它計算...

RSTP伺服器架設

windows 4.執行c cpan module name 5.根據提示建立webadmin帳號和密碼 執行c program files darwin streaming server perl winpasswdassistant.pl 6.執行webadmin帳號管理器 執行c progra...

架設WEB伺服器

網頁伺服器 web server 一詞有兩個意思 一台負責提供網頁的電腦,主要是各種程式語言構建而成,通過http協議傳給客戶端 一般是指網頁瀏覽器 乙個提供網頁的伺服器程式。每一台網頁伺服器 第1個意思 會執行最少乙個網頁伺服器程式 第2個意思 作為第1個意思,大陸地區稱為 伺服器。此外,也通稱作...