nfs共享存储配置

目录

一.存储和NFS共享

1.存储的类型分为三种

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

二.NFS共享存储服务

1.NFS简介

2.NFS存储

3.NFS原理

4.软件介绍

三.搭建NFS服务器

1.搭建

2.使用权限:

读写权限

属主,属组权限

客户端创建文件指向同一属主和属组

四.搭建一台NFS共享服务器


一.存储和nfs共享

1.存储的类型分为三种

直连式存储:Direct-Attached Storage,简称DAS

网络附加存储:Network-Attached Storage,简称NAS

存储区域网络:Storage Area Network,简称SAN

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

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

1.DAS虽然比较古老了,但是还是很适用于那些数据量不大,对磁盘访问速度要求较高的中小企业

2.NAS多适用于文件服务器,用来存储非结构化数据,虽然受限于以太网的速度,但是部署灵活,成本低

3.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.NFS存储

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缺点:由于NFS没有用户认证机制,而且数据在网络上明文传输,所以安全性很差,一般只在局域网中使用。

文件传输

ftp 网络共享 客户端ftp软件 服务端vsftpd 软件 都得安装

nfs 网络共享 软件包nfs-utils rpcbind(使用udp协议,远程过程调用)

http网页 http httpd

set list 可以看配置文件有没有多打空格

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

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

exportfs -r 重新加载配置文件

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

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

选项:

-v 查看本机所有NFS共享

-r 重读配置文件,并共享目录

-a 输出本机所有共享

-au 停止本机所有共享

三.搭建NFS服务器

1.搭建

服务器:192.168.191.175

客户机:192.168.191.176

服务端操作:

配置文件为

/share 192.168.191.0/24(rw,sync,no_root_squash)

客户端操作:

[root@localhost ~]# systemctl stop firewalld

[root@localhost ~]# setenforce 0

[root@localhost ~]# showmount -e 192.168.191.175

Export list for 192.168.191.175:

/share 192.168.191.0/24

[root@localhost ~]# mount 192.168.191.175:/share /mnt

[root@localhost ~]# df

文件系统 1K-块 已用 可用 已用% 挂载点

/dev/mapper/centos-root 17811456 3691432 14120024 21% /

devtmpfs 483936 0 483936 0% /dev

tmpfs 499860 0 499860 0% /dev/shm

tmpfs 499860 7352 492508 2% /run

tmpfs 499860 0 499860 0% /sys/fs/cgroup

/dev/sda1 1038336 164016 874320 16% /boot

tmpfs 99972 4 99968 1% /run/user/42

tmpfs 99972 52 99920 1% /run/user/0

192.168.191.175:/share 17811456 3691008 14120448 21% /mnt

[root@localhost ~]# vim /etc/fstab

[root@localhost ~]# cd /mnt

[root@localhost mnt]# ls

wjh

[root@localhost mnt]# cat wjh

wo shi shuai ge

[root@localhost mnt]# ls

jay wjh

[root@localhost mnt]#

2.使用权限

相关的权限和选项 :

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

ro,rw 只读和读写

async 异步,数据变化后不立即写磁盘,先写入到缓冲区中,过一段时间再写入磁盘,性能高,安全性低

sync(1.0.0后为默认)同步,数据在请求时立即写入共享存储磁盘,性能低,安全性高

root_squash (默认)远程root映射为nfsnobody,UID为65534,CentOS8 为nobody,CentOS 7以前的版本为nfsnobody

no_root_squash 远程root映射成NFS服务器的root用户

all_squash 所有远程用户(包括root)都变成nfsnobody,CentOS8 为nobody

no_all_squash (默认)保留共享文件的UID和GID

anonuid和anongid 指明匿名用户映射为特定用户UID和组GID,而非nobody,可配合all_squash使用

四.搭建一台NFS共享服务器

#服务器1操作:

[root@localhost ~]# yum install -y httpd

#创建网页文件并写入内容存放在网站文件的默认目录,供客户端访问读取内容

[root@localhost ~]# cd /var/www/html

[root@localhost html]# vim index.html

wo shi da shuai ge

[root@localhost ~]#systemctl start httpd

[root@localhost html]#mount 192.168.191.175:/share /var/www/html/

相关推荐
热爱嵌入式的小许1 小时前
Linux基础项目开发1:量产工具——显示系统
linux·运维·服务器·韦东山量产工具
韩楚风5 小时前
【linux 多进程并发】linux进程状态与生命周期各阶段转换,进程状态查看分析,助力高性能优化
linux·服务器·性能优化·架构·gnu
陈苏同学5 小时前
4. 将pycharm本地项目同步到(Linux)服务器上——深度学习·科研实践·从0到1
linux·服务器·ide·人工智能·python·深度学习·pycharm
Ambition_LAO5 小时前
解决:进入 WSL(Windows Subsystem for Linux)以及将 PyCharm 2024 连接到 WSL
linux·pycharm
Pythonliu75 小时前
茴香豆 + Qwen-7B-Chat-Int8
linux·运维·服务器
你疯了抱抱我5 小时前
【RockyLinux 9.4】安装 NVIDIA 驱动,改变分辨率,避坑版本。(CentOS 系列也能用)
linux·运维·centos
追风赶月、5 小时前
【Linux】进程地址空间(初步了解)
linux
栎栎学编程6 小时前
Linux中环境变量
linux
挥剑决浮云 -6 小时前
Linux 之 安装软件、GCC编译器、Linux 操作系统基础
linux·服务器·c语言·c++·经验分享·笔记
小O_好好学7 小时前
CentOS 7文件系统
linux·运维·centos