如何使用NFS配置linux文件共享
答案:1 悬赏:40 手机版
解决时间 2021-04-01 18:56
- 提问者网友:孤山下
- 2021-04-01 05:11
如何使用NFS配置linux文件共享
最佳答案
- 五星知识达人网友:痴妹与他
- 2021-04-01 06:30
1、使用的技术
NFS
2、测试环境
NFS服务器:192.168.255.18
NFS客户端:192.168.255.11
操作系统:REDHAT4
3、NFS服务器配置
(1)配置 /etc/hosts.deny
禁止任何客户端能和你的NFS服务器进行NFS连接:
### NFS DAEMONS
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
(2)配置/etc/hosts.allow
允许那些你想要的客户端和你的NFS服务器建立连接。下列步骤将允许任何IP地址
以192.168.2开头的主机(连接到NFS服务器上),也可以指定特定的IP地址。
### NFS DAEMONS
portmap: 192.168.255.
lockd: 192.168.255.
rquotad: 192.168.255.
mountd: 192.168.255.
statd: 192.168.255.
(3)重启portmap
运行 $ /etc/init.d/portmap restart 重启portmap daemon。
(4)配置/etc/exports
NFS挂载目录及权限由/etc/exports文件定义。比如要将我的/tmp目录让
192.168.255.*的IP共享, 则在该文件末尾添加下列语句:
/tmp 192.168.255.*(rw,sync,no_root_squash)
192.168.255.* 网段内的NFS客户端能够共享NFS服务器/tmp目录内容,且有读,写
权限,并且该用户进入/home/zp/share目录后的身份为root,最好加上sync,否则
$ sudo exportfs -r 时会给出警告, sync是NFS的默认选项。
(5)重启NFS服务
运行 $ /etc/init.d/nfs-kernel-server restart 重启nfs服务)
(6)NFS服务器查看共享是否成功
$ Showmount –e 192.168.255.18
/tmp 192.168.255.*
(6)NFS客户端启动NFS服务
service nfs start
(7)NFS客户端查看服务器共享目录
Showmount –e 192.168.255.18
(8)挂载NFS服务器共享目录
mount –t nfs -o tcp192.168.255.18:/tmp /tmp
4、错误排查
当/etc/exports设置的权限,不符合client端的来源时,则会出现以下错误信息:
mount: hostname:/dir failed, reason given by server: Permission denied
5、NFS的一些参数
下面是一些NFS共享的常用参数(/etc/exports配置):
ro
只读访问
rw
读写访问
sync
所有数据在请求时写入共享
async
NFS在写入数据前可以相应请求
secure
NFS通过1024以下的安全TCP/IP端口发送
insecure
NFS通过1024以上的端口发送
wdelay
如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay
如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide
在NFS共享目录中不共享其子目录
no_hide
共享NFS目录的子目录
subtree_check
如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check
和上面相对,不检查父目录权限
all_squash
共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash
保留共享文件的UID和GID(默认)
root_squash
root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash
root用户具有根目录的完全管理访问权限
anonuid=xxx
指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx
指定NFS服务器/etc/passwd文件中匿名用户的GID
注意:如果按照上面步骤不能成功,请查看两台机器的防火墙设置。在条件允许的
情况下,建议将防火墙关闭!
NFS
2、测试环境
NFS服务器:192.168.255.18
NFS客户端:192.168.255.11
操作系统:REDHAT4
3、NFS服务器配置
(1)配置 /etc/hosts.deny
禁止任何客户端能和你的NFS服务器进行NFS连接:
### NFS DAEMONS
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
(2)配置/etc/hosts.allow
允许那些你想要的客户端和你的NFS服务器建立连接。下列步骤将允许任何IP地址
以192.168.2开头的主机(连接到NFS服务器上),也可以指定特定的IP地址。
### NFS DAEMONS
portmap: 192.168.255.
lockd: 192.168.255.
rquotad: 192.168.255.
mountd: 192.168.255.
statd: 192.168.255.
(3)重启portmap
运行 $ /etc/init.d/portmap restart 重启portmap daemon。
(4)配置/etc/exports
NFS挂载目录及权限由/etc/exports文件定义。比如要将我的/tmp目录让
192.168.255.*的IP共享, 则在该文件末尾添加下列语句:
/tmp 192.168.255.*(rw,sync,no_root_squash)
192.168.255.* 网段内的NFS客户端能够共享NFS服务器/tmp目录内容,且有读,写
权限,并且该用户进入/home/zp/share目录后的身份为root,最好加上sync,否则
$ sudo exportfs -r 时会给出警告, sync是NFS的默认选项。
(5)重启NFS服务
运行 $ /etc/init.d/nfs-kernel-server restart 重启nfs服务)
(6)NFS服务器查看共享是否成功
$ Showmount –e 192.168.255.18
/tmp 192.168.255.*
(6)NFS客户端启动NFS服务
service nfs start
(7)NFS客户端查看服务器共享目录
Showmount –e 192.168.255.18
(8)挂载NFS服务器共享目录
mount –t nfs -o tcp192.168.255.18:/tmp /tmp
4、错误排查
当/etc/exports设置的权限,不符合client端的来源时,则会出现以下错误信息:
mount: hostname:/dir failed, reason given by server: Permission denied
5、NFS的一些参数
下面是一些NFS共享的常用参数(/etc/exports配置):
ro
只读访问
rw
读写访问
sync
所有数据在请求时写入共享
async
NFS在写入数据前可以相应请求
secure
NFS通过1024以下的安全TCP/IP端口发送
insecure
NFS通过1024以上的端口发送
wdelay
如果多个用户要写入NFS目录,则归组写入(默认)
no_wdelay
如果多个用户要写入NFS目录,则立即写入,当使用async时,无需此设置。
hide
在NFS共享目录中不共享其子目录
no_hide
共享NFS目录的子目录
subtree_check
如果共享/usr/bin之类的子目录时,强制NFS检查父目录的权限(默认)
no_subtree_check
和上面相对,不检查父目录权限
all_squash
共享文件的UID和GID映射匿名用户anonymous,适合公用目录。
no_all_squash
保留共享文件的UID和GID(默认)
root_squash
root用户的所有请求映射成如anonymous用户一样的权限(默认)
no_root_squash
root用户具有根目录的完全管理访问权限
anonuid=xxx
指定NFS服务器/etc/passwd文件中匿名用户的UID
anongid=xxx
指定NFS服务器/etc/passwd文件中匿名用户的GID
注意:如果按照上面步骤不能成功,请查看两台机器的防火墙设置。在条件允许的
情况下,建议将防火墙关闭!
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯