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
|
我的博客已迁移到xdoujiang.com请去那边和我交流
NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,
它允许网络中的计算机之间通过TCP
/IP
网络共享资源。在NFS的应用中,
本地NFS的客户端应用可以透明地读写位于远端NFS服务器上的文件,就像访问本地文件一样。
一、基础环境
1)服务端10.1.10.117 erh0 7.8(debian) 3.2.0-4-amd64
2)客户端10.1.10.160 eth0 5.0.10(debian) 2.6.26-2-amd64
二、安装nfs
1、安装nfs服务端
apt-get -y
install
nfs-kernel-server
2、创建共享目录
mkdir
/opt/nfsdata
-p
3、修改配置
cat
/etc/exports
/opt/nfsdata
10.1.10.117(rw,async,no_root_squash) 10.1.10.160(rw,async,no_root_squash)
4、参数说明
ro
#只读访问
rw
#读写访问
sync
#将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性
async
#将数据先保存在内存缓冲区中,必要时才写入磁盘
secure
#限制客户端只能从小于1024的tcp/ip端口连接nfs服务器
insecure
#允许客户端从大于1024的tcp/ip端口连接服务器
wdelay
#检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率
no_wdelay
#若有写操作则立即执行,应与sync配合使用
hide
#在NFS共享目录中不共享其子目录
no_hide
#共享NFS目录的子目录
subtree_check
#若输出目录是一个子目录,则nfs服务器将检查其父目录的权限
no_subtree_check
#即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率
all_squash
#将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)
no_all_squash
#与all_squash取反
root_squash
#将root用户及所属组都映射为匿名用户或用户组
no_root_squash
#与rootsquash取反
anonuid=xxx
#将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx)
anongid=xxx
#将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx)
5、重启服务
[ ok ] Stopping NFS kernel daemon: mountd nfsd.
[ ok ] Unexporting directories
for
NFS kernel daemon....
[....] Exporting directories
for
NFS kernel daemon...exportfs:
/etc/exports
[1]: Neither
'subtree_check'
or
'no_subtree_check'
specified
for
export
"10.1.10.117:/opt/nfsdata"
.
Assuming default behaviour (
'no_subtree_check'
).
NOTE: this default has changed since nfs-utils version 1.0.x
exportfs:
/etc/exports
[1]: Neither
'subtree_check'
or
'no_subtree_check'
specified
for
export
"10.1.10.160:/opt/nfsdata"
.
Assuming default behaviour (
'no_subtree_check'
).
NOTE: this default has changed since nfs-utils version 1.0.x
. ok
[ ok ] Starting NFS kernel daemon: nfsd mountd.
6、查看共享具体信息
cat
/var/lib/nfs/etab
/opt/nfsdata
10.1.10.117(rw,async,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534)
/opt/nfsdata
10.1.10.160(rw,async,wdelay,hide,nocrossmnt,secure,no_root_squash,no_all_squash,no_subtree_check,secure_locks,acl,anonuid=65534,anongid=65534)
7、使用showmount命令查看共享目录
showmount -e
Export list
for
debian:
/opt/nfsdata
10.1.10.160,10.1.10.117
8、使用rpcinfo命令查看监听的端口
rpcinfo -p 10.1.10.117
program vers proto port service
100000 4 tcp 111 portmapper
100000 3 tcp 111 portmapper
100000 2 tcp 111 portmapper
100000 4 udp 111 portmapper
100000 3 udp 111 portmapper
100000 2 udp 111 portmapper
100024 1 udp 56564 status
100024 1 tcp 46588 status
100003 2 tcp 2049 nfs
100003 3 tcp 2049 nfs
100003 4 tcp 2049 nfs
100227 2 tcp 2049
100227 3 tcp 2049
100003 2 udp 2049 nfs
100003 3 udp 2049 nfs
100003 4 udp 2049 nfs
100227 2 udp 2049
100227 3 udp 2049
100021 1 udp 41855 nlockmgr
100021 3 udp 41855 nlockmgr
100021 4 udp 41855 nlockmgr
100021 1 tcp 38046 nlockmgr
100021 3 tcp 38046 nlockmgr
100021 4 tcp 38046 nlockmgr
100005 1 udp 36619 mountd
100005 1 tcp 37282 mountd
100005 2 udp 54466 mountd
100005 2 tcp 57293 mountd
100005 3 udp 52004 mountd
100005 3 tcp 40933 mountd
9、查看到相应的服务都默认开机启动了(安装时候自动加入的)
ll
/etc/rc2
.d/
lrwxrwxrwx 1 root root 17 Aug 4 14:52 S13rpcbind -> ..
/init
.d
/rpcbind
lrwxrwxrwx 1 root root 20 Aug 4 14:52 S14nfs-common -> ..
/init
.d
/nfs-common
lrwxrwxrwx 1 root root 27 Aug 4 14:52 S16nfs-kernel-server -> ..
/init
.d
/nfs-kernel-server
10、测试
1)本机挂载
mount
-t nfs 10.1.10.117:
/opt/nfsdata/
/mnt
2)查看
df
-Th
Filesystem Type Size Used Avail Use% Mounted on
rootfs rootfs 9.2G 703M 8.1G 8% /
udev devtmpfs 10M 0 10M 0%
/dev
tmpfs tmpfs 24M 236K 23M 1%
/run
/dev/disk/by-uuid/62f9f2a1-249c-41fe-b639-c5137c10bf83
ext4 9.2G 703M 8.1G 8% /
tmpfs tmpfs 5.0M 0 5.0M 0%
/run/lock
tmpfs tmpfs 810M 0 810M 0%
/run/shm
/dev/sda5
ext4 27G 172M 26G 1%
/opt
10.1.10.117:
/opt/nfsdata
nfs4 27G 172M 26G 1%
/mnt
三、客户端挂载(远程)10.1.10.160
1、安装nfs客户端
apt-get -y
install
nfs-common
2、查看10.1.10.117共享目录信息
showmount -e 10.1.10.117
Export list
for
10.1.10.117:
/opt/nfsdata
10.1.10.160,10.1.10.117
3、再挂载
mount
-t nfs 10.1.10.117:
/opt/nfsdata/
/mnt
4、查看
root@10.1.10.160:~
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1
ext3 9.2G 801M 8.0G 9% /
tmpfs tmpfs 124M 0 124M 0%
/lib/init/rw
udev tmpfs 10M 700K 9.4M 7%
/dev
tmpfs tmpfs 124M 0 124M 0%
/dev/shm
/dev/sda5
ext3 17G 487M 16G 3%
/opt
10.1.10.117:
/opt/nfsdata/
nfs 27G 172M 26G 1%
/mnt
5、添加
/etc/fstab
开机自动挂载
1)在
/etc/fstab
最后1行添加
10.1.10.117:
/opt/nfsdata
/mnt
nfs defaults 0 0
2)使用
mount
-a检查
root@10.1.10.160:~
# df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1
ext3 9.2G 802M 8.0G 9% /
tmpfs tmpfs 124M 0 124M 0%
/lib/init/rw
udev tmpfs 10M 700K 9.4M 7%
/dev
tmpfs tmpfs 124M 0 124M 0%
/dev/shm
/dev/sda5
ext3 17G 487M 16G 3%
/opt
10.1.10.117:
/opt/nfsdata
nfs 27G 172M 26G 1%
/mnt
四、服务端查看
1、在服务端上能看到客户端10.1.10.160已连接上来了
showmount -a
All
mount
points on debian:
10.1.10.160:
/opt/nfsdata
2、能看到10.1.10.160挂载刮来的信息
cat
/var/lib/nfs/rmtab
10.1.10.160:
/opt/nfsdata
:0x00000001
五、还有exportfs nfsstat等命令,暂时没用到,可以自行体验下
六、参考文章
http:
//nfs
.sourceforge.net/
|
本文转自 xdoujiang 51CTO博客,原文链接:http://blog.51cto.com/7938217/1681697,如需转载请自行联系原作者