Linux【实战篇】—— NFS服务搭建与配置

目录

一、介绍

1.1什么是NFS?

1.2客户端与服务端之间的NFS如何进行数据传输?

1.3RPC和NFS的启动顺序

1.4NFS服务 系统守护进程

二、安装NFS服务端

2.1安装NFS服务

2.2 创建共享目录

2.3创建共享目录首页文件

2.4关闭防火墙

2.5启动NFS服务

2.6配置文件的编写格式

2.7配置NFS服务

2.8服务端管理NFS相关命令

三、安装NFS客户端

3.1安装NFS客户端和httpd服务

3.2关闭防火墙

3.3启动服务

3.4查看NFS服务器共享的目录

3.5 将共享目录挂载到客户端目录

3.6浏览器访问客户端IP


一、介绍

1.1什么是NFS?

        NFS(Network File System)网络文件系统,是通过网络来进行服务端与客户端之间的数据传输,仅Linux/Unix系统之间共享文件的一种协议。NFS服务一般用来存储静态数据,例如:脚本、视频、图片等这些不会有太大变化的文件。

特性:

  • NFS的客户端为Linux;
  • 支持多节点同时挂载,以及并发写入;

1.2客户端与服务端之间的NFS如何进行数据传输?

RPC服务:Remove Procedure call 远程过程调用服务/协议

  1. 首先服务端会先启动RPC服务,并开放111端口,等待客户端的RPC服务进行连接;
  2. 其次服务端的NFS再启动,然后向RPC服务注册与客户端NFS连接使用的端口(大于1024),RPC服务会记录这些端口信息;
  3. 当客户端需要读取服务端NFS的共享目录时,客户端的RPC会连接服务端RPC服务开放的111端口,并向服务端RPC服务发送请求;
  4. 服务端的RPC会将记录的服务端NFS端口信息反回给客户端的RPC服务;
  5. 客户端的RPC再将接收到的端口信息给客户端NFS;
  6. 客户端NFS再通过这些端口信息与服务端NFS进行数据传输;

通信原理图:

查看RPC服务管理的端口

rpcinfo -p IP地址

1.3RPC和NFS的启动顺序

        首先,一定是要先启动了RPC服务后才能启动NFS服务,否则NFS服务无法向RPC服务进行端口注册。请注意,如果RPC服务重新启动了,那么原来记录的NFS服务的端口信息都将全部丢失。因此NFS服务也需要重新启动,再向RPC服务进行端口注册。

特别注意:修改完NFS服务配置文件后,不需要重启NFS服务,直接重新加载配置文件即可systemctl reload nfs-server

1.4NFS服务 系统守护进程

nfs:它是基本的NFS守护进程,主要功能是管理客户端能否登录服务器;

rpcbind:主要功能是进行端口映射工作。当客户端尝试连接并使用RPC服务器提供的服务(如NFS服务)时,rpcbind会将所管理的服务的对应端口提供给客户端,从而使客户端可以通过该端口连接服务器。

二、安装NFS服务端

2.1安装NFS服务

yum install -y nfs-utils

2.2 创建共享目录

mkdir /webdata chmod o+w /webdata         # 赋予其它用户拥有写入权限

2.3创建共享目录首页文件

echo "NFS_test" 1> index.txt

2.4关闭防火墙

systemctl stop firewalld # 关闭防火墙

systemctl disable firewalld # 开机不自启动防火墙

setenforce 0 # 关闭selinux

2.5启动NFS服务

# 在启动NFS服务之前先启动RPC服务

systemctl start rpcbind         # 开启RPC服务

systemctl start nfs-server         # 开启nfs服务

systemctl reload nfs-server         # 重新加载nfs服务配置文件

systemctl restart nfs-server         # 重启nfs服务

systemctl stop nfs-server         # 关闭nfs服务

systemctl status nfs-server         # 查看nfs服务

2.6配置文件的编写格式

NFS服务的配置文件为:/etc/exports

/etc/exports 配置文件的内容格式:

/共享目录 客户端1(访问权限,用户映射,其它) 客户端2(访问权限,用户映射,其它)

a.共享目录:共享目录是指NFS服务器共享给客户端的目录;

b.客户端:客户端是指的网络中可以访问NFS服务器共享目录的主机;

客户端常用指定的方式

  • 指定某一个主机:192.168.1.1;
  • 指定子网中所有的主机:192.168.1.0/24;
  • 指定域名主机:www.baidu.com;
  • 指定域名中的所有主机:*.baidu.com;
  • 任何主机都能访问:*;

c.设置共享目录的访问权限

  • 共享目录访问权限为只读:ro;
  • 共享目录访问权限为读写:rw;

d.用户映射

  1. root_squash:NFS客户端root用户创建的文件/目录所有主、所有组,被服务端映射成匿名用户(nfsnobody);(默认选项)
  2. no_root_squash:NFS客户端root用户创建的文件/目录所有主、所有组,保留为root用户;
  3. all_squash:NFS客户端任何用户创建的文件/目录所有主、所有组,被服务端映射成指定的匿名用户;
  • anonuid=xxx:映射成服务端指定的所有主;
  • anongid=xxx:映射成服务端指定的所有组;

e.其它选项

工作常用sync(同步传输);

2.7配置NFS服务

vim /etc/export

# 添加以下内容

/webdata 192.168.157.0/24(rw)

注释

  • /webdata 指的是共享的目录
  • 192.168.157.0/24 指的是允许访问NFS服务器的客户主机网段
  • rw 指的是客户端拥有读写权限

2.8服务端管理NFS相关命令

命令:exportfs

-a:全部挂载或全部卸载 /etc/exports中的内容;

-r:重新挂载/etc/exports中的内容;

-u:取消一个或多个目录的共享;

-v:输出详细信息;

# 卸载所有共享目录

exportfs -au

# 重新挂载所有共享目录

exportfs -ar

# 查看服务器中所有的共享目录信息

exportfs -v

三、安装NFS客户端

3.1安装NFS客户端和httpd服务

yum install -y nfs-utils httpd

3.2关闭防火墙

systemctl stop firewalld # 关闭防火墙

systemctl disable firewalld # 开机不自启动防火墙

setenforce 0 # 关闭selinux

3.3启动服务

# 启动httpd服务

systemctl start httpd

# 启动rpc服务

systemctl start rpcbind

# 启动nfs服务

systemctl start nfs-server

3.4查看NFS服务器共享的目录

showmount -e 服务器IP

-e:查看NFS服务器共享的目录

3.5 将共享目录挂载到客户端目录

mount -t nfs 服务器IP:/共享目录名 /var/www/html

3.6浏览器访问客户端

将共享目录挂载到httpd网站服务的工作目录下 /var/www/html后,在浏览器中访问客户端IP,即可看到共享内容

  • 19
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Linux搭建 NFS 服务器需要安装 NFS 相关的软件包,并进行配置。 首先,在服务器端安装 NFS 相关软件包,在 Ubuntu/Debian 系统中可以使用命令: ``` sudo apt-get install nfs-kernel-server ``` 然后,配置 NFS 服务器端的目录,在/etc/exports 中添加需要共享的目录,格式如下: ``` /path/to/shared/folder client1(rw,sync) client2(ro,sync) ``` 最后,启动 NFS 服务并设置开机启动: ``` sudo systemctl start nfs-kernel-server sudo systemctl enable nfs-kernel-server ``` 客户端可以使用 mount 命令来挂载 NFS 共享目录。 ``` mount -t nfs IP:/path/to/shared/folder /path/to/mount ``` 这样就成功搭建了一个NFS服务器。 ### 回答2: ### 回答3: NFS是Network File System的缩写,它是一种分布式文件系统,可以让不同的计算机之间、不同的操作系统之间共享文件。在Linux系统中搭建一个NFS服务器,可以方便地实现文件共享,以提高工作效率和方便管理文件。 下面我们介绍一些关于LinuxNFS服务器搭建的步骤: 1. 安装NFS服务器 可以使用命令行安装软件包。例如在ubuntu上: `sudo apt-get install nfs-kernel-server`。 2. 配置NFS服务器 首先打开/etc/exports文件,添加需要共享的目录。例如:/home/user/share 192.168.0.0/24(rw,sync,no_root_squash) 其中/home/user/share是要共享的目录,192.168.0.0/24是客户端的IP地址,rw表示可读写,sync表示同步写入,no_root_squash表示root用户对该目录具有管理员权限。 最后,重启NFS服务器:`sudo systemctl restart nfs-kernel-server.service` 3. 客户端连接NFS服务器 在客户端上,要连接到NFS服务器,需要安装nfs-common软件包。然后可以通过mount命令连接NFS服务器。 例如:`sudo mount -t nfs 192.168.0.1:/home/user/share /mnt/nfs` 其中192.168.0.1是NFS服务器的IP地址,/home/user/share是要共享的目录,/mnt/nfs是客户端上的挂载点,用于访问共享目录。 4. 验证NFS服务器 在客户端上,可以通过ls命令或者其他文件操作命令来验证NFS服务器是否正常工作。例如,执行`ls /mnt/nfs`命令来查看共享目录中的文件列表。 到此,我们完成了在Linux系统上搭建NFS服务器,实现文件共享的操作。但是需要注意的是,NFS不是一种非常安全的共享方式,因此需要在网络环境下更加注意一些安全策略,以保护数据的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值