关于NFS中参数的使用

sync适用在通信比较频繁且实时性比较高的场合,比如Linux系统的rootfs通过nfs挂载,如果搞成async,当执行大型网络通信程序如gdbserver与client之类,则系统此时会无响应,报一些“NFS is not responding“之类的错误。

当然并非sync就比async好,如果在远程挂载点处进行大批量数据生成,如解压一个大型tar包,此时速度会非常慢,我对比了一下在nfs server端解压只需半分多钟,在client端则要40来分钟,性能严重受到影响。
当改成async后,在client端解压只需4分多钟,虽然比server端慢一些但性能已得到很大改善。所以当涉及到很多零碎文件操作时,选用async性能更高。

async异步写入,sync同步写入

 

async异步写入 
提高安全性吧,防止断电,重启导致的数据丢失

no_root_squash:登入 NFS 主机使用分享目录的使用者,如果是 root 的话,那么对于这个分享的目录来说,他就具有 root 的权限!这个项目『极不安全』,不建议使用! 
root_squash:在登入 NFS 主机使用分享之目录的使用者如果是 root 时,那么这个使用者的权限将被压缩成为匿名使用者,通常他的 UID 与 GID 都会变成 nobody 那个系统账号的身份

### NFS 参数配置及使用说明 NFS(Network File System)是一种分布式文件系统协议,允许客户端通过网络访问服务器上的文件。以下是 NFS 参数的详细配置和使用方法。 #### 1. 配置 NFS 共享目录 在 NFS 服务端,需要编辑 `/etc/exports` 文件来定义共享目录及其权限。以下是一个典型的配置示例: ```bash /data 172.16.1.0/24(rw,sync,no_subtree_check) ``` - `rw`: 允许读写访问。 - `sync`: 数据同步写入磁盘[^1]。 - `no_subtree_check`: 禁用子树检查,提高性能。 #### 2. 创建共享目录并设置权限 在服务端创建共享目录,并将其所有权更改为默认的 NFS 用户 `nfsnobody`: ```bash mkdir /data chown nfsnobody:nfsnobody /data ``` 确保共享目录的权限适合预期的用户访问需求[^1]。 #### 3. 启动 NFS 服务 安装并启动 NFS 和 rpcbind 服务: ```bash yum -y install nfs-utils rpcbind systemctl start rpcbind systemctl start nfs-server systemctl enable rpcbind systemctl enable nfs-server ``` #### 4. 客户端挂载 NFS 共享 在客户端,可以使用 `mount` 命令挂载 NFS 共享目录。例如: ```bash mount -t nfs 172.16.1.1:/data /mnt ``` 常用的挂载选项包括: - `hard`: 在服务器不可达时,客户端会持续尝试重新连接[^2]。 - `soft`: 在服务器不可达时,客户端会快速返回错误。 - `proto=tcp`: 使用 TCP 协议进行通信[^3]。 - `nfsvers=3`: 指定使用NFS 版本为 3。 - `bg`: 在后台进行挂载操作[^2]。 #### 5. 自动挂载 NFS 共享 可以通过 `/etc/fstab` 文件实现自动挂载。添加如下行: ```plaintext 172.16.1.1:/data /mnt nfs defaults,proto=tcp,nfsvers=3 0 0 ``` #### 6. NFS 启动参数详解 在某些场景下,NFS 可能需要通过内核启动参数指定额外的配置。例如: ```plaintext noinitrd console=ttySAC0,115200 lcd=S70 init=/init root=/dev/nfs rw nfsroot=192.168.191.11:/home/tiny6410/rootfs,proto=tcp,nfsvers=3,nolock ip=192.168.191.8:192.168.191.11:192.168.191.255:255.255.255.0::eth0:off ``` - `nfsroot`: 指定 NFS 根目录。 - `proto=tcp`: 使用 TCP 协议[^3]。 - `nfsvers=3`: 指定 NFS 版本为 3[^3]。 - `nolock`: 禁用文件锁定功能[^3]。 #### 7. 测试 NFS 功能 测试 NFS 是否正常工作: ```bash showmount -e 172.16.1.1 ``` 此命令将列出服务器上可用的共享目录[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值