NFS存储服务概念
网络文件共享系统,主要功能是通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录
FTP 文件传输协议
samba windows--linux之间传输数据
NFS linux--linux之间传输数据
利用分布式存储
Moosefs(mfs)
GlusterFS
FastDFS(企业应用较多)
NFS存储服务
实现数据的共享存储,便于数据操作管理,节省购买服务器磁盘开销
NSF服务部署流程
RPC 远程过程调用程序
服务端部署
下载安装软件 rpm -qa | grep -E "nfs|rpc"
yum install -y nfs-utils rpcbind
编写nfs服务配置文件
ll /etc/exports
man exports
/data 172.16.1.0/24(rw,sync)
设置数据存储的目录
设置网络的白名单
配置存储目录的权限信息,存储目录的一些功能
创建一个存储目录
mkdir /data
chown nfsnobody.nfsnobody /data
启动服务程序
先启动rpc服务
systemctl start rpcbind.service
systemctl enable rpcbind.service
再启动nfs服务
systemctl start nfs
systemctl enable nfs
客户端部署
安装nfs服务程序
yum install -y nfs-utils
实现远程挂载共享目录
mount -t nfs 172.16.1.31:/data /mnt
nfs服务工作原理
服务端
启动RPC服务,开启111端口
启动nfs服务
实现nfs服务进程和端口号的注册
检查nfs服务进程与端口注册信息
rpcinfo -p 172.16.1.31
客户端
建立TCP网络连接
客户端执行挂载命令,进行远程挂载
可以实现数据远程传输存储
nfs服务端详细配置说明
实现多个网段主机可以进行挂载
方法1 /data 172.16.1.0/24(rw,sync) 10.0.0/24(rw,sync)
方法2
/data 172.16.1.0/24(rw,sync)
/data 10.0.0.0/24(rw,sync)
共享目录的权限和哪些因素有关
和存储目录的本身权限有关(755属主,nfsnobody)
和配置文件中的权限配置有关 rw/ro xxx_squash anonuid/anongid
和客户端挂载命令的参数有关
NFS配置参数权限
rw 存储目录是否有读写权限
ro 存储目录是否是只读权限
sync 同步方式存储数据,直接将数据保存到磁盘(数据存储安全)
async 异步方式存储数据,直接将数据保存到内存(提高数据存储效率)
no_root_squash 不要将root用户身份进行转换
root_squash 将root用户身份进行转换
all_squash 将普通用户身份进行转换
no_all_squash 不要将普通用户身份进行转换
保证网站存储服务器用户数据安全性
no_all_squash 需要进行配置 共享目录权限为www(确保客户端用户,服务端用户uid一致)
root_squash 需要进行配置 root--nfsnobdy data目录---www
以上默认配置(很多服务默认配置都是从安全角度出发)
如何查看nfs默认配置
cat /var/lib/nfs/etab 记录nfs服务的默认配置记录信息
企业中如何编辑nfs文件
通用方法 /data 172.16.1.0/24(rw,sync)
特殊情况(让部分人员不能操作存储目录,可以看目录中的数据)
/data 10.0.0.0/24(ro,sync)
修改默认的匿名用户
/data 10.0.0.0/24(ro,sync,anonuid=xxx,anongid=xxx)
nfs服务其重启,挂载后创建数据比较慢
服务器重启方式不对
服务重启
restart 重启服务 强制断开所有连接,用户感受不好
reload 重启服务(平滑重启) 强制断开没有数据传输的连接,提升用户感受
nfs客户端详细配置说明
mount -t nfs 172.16.1.31:/data /mnt
如何实现自动挂载
利用rc.local
echo "mount -t nfs 172.16.1.31:/data /mnt" >> /etc/rc.local
利用fstab文件
vim /etc/fstab
172.16.1.31:/data /mnt nfs defaults
centos6 无法实现网络存储服务自动挂载原因
根据系统服务启动顺序
按照顺序依次启动 network服务 sshd服务 crond服务 rsync服务 rpcbind服务 nfs服务
先加载/etc/fstab network服务 autofs服务
autofs服务程序,开机自动启动
服务启动好之后,重新加载fstab
centos7 无法实现网络存储服务自动挂载原因
根据系统服务启动顺序 并行启动
先加载/etc/fstab network服务
客户端mount命令参数
rw 实现挂载后挂载点目录可读可写(默认)
ro 实现挂载后挂载点目录只读
suid 在共享目录中可以让setuid权限位生效(默认)
nosuid 在共享目录中可以让setuid权限位失效,提供共享目录的安全性
exec 共享目录中的执行文件可以直接执行
noexec 共享目录中的执行文件不可以直接执行 提供共享目录安全性
auto 可以实现自动挂载 mount -a实现加载fstab文件自动挂载
noauto 不可以实现自动挂载
nouser 禁止普通用户可以卸载挂载点
user 允许普通用户可以卸载挂载点
客户端如何卸载
umount -lf /mnt 强制卸载挂载点
-l 不退出挂载点目录进行卸载
-f 强制进行卸载操作
nfs服务挂载不上排查方法
服务端进行排查
检查nfs进程信息是否注册
rpcinfo -p localhost/172.16.1.31
问题原因:服务启动顺序不对,没有启动nfs服务
检查有没有可用存储目录
showmount -e 172.16.1.31
问题原因:配置文件编写有问题,重启nfs服务
在服务端进行挂载测试
是否能够在存储目录中创建或删除数据
客户端排查
检查nfs进程信息是否注册
rpcinfo -p localhost/172.16.1.31
问题原因:服务启动顺序不对,没有启动nfs服务
检查有没有可用存储目录
showmount -e 172.16.1.31
问题原因:配置文件编写有问题,重启nfs服务
网络问题:
ping 172.16.1.31
telnet 172.16.1.31 111
如何找到一台服务器开机运行了哪些业务
ll /etc/systemd/system/multi-user.target.wants/
网友评论