共享存储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
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,如需转载请自行联系原作者
目录
相关文章
|
4月前
|
存储 Kubernetes 容器
k8s创建NFS动态存储
k8s创建NFS动态存储
|
4月前
|
存储 Kubernetes 数据安全/隐私保护
在K8S中,如果后端nfs存储的ip发生变化如何解决?
在K8S中,如果后端nfs存储的ip发生变化如何解决?
|
5月前
|
Java Scala C++
云计算存储问题之中心NFS服务器如何解决
云计算存储问题之中心NFS服务器如何解决
|
5月前
|
存储 云计算
云计算存储问题之NFS与其他文件共享协议共同点如何解决
云计算存储问题之NFS与其他文件共享协议共同点如何解决
|
4月前
|
存储 Kubernetes 调度
使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)
使用 Kubeadm 部署 Kubernetes(K8S) 安装 -- 持久化存储(NFS网络存储)
70 0
|
7月前
|
存储 Kubernetes 数据安全/隐私保护
|
7月前
|
存储 Kubernetes 应用服务中间件
k8s-配置与存储-持久化存储-NFS 挂载、StorageClass 存储类 动态创建NFS-PV案例
k8s-配置与存储-持久化存储-NFS 挂载、StorageClass 存储类 动态创建NFS-PV案例
678 0
|
7月前
|
存储 Linux 块存储
DRBD+Heratbeat+NFS高可用文件共享存储
DRBD+Heratbeat+NFS高可用文件共享存储
|
存储 Unix 应用服务中间件
k8s--数据存储、HostPath、NFS 存储
k8s--数据存储、HostPath、NFS 存储
|
7月前
|
存储 Kubernetes 容器
K8S中使用nfs作为存储卷
K8S中使用nfs作为存储卷
69 0