首页 > 其他分享 >NFS的安装配置

NFS的安装配置

时间:2023-02-16 10:15:06浏览次数:35  
标签:10 rpcbind service 配置 NFS nfs 共享 安装

网络文件系统(NFS)

NFS的全称是Network FileSystem,即网络文件系统

NFS主要实现的功能是让网络上的不同操作系统之间共享数据。

NFS首先在远程服务端(共享数据的操作系统)共享出文件或者目录,然后远端共享出来的文件或者目录就可以通过挂载(mount)的方式挂接到本地的不同操作系统上,最后,本地系统就可以很方便的使用远端提供的文件服务,操作起来像在本地操作一样。从而实现了数据的共享。

NFS Server端的配置

NFS的主要配置文件只有一个/etc/exports,配置非常简单,设置格式为:

共享资源路径 [主机地址] [选项]

例如:下面是某系统/etc/exports的设置:

/webdata      *(sync,rw,all_squash)
/tmp     *(rw,no_root_squash)
/home/share   192.168.1.*(rw,root_squash)   *(ro)
/opt/data    192.168.1.18(rw)
  • 共享资源路径:就是要共享出来的目录或者磁盘分区。例如上面的/tmp、/home/share目录等,这些目录存在于NFS Server端,以供NFS Client挂载使用。

  • 主机地址:设定允许使用NFS Server共享资源的客户端主机地址,主机地址可以是主机名、域名、IP地址等,支持匹配。

  • 选项:下面是可用的各个选项含义:

    默认选项:(ro,sync,root_squash,no_all_squash)

    • ro: 即为:read only,也就是客户端主机对共享资源仅仅有读权限。
    • rw: 即为:read write,也就是客户端主机对共享资源有读、写权限。
    • no_root_squash: 信任客户端,根据用户UID进行判断,如果登入到NFS主机的用户是ROOT,那么此用户就拥有对共享资源的最高权限。此参数很不安全,建议不要使用。
    • root_squash:系统预设值,当登入NFS主机的用户root 时,那么这个使用者的权限将被縮成为匿名使用者,也就是它的UID与GID都会变成nobody身份;只有可读权限,系统以此为预设值,显然是为了安全考虑。
    • all_squash:不管登陆NFS主机的是什么用户,都会将共享文件的UID和GID映射为匿名用户nobody。
    • no_all_squash:系统预设值,保留共享文件的UID和GID默认权限。也就是客户端用户的UID以及GID和服务端共享文件UID和GID相同时,才有对共享文件的读写权限。这种选项保证了共享文件的用户和组权限不会改变。
    • sync:资料同步写入磁盘中。默认选择。
    • async:资料会先暂时存放在内存中,不会直接写入硬盘。

利用exportfs命令即可让修改生效
重新mount 文件/etc/exports中分享出来的目录,显示mount过程,操作如下:
exportfs -rv

  • -r :重新mount /etc/exports中分享出来的目录。
  • -v :在 export 的時候,将详细的信息输出到屏幕上。
  • –a 输出本机所有共享
  • –au 停止本机所有共享

实操配置NFSserver

检查软件是否安装

$ rpm -qa | grep nfs
libnfsidmap-0.25-19.el7.x86_64
nfs-utils-1.3.0-0.68.el7.x86_64
$ rpm -qa | grep rpcbind
rpcbind-0.2.0-49.el7.x86_64

配置server配置文件

$ cat /etc/exports
/data *(rw,root_squash)
/tmp 10.1.2.*(rw,no_root_squash)

生效配置

$ exportfs -rv
exporting 10.1.2.*:/tmp
exporting *:/data

启动服务

nfs

rpcbind

nfslock

# 启动三个服务
$ systemctl start nfs rpcbind nfslock

# 查看这三个服务的状态
$ systemctl status nfs rpcbind nfslock
● nfs-server.service - NFS server and services
   Loaded: loaded (/usr/lib/systemd/system/nfs-server.service; disabled; vendor preset: disabled)
   Active: active (exited) since 日 2022-04-10 03:09:34 CST; 7s ago
  Process: 2051 ExecStartPost=/bin/sh -c if systemctl -q is-active gssproxy; then systemctl reload gssproxy ; fi (code=exited, status=0/SUCCESS)
  Process: 2034 ExecStart=/usr/sbin/rpc.nfsd $RPCNFSDARGS (code=exited, status=0/SUCCESS)
  Process: 2033 ExecStartPre=/usr/sbin/exportfs -r (code=exited, status=0/SUCCESS)
 Main PID: 2034 (code=exited, status=0/SUCCESS)
    Tasks: 0
   CGroup: /system.slice/nfs-server.service

4月 10 03:09:34 hexug systemd[1]: Starting NFS server and services...
4月 10 03:09:34 hexug systemd[1]: Started NFS server and services.

● rpcbind.service - RPC bind service
   Loaded: loaded (/usr/lib/systemd/system/rpcbind.service; enabled; vendor preset: enabled)
   Active: active (running) since 日 2022-04-10 02:13:46 CST; 55min ago
  Process: 580 ExecStart=/sbin/rpcbind -w $RPCBIND_ARGS (code=exited, status=0/SUCCESS)
 Main PID: 588 (rpcbind)
    Tasks: 1
   CGroup: /system.slice/rpcbind.service
           └─588 /sbin/rpcbind -w

4月 10 02:13:46 hexug systemd[1]: Starting RPC bind service...
4月 10 02:13:46 hexug systemd[1]: Started RPC bind service.

● rpc-statd.service - NFS status monitor for NFSv2/3 locking.
   Loaded: loaded (/usr/lib/systemd/system/rpc-statd.service; static; vendor preset: disabled)
   Active: active (running) since 日 2022-04-10 03:09:34 CST; 7s ago
  Process: 2019 ExecStart=/usr/sbin/rpc.statd $STATDARGS (code=exited, status=0/SUCCESS)
 Main PID: 2022 (rpc.statd)
    Tasks: 1
   CGroup: /system.slice/rpc-statd.service
           └─2022 /usr/sbin/rpc.statd

4月 10 03:09:34 hexug systemd[1]: Starting NFS status monitor for NFSv2/.....
4月 10 03:09:34 hexug rpc.statd[2022]: Version 1.3.0 starting
4月 10 03:09:34 hexug rpc.statd[2022]: Flags: TI-RPC
4月 10 03:09:34 hexug rpc.statd[2022]: Initializing NSM state
4月 10 03:09:34 hexug systemd[1]: Started NFS status monitor for NFSv2/3.....
Hint: Some lines were ellipsized, use -l to show in full.

关闭防护墙

关闭selinux

sed -ri.bak 's/^(SELINUX=).*$/\1disabled/' /etc/selinux/config

关闭iptables

iptables -F

关闭防火墙

systemctl stop firewalld.service
systemctl disable firewalld.service

生效配置

setenforce 0

NFS客户端的设定

客户端系统也是linux,首先需要在客户端安装nfs-utils和rpcbind两个服务

$ rpm -qa | grep nfs
libnfsidmap-0.25-19.el7.x86_64
nfs-utils-1.3.0-0.68.el7.x86_64
$ rpm -qa | grep rpcbind
rpcbind-0.2.0-49.el7.x86_64

查看server端的共享

showmount -e 10.1.2.3

客户端要使用NFS Server提供的共享资源,使用mount命令挂载就可以了:

挂载的格式:

mount -t nfs Hostname(or IP):/directory /mountpoint

  • Hostname:用来指定NFS Server的地址,可以是IP地址或主机名。
  • /directory:表示NFS Server共享出来的目录资源。
  • /mountpoint:表示客户端主机指定的挂载点。通常是一个空目录。

开机挂载:/etc/fstab
172.16.0.1:/public /mnt/nfs nfs defaults 0 0

例如:

mount -t nfs 192.168.60.133:/mydata /data/nfs

客户端实操

查看共享

$ showmount -e 10.1.2.3
Export list for 10.1.2.3:
/data *
/tmp  10.1.2.*

挂载

$ mount -t nfs 10.1.2.3:/data data1/
$ df -h
文件系统        容量  已用  可用 已用% 挂载点
devtmpfs        985M     0  985M    0% /dev
tmpfs          1000M     0 1000M    0% /dev/shm
tmpfs          1000M  9.0M  991M    1% /run
tmpfs          1000M     0 1000M    0% /sys/fs/cgroup
/dev/sda2        50G  4.4G   46G    9% /
/dev/sda5        45G   33M   45G    1% /data
/dev/sda1      1014M  170M  845M   17% /boot
tmpfs           200M     0  200M    0% /run/user/0
10.1.2.3:/data   45G   33M   45G    1% /data/data1

标签:10,rpcbind,service,配置,NFS,nfs,共享,安装
From: https://www.cnblogs.com/guangdelw/p/17125684.html

相关文章

  • Centos7配置fstp
    Centos7配置fstp1创建用户  useradd-m-d/data/sftp_data/user1-s/usr/sbin/nologin-gsftpuser1-m:自动创建home目录-d:指定home目录为/data/sftp......
  • WMware 安装 Windows系统,模拟PE环境
    一,下载官方ISO镜像,此处以Win11作为演示Win10官方下载地址|Win11官方下载地址此处以Win10做演示官方提供的下载工具可以制作启动U盘或者下载ISO文件下载好的工具......
  • ansible 配置文件管理
    目录ansible配置文件管理配置文件的优先级配置文件分段说明配置参数说明关于ssh连接一些常见的错误说明文章转自ansible配置文件管理配置文件的优先级ansible的配置文......
  • ansible 简介和基本安装
    目录ansible简介和基本安装自动化运维运维的自动化发展历程运维工程师的职能划分自动化运维的应用场景企业实际应用场景分析Dev开发环境测试环境发布环境生产环境灰度环境......
  • metamask 所有官方版最新版下载,chrome浏览器插件, 区块链以太坊eth钱包安装使用教程
    在区块链技术日益发展的今天,数字货币的使用也越来越广泛。作为数字货币的一种存储和交易方式,钱包在数字货币领域也扮演着重要的角色。在这其中,MetaMask是一种功能强大的钱......
  • 解决mysqlclient安装报缺少Microsoft Visual C++ 14.0 is required
    安装mysqlclient报错error:MicrosoftVisualC++14.0isrequired.Getitwith“MicrosoftVisualC++BuildTools”1.不要去下载VisualStudio!!!==没什么用(对我而言)......
  • H5/APP客服端源码/uniapp在线客服系统源码开源了,全源码代码解读及发行安装教程
    前言目前,即时通讯在线咨询在网站、APP、小程序中已经是不可获取的功能,尤其是专注于线上营销的商家,迫切需要一套可以随时与访客交流的即时通讯工具。如果使用市面上的SaaS......
  • SpringBoot容器化的多环境配置
    SpringBoot容器化的多环境配置部署通常会有多个环境,如"dev"/"test"/"prod"等环境容器化部署通常使用环境变量,而非手动修改配置例子来自《SpringBoot实战派》中,并进行......
  • VS CODE 基本的CC++环境配置
    VSCODE基本的C/C++环境配置​ 以前用vscode来左编译器的时候,是直接创建3个json文件,然后粘贴上网上教程中的代码,要改一些比如g++\gdb的路径(安装mingw64的时候带的文件)......
  • CentOS 安装 SNAP
    一、CentOS71.安装(1)安装epel库sudoyuminstallepel-release-y(2)安装yum插件coprsudoyuminstallyum-plugin-copr-y(3)添加仓库sudoyumcopren......