NFS 服務(wù)配置

2018-08-12 21:29 更新

NFS 服務(wù)配置

什么是NFS????

NFS會(huì)經(jīng)常用到,用于在網(wǎng)絡(luò)上共享存儲(chǔ)。這樣講,你對NFS可能不太了解,筆者不妨舉一個(gè)例子來說明一下NFS是用來做什么的。假如有三臺(tái)機(jī)器A、B、C,它們需要訪問同一個(gè)目錄,目錄中都是圖片,傳統(tǒng)的做法是把這些圖片分別放到A、BC。但是使用NFS只需要放到A上,然后A共享給BC即可。訪問的時(shí)候,BC是通過網(wǎng)絡(luò)的方式去訪問A上的那個(gè)目錄的。

配置NFS

???????? NFS配置起來還是蠻簡單的,只需要編輯配置文件/etc/exports即可。下面筆者先創(chuàng)建一個(gè)簡單的NFS服務(wù)器。

[root@localhost ~]# cat /etc/exports

/home/? 10.0.2.0/24(rw,sync,all_squash,anonuid=501,anongid=501)

這個(gè)配置文件就這樣簡單一行。共分為三部分,第一部分就是本地要共享出去的目錄,第二部分為允許訪問的主機(jī)(可以是一個(gè)IP也可以是一個(gè)IP段)第三部分就是小括號里面的,為一些權(quán)限選項(xiàng)。關(guān)于第三部分,筆者簡單介紹一下:

rw :讀寫;

ro :只讀;

sync :同步模式,內(nèi)存中數(shù)據(jù)時(shí)時(shí)寫入磁盤;

async :不同步,把內(nèi)存中數(shù)據(jù)定期寫入磁盤中;

no_root_squash :加上這個(gè)選項(xiàng)后,root用戶就會(huì)對共享的目錄擁有至高的權(quán)限控制,就像是對本機(jī)的目錄操作一樣。不安全,不建議使用;

root_squash :和上面的選項(xiàng)對應(yīng),root用戶對共享目錄的權(quán)限不高,只有普通用戶的權(quán)限,即限制了root;

all_squash :不管使用NFS的用戶是誰,他的身份都會(huì)被限定成為一個(gè)指定的普通用戶身份;

anonuid/anongid :要和root_squash 以及 all_squash一同使用,用于指定使用NFS的用戶限定后的uidgid,前提是本機(jī)的/etc/passwd中存在這個(gè)uidgid。

介紹了上面的相關(guān)的權(quán)限選項(xiàng)后,再來分析一下筆者剛剛配置的那個(gè)/etc/exports文件。其中要共享的目錄為/home,信任的主機(jī)為10.0.2.0/24這個(gè)網(wǎng)段,權(quán)限為讀寫,同步,限定所有使用者,并且限定的uidgid都為501

使用NFS

當(dāng)編輯完配置文件/etc/exports后,就該啟動(dòng)NFS服務(wù)了。啟動(dòng)方法為:

[root@localhost ~]# service portmap start; service nfs start

NFS是依托portmap的,所以首先要啟動(dòng)portmap,然后啟動(dòng)NFS才能是剛才的配置生效。啟動(dòng)完NFS后,就該使用NFS服務(wù)了。

[root@localhost ~]# showmount -e 127.0.0.1 (用在client上)

Export list for 127.0.0.1:

/home 10.0.2.0/24

shoumount -e IP就可以查看NFS的共享情況,上例中,就可以看到127.0.0.1的共享目錄為/home,信任主機(jī)為10.0.2.0/24這個(gè)網(wǎng)段。另外這個(gè)showmount 命令還有一個(gè)常用的選項(xiàng)就是-a了,它的意思是,把連接本機(jī)的NFSclient全部列出。

[root@localhost ~]# mount -t nfs 10.0.2.69:/home /mnt client上)

[root@localhost ~]# showmount -a nfs服務(wù)器上)

All mount points on localhost:

10.0.2.69:/home

前面的mount 命令為掛載NFS共享目錄,相信你能看懂這個(gè)格式。showmount -a 命令列出所有的clinet

NFS服務(wù)中還有一個(gè)常用的命令那就是exportfs,它的常用選項(xiàng)為[-aruv]

-a :全部掛載或者卸載;

-r :重新掛載;

-u :卸載某一個(gè)目錄;

-v :顯示共享的目錄;

使用exportfs命令,當(dāng)改變/etc/exports配置文件后,不用重啟nfs服務(wù)直接用這個(gè)exportfs即可。

[root@localhost ~]# cat /etc/exports

/tmp/?? 10.0.2.0/24(rw,sync,no_root_squash)

[root@localhost ~]# exportfs -arv nfs服務(wù)器上)

exporting 10.0.2.0/24:/tmp

更改目錄后,直接exportfs -arv即可生效。

在上面使用到了mount命令來掛載nfs,其實(shí)mount這個(gè)nfs服務(wù)還是有些說法的。首先是用-t nfs 來指定掛載的類型為nfs。另外在使用nfs時(shí),常用一個(gè)選項(xiàng)就是nolock了,即在掛載nfs服務(wù)時(shí),不加鎖。

[root@localhost ~]# mount -t nfs -o nolock 10.0.2.69:/tmp /mnt/

[root@localhost ~]# showmount -a

All mount points on localhost:

10.0.2.69:/home

10.0.2.69:/tmp

另外我們還可以把要掛載的nfs目錄寫到client上的/etc/fstab文件中,掛載時(shí)只需要mount -a即可。

[root@localhost ~]# cat /etc/fstab

LABEL=/???????????????? /?????????????????????? ext3??? defaults??????? 1 1

LABEL=/boot???????????? /boot?????????????????? ext3??? defaults??????? 1 2

tmpfs?????????????????? /dev/shm??????????????? tmpfs?? defaults??????? 0 0

devpts????????????????? /dev/pts??????????????? devpts? gid=5,mode=620? 0 0

sysfs?????????????????? /sys??????????????????? sysfs?? defaults??????? 0 0

proc??????????????????? /proc?????????????????? proc??? defaults??????? 0 0

LABEL=SWAP-hda2???????? swap????? ??????????????swap??? defaults??????? 0 0

10.0.2.69:/tmp????????? /mnt??????????????????? nfs???? nolock????????? 0 0

寫完/etc/fstab文件后,只需要mount -a即可掛載nfs服務(wù)的共享目錄。

[root@localhost ~]# umount /mnt/ 首先把剛才掛載的nfs卸載掉

[root@localhost ~]# mount -a

[root@localhost ~]# df -h

Filesystem??????????? Size? Used Avail Use% Mounted on

/dev/hda3???????????? 7.3G? 3.7G? 3.3G? 53% /

/dev/hda1????????????? 99M?? 12M?? 83M? 12% /boot

tmpfs????????????????? 84M???? 0?? 84M?? 0% /dev/shm

10.0.2.69:/tmp??????? 7.3G? 3.7G? 3.3G? 53% /mnt

關(guān)于NFS部分就講這么多,內(nèi)容并不多,相信你很快就能掌握!

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號