最新消息:20210816 当前crifan.com域名已被污染,为防止失联,请关注(页面右下角的)公众号

【已解决】在远程Ubuntu服务器中开通NFS服务供别人访问服务器上的文件

Ubuntu crifan 6825浏览 0评论

【背景】

需要去研究NFS功能。

在一个远程Ubuntu系统的服务器上面尝试开通NFS==Network File System,然后使得别的地方可以访问远程服务器的文件。

【折腾过程】

1.通过SSH2登陆服务器,然后发现,貌似已经开通了NFS了?

1
2
3
4
5
6
root@chantyou:~# nfsiostat
Linux 3.10.0-123.9.3.el7.x86_64 (chantyou.com)  07/22/2015      _x86_64_        (1 CPU)
 
Filesystem:               rkB_nor/s    wkB_nor/s    rkB_dir/s    wkB_dir/s    rkB_svr/s    wkB_svr/s     ops/s    rops/s    wops/s
 
root@chantyou:~#

2.自己先去搜了搜nfs:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
root@iZ23lqgttauZ:~# uname -a
Linux iZ23lqgttauZ 3.13.0-32-generic #57-Ubuntu SMP Tue Jul 15 03:51:08 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
root@iZ23lqgttauZ:~# apt-get search nfs
E: Invalid operation search
root@iZ23lqgttauZ:~# apt
apt                           apt-extracttemplates          aptitude-create-state-bundle  apt-mark
apt-cache                     apt-ftparchive                aptitude-curses               apt-sortpkgs
apt-cdrom                     apt-get                       aptitude-run-state-bundle    
apt-config                    aptitude                      apt-key                      
root@iZ23lqgttauZ:~# apt-
apt-cache             apt-config            apt-ftparchive        apt-key               apt-sortpkgs
apt-cdrom             apt-extracttemplates  apt-get               apt-mark             
root@iZ23lqgttauZ:~# apt-cache search nfs
backuppc - high-performance, enterprise-grade system for backing up PCs
initramfs-tools - tools for generating an initramfs
libfile-fcntllock-perl - Perl module for file locking with fcntl(2)
liblockfile1 - NFS-safe locking library
libnfsidmap-dev - header files and docs for libnfsidmap
libnfsidmap2 - NFS idmapping library
libtirpc-dev - transport-independent RPC library - development files
libtirpc1 - transport-independent RPC library
manpages - Manual pages about using a GNU/Linux system
nbd-client - Network Block Device protocol - client
nbd-server - Network Block Device protocol - server
nfs-common - NFS support files common to client and server
nfs-kernel-server - support for NFS kernel server
quota - disk quota management tools
sysstat - system performance tools for Linux
tcpdump - command-line network traffic analyzer
texlive-latex-base - TeX Live: LaTeX fundamental packages
texlive-latex-extra - TeX Live: LaTeX additional packages
bootcd - run your system from cd without need for disks
collectd-core - statistics collection and monitoring daemon (core system)
collectl - Utility to collect Linux performance data
daemonfs - real time monitoring software
diod - I/O forwarding server for 9P
dracut - A new initramfs infrastructure
dracut-network - A new initramfs infrastucture
dsniff - Various tools to sniff network traffic for cleartext insecurities
fai-nfsroot - Fully Automatic Installation nfsroot package
fam - File Alteration Monitor
gfarm-client - Gfarm file system clients
gfarm-doc - Gfarm file system documentation
gfmd - Gfarm file system metadata server
gfsd - Gfarm file system daemon
gnats-user - problem report management system - client tools
gnome-system-tools - Cross-platform configuration utilities for GNOME
goto-fai - Scripts to integrate GOto with FAI
hydra - very fast network logon cracker
hydra-gtk - very fast network logon cracker - GTK+ based GUI
jftp - Java GUI client for FTP, SMB, SFTP and NFS
kdenetwork-filesharing - network filesharing configuration module
libfile-nfslock-perl - perl module to do NFS (or not) locking
libgfarm-dev - Gfarm file system development files
libgfarm1 - Gfarm file system runtime library
libio-aio-perl - asynchronous IO module for Perl
libnfs-dev - NFS client library (development files)
libnfs1 - NFS client library (shared library)
libsys-gamin-perl - Perl interface to Gamin (File Access Monitor implementation)
libyanfs-java - Yet Another NFS - a Java NFS library
manpages-de - German manpages
manpages-fr - French version of the manual pages about using GNU/Linux
manpages-pl - Polish man pages
manpages-pt - Portuguese Versions of the Manual Pages
manpages-tr - Turkish version of the manual pages
mb2md - Converting Mbox mailboxes to Maildir format
mhddfs - file system for unifying several mount points into one
nagios-plugins-contrib - Plugins for nagios compatible monitoring systems
nfs4-acl-tools - Commandline and GUI ACL utilities for the NFSv4 client
nfswatch - Program to monitor NFS traffic for the console
nmon - performance monitoring tool for Linux
petitboot - ncurses version of petitboot, a kexec based bootloader
petitboot-twin - Twin GUI version of petitboot, a kexec based bootloader
plptools - Access EPOC device (Psion PDA) over a serial link
portsentry - Portscan detection daemon
python-django-localeurl - Django application allows the language be set in the URL
python-flufl.lock - NFS-safe file-based lock with timeouts (Python 2)
python-flufl.lock-doc - NFS-safe file-based lock with timeouts (common documentation)
python-reconfigure - simple config file management library
python3-flufl.lock - NFS-safe file-based lock with timeouts (Python 3)
ruby-lockfile - create NFS-safe lockfiles
sbrsh - Scratchbox Remote Shell client
sbrshd - Scratchbox Remote Shell daemon
slack - configuration management program for lazy admins
texlive-plain-extra - TeX Live: Plain TeX packages
tiger-otheros - Scripts to run Tiger in other operating systems
udpcast - multicast file transfer tool
unburden-home-dir - Remove or move cache files automatically from user's home
unionfs-fuse - Fuse implementation of unionfs
vbackup - modular backup utility
root@iZ23lqgttauZ:~#

3.搜:

ubuntu nfs

参考:

网络文件系统 (NFS)

ubuntu 12.04 nfs-server/client安装配置-liujunwei1234-ChinaUnix博客

讲解安装Ubuntu nfs配置系统 – 51CTO.COM

基本明白了一点:

想要作为NFS服务器,上面是安装nfs的server

而别的电脑,别的服务器,要访问NFS服务器的话,则是作为NFS的client,所以要去安装:nfs的client

4.此处,先去给NFS的server去安装server:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
root@iZ23lqgttauZ:~# apt-get install nfs-kernel-server
Reading package lists... Done
Building dependency tree      
Reading state information... Done
The following extra packages will be installed:
  libevent-2.0-5 libgssglue1 libnfsidmap2 libtirpc1 nfs-common rpcbind
Suggested packages:
  open-iscsi watchdog
The following NEW packages will be installed:
  libevent-2.0-5 libgssglue1 libnfsidmap2 libtirpc1 nfs-common
  nfs-kernel-server rpcbind
0 upgraded, 7 newly installed, 0 to remove and 53 not upgraded.
Need to get 553 kB of archives.
After this operation, 2,218 kB of additional disk space will be used.
Do you want to continue? [Y/n] y
Get:1 http://mirrors.aliyun.com/ubuntu/ trusty-updates/main libevent-2.0-5 amd64 2.0.21-stable-1ubuntu1.14.04.1 [126 kB]
Get:2 http://mirrors.aliyun.com/ubuntu/ trusty/main libgssglue1 amd64 0.4-2ubuntu1 [19.7 kB]
Get:3 http://mirrors.aliyun.com/ubuntu/ trusty/main libnfsidmap2 amd64 0.25-5 [32.2 kB]
Get:4 http://mirrors.aliyun.com/ubuntu/ trusty/main libtirpc1 amd64 0.2.2-5ubuntu2 [71.3 kB]
Get:5 http://mirrors.aliyun.com/ubuntu/ trusty-updates/main rpcbind amd64 0.2.1-2ubuntu2.1 [37.0 kB]
Get:6 http://mirrors.aliyun.com/ubuntu/ trusty-updates/main nfs-common amd64 1:1.2.8-6ubuntu1.1 [182 kB]
Get:7 http://mirrors.aliyun.com/ubuntu/ trusty-updates/main nfs-kernel-server amd64 1:1.2.8-6ubuntu1.1 [85.6 kB]
Fetched 553 kB in 0s (3,747 kB/s)      
Selecting previously unselected package libevent-2.0-5:amd64.
(Reading database ... 68166 files and directories currently installed.)
Preparing to unpack .../libevent-2.0-5_2.0.21-stable-1ubuntu1.14.04.1_amd64.deb ...
Unpacking libevent-2.0-5:amd64 (2.0.21-stable-1ubuntu1.14.04.1) ...
Selecting previously unselected package libgssglue1:amd64.
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 rpcbind.
Preparing to unpack .../rpcbind_0.2.1-2ubuntu2.1_amd64.deb ...
Unpacking rpcbind (0.2.1-2ubuntu2.1) ...
Selecting previously unselected package nfs-common.
Preparing to unpack .../nfs-common_1%3a1.2.8-6ubuntu1.1_amd64.deb ...
Unpacking nfs-common (1:1.2.8-6ubuntu1.1) ...
Selecting previously unselected package nfs-kernel-server.
Preparing to unpack .../nfs-kernel-server_1%3a1.2.8-6ubuntu1.1_amd64.deb ...
Unpacking nfs-kernel-server (1:1.2.8-6ubuntu1.1) ...
Processing triggers for man-db (2.6.7.1-1ubuntu1) ...
Processing triggers for ureadahead (0.100.0-16) ...
Setting up libevent-2.0-5:amd64 (2.0.21-stable-1ubuntu1.14.04.1) ...
Setting up libgssglue1:amd64 (0.4-2ubuntu1) ...
Setting up libnfsidmap2:amd64 (0.25-5) ...
Setting up libtirpc1:amd64 (0.2.2-5ubuntu2) ...
Setting up rpcbind (0.2.1-2ubuntu2.1) ...
 Removing any system startup links for /etc/init.d/rpcbind ...
rpcbind start/running, process 31795
Processing triggers for ureadahead (0.100.0-16) ...
Setting up nfs-common (1:1.2.8-6ubuntu1.1) ...
 
Creating config file /etc/idmapd.conf with new version
 
Creating config file /etc/default/nfs-common with new version
Adding system user `statd' (UID 106) ...
Adding new user `statd' (UID 106) with group `nogroup' ...
Not creating home directory `/var/lib/nfs'.
statd start/running, process 32032
gssd stop/pre-start, process 32066
idmapd start/running, process 32116
Processing triggers for ureadahead (0.100.0-16) ...
Setting up nfs-kernel-server (1:1.2.8-6ubuntu1.1) ...
 
Creating config file /etc/exports with new version
 
Creating 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.6) ...
Processing triggers for ureadahead (0.100.0-16) ...
root@iZ23lqgttauZ:~#

 

看到有:

Not starting NFS kernel daemon: no exports.

所以去搞懂为何:

【已解决】安装NFS服务器nfs-kernel-server后启动失败:Not starting NFS kernel daemon: no exports

继续折腾。

5.创建配置文件:/etc/exports

发现已经存在过了:

1
2
3
4
5
6
7
8
9
10
11
12
13
root@iZ23lqgttauZ:~# 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)
#
~

6.继续编辑:

先去添加最简单的配置:

1
/home/share/image *(rw,sync)

等正常可以工作后,再去添加其他配置。

然后重启nfs:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
root@iZ23lqgttauZ:image# service nfs status
nfs: unrecognized service
root@iZ23lqgttauZ:image# service --status-all
 [ + ]  aegis
 [ - ]  agentwatch
 [ ? ]  aliyun-rdate
 [ + ]  apache2
 [ + ]  apparmor
 [ ? ]  console-setup
 [ + ]  cron
 [ - ]  dbus
 [ ? ]  dns-clean
 [ + ]  friendly-recovery
 [ - ]  grub-common
 [ ? ]  irqbalance
 [ ? ]  killprocs
 [ ? ]  kmod
 [ ? ]  mysql
 [ ? ]  networking
 [ - ]  nfs-kernel-server
 [ + ]  nscd
 [ + ]  ntp
 [ ? ]  ondemand
 [ ? ]  pppd-dns
 [ - ]  procps
 [ ? ]  rc.local
 [ + ]  resolvconf
 [ + ]  rpcbind
 [ - ]  rsync
 [ + ]  rsyslog
 [ ? ]  sendsigs
 [ - ]  ssh
 [ - ]  sudo
 [ - ]  sysstat
 [ + ]  udev
 [ ? ]  umountfs
 [ ? ]  umountnfs.sh
 [ ? ]  umountroot
 [ - ]  urandom
root@iZ23lqgttauZ:image# service nfs-kernel-server status
nfsd not running
root@iZ23lqgttauZ:image# service nfs-kernel-server restart
 * Stopping NFS kernel daemon                       [ OK ]
 * Unexporting directories for NFS kernel daemon... [ OK ]
 * Exporting directories for NFS kernel daemon...
1
2
3
4
5
6
7
8
       exportfs: /etc/exports [1]: Neither 'subtree_check' or
'no_subtree_check' specified for export "*:/home/share/image".
  Assuming default behaviour ('no_subtree_check').
  NOTE: this default has changed since nfs-utils version 1.0.x [ OK ]
 * Starting NFS kernel daemon                                  [ OK ]
root@iZ23lqgttauZ:image# service nfs-kernel-server status
nfsd running
root@iZ23lqgttauZ:image#

7.然后自己先上传了点图片,用于后续测试nfs时用:

1
2
3
4
5
6
7
8
9
root@iZ23lqgttauZ:image# ll
total 248
drwxr-xr-x 2 root root  4096 Jul 23 15:16 ./
drwxr-xr-x 3 root root  4096 Jul 22 14:42 ../
-rw-r--r-- 1 root root 70545 May 28  2013 mmexport1369703131812.jpg
-rw-r--r-- 1 root root 82168 Sep 12  2013 mmexport1378988706739.jpeg
-rw-r--r-- 1 root root 85510 Nov 18  2013 p_large_0fOT_43d9000068f01263.jpg
root@iZ23lqgttauZ:image# pwd
/home/share/image

导出后重启:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
root@iZ23lqgttauZ:image# exportfs -a
exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home/share/image".
  Assuming default behaviour ('no_subtree_check').
  NOTE: this default has changed since nfs-utils version 1.0.x
 
root@iZ23lqgttauZ:image# service nfsd restart
nfsd: unrecognized service
root@iZ23lqgttauZ:image# service nfs-kernel-server restart
 * Stopping NFS kernel daemon  [ OK ]
 * Unexporting directories for NFS kernel daemon...   [ OK ]
 * Exporting directories for NFS kernel daemon...
  exportfs: /etc/exports [1]: Neither 'subtree_check' or 'no_subtree_check' specified for export "*:/home/share/image".
  Assuming default behaviour ('no_subtree_check').
  NOTE: this default has changed since nfs-utils version 1.0.x  [ OK ]
 * Starting NFS kernel daemon [ OK ]
root@iZ23lqgttauZ:image#

8.然后再去另一个服务器上,作为NFS的client,去安装NFS的客户端:

去安装nfs-utils:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
root@chantyou:~# yum search nfs
Loaded plugins: langpacks
========================================================= N/S matched: nfs =========================================================
nfs4-acl-tools.x86_64 : The nfs4 ACL tools
sblim-cmpi-nfsv3.i686 : SBLIM nfsv3 instrumentation
libnfsidmap.i686 : NFSv4 User and Group ID Mapping Library
nfs-ganesha.x86_64 : NFS-Ganesha is a NFS Server running in user space
nfs-utils.x86_64 : NFS utilities and supporting clients and daemons for the kernel NFS server
nfsometer.noarch : NFS Performance Framework Tool
perl-File-NFSLock.noarch : Perl module to do NFS (or not) locking
sblim-cmpi-nfsv4.i686 : SBLIM nfsv4 instrumentation
libnfsidmap.x86_64 : NFSv4 User and Group ID Mapping Library
libnfsidmap-devel.i686 : Development files for the libnfsidmap library
libnfsidmap-devel.x86_64 : Development files for the libnfsidmap library
nfs-ganesha-ceph.x86_64 : The NFS-GANESHA's CEPH FSAL
nfs-ganesha-gluster.x86_64 : The NFS-GANESHA's GLUSTER FSAL
nfs-ganesha-nullfs.x86_64 : The NFS-GANESHA's NULLFS Stackable FSAL
nfs-ganesha-proxy.x86_64 : The NFS-GANESHA's PROXY FSAL
nfs-ganesha-utils.x86_64 : The NFS-GANESHA's util scripts
nfs-ganesha-vfs.x86_64 : The NFS-GANESHA's VFS FSAL
nfs-ganesha-xfs.x86_64 : The NFS-GANESHA's XFS FSAL
nfstest.noarch : NFS Testing Tool
sblim-cmpi-nfsv3.x86_64 : SBLIM nfsv3 instrumentation
sblim-cmpi-nfsv3-test.x86_64 : SBLIM Nfsv3 Instrumentation Testcases
sblim-cmpi-nfsv4.x86_64 : SBLIM nfsv4 instrumentation
sblim-cmpi-nfsv4-test.x86_64 : SBLIM Nfsv4 Instrumentation Testcases
texlive-mfnfss-doc.noarch : Documentation for mfnfss
texlive-psnfss-doc.noarch : Documentation for psnfss
fedfs-utils-devel.i686 : Development files for the FedFS nfs-plugin
fedfs-utils-devel.x86_64 : Development files for the FedFS nfs-plugin
fedfs-utils-lib.i686 : The FedFS nfs-plugin run-time library
fedfs-utils-lib.x86_64 : The FedFS nfs-plugin run-time library
nfs-ganesha-mount-9P.x86_64 : a 9p mount helper
texlive-mfnfss.noarch : Packages to typeset oldgerman and pandora fonts in LaTeX
texlive-psnfss.noarch : Font support for common PostScript fonts
 
  Name and summary matches only, use "search all" for everything.
root@chantyou:~# yum install nfs-utils
Loaded plugins: langpacks
base                                                                                                         | 3.6 kB  00:00:00 
epel                                                                                                         | 4.4 kB  00:00:00 
extras                                                                                                       | 3.4 kB  00:00:00 
updates                                                                                                      | 3.4 kB  00:00:00    
(1/2): updates/7/x86_64/primary_db                                                                           | 2.5 MB  00:00:00    
(2/2): epel/x86_64/primary_db                                                                                | 3.7 MB  00:00:00    
(1/2): epel/x86_64/updateinfo                                                                                | 441 kB  00:00:00    
(2/2): epel/x86_64/pkgtags                                                                                   | 1.6 MB  00:00:00    
Resolving Dependencies
--> Running transaction check
---> Package nfs-utils.x86_64 1:1.3.0-0.8.el7 will be installed
--> Processing Dependency: libtirpc >= 0.2.3-1 for package: 1:nfs-utils-1.3.0-0.8.el7.x86_64
--> Processing Dependency: gssproxy >= 0.3.0-0 for package: 1:nfs-utils-1.3.0-0.8.el7.x86_64
--> Processing Dependency: rpcbind for package: 1:nfs-utils-1.3.0-0.8.el7.x86_64
--> Processing Dependency: libnfsidmap for package: 1:nfs-utils-1.3.0-0.8.el7.x86_64
--> Processing Dependency: libevent for package: 1:nfs-utils-1.3.0-0.8.el7.x86_64
--> Processing Dependency: keyutils for package: 1:nfs-utils-1.3.0-0.8.el7.x86_64
--> Processing Dependency: libtirpc.so.1()(64bit) for package: 1:nfs-utils-1.3.0-0.8.el7.x86_64
--> Processing Dependency: libnfsidmap.so.0()(64bit) for package: 1:nfs-utils-1.3.0-0.8.el7.x86_64
--> Processing Dependency: libevent-2.0.so.5()(64bit) for package: 1:nfs-utils-1.3.0-0.8.el7.x86_64
--> Running transaction check
---> Package gssproxy.x86_64 0:0.3.0-10.el7 will be installed
--> Processing Dependency: libverto-tevent for package: gssproxy-0.3.0-10.el7.x86_64
--> Processing Dependency: libini_config.so.3(INI_CONFIG_1.1.0)(64bit) for package: gssproxy-0.3.0-10.el7.x86_64
--> Processing Dependency: libref_array.so.1()(64bit) for package: gssproxy-0.3.0-10.el7.x86_64
--> Processing Dependency: libini_config.so.3()(64bit) for package: gssproxy-0.3.0-10.el7.x86_64
--> Processing Dependency: libcollection.so.2()(64bit) for package: gssproxy-0.3.0-10.el7.x86_64
--> Processing Dependency: libbasicobjects.so.0()(64bit) for package: gssproxy-0.3.0-10.el7.x86_64
---> Package keyutils.x86_64 0:1.5.8-3.el7 will be installed
---> Package libevent.x86_64 0:2.0.21-4.el7 will be installed
---> Package libnfsidmap.x86_64 0:0.25-11.el7 will be installed
---> Package libtirpc.x86_64 0:0.2.4-0.5.el7 will be installed
---> Package rpcbind.x86_64 0:0.2.0-26.el7 will be installed
--> Running transaction check
---> Package libbasicobjects.x86_64 0:0.1.1-24.el7 will be installed
---> Package libcollection.x86_64 0:0.6.2-24.el7 will be installed
---> Package libini_config.x86_64 0:1.1.0-24.el7 will be installed
--> Processing Dependency: libpath_utils.so.1(PATH_UTILS_0.2.1)(64bit) for package: libini_config-1.1.0-24.el7.x86_64
--> Processing Dependency: libpath_utils.so.1()(64bit) for package: libini_config-1.1.0-24.el7.x86_64
---> Package libref_array.x86_64 0:0.1.4-24.el7 will be installed
---> Package libverto-tevent.x86_64 0:0.2.5-4.el7 will be installed
--> Processing Dependency: libtevent.so.0(TEVENT_0.9.9)(64bit) for package: libverto-tevent-0.2.5-4.el7.x86_64
--> Processing Dependency: libtalloc.so.2(TALLOC_2.0.2)(64bit) for package: libverto-tevent-0.2.5-4.el7.x86_64
--> Processing Dependency: libtevent.so.0()(64bit) for package: libverto-tevent-0.2.5-4.el7.x86_64
--> Processing Dependency: libtalloc.so.2()(64bit) for package: libverto-tevent-0.2.5-4.el7.x86_64
--> Running transaction check
---> Package libpath_utils.x86_64 0:0.2.1-24.el7 will be installed
---> Package libtalloc.x86_64 0:2.1.1-1.el7 will be installed
---> Package libtevent.x86_64 0:0.9.21-3.el7 will be installed
--> Finished Dependency Resolution
 
Dependencies Resolved
 
====================================================================================================================================
 Package                             Arch                       Version                              Repository        Size
====================================================================================================================================
Installing:
 nfs-utils                           x86_64                     1:1.3.0-0.8.el7                      base                 362 k
Installing for dependencies:
 gssproxy                            x86_64                     0.3.0-10.el7                         base                81 k
 keyutils                            x86_64                     1.5.8-3.el7                          base                   54 k
 libbasicobjects                     x86_64                     0.1.1-24.el7                         base             24 k
 libcollection                       x86_64                     0.6.2-24.el7                         base               40 k
 libevent                            x86_64                     2.0.21-4.el7                         base                 214 k
 libini_config                       x86_64                     1.1.0-24.el7                         base               50 k
 libnfsidmap                         x86_64                     0.25-11.el7                          base             46 k
 libpath_utils                       x86_64                     0.2.1-24.el7                         base               27 k
 libref_array                        x86_64                     0.1.4-24.el7                         base                26 k
 libtalloc                           x86_64                     2.1.1-1.el7                          base                   30 k
 libtevent                           x86_64                     0.9.21-3.el7                         base                 31 k
 libtirpc                            x86_64                     0.2.4-0.5.el7                        base                   85 k
 libverto-tevent                     x86_64                     0.2.5-4.el7                          base              9.0 k
 rpcbind                             x86_64                     0.2.0-26.el7                         base                55 k
 
Transaction Summary
====================================================================================================================================
Install  1 Package (+14 Dependent packages)
 
Total download size: 1.1 M
Installed size: 2.9 M
Is this ok [y/d/N]: y
Downloading packages:
(1/15): gssproxy-0.3.0-10.el7.x86_64.rpm                                                                     |  81 kB  00:00:00    
(2/15): keyutils-1.5.8-3.el7.x86_64.rpm                                                                      |  54 kB  00:00:00    
(3/15): libbasicobjects-0.1.1-24.el7.x86_64.rpm                                                              |  24 kB  00:00:00    
(4/15): libcollection-0.6.2-24.el7.x86_64.rpm                                                                |  40 kB  00:00:00    
(5/15): libnfsidmap-0.25-11.el7.x86_64.rpm                                                                   |  46 kB  00:00:00    
(6/15): libini_config-1.1.0-24.el7.x86_64.rpm                                                                |  50 kB  00:00:00    
(7/15): libevent-2.0.21-4.el7.x86_64.rpm                                                                     | 214 kB  00:00:00    
(8/15): libpath_utils-0.2.1-24.el7.x86_64.rpm                                                                |  27 kB  00:00:00    
(9/15): libref_array-0.1.4-24.el7.x86_64.rpm                                                                 |  26 kB  00:00:00    
(10/15): libtevent-0.9.21-3.el7.x86_64.rpm                                                                   |  31 kB  00:00:00    
(11/15): libverto-tevent-0.2.5-4.el7.x86_64.rpm                                                              | 9.0 kB  00:00:00    
(12/15): rpcbind-0.2.0-26.el7.x86_64.rpm                                                                     |  55 kB  00:00:00    
(13/15): nfs-utils-1.3.0-0.8.el7.x86_64.rpm                                                                  | 362 kB  00:00:00    
(14/15): libtalloc-2.1.1-1.el7.x86_64.rpm                                                                    |  30 kB  00:00:00    
(15/15): libtirpc-0.2.4-0.5.el7.x86_64.rpm                                                                   |  85 kB  00:00:00    
------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                               1.5 MB/s | 1.1 MB  00:00:00    
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : libref_array-0.1.4-24.el7.x86_64                                                                        1/15
  Installing : libcollection-0.6.2-24.el7.x86_64                                                                      2/15
  Installing : libtalloc-2.1.1-1.el7.x86_64                                                                               3/15
  Installing : libtirpc-0.2.4-0.5.el7.x86_64                                                                              4/15
  Installing : libbasicobjects-0.1.1-24.el7.x86_64                                                                  5/15
  Installing : rpcbind-0.2.0-26.el7.x86_64                                                                              6/15
  Installing : libtevent-0.9.21-3.el7.x86_64                                                                            7/15
  Installing : libverto-tevent-0.2.5-4.el7.x86_64                                                                    8/15
  Installing : libpath_utils-0.2.1-24.el7.x86_64                                                                      9/15
  Installing : libini_config-1.1.0-24.el7.x86_64                                                                      10/15
  Installing : gssproxy-0.3.0-10.el7.x86_64                                                                            11/15
  Installing : libnfsidmap-0.25-11.el7.x86_64                                                                       12/15
  Installing : keyutils-1.5.8-3.el7.x86_64                                                                                13/15
  Installing : libevent-2.0.21-4.el7.x86_64                                                                             14/15
  Installing : 1:nfs-utils-1.3.0-0.8.el7.x86_64                                                                          15/15
  Verifying  : 1:nfs-utils-1.3.0-0.8.el7.x86_64                                                                         1/15
  Verifying  : libbasicobjects-0.1.1-24.el7.x86_64                                                                 2/15
  Verifying  : libverto-tevent-0.2.5-4.el7.x86_64                                                                   3/15
  Verifying  : libtirpc-0.2.4-0.5.el7.x86_64                                                                              4/15
  Verifying  : libtalloc-2.1.1-1.el7.x86_64                                                                               5/15
  Verifying  : libevent-2.0.21-4.el7.x86_64                                                                             6/15
  Verifying  : libtevent-0.9.21-3.el7.x86_64                                                                           7/15
  Verifying  : keyutils-1.5.8-3.el7.x86_64                                                                               8/15
  Verifying  : rpcbind-0.2.0-26.el7.x86_64                                                                             9/15
  Verifying  : libnfsidmap-0.25-11.el7.x86_64                                                                       10/15
  Verifying  : libcollection-0.6.2-24.el7.x86_64                                                                     11/15
  Verifying  : gssproxy-0.3.0-10.el7.x86_64                                                                            12/15
  Verifying  : libref_array-0.1.4-24.el7.x86_64                                                                        13/15
  Verifying  : libpath_utils-0.2.1-24.el7.x86_64                                                                      14/15
  Verifying  : libini_config-1.1.0-24.el7.x86_64                                                                     15/15
 
Installed:
  nfs-utils.x86_64 1:1.3.0-0.8.el7                                                                                          
 
Dependency Installed:
  gssproxy.x86_64 0:0.3.0-10.el7             keyutils.x86_64 0:1.5.8-3.el7             libbasicobjects.x86_64 0:0.1.1-24.el7     
  libcollection.x86_64 0:0.6.2-24.el7        libevent.x86_64 0:2.0.21-4.el7            libini_config.x86_64 0:1.1.0-24.el7       
  libnfsidmap.x86_64 0:0.25-11.el7           libpath_utils.x86_64 0:0.2.1-24.el7       libref_array.x86_64 0:0.1.4-24.el7        
  libtalloc.x86_64 0:2.1.1-1.el7             libtevent.x86_64 0:0.9.21-3.el7           libtirpc.x86_64 0:0.2.4-0.5.el7           
  libverto-tevent.x86_64 0:0.2.5-4.el7       rpcbind.x86_64 0:0.2.0-26.el7           
 
Complete!
root@chantyou:~#

查看远程NFS服务器共享出来的文件夹:

果然可以看到:

1
2
3
4
5
6
7
root@chantyou:~# showmount --help
Usage: showmount [-adehv]
       [--all] [--directories] [--exports]
       [--no-headers] [--help] [--version] [host]
root@chantyou:~# showmount -e 121.41.120.185
Export list for 121.41.120.185:
/home/share/image *

然后继续去测试:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
root@chantyou:~# ls
httpd.conf.backup_20150604
root@chantyou:~# ls -l
total 12
-rw-r--r-- 1 root root 11753 Jun  4 15:48 httpd.conf.backup_20150604
root@chantyou:~# mkdir nfs_client_root
root@chantyou:~# cd nfs_client_root/
root@chantyou:nfs_client_root# ls -l
total 0
root@chantyou:nfs_client_root# pwd
/root/nfs_client_root
root@chantyou:nfs_client_root# mount -t nfs 121.41.120.185:/home/share/image /root/nfs_client_root/
root@chantyou:nfs_client_root# ls -l
total 0
root@chantyou:nfs_client_root# pwd
/root/nfs_client_root
root@chantyou:nfs_client_root# df -h
Filesystem                        Size  Used Avail Use% Mounted on
/dev/xvda1                         20G  2.2G   17G  12% /
devtmpfs                          489M     0  489M   0% /dev
tmpfs                             497M     0  497M   0% /dev/shm
tmpfs                             497M   50M  447M  11% /run
tmpfs                             497M     0  497M   0% /sys/fs/cgroup
121.41.120.185:/home/share/image   20G  1.8G   17G  10% /root/nfs_client_root
root@chantyou:nfs_client_root# mount -t nfs
root@chantyou:nfs_client_root# cd ..
root@chantyou:~# mount -t nfs
root@chantyou:~# service --status-all
Aegis is running
/etc/init.d/agentwatch: line 152: status: command not found
netconsole module not loaded
Configured devices:
lo eth0 eth1
Currently active devices:
lo eth0 eth1
root@chantyou:~# umount /root/nfs_client_root/
root@chantyou:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       20G  2.2G   17G  12% /
devtmpfs        489M     0  489M   0% /dev
tmpfs           497M     0  497M   0% /dev/shm
tmpfs           497M   50M  447M  11% /run
tmpfs           497M     0  497M   0% /sys/fs/cgroup
root@chantyou:~# mount -t nfs 121.41.120.185:/home/share/image /root/nfs_client_root/
root@chantyou:~# df -h
Filesystem                        Size  Used Avail Use% Mounted on
/dev/xvda1                         20G  2.2G   17G  12% /
devtmpfs                          489M     0  489M   0% /dev
tmpfs                             497M     0  497M   0% /dev/shm
tmpfs                             497M   50M  447M  11% /run
tmpfs                             497M     0  497M   0% /sys/fs/cgroup
121.41.120.185:/home/share/image   20G  1.8G   17G  10% /root/nfs_client_root
root@chantyou:~# touch ^C
root@chantyou:~# cd /root/nfs_client_root/
root@chantyou:nfs_client_root# ls -l
total 240
-rw-r--r-- 1 root root 70545 May 28  2013 mmexport1369703131812.jpg
-rw-r--r-- 1 root root 82168 Sep 12  2013 mmexport1378988706739.jpeg
-rw-r--r-- 1 root root 85510 Nov 18  2013 p_large_0fOT_43d9000068f01263.jpg
root@chantyou:nfs_client_root# touch test_client_write.txt
touch: cannot touch ‘test_client_write.txt’: Permission denied
root@chantyou:nfs_client_root# sudo touch test_client_write.txt
touch: cannot touch ‘test_client_write.txt’: Permission denied
root@chantyou:nfs_client_root#

很明显,第一次mount没有刷新出来服务器端的文件。

后来再次重新mount才能看到。

 

但是却没有权限去写入到服务器啊,然后去解决:

【已解决】NFS客户端写入NFS共享文件夹出错:Permission denied

 

9.然后再去NFS客户端的mount动作,尝试加到启动项,让开机自动mount:

1
2
3
4
5
6
7
8
9
10
11
12
13
root@chantyou:nfs_client_root# vi /etc/fstab
#
# /etc/fstab
# Created by anaconda on Fri Nov 21 18:16:53 2014
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=6634633e-001d-43ba-8fab-202f1df93339 / ext4 defaults,barrier=0 1 1
 
121.41.120.185:/home/share/image /root/nfs_client_root/ nfs auto,noatime,nolock,bg,nfsvers=4,intr,tcp,actimeo=1800 0 0                                                                                 
"/etc/fstab" 12L, 412C written
root@chantyou:nfs_client_root#

再去看看fstab的语法:

【整理】Linux中fstab的语法和参数含义和mount NFS时相关参数含义

然后去重启NFS客户端的服务器:

1
root@chantyou:~# reboot

看看是否自动挂载了,结果没有:

1
2
3
4
5
6
7
8
9
10
11
12
13
Last login: Thu Jul 23 15:21:17 2015 from 121.238.253.76
 
Welcome to aliyun Elastic Compute Service!
 
root@chantyou:~# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1       20G  2.0G   17G  11% /
devtmpfs        488M     0  488M   0% /dev
tmpfs           497M     0  497M   0% /dev/shm
tmpfs           497M  6.5M  490M   2% /run
tmpfs           497M     0  497M   0% /sys/fs/cgroup
root@chantyou:~# ls /root/nfs_client_root/ -l
total 0

所以就是:

【已解决】CentOS 7中fstab中添加了系统启动时自动挂载NFS但无效

 

【总结】

最终终于实现了,(在NFS服务端)用NFS共享文件夹,供别人(NFS的客户端)去访问,并且NFS客户端中,添加NFS的mount到启动项,确保开机就自动挂载。

 

再整理一下:

要在服务器上面建立NFS服务器,供别人访问其上面的文件的话,需要搞懂:

【NFS的背景知识】

  • 需要先有个NFS的服务器
    • 上面开通了NFS server的功能:一般叫做nfs-kernel-server(support for NFS kernel server)
    • 共享出别人可以访问的文件夹(和文件)
  • 其他的,别人,作为NFS的客户端
    • 也要先去安装NFS client客户端的软件:一般叫做nfs-common(NFS support files common to client and server)
    • 然后去mount挂载远程NFS服务器对应的文件夹到本地某个目录上

然后NFS客户端就可以像操作本地的文件夹一样去操作NFS远程服务器上面的文件夹和文件了:

新建文件

删除文件

等等。

 

具体操作步骤是:

【NFS服务器】

1.安装NFS服务器端软件:

1
apt-get install nfs-kernel-server

2.编辑配置文件,导出对应要共享的文件夹:

1
vi /etc/exports

加上配置参数,比如:

1
/home/share/image *(rw,sync,no_subtree_check)

编辑后,导出配置:

1
exportfs -a

然后记得重启nfs:

1
service nfs-kernel-server restart

然后可以通过:

1
service nfs-kernel-server status

确认NFS服务已正常运行。

 

【NFS客户端】

CentOS:

1
yum install nfs-utils

Ubuntu:

1
apt-get install nfs-common

然后去查看远程NFS服务器共享出来的文件夹:

1
showmount -e 121.41.120.185

然后去把远程NFS服务器的共享文件夹挂载到本地:

1
mount -t nfs 121.41.120.185:/home/share/image /root/nfs_client_root/

 

【关于NFS客户端如何开机自动挂载(远程NFS服务器共享出来的文件夹)】

如果想要NFS客户端,每次开机启动都自动挂载,则可以去编辑:

1
vi /etc/fstab

加上如下配置:

1
121.41.120.185:/home/share/image /root/nfs_client_root/ nfs auto,noatime,nolock,bg,nfsvers=4,intr,tcp,actimeo=1800 0 0

即可。

其中具体的参数的含义,详见:

【整理】Linux中fstab的语法和参数含义和mount NFS时相关参数含义

 

需要注意的是当CentOS 7时,默认可能会由于rc.local没有权限而导致自动挂载配置失效。

详见:

【已解决】CentOS 7中fstab中添加了系统启动时自动挂载NFS但无效

转载请注明:在路上 » 【已解决】在远程Ubuntu服务器中开通NFS服务供别人访问服务器上的文件

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
82 queries in 0.202 seconds, using 22.28MB memory