国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > Linux Shell > 正文

Ubuntu配置NFS的具體流程(推薦)

2020-07-27 18:58:17
字體:
供稿:網(wǎng)友

NFS 是Network File System的縮寫,即網(wǎng)絡(luò)文件系統(tǒng),一種使用于分散式文件系統(tǒng)的協(xié)定

NFS通過網(wǎng)絡(luò)讓不同的機(jī)器、不同的操作系統(tǒng)能夠彼此分享個別的數(shù)據(jù),例如將/home設(shè)置為共享目錄,然后共享給網(wǎng)絡(luò)中的其它服務(wù)器,這樣每臺機(jī)器就不必單獨(dú)建立自己的/home路徑了,NFS獨(dú)立于操作系統(tǒng),容許不同硬件及操作系統(tǒng)的系統(tǒng)共同進(jìn)行文件的分享,是在類Unix系統(tǒng)間實(shí)現(xiàn)磁盤文件共享的一種方法

NFS本身沒有提供信息傳輸?shù)膮f(xié)議和功能,而是使用RPC服務(wù)完成這部分功能??梢哉fNFS本身就是使用RPC服務(wù)的一個程序,或者說NFS也是一個RPC SERVER。所以只要用到NFS的地方都要啟動RPC服務(wù),不論是NFS server還是NFS client,可以這么理解RPC和NFS之間的關(guān)系:NFS是一個文件系統(tǒng),而RPC負(fù)責(zé)信息的傳輸

一,系統(tǒng)環(huán)境

Linux Distribution:Ubuntu 14

二,安裝Linux NFS

sean@sean:~$ sudo apt-get install nfs-kernel-server[sudo] password for sean: Reading package lists... DoneBuilding dependency tree    Reading state information... DoneThe following extra packages will be installed: keyutils libgssglue1 libnfsidmap2 libtirpc1 nfs-common rpcbindSuggested packages: open-iscsi watchdogThe following NEW packages will be installed: keyutils libgssglue1 libnfsidmap2 libtirpc1 nfs-common nfs-kernel-server rpcbind0 upgraded, 7 newly installed, 0 to remove and 159 not upgraded.Need to get 460 kB of archives.After this operation, 2,049 kB of additional disk space will be used.Do you want to continue? [Y/n] YGet:1 http://cn.archive.ubuntu.com/ubuntu/ trusty/main libgssglue1 amd64 0.4-2ubuntu1 [19.7 kB]Get:2 http://cn.archive.ubuntu.com/ubuntu/ trusty/main libnfsidmap2 amd64 0.25-5 [32.2 kB]Get:3 http://cn.archive.ubuntu.com/ubuntu/ trusty/main libtirpc1 amd64 0.2.2-5ubuntu2 [71.3 kB]Get:4 http://cn.archive.ubuntu.com/ubuntu/ trusty/main keyutils amd64 1.5.6-1 [33.6 kB]Get:5 http://cn.archive.ubuntu.com/ubuntu/ trusty-updates/main rpcbind amd64 0.2.1-2ubuntu2.2 [37.1 kB]Get:6 http://cn.archive.ubuntu.com/ubuntu/ trusty-updates/main nfs-common amd64 1:1.2.8-6ubuntu1.2 [181 kB]Get:7 http://cn.archive.ubuntu.com/ubuntu/ trusty-updates/main nfs-kernel-server amd64 1:1.2.8-6ubuntu1.2 [85.8 kB]Fetched 460 kB in 16s (27.2 kB/s)                       Selecting previously unselected package libgssglue1:amd64.(Reading database ... 168701 files and directories currently installed.)Preparing to unpack .../libgssglue1_0.4-2ubuntu1_amd64.deb ...Unpacking libgssglue1:amd64 (0.4-2ubuntu1) ...Selecting previously unselected package libnfsidmap2:amd64.Preparing to unpack .../libnfsidmap2_0.25-5_amd64.deb ...Unpacking libnfsidmap2:amd64 (0.25-5) ...Selecting previously unselected package libtirpc1:amd64.Preparing to unpack .../libtirpc1_0.2.2-5ubuntu2_amd64.deb ...Unpacking libtirpc1:amd64 (0.2.2-5ubuntu2) ...Selecting previously unselected package keyutils.Preparing to unpack .../keyutils_1.5.6-1_amd64.deb ...Unpacking keyutils (1.5.6-1) ...Selecting previously unselected package rpcbind.Preparing to unpack .../rpcbind_0.2.1-2ubuntu2.2_amd64.deb ...Unpacking rpcbind (0.2.1-2ubuntu2.2) ...Selecting previously unselected package nfs-common.Preparing to unpack .../nfs-common_1%3a1.2.8-6ubuntu1.2_amd64.deb ...Unpacking nfs-common (1:1.2.8-6ubuntu1.2) ...Selecting previously unselected package nfs-kernel-server.Preparing to unpack .../nfs-kernel-server_1%3a1.2.8-6ubuntu1.2_amd64.deb ...Unpacking nfs-kernel-server (1:1.2.8-6ubuntu1.2) ...Processing triggers for man-db (2.6.7.1-1ubuntu1) ...Processing triggers for ureadahead (0.100.0-16) ...ureadahead will be reprofiled on next rebootSetting up libgssglue1:amd64 (0.4-2ubuntu1) ...Setting up libnfsidmap2:amd64 (0.25-5) ...Setting up libtirpc1:amd64 (0.2.2-5ubuntu2) ...Setting up keyutils (1.5.6-1) ...Setting up rpcbind (0.2.1-2ubuntu2.2) ... Removing any system startup links for /etc/init.d/rpcbind ...rpcbind start/running, process 12074Processing triggers for ureadahead (0.100.0-16) ...Setting up nfs-common (1:1.2.8-6ubuntu1.2) ...Creating config file /etc/idmapd.conf with new versionCreating config file /etc/default/nfs-common with new versionAdding system user `statd' (UID 118) ...Adding new user `statd' (UID 118) with group `nogroup' ...Not creating home directory `/var/lib/nfs'.statd start/running, process 12307gssd stop/pre-start, process 12341idmapd start/running, process 12399Processing triggers for ureadahead (0.100.0-16) ...Setting up nfs-kernel-server (1:1.2.8-6ubuntu1.2) ...Creating config file /etc/exports with new versionCreating config file /etc/default/nfs-kernel-server with new version * Not starting NFS kernel daemon: no exports.Processing triggers for libc-bin (2.19-0ubuntu6.7) ...Processing triggers for ureadahead (0.100.0-16) ...

通過安裝日志可以發(fā)現(xiàn)總共會安裝keyutils,libgssglue1,libnfsidmap2,libtirpc1,nfs-common,nfs-kernel-server,rpcbind這7個包

很多文檔中安裝的包為portmap,但是這個包已經(jīng)被rpcbind替代

sean@sean:~$ sudo apt-get install portmap
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'rpcbind' instead of 'portmap'
rpcbind is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 164 not upgraded.
rpcbind包安裝完成后會自動啟動rpcbind服務(wù)

sean@sean:~$ ps -ef|grep rpcbind
root 807 1 0 22:27 ? 00:00:00 rpcbind
sean 10215 9528 0 22:48 pts/6 00:00:00 grep --color=auto rpcbind
但是由于目前NFS的配置文件為空,NFS服務(wù)并沒有啟動

三,配置NFS服務(wù)

從安裝日志中我們可以發(fā)現(xiàn)NFS服務(wù)的配置文件為/etc/exports,并且這個文件在安裝過程中已經(jīng)生成好了,我們所要做的就是將NFS配置信息添加到這個文件中

sean@sean:~$ sudo vi /etc/exports# /etc/exports: the access control list for filesystems which may be exported#        to NFS clients. See exports(5).## Example for NFSv2 and NFSv3:# /srv/homes    hostname1(rw,sync,no_subtree_check) hostname2(ro,sync,no_subtree_check)## Example for NFSv4:# /srv/nfs4    gss/krb5i(rw,sync,fsid=0,crossmnt,no_subtree_check)# /srv/nfs4/homes gss/krb5i(rw,sync,no_subtree_check)/home/sean/shareDir 192.168.137.129(rw,no_root_squash,async)

其中中的最后一行為新添加的NFS配置,NFS配置信息格式如下:

<共享目錄> [客戶端1 選項(xiàng)(訪問權(quán)限,用戶映射,其他)] [客戶端2 選項(xiàng)(訪問權(quán)限,用戶映射,其他)]

1,共享目錄:

共享目錄是指NFS系統(tǒng)中需要共享給客戶機(jī)使用的目錄

2,客戶端:

客戶端是指網(wǎng)絡(luò)中可以訪問NFS共享目錄的計算機(jī)

客戶端常用的指定方式:

(1)指定ip地址的主機(jī):192.168.0.1
(2)指定子網(wǎng)中的所有主機(jī):192.168.0.0/255.255.255.0
(3)指定域名的主機(jī):www.sean.com
(4)指定域中的所有主機(jī):*.sean.com
(5)所有主機(jī):*

3,選項(xiàng):

選項(xiàng)用來設(shè)置輸出目錄的訪問權(quán)限、用戶映射等,NFS主要有3類選項(xiàng):

訪問權(quán)限選項(xiàng):

(1)設(shè)置輸出目錄只讀:ro
(2)設(shè)置輸出目錄讀寫:rw

用戶映射選項(xiàng):

(1)all_squash:將遠(yuǎn)程訪問的所有普通用戶及所屬組都映射為匿名用戶或用戶組(nfsnobody)
(2)no_all_squash:與all_squash取反(默認(rèn)設(shè)置)
(3)root_squash:將root用戶及所屬組都映射為匿名用戶或用戶組(默認(rèn)設(shè)置)
(4)no_root_squash:與rootsquash取反
(5)anonuid=xxx:將遠(yuǎn)程訪問的所有用戶都映射為匿名用戶,并指定該用戶為本地用戶(UID=xxx)
(6)anongid=xxx:將遠(yuǎn)程訪問的所有用戶組都映射為匿名用戶組賬戶,并指定該匿名用戶組賬戶為本地用戶組賬戶(GID=xxx)

其它選項(xiàng):

(1)secure:限制客戶端只能從小于1024的tcp/ip端口連接nfs服務(wù)器(默認(rèn)設(shè)置)
(2)insecure:允許客戶端從大于1024的tcp/ip端口連接服務(wù)器
(3)sync:將數(shù)據(jù)同步寫入內(nèi)存緩沖區(qū)與磁盤中,效率低,但可以保證數(shù)據(jù)的一致性
(4)async:將數(shù)據(jù)先保存在內(nèi)存緩沖區(qū)中,必要時才寫入磁盤
(5)wdelay:檢查是否有相關(guān)的寫操作,如果有則將這些寫操作一起執(zhí)行,這樣可以提高效率(默認(rèn)設(shè)置)
(6)no_wdelay:若有寫操作則立即執(zhí)行,應(yīng)與sync配合使用
(7)subtree:若輸出目錄是一個子目錄,則nfs服務(wù)器將檢查其父目錄的權(quán)限(默認(rèn)設(shè)置)
(8)no_subtree:即使輸出目錄是一個子目錄,nfs服務(wù)器也不檢查其父目錄的權(quán)限,這樣可以提高效率

四,啟動NFS服務(wù)

sean@sean:~$ sudo service nfs-kernel-server start * Exporting directories for NFS kernel daemon...                                                                exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "192.168.137.129:/home/sean/shareDir". Assuming default behaviour ('no_subtree_check'). NOTE: this default has changed since nfs-utils version 1.0.x * Starting NFS kernel daemon  sean@sean:~$ sudo service nfs-kernel-server statusnfsd runningsean@sean:~$ ps -ef|grep nfsdroot   10536   2 0 23:40 ?    00:00:00 [nfsd4]root   10537   2 0 23:40 ?    00:00:00 [nfsd4_callbacks]root   10539   2 0 23:40 ?    00:00:00 [nfsd]root   10540   2 0 23:40 ?    00:00:00 [nfsd]root   10541   2 0 23:40 ?    00:00:00 [nfsd]root   10542   2 0 23:40 ?    00:00:00 [nfsd]root   10543   2 0 23:40 ?    00:00:00 [nfsd]root   10544   2 0 23:40 ?    00:00:00 [nfsd]root   10545   2 0 23:40 ?    00:00:00 [nfsd]root   10546   2 0 23:40 ?    00:00:00 [nfsd]sean   10566  9528 0 23:41 pts/6  00:00:00 grep --color=auto nfsd

通過命令可以看到文件夾已經(jīng)被共享

sean@sean:~$ showmount -e
Export list for sean:
/home/sean/shareDir 192.168.137.129

五,客戶端掛載NFS共享目錄

sean@ubuntu:~$ sudo mount 192.168.137.128:/home/sean/shareDir /home/sean/sharedmount: wrong fs type, bad option, bad superblock on 192.168.137.128:/home/sean/shareDir,    missing codepage or helper program, or other error    (for several filesystems (e.g. nfs, cifs) you might    need a /sbin/mount.<type> helper program)    In some cases useful info is found in syslog - try    dmesg | tail or so

上網(wǎng)查看了一下錯誤原因,是因?yàn)榭蛻舳藳]有安裝nfs-common包

sean@ubuntu:~$ sudo apt-get install nfs-common
之后再次使用掛載命令即可,此時如果我們再次查看客戶端掛載的磁盤,就可以看到NFS共享目錄已經(jīng)被掛載上了

sean@ubuntu:~$ dfFilesystem             1K-blocks  Used Available Use% Mounted onudev                  488800    4  488796  1% /devtmpfs                  99904  1456   98448  2% /run/dev/sda1              19478204 3745568 14720156 21% /none                    4    0     4  0% /sys/fs/cgroupnone                   5120    0   5120  0% /run/locknone                  499512   152  499360  1% /run/shmnone                  102400   40  102360  1% /run/user/dev/sr0               1044480 1044480     0 100% /media/sean/Ubuntu 14.04.4 LTS amd64192.168.137.128:/home/sean/shareDir 19478272 4288896 14176896 24% /home/sean/shared

此時如果我們在128的/home/sean/shareDir目錄下創(chuàng)建一個文件,在129的/home/sean/shared目錄下可以看到一個名稱相同的文件,并且文件的內(nèi)容也相同

六,開機(jī)啟動NFS服務(wù)

安裝完成之后查看系統(tǒng)服務(wù)

sean@sean:~$ runlevel
N 2
sean@sean:~$ ll /etc/rc2.d
total 20
drwxr-xr-x 2 root root 4096 6月 20 23:25 ./
drwxr-xr-x 132 root root 12288 6月 26 20:16 ../
-rw-r--r-- 1 root root 677 2月 17 12:59 README
lrwxrwxrwx 1 root root 20 2月 22 06:33 S20kerneloops -> ../init.d/kerneloops*
lrwxrwxrwx 1 root root 27 6月 20 23:25 S20nfs-kernel-server -> ../init.d/nfs-kernel-server*
lrwxrwxrwx 1 root root 15 2月 22 06:33 S20rsync -> ../init.d/rsync*
lrwxrwxrwx 1 root root 27 2月 22 06:33 S20speech-dispatcher -> ../init.d/speech-dispatcher*
lrwxrwxrwx 1 root root 15 2月 22 06:33 S50saned -> ../init.d/saned*
lrwxrwxrwx 1 root root 19 2月 22 06:33 S70dns-clean -> ../init.d/dns-clean*
lrwxrwxrwx 1 root root 18 2月 22 06:33 S70pppd-dns -> ../init.d/pppd-dns*
lrwxrwxrwx 1 root root 21 2月 22 06:33 S99grub-common -> ../init.d/grub-common*
lrwxrwxrwx 1 root root 18 2月 22 06:33 S99ondemand -> ../init.d/ondemand*
lrwxrwxrwx 1 root root 18 2月 22 06:33 S99rc.local -> ../init.d/rc.local*
nfs-kernel-server是自動啟動,就不需要再進(jìn)行修改了,而rpcbind就比較麻煩了,找了半天才找到vi /etc/init/rpcbind-boot.conf

# portmap-boot

description "Upstart job to start rpcbind on boot only"
author "Clint Byrum"

emits start-rpcbind

start on virtual-filesystems and net-device-up IFACE=lo

task

exec initctl emit --no-wait start-rpcbind ON_BOOT=y
可以見到這個服務(wù)設(shè)為開機(jī)啟動了

七,開機(jī)自動掛載共享盤

這時候我們需要修改的文件是/etc/fstab,命令格式如下:

<NFS服務(wù)端>:<共享目錄> <本地目錄> <文件系統(tǒng)類型> <選項(xiàng)> <dump> <pass>每個字段的具體含義這里就不詳細(xì)解釋了,vi /etc/fstab,在文件中添加下面這行配置

192.168.137.128:/home/sean/shareDir /home/sean/shared nfs defaults 0 0系統(tǒng)每次啟動時即會自動掛載共享盤

以上這篇Ubuntu配置NFS的具體流程(推薦)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持武林網(wǎng)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 明光市| 湘潭市| 永安市| 确山县| 孝昌县| 呼伦贝尔市| 榆中县| 重庆市| 东乡| 普宁市| 武安市| 大余县| 姚安县| 太谷县| 牡丹江市| 漳州市| 广德县| 绍兴县| 怀来县| 哈密市| 西乌珠穆沁旗| 博乐市| 辉县市| 阜城县| 曲麻莱县| 大姚县| 额济纳旗| 呈贡县| 镇江市| 东源县| 舟曲县| 沧州市| 衡阳市| 肇源县| 古田县| 尼玛县| 鄂伦春自治旗| 岳池县| 大连市| 松阳县| 东莞市|