NFS安装和使用

1. NFS 概述

主要目的
	通过网络让不同的系统之间可以彼此共享文件和目录

原理
	1. 首先服务器端启动RPC服务,并开启111端口【所以需要安装rpcbind服务,防火墙需要开启111端口】
	2. 启动NFS服务,并向RPC注册端口信息
	3. 客户端启动RPC(portmap服务),向服务端的RPC(portmap)服务请求服务端的NFS端口【portmap新版下改名rpcbind】
	4. 服务端的RPC(portmap)服务反馈NFS端口信息给客户端。
	5. 客户端通过获取的NFS端口来建立和服务端的NFS连接并进行数据的传输。

2. 安装-NFS的服务端

2.1 安装

# 环境说明:server服务器的ip地址:192.168.1.222

# 安装软件
yum install nfs-utils

# 新建共享目录
mkdir /var/nfs_share_dir

# 设置共享目录的权限和所属
chmod -R 755 /var/nfs_share_dir
chown nfsnobody:nfsnobody /var/nfs_share_dir

# 开启服务
systemctl enable rpcbind
systemctl enable nfs-server
systemctl enable nfs-lock
systemctl enable nfs-idmap
systemctl start rpcbind
systemctl start nfs-server
systemctl start nfs-lock
systemctl start nfs-idmap

# 共享目录授权
vi /etc/exports
/var/nfs_share_dir    192.168.48.101(rw,sync,no_root_squash)
systemctl restart nfs-server

# 开启防火墙,还需要放通相关服务
firewall-cmd --permanent --zone=public --add-service=nfs
firewall-cmd --permanent --zone=public --add-service=mountd
firewall-cmd --permanent --zone=public --add-service=rpc-bind
firewall-cmd --reload

2.2 文件/etc/exports说明

# 格式
目录		<授权对象>(权限设置) <授权对象>(权限设置) <授权对象>(权限设置) ...

目录
	新建的共享目录,并且需要设置权限chmod和chown

授权对象
	ip地址
		192.168.1.1
		192.168.1.0/24
		192.168.1.0/255.255.255.0
	主机名称
		在/etc/hosts内,或者dns可以解析到的ip地址也可以
	支持万用字元[支持ip地址和主机名称的匹配]
		*	匹配到0到无数个,例如*.example, 192.168.1.*
		?	仅仅匹配一个,例如192.168.?.40
		[]	仅一定且只有一个在括号里面,例如:[abcd] 代表‘仅一定且只有一个,可能是 a, b, c, d 这四个任何一个’
		... 还有很多

权限设置
	1. 读写权限二选一
        rw	:read-write,可读写的权限;
        ro	:read-only,唯读的权限;
	2. 是否写入影碟中,二选一
        sync	:资料同步写入到记忆体与硬碟当中;
        async	:资料会先暂存于记忆体当中,而非直接写入硬碟!
    3. 登录到NFS后的权限是否为ROOT控制,选其一
        no_root_squash	:登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限! 这个项目『极不安全』,不建议使用!
        root_squash	:在登入 NFS 主机使用分享之目录的使用者,如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody(nfsnobody) 那个系统帐号的身份;	
        all_squash	:不论登入 NFS 的使用者身份为何, 他的身份都会被压缩成为匿名使用者,通常也就是 nobody(nfsnobody) 啦!
    
    4. 针对登录还有的匿名用户修改
    	anonuid	:anon 意指 anonymous (匿名者) 前面关于 *_squash 提到的匿名使用者的 UID 设定值,通常为 nobody(nfsnobody),但是您可以自行设定这个 UID 的值!当然,这个 UID 必需要存在于您的 /etc/passwd 当中!例如:anonuid=40
    	anongid	:同 anonuid ,但是变成 group ID 就是了!例如:anongid=40
    	

实例案例:
/tmp *(rw,no_root_squash,sync)
/home/public 192.168.0.0/24(rw,sync) *(ro,sync)
/home/linux *.linux.org(rw,all_squash,anonuid=40,anongid=40,sync)

3. 连接-NFS客户端设置

3.1 挂载

# 安装软件
yum install nfs-utils

# 创建挂载目录
mkdir -p /mnt/nfs/var/nfs_share_dir

# 查看远程服务是否开启了NFS
showmount -e 192.168.1.222

# 挂载远程文件系统
vi /etc/fstab
    最后加一条
    192.168.1.222:/var/nfs_share_dir /mnt/nfs/var/nfs_share_dir nfs defaults 0 0

# 挂载命令
mount -a

# 查看是否挂载成功
df -kh

3.2 卸载

# 本地挂载的目录即可
umount /mnt/nfs/var/nfs_share_dir
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值