首页 > 系统服务 > 详细

Linux系统下NFS共享存储服务器配置与使用

时间:2019-09-22 17:58:32      阅读:126      评论:0      收藏:0      [点我收藏+]

Linux系统下NFS共享存储服务器配置与使用

  1. NFS服务简介

文件共享服务一般有SAMBA和NFS,前者多用于windows系统,如果多个linux系统使用共享存储服务,建议使用NFS服务。

NFS是Network File System的缩写,即网络文件系统。一种使用于分散式文件系统的协定,由Sun公司开发,于1984年向外公布。功能是通过网络让不同的机器、不同的操作系统能够彼此分享个别的数据,让应用程序在客户端通过网络访问位于服务器磁盘中的数据,是在类Unix系统间实现磁盘文件共享的一种方法。

NFS的基本原则是"容许不同的客户端及服务端通过一组RPC分享相同的文件系统",它是独立于操作系统,容许不同硬件及操作系统的系统共同进行文件的分享。

  1. 系统环境

  • 系统平台:CentOS Linux release 7.4.1708 (Core)

    NFS Server IP:172.30.7.189

    Client IP:172.30.7.188

(服务端与客户端处于同一网络环境中)

  • 防火墙状态:

[root@cricket-server ~]# firewall-cmd --state

not running

    [root@cricket-server ~]# setenforce 0

[root@cricket-server ~]# getenforce

Permissive

  • NFS服务端所需的软件列表

    nfs-utils: 这个是NFS服务主程序(包含rpc.nfsd、rpc.mountd、daemons)

    rpcbind: 这个是CentOS7.X的RPC主程序(CentOS5.X的为portmap)

  1. 服务端配置

  1. 安装NFS主程序(nfs-utils)

[root@cricket-server ~]# yum install nfs-utils

Loaded plugins: fastestmirror, langpacks

================================

nfs-utils.x86_64 1:1.3.0-0.48.el7_4

  1. 在NFS服务器上建立用于NFS文件共享的目录

    并设置足够的权限确保其他人也有写入权限

[root@cricket-server /]# mkdir -p /nfsfile

[root@cricket-server /]# chmod -Rf 777 /nfsfile

[root@cricket-server /]# echo "This is a test nfs text" > /nfsfile/readme

  1. 编辑nfs的配置文件

    NFS服务程序的配置文件为/etc/exports,默认情况下里面没有任何内容。我们可以按照"共享目录的路径 允许访问的NFS客户端(共享权限参数)"的格式,定义要共享的目录与相应的权限。

    [root@cricket-server /]# vim /etc/exports

    /nfsfile 172.30.7.188 (rw,sync,root_squash)

用于配置NFS服务程序配置文件的参数

参数

作用

ro

只读

rw

读写

root_squash

NFS客户端以root管理员访问时,映射为NFS服务器的匿名用户

no_root_squash

NFS客户端以root管理员访问时,映射为NFS服务器的root管理员

all_squash

无论NFS客户端使用什么账户访问,均映射为NFS服务器的匿名用户

sync

同时将数据写入到内存与硬盘中,保证不丢失数据

async

优先将数据保存到内存,然后再写入硬盘;这样效率更高,但可能会丢失数据

 

请注意,NFS客户端地址与权限之间没有空格

  1. 启动和启用NFS服务程序

[root@cricket-server /]# systemctl restart rpcbind

[root@cricket-server /]# systemctl enable rpcbind

[root@cricket-server /]# systemctl start nfs-server

[root@cricket-server /]# systemctl enable nfs-server

Created symlink from /etc/systemd/system/multi-user.target.wants/nfs-server.service to /usr/lib/systemd/system/nfs-server.service.

由于NFS服务在文件共享过程中是依赖RPC服务进行工作,RPC服务用于把服务器地址和服务端口号等信息通知给客户端,因此要使用NFS共享服务,也要把rpcbind服务程序启动,并且把这两个服务一起加入到开机启动项中.

  1. 客户端配置

  2. 查询NFS服务器的远程共享信息

[root@cricket-client /]# showmount -e 172.30.7.189

Export list for 172.30.7.189:

/nfsfile 172.30.7.188

showmount命令用于查询NFS服务端的远程共享信息

  1. 客户端创建远程挂载共享路径

[root@cricket-client /]# mkdir -p /nfsshare

  1. 将远程服务端共享(nfsfile)挂载到本地(nfsshare)

[root@cricket-client /]# mount -t nfs 172.30.7.189:/nfsfile /nfsshare

[root@cricket-client /]# ls

bin boot dev etc home lib lib64 media mnt nfsshare opt proc root run sbin srv sys tmp usr var

[root@cricket-client /]# cat /nfsshare/readme

This is a test nfs text //挂载以后即可在本地看到远程挂载信息

  1. 写入到fstab文件开机自动挂载

[root@cricket-client /]# vi /etc/fstab

# /etc/fstab

# Created by anaconda on Mon Jan 22 19:02:25 2018

#

# Accessible filesystems, by reference, are maintained under ‘/dev/disk‘

# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info

#

/dev/mapper/centos-root / xfs defaults 0 0

UUID=de031118-6c87-446d-8f54-549e58ad5918 /boot xfs defaults 0 0

/dev/mapper/centos-home /home xfs defaults 0 0

/dev/mapper/centos-swap swap swap defaults 0 0

172.30.7.189:/nfsfile /nfsshare nfs defaults 0 0

5、 最终配置与服务

    共享存储服务端:

172.30.7.189

服务端共享路径:/nfsfile

共享存储客户端:

172.30.7.188

客户端挂载路径:/nfsshare

Linux系统下NFS共享存储服务器配置与使用

原文:https://www.cnblogs.com/qcricket/p/11568314.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!