(文章目录)
NFS概述
NFS(Network File System)是一种分布式文件系统,可以使多个计算机之间共享文件,其基本工作原理是通过将文件系统挂载到远程服务器来实现。NFS最初由Sun公司开发,现在已经成为了一种在Unix和Linux操作系统中广泛使用的文件系统。
NFS的优点: 1.可以实现异构网络环境的文件共享,支持多种操作系统平台。 2.对于文件的读写速度较快,能够提供高效的数据访问。 3.NFS的管理和维护比较简单,易于部署和使用。 4.能够实现透明化的文件读写操作,用户无需关注网络上文件的具体存储位置和存储细节。
NFS的缺点: 1.NFS的安全性并不是很好,传输数据时容易被窃听和篡改,如果要增强其安全性需要额外的安全措施。 2.在跨越网络连接时,NFS的性能可能会受到影响,例如延迟和带宽限制等。 3.如果NFS服务器故障或者网络连接中断,则客户端可能无法访问文件。 4.NFS不支持文件锁定,这会导致多个客户端同时写入同一个文件时出现冲突等问题。
总体来说,NFS是一种高效简单的文件系统,它为不同操作系统平台上文件共享提供了方便。然而,对于安全、性能和可靠性等问题需要进行详细的分析和解决。
搭建步骤
一.下载nfs软件
yum install nfs-utils -y
二.启动nfs服务
service nfs start
三.编写配置文件
# vim /etc/exports
/web 192.168.10.0/255.255.255.0(rw,all_squash,sync)
/web为共享目录,ip为允许来访问的网段
rw:可读写,ro:只读(raed only)
all_squash:对所有访问的用户都视为普通用户,root_squash:当NFS客户端来访问的是root,将其映射为匿名用户
sync:同步读入内存和磁盘,asnyc:先将数据保存在内存,有空时再写入磁盘,效率更高,但可能丢失数据
四.创建共享文件并添加一些文件
[root@web1 /]# mkdir web
[root@web1 /]# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var web
[root@web1 /]# cd web
[root@web1 web]# mkdir zh54
[root@web1 web]# cd zh54/
[root@web1 zh54]# vim first.hmtl
五.开启自启和刷新服务
[root@web1 zh54]# service nfs restart # 重启服务
Redirecting to /bin/systemctl restart nfs.service
[root@web1 zh54]# exportfs -rv # 刷新输出文件的列表,重启和刷新列表用一个即可
exporting 192.168.10.0:/web
# service firewalld stop # 临时关闭防火墙
# systemctl disable firewalld # 永久关闭防火墙
[root@web1 web]# echo "service nfs start">>/etc/rc.local # 开启自动启动nfs服务
六.客户机配置
下载nfs工具并将html目录挂载到NFS服务器的web目录下
yum install nfs-utils -y
mount 192.168.10.142:/web /usr/local/zh54/html # mount 源路径文件(远程机器上) 挂载点(本机上)
用df命令查看挂载情况
[root@web1 zh54]# df
文件系统 1K-块 已用 可用 已用% 挂载点
/dev/mapper/centos-root 17811456 1611280 16200176 10% /
devtmpfs 920416 0 920416 0% /dev
tmpfs 932640 0 932640 0% /dev/shm
tmpfs 932640 9760 922880 2% /run
tmpfs 932640 0 932640 0% /sys/fs/cgroup
/dev/sda1 1038336 145060 893276 14% /boot
tmpfs 186528 0 186528 0% /run/user/0
192.168.10.142:/web 17811456 1574400 16237056 9% /usr/local/zh54/html # 如此显示即挂载成功
此时访问html目录相当于访问nfs服务器的web目录,即html目录的指针指向了web,当umount时,指针重新指向原html目录下的文件
[root@web1 zh54]# cd html/
[root@web1 html]# ls
zh54
[root@web1 html]# cd zh54/
[root@web1 zh54]# ls
first.hmtl
[root@web1 zh54]# cat first.hmtl
hello zh54!
七.开机自动挂载
第一种方法:将挂载目录写入到/etc/rc.local文件里
[root@web1 html]# echo "mount 192.168.10.142:/web /usr/local/zh54/html">>/etc/rc.local
[root@web1 html]# chmod +x /etc/rc.d/rc.local
第二种方法:修改/etc/fstab文件
[root@web1 etc]# vim /etc/fstab
192.168.10.142:/web /usr/local/zh54/html nfs defaults 0 0
linux系统开机会根据/etc/fstab文件里的内容进行挂载磁盘分区 ——file system table
192.168.10.142:/web /usr/local/zh54/html nfs defaults 0 0
远程源文件 本地挂载点 文件系统类型 挂载选项默认 是否支持dump备份 开机是否检查分区文件系统
权限
服务器远程访问受到两种权限的限制:exports里的共享权限、linux普通用户对文件的操作权限,两个权限都拥有时才能进行相应的操作
当exports里指定了all_squash属性,则所有的远程访问用户都会使用一个nfsnobody的匿名用户进行操作,而该用户权限默认仅为普通用户
[root@web1 web]# tail -1 /etc/passwd
nfsnobody:x:65534:65534:Anonymous NFS User:/var/lib/nfs:/sbin/nologin
标签:web,zh54,文件系统,web1,NFS,nfs,root,搭建
From: https://blog.51cto.com/u_16077445/6362192