NFS 共享存储服务

发布时间:2024年01月17日

一、存储和NFS共享

1.存储类型分为三种

直连式存储:Direct-Attached Storage,简称DAS
网络附加存储:Network-Attached Storage,简称NAS
存储区域网络:Storage Area Network,简称SAN

DAS:存储和主机是直连的,家用电脑,服务和硬盘直连,存储和主机在一台机器上 ? ? ? ? ? ? ? ? ? ? ? ? SAN:有一定距离,主机核存储设备距离先对较远 ,只提供空间不提供文件系统,管理等其他软件服务,只相当于多了一块硬盘 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? NAS:存储在远程,文件系统也在远程,这块空间,你可以直接访问上面的文件,你只能看到文件,文件共享NFS ?FTP 等都是NAS

2.三种存储架构的应用场景

DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业
NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低
SAN则适用于大型应用或数据库系统,缺点是成本高、较为复杂

二、NFS共享存储服务

1.NFS简介

NFS(Network File System 网络文件服务) 文件系统(软件)文件的权限 NFS 是一种基于 TCP/IP 传输的网络文件系统协议,最初由 Sun 公司开发。 通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源 NFS 也是 NAS 存储 设备必然支持的一种协议

NFS端口不固定,依靠rpcbind,rpcbind端口固定111,NFS会把端口号告诉rpcbind

rpcbind相当于一个中转站,所以使用NFS时rpcbind服务必须正常

NFS配置文件路径:/etc/exports

NFS 它是文件系统,是操作系统内核来管理的

2.NAS存储

NFS 服务的实现依赖于 RPC(Remote Process Call,远端过程调用)机制,通过使用 NFS 协议,客户机可以像访问本地目录一样访问远程服务器中的共享资源。(远端过程调用:自己没有这种功能,调用别人的功能)
NFS 也是 NAS 存储 设备必然支持的一种协议以完成远 程到本地的映射过程。

在 CentOS 7 系统中,需要安装 nfs-utils、rpcbind 软件包来提供 NFS 共享服务,
前者用于 NFS 共享发布和访问,后者用于 RPC 支持。
手动加载 NFS 共享服务时,应该先启动 rpcbind,再启动 nfs。

特点: 采用TCP/IP传输网络文件 安全性低 简单易操作 适合局域网环境

3.NFS原理

NFS优势:节省本地存储空间,将常用的数据如:/home 目录,存放在NFS服务器上且可以通过网络访问,将减少本地磁盘的使用率。

缺点也比较明显:
由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只在局域网中使用。

4.NFS软件介绍

软件包:nfs-utils(包括服务器端和客户端)

相关软件包:rpcbind(必须)

nfs端口号不固定 RPC端口号111

NFS服务主要进程:

  • rpc.nfsd 最主要的NFS进程,管理客户端是否可登录

  • rpc.mountd 挂载和卸载NFS文件系统,包括权限管理

  • rpc.lockd 非必要,管理文件锁,避免同时写出错

  • rpc.statd 非必要,检查文件一致性,可修复文件

日志:/var/lib/nfs/

NFS的使用要求:
NFS服务的实现依赖于RPC(远程过程调用)机制,以完成远程到本地的映射过程,所以需要安全nfs-utils、rpcbind(远程过程调用)软件包来提供共享服务,前者用于NFS共享发布和访问,后者用于RPC支持。

NFS共享配置文件格式? ? ? ?

格式为:共享的目录名称 客户机地址(权限选择)
?

NFS配置文件:

/etc/exports
/etc/exports.d/*.exports

格式:共享目录(绝对路径)  客户机地址 (权限)
如    /share  *  允许所有主机访问share目录 (权限)
 
客户机地址可以是主机名、IP 地址、网段地址,也可以是*
 
权限可以不写,常用权限如下
rw :允许读写
ro :只读。
sync :表示同步写入到内存与硬盘中。
no_root_squash : 表示当客户机以root身份访问时赋予本地root权限(默认是root_squash)。
root_squash :表示客户机用root用户访问该共享目录时,将root用户映射成匿名用户。
all_squash :所有访问用户都映射为匿名用户或用户组。
async :将数据先保存在内存缓冲区中,必要时才写入磁盘。
subtree_check(默认):若输出目录是一个子目录,则nfs服务器将检查其父目录的权限。
no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。

exportfs -v 显示本机服务端的共享目录

exportfs -r 重新加载配置文件

showmount -e hostname:客户机上查看共享

exportfs:可用于管理NFS导出的文件系统

选项:

-v? ? ?查看本机所有NFS共享
-r? ? ? 重读配置文件,并共享目录
-a? ? ?输出本机所有共享
-au? ?停止本机所有共享

进入服务端:

文章来源:https://blog.csdn.net/zzzxxx520369/article/details/135631059
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。