家里的NAS升级完成了!现在需要考虑文件共享的需求,研究了下nfs,就随便记一下了~
看了无数的教程,最后发现还是鸟哥的书写的比某些没良心文章高到不知哪里去了OvO
主要参考的是鸟哥教程的这一章,另外还参考了Zhanming’s blog的这篇文章
一、所需依赖
RPC 主程序:rpcbind
NFS 主程序:nfs-utils
yum install nfs-utils
#只安装 nfs-utils 即可,rpcbind 属于它的依赖,也会安装上。
nfs主要配置有以下四个:
主要配置文件:/etc/exports
- NFS 的主配置文件,无系统预设值,可能需要自行创建,nfs的配置主要都在这里。
NFS系统维护命令:/usr/sbin/exportfs
- NFS分享资源的命令,用于服务器端,可以利用这个命令重新配置/etc/exports,nfs核心指令。
权限与用户配置:/var/lib/nfs/*tab
- NFS服务器的权限配置与用户记录文件,不用管它。
客户端查询命令:/usr/sbin/showmount
- NFS资源命令,用于客户端,查询NFS分享的资源。
二、服务端配置
设置 NFS 服务开机启动:
systemctl enable rpcbind
systemctl enable nfs
启动 NFS 服务:
systemctl start rpcbind
systemctl start nfs
配置文件的格式如下:
[root@localhost ~]# vim /etc/exports
/tmp 192.168.100.0/24(ro) localhost(rw) *.ev.ncku.edu.tw(ro,sync)
[资源目录] [第一主机(权限)] [可用主机名(权限)] [可用域名(权限)]
权限参数:
参数值 | 说明 |
rw
ro |
rw:读写 (read-write);本选项不代表最终可否读写,还受文件系统权限的限制;
ro:只读(read-only)。 |
sync
async |
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性;
async:将数据先保存在内存缓冲区中,必要时才写入磁盘。 |
no_root_squash
root_squash |
root_squash:客户端使用NFS的账号若为root时,客户端root的身份将被设定为nfsnobody,安全性较高,权限往往受限;
no_root_squash:与root_squash相反,无论客户端是什么身份,使用NFS是一律被视为root,方便读写。 |
all_squash | 无论远程使用NFS的使用者身份为何,都会被设定为匿名使用者,也就是nobody(nfsnobody) ,安全性较高,权限往往受限。 |
anonuid
anongid |
anonuid:将远程访问的所有用户都映射为匿名用户,并指定该用户为本地用户(UID=xxx),默认为nobody(nfsnobody);
anongid:将远程访问的所有用户组都映射为匿名用户组账户,并指定该匿名用户组账户为本地用户组账户(GID=xxx);注意UID或GID必须存在于/etc/passwd中。 |
配置完成后重启nfs服务:
systemctl restart nfs
检查nfs服务端共享状态:
showmount [-ae] [hostname|IP]
-a 显示服务端与用户端NFS连接状态
-e 显示某主机/etc/exports的配置
三、客户端配置
客户端nfs安装同服务端,不再赘述。
为使nfs.lock和rpc.statd生效,客户端同样需要开启 NFS 服务,即使不共享目录。
先查服务端的共享目录:
showmount -e 192.168.100.1
先在客户机mkdir一个挂载点,然后用mount挂载就行了:
mount -t nfs 192.168.100.1:/home/public /home/nfs/public
自动挂载同样编辑fstab即可,添加:
192.168.100.1:/home/public /home/nfs/public nfs nosuid,noexec,nodev,rw 0 0
#nfs没必要给运行权限,当然,看个人需求
然后:
mount -a
搞定!
参考文献:
本文被阅读了:4,302次
Hi Ailitonia你好,想请问下你的博客用的什么样的服务器配置。
印象中WP的博客挺占资源的,我也想建个博客,但是不想用wp。
其他的cms的主题又没有wp丰富,所以我也在考虑是否要用WP。
wordpress能有多占资源啊, 1C1G的服务器随便跑了(当然这里说的是个人博客, 要做成大型论坛那种肯定需要更高的配置了)