- NFS存储服务
1.概念:NFS是network file system 的缩写,即网络文件共享系统
2.功能:通过网络(一般是局域网)让不同的主机系统之间可以共享文件或目录
3.存储服务的种类:
a.FTP(文件传输协议)
b.samba windows-linux之间数据传输 linux部署samba
c.NFS linux--linux之间数据传输
d.分布式存储(大企业)
a.Moosefs(mfs)
b.GlusterFS
c.FastDFS(常用)
4.NFS存储服务作用:
a.实现数据的共享存储
b.编写数据操作管理
c.节省购买服务器磁盘开销,
5.NFS服务部署流程
RPC:远程过程调用服务程序---相当于租房的中介
服务端部署:
1.下载安装软件: rpm -qa|grep -E "nfs|rpc"
yum install -y nfs-utils rpcbind
2.编写NFS服务配置文件(可通过exportfs -r检测配置文件正确与否)
vim /etc/exports (man exports)
01 02(03)
01: 设置数据存储的目录 /data
02: 设置网络白名单(允许哪些主机连接到存储服务器进行数据存储)
03: 配置存储目录的权限信息 存储目录一些功能
/data 192.168.3.0/24(rw,sync)
04:NFS服务端详细配置
a.实现多个网段主机可以进行挂载
01./data 192.168.3.0/24(rw,sync) 10.0.0.0/24(rw,sync)
02./data 192.168.3.0/24(rw,sync)
/data 10.0.0.0/24(rw,sync)
b.NFS配置参数权限:
rw --- 存储目录是否有读写权限
ro --- 存储目录是否是只读权限
sync --- 同步方式存储数据,直接将数据保存到磁盘(数据存储安全)
async --- 异步方式存储数据,直接将数据保存到内存 (提高数据存储效率)
no_root_squash --不要将root用户身份进行转换
root_squash --- 将root用户身份进行转换
all_squash ---- 将所有普通用户身份进行转换
no_all_squash --- 不要将普通用户身份进行转换
c.企业中的参数使用(主要是保护用户数据安全):
no_all_squash --- 不能让普通用户转换 需要进行设置 共享目录权限为www
root_squash --- 需要进行设置, root---nfsnobody data目录---www
d.查看NFS默认配置:
cat /var/lib/nfs/etab ---记录nfs服务的默认配置记录信息
/data 192.168.3.0/24(rw,sync,wdelay,hide,nocrossmnt,secure,root_squash,no_all_squash,no_subtree_check,
secure_locks,acl,no_pnfs,anonuid=65534,anongid=65534,sec=sys,rw,secure,root_squash,no_all_squash)
e.让ROOT用户可以操作管理www用户管理的data目录
ROOT --- root_squash --- www ---操作--- data目录---www
anonuid=65534,anongid=65534 --- 可以指定映射的用户信息
修改映射用户: www=1002
vim /etc/exports : /data 192.168.3.0/24(rw,sync,anonuid=1002,anongid=1002)
f.企业中的NFS配置文件:
1.通用方法:(常用)
/data 192.168.3.0/24(rw,sync)
2.特殊情况(部分人员不能操作存储目录,可以看)
/data 10.0.0.0/24(ro,sync)
3.修改默认的匿名用户
/data 10.0.0.0/24(ro,sync,anonuid=xxx,anongid=xxx)
3.创建一个存储目录
mkdir /data
chown nfsnobody.nfsnobody /data
4.启动服务程序
a.先启动rpc服务:
systemctl start rpcbind.service
systemctl enable rpcbind.service
b.再启动nfs服务:
systemctl start nfs
systemctl enable nfs
客户端部署:
1.安装软件nfs-utils
yum install -y nfs-utils
2.实现远程挂载共享目录
mount -t nfs 192.168.3.12:/data mnt
6.NFS服务工作原理:
服务端:
1.启动RPC服务,开启111端口 PS:检查NFS服务进程和端口注册信息:rpcinfo -p IP
2.启动NFS服务
3.实现NFS服务进程和端口号的注册
客户端:
1.建立TCP网络连接
2.客户端执行挂载命令,进行远程挂载
3.实现数据远程传输存储
7.NFS服务问题
01.NFS服务器重启,挂载后创建数据比较慢
服务重启:
01:restart 重启服务 强制断开所有连接
02:reload 重启服务(平滑重启) 强制断开没有数据传输的连接
8.NFS客户端详细配置
a. mount -t nfs 192.168.3.12:/data /mnt
如何实现自动挂载:
01:利用rc.local
echo "mount -t nfs 192.168.3.12:/data /mnt" >> /etc/rc.local
02: 利用fstab文件: vim /etc/fstab
192.168.3.12:/data /mnt nfs defaults 0 0
centos6: 无法实现网络存储服务自动挂载原因:
根据系统服务启动顺序 network服务--sshd --crond -- ..
先加载/etc/fstab时,network服务还没加载上时,就会出现不能自动挂载
方法:autofs服务程序,开机自动启动
centos7:无法实现网络存储服务自动挂载原因:
centos7是并行启动服务程序的,network服务没加载上时,先加载/etc/fstab
b. 客户端mount命令参数
rw --- 实现挂载后挂载点目录可读可写 (默认)
ro --- 实现挂载后挂载点目录只读
suid -- 在共享目录中可以让setuid权限位生效 (默认)
nosuid -- 在共享目录中可以让setuid权限位失效 ,提供安全性
exec --- 共享目录中的执行文件可以直接执行
noexec -- 共享目录中的执行文件不可以直接执行,提供安全性
auto --- 可以实现自动挂载 mount -a实现加载fstab文件自动挂载
noauto -- 不可以实现自动挂载
nouser -- 禁止普通用户可以卸载挂载点
user ---- 允许普通用户可以卸载挂载点
c.客户端卸载
umount -lf /mnt ---强制卸载挂载点
-l: 不退出挂载点目录进行卸载
-f: 强制卸载
9.NFS服务挂载出错排查方法
服务端进行排查:
1.检查NFS进程信息是否注册
rpcinfo -p localhost/192.168.3.12
问题原因: 服务启动顺序不对,没有启动NFS服务
2.检查有没有可用存储目录
showmount -e 192.168.3.12
问题原因: 配置文件编写有问题,重启NFS服务
3.网络问题: ping 192.168.3.12
telnet 192.168.3.12 111
NFS
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...