centos7.1安装nfs

简介:

环境:centos7.1 

server:192.168.0.63 

client:192.168.0.64 (centos7.1 客户端)

共享文件的目录用户为:web(uid:1000,gid:1000)

一、安装


yum -y install nfs-utils rpcbind


nfs 的配置文件 /etc/expots

共享目录赋予权限:chmod 755  /home/data

vim /etc/exports

/home/data  192.168.0.0/24(rw,async,insecure,anonuid=1000,anongid=1000,no_root_squash)


二、使配置生效


exportfs -rv


#配置文件说明:

-----------------------------

/opt/test 为共享目录

192.168.1.0/24  可以为一个网段,一个IP,也可以是域名,域名支持通配符 如: *.com

rw:read-write,可读写;

ro:read-only,只读;

sync:文件同时写入硬盘和内存;

async:文件暂存于内存,而不是直接写入内存;

no_root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,也拥有root权限。显然开启这项是不安全的。

root_squash:NFS客户端连接服务端时如果使用的是root的话,那么对服务端分享的目录来说,拥有匿名用户权限,通常他将使用nobody或nfsnobody身份;

all_squash:不论NFS客户端连接服务端时使用什么用户,对服务端分享的目录来说都是拥有匿名用户权限;

anonuid:匿名用户的UID值

anongid:匿名用户的GID值。备注:其中anonuid=1000,anongid=1000,为此目录用户web的ID号,达到连接NFS用户权限一致。

defaults 使用默认的选项。默认选项为rw、suid、dev、exec、auto nouser与async。

atime 每次存取都更新inode的存取时间,默认设置,取消选项为noatime。

noatime 每次存取时不更新inode的存取时间。

dev 可读文件系统上的字符或块设备,取消选项为nodev。

nodev 不读文件系统上的字符或块设备。

exec 可执行二进制文件,取消选项为noexec。

noexec 无法执行二进制文件。

auto 必须在/etc/fstab文件中指定此选项。执行-a参数时,会加载设置为auto的设备,取消选取为noauto。

noauto 无法使用auto加载。

suid 启动set-user-identifier设置用户ID与set-group-identifer设置组ID设置位,取消选项为nosuid。

nosuid 关闭set-user-identifier设置用户ID与set-group-identifer设置组ID设置位。

user 普通用户可以执行加载操作。

nouser 普通用户无法执行加载操作,默认设置。

remount 重新加载设备。通常用于改变设备的设置状态。

rsize 读取数据缓冲大小,默认设置1024。--影响性能

wsize 写入数据缓冲大小,默认设置1024。

fg 以前台形式执行挂载操作,默认设置。在挂载失败时会影响正常操作响应。

bg 以后台形式执行挂载操作。

hard 硬式挂载,默认设置。如果与服务器通讯失败,让试图访问它的操作被阻塞,直到服务器恢复为止。

soft 软式挂载。服务器通讯失败,让试图访问它的操作失败,返回一条出错消息。这项功能对于避免进程挂在无关紧要的安装操作上来说非常有用。

retrans=n 指定在以软方式安装的文件系统上,在返回一条出错消息之前重复发出请求的次数。

nointr 不允许用户中断,默认设置。

intr 允许用户中断被阻塞的操作并且让它们返回一条出错消息。

timeo=n 设置请求的超时时间以十分之一秒为单位。

tcp 传输默认使用udp,可能出现不稳定,使用proto=tcp更改传输协议。客户端参考mountproto=netid


(以上内容:参考:man nfs)

三、启动nfs

systemctl enable rpcbind

systemctl start rpcbind

systemctl enable nfs-server

systemctl start nfs-server


确认NFS服务器启动成功:

rpcinfo -p

查看具体目录挂载权限

cat /var/lib/nfs/etab


四、客户端挂载:

1、linux客户端挂载:

在从机上安装NFS 客户端


首先是安裝nfs,然后启动rpcbind服务


systemctl enable rpcbind.service


systemctl start rpcbind.service


注意:客户端不需要启动nfs服务

检查 NFS 服务器端是否有目录共享:

showmount -e nfs服务器的IP

showmount -e 192.168.0.63     


客户端挂载#开机自动挂载

vim /etc/fstab  

192.168.0.63:/home/data    /home/data     nfs4 rw,hard,intr,proto=tcp,port=2049,noauto    0  0

手工挂载:

mount -t nfs 192.168.0.63:/home/data /home/data

#查看是否挂载成功。

df -h 

NFS默认是用UDP协议,换成TCP协议达到稳定传输目的:

mount -t nfs 192.168.0.63:/home/data /home/data -o proto=tcp -o nolock


2、windows客户端挂载:


1)、Win7自带的NFS客户端可以在“控制面板”->“程序”->“WIndows 功能”找到->nfs-安装。

2)、由于自带的客户端功能少,缺少用户名映射,功能,所以必然会遇到权限的问题。所以需要自行配置权限问题


获取nfs server 用户web的gid和uid,并记录uid和gid,当前为:1000


打开注册表编辑器,找到HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default,添加两个REG_DWORD值,填上uid和gid(10进制)完成后重启电脑


注册表导出是如下格式 :

Windows Registry Editor Version 5.00


[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ClientForNFS\CurrentVersion\Default]

"AnonymousGid"=dword:000003e8

"AnonymousUid"=dword:000003e8


3、挂载到Z盘

mount -o anon mtype=soft lang=ansi  \\192.168.0.63\home\data\  Z:\

事项:一定要用软装载模式(mtype=soft),防止资源管理器停止响应,不能用utf-8

参考:http://nfs.sourceforge.net/nfs-howto/index.html











本文转自 lcpljc 51CTO博客,原文链接:http://blog.51cto.com/lcpljc/1948425,如需转载请自行联系原作者

目录
相关文章
|
9天前
|
消息中间件 Linux API
centos7 安装rabbitmq自定义版本及配置
centos7 安装rabbitmq自定义版本及配置
|
16天前
|
安全 关系型数据库 MySQL
Linux(CentOS6)安装MySQL5.6
Linux(CentOS 6)系统上安装MySQL 5.6版本的详细步骤,包括准备数据存放目录、创建用户、下载安装包、初始化数据库、配置服务脚本、设置环境变量等操作。
47 1
|
19天前
|
关系型数据库 MySQL Java
centos7安装mysql教程及Navicat平替软件
【8月更文挑战第17天】本教程详述CentOS 7上安装MySQL的过程。首先确保移除任何预装的MySQL组件,然后通过wget获取并安装MySQL的YUM源。可以选择安装特定版本如5.7或8.0。安装MySQL服务器后,启动服务并查找初始密码。登录MySQL后应立即更改密码,并可根据需要设置远程访问权限。此外,还推荐使用免费开源的DBeaver作为数据库管理工具,提供了安装步骤以方便管理和操作MySQL数据库。
|
8天前
|
弹性计算 关系型数据库 MySQL
centos7 mysql安装及配置
本文详细介绍了在阿里云服务器ECS上通过yum源安装MySQL 8.0.12的过程,包括更新yum源、下载并安装MySQL源、解决安装过程中可能遇到的问题等步骤。此外,还介绍了如何启动MySQL服务、设置开机自启、配置登录密码、添加远程登录用户以及处理远程连接异常等问题。适合初学者参考,帮助快速搭建MySQL环境。
61 8
centos7 mysql安装及配置
|
5天前
|
存储 Linux Docker
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
关于如何在CentOS 7.6上安装Docker、介绍Docker存储引擎以及服务进程关系的实战案例。
32 3
CentOS 7.6安装Docker实战案例及存储引擎和服务进程简介
|
16天前
|
Linux 开发工具 数据安全/隐私保护
CentOS7安装流程步骤详细教程
【8月更文挑战第22天】
138 2
CentOS7安装流程步骤详细教程
|
19天前
|
应用服务中间件 Linux 网络安全
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
这篇文章提供了在CentOS 7系统上通过源码安装Nginx的详细步骤,包括从官网下载Nginx源码包、上传至虚拟机、解压、删除压缩包、编译安装前的配置、安装PCRE库(因为Nginx使用PCRE库解析正则表达式)、安装zlib和OpenSSL库(用于支持HTTPS协议)、重新编译Nginx、安装后启动Nginx服务、关闭服务、修改默认端口、以及重启服务测试等步骤。文章还提供了相关命令和操作截图,帮助用户更好地理解和执行安装过程。
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
|
19天前
|
Oracle Java 关系型数据库
2022 年超详细过程步骤讲解 CentOS 7 安装Maven。以及Mavne配置文件的修改
这篇文章提供了在CentOS 7上安装Maven的详细步骤,包括从官网下载Maven、创建文件夹、上传和解压Maven安装包、配置环境变量、设置Maven源为阿里云、指定jar包仓库位置、配置JDK版本,并验证安装是否成功。
2022 年超详细过程步骤讲解 CentOS 7 安装Maven。以及Mavne配置文件的修改
|
22天前
|
Linux C语言
成功解决 在Linux CentOS 7 中安装gcc
这篇文章介绍了如何在Linux CentOS 7系统中安装gcc (g++) 8工具集。由于CentOS 7默认的gcc版本是4.8,而这个版本与Qt 5.14、Qt 5.15或更高版本不兼容,可能会导致编译时出现系统头文件错误。文章中提到,即使在项目配置中添加了`CONFIG+=c++11`,如果仍然报错,那么很可能是gcc版本的问题。为了解决这个问题,文章提供了使用CentOS的Software Collections (scl)来安装更新版本的gcc的步骤。
成功解决 在Linux CentOS 7 中安装gcc
|
9天前
|
分布式计算 资源调度 Hadoop
centos7二进制安装Hadoop3
centos7二进制安装Hadoop3