0基础linux运维教程 共享存储之nfs实践及要点

Posted 山河玩转linux运维

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0基础linux运维教程 共享存储之nfs实践及要点相关的知识,希望对你有一定的参考价值。

I:环境准备

主机

IP

角色

本地

192.168.12.17

nfs客户端

远程

192.168.12.39

nfs服务端

本地与远程均执行下述两条命令
setenforce 0
iptables -F

II:安装nfs(本地和远程主机都要装)

yum install nfs-utils -y  #
# 如果是centos7,会自动安装rpcbind
# 如果是centos6,一定要手动下载rpcbind,启动时一定先启动rpcbind,再启动nfs

III:服务端配置

# 1、配置nfs服务,配置文件为 /etc/exports,书写格式如下:
[root@remote <sub>]# cat /etc/exports
/data 192.168.12.0/24(rw,sync,all_squash)
# 2、创建共享目录
[root@remote </sub>]# mkdir /data
[root@remote <sub>]# chown -R nfsnobody.nfsnobody /data/
# nfsnobody该用户在安装nfs之后自动创建,是NFS客户端远程连接过来后使用的用户
# 3、启动nfs,centos7,启动nfs即可,会自动启动rpcbind
[root@remote </sub>]# systemctl start nfs

配置文件/etc/exports格式解析

语法

/data

192.168.12.0/24

(rw,sync,all_squash)

语法含义

NFS共享的目录

NFS允许连接的客户端

允许的操作(参数1,参数2)

# 1、访问权限
ro:设置输出目录只读。
rw:设置输出目录读写。
# 2、用户映射
root_squash:将root用户映射为来宾账号(nfsnoboydy用户),默认启用。
no_root_squash:不映射客户端root账号为来宾账号,也就意味着客户端root具有服务端root的用户权限。
all_squash:将远程访问的所有普通用户及所属组都映射为匿名用户或用户组(nfsnobody)。
no_all_squash:与all_squash取反(默认设置);
anonuid=501:配置all_squash使用,指定NFS的用户UID,必须存在系统(常用)
anongid=501:配置all_squash使用,指定NFS的用户UID,必须存在系统(常用)
# 3、其他
secure:限制客户端只能从小于1024的tcp/ip端口连接nfs服务器(默认设置)。
insecure:允许客户端从大于1024的tcp/ip端口连接服务器。
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性。
async:将数据先保存在内存缓冲区中,必要时才写入磁盘,默认使用。
wdelay:检查是否有相关的写操作,如果有则将这些写操作一起执行,这样可以提高效率(默认设置)。
no_wdelay:若有写操作则立即执行,应与sync配合使用。
subtree:若输出目录是一个子目录,则nfs服务器将检查其父目录的权限(默认设置)。
no_subtree:即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可以提高效率。

IV:客户端

[root@local /opt]# showmount -e 192.168.12.39
Export list for 192.168.12.39:
/data 192.168.12.0/24
[root@local /opt]# mount -t nfs 192.168.12.39:/data /opt
[root@local /opt]# echo egon666 > /opt/1.txt # 写入服务端的/data下
# 若写入失败请注意服务端/data目录的权限s
[root@local /opt]# vim /etc/fstab # 设置开机自动挂载
192.168.12.39:/data /opt nfs defaults 0 0

要点强调 NFS是共享存储没错,一般把网站用户上传的文件都放到NFS共享里, 例如BBS 产品的图片,附件,即把网站的img等存放用户上传文件的目录远程挂载到共享存储nfs下。 但网站BBS程序不要放NFS共享里,如果那么做,NFS本身又存在单点故障,一旦挂掉,整个网站都不可用,所以推荐用带集群的存储,比如分布式存储ceph

以上是关于0基础linux运维教程 共享存储之nfs实践及要点的主要内容,如果未能解决你的问题,请参考以下文章

运维笔记:Linux搭建NFS存储共享服务器

Linux三阶段之三:存储服务(NFS)

Linux运维之道之ENGINEER1.3(配置SMB共享,配置NFS共享)

小胖学Linux day42~43:NFS共享存储

(服务运维)NFS服务和共享存储LAMP架构

Linux系统之文件共享NFS