linux NFS

由于改了内核配置,以为是配置造成的问题;还原旧配置,还是NFS不能。在HOST端重启NFS服务器:

ywf@ubuntu:~$ sudo /etc/init.d/nfs-kernel-server restart

* Stopping NFS kernel daemon                                            [ OK ]

 * Unexporting directories for NFS kernel daemon...                      [ OK ]

 * Not starting NFS kernel daemon: no support in current kernel.

 

于是,就想是不是升级惹的祸。仔细看看,nfs-kernel-server1.1.2变成1.2.0了。

GOOGLE到了https://bugs.launchpad.NET/ubuntu/+source/Linux/+bug/444458

原因很清楚:如果没有将NFS服务器作为模块运行,它就退出。解决的办法很简单,注释:

ywf@ubuntu:~$ sudo gedit /etc/init.d/nfs-kernel-server

66          # See if our running kernel supports the NFS kernel server

67          #if [ -f /proc/kallsyms ] && ! grep -qE 'init_nf(sd|    )' /proc/kallsyms; then

68          #    log_warning_msg "Not starting $DESC: no support in current kernel."

69          #    exit 0

70          #fi

 

启动NFS服务器:

ywf@ubuntu:~$ sudo /etc/init.d/nfs-kernel-server restart

 * Stopping NFS kernel daemon                                            [ OK ]

 * Unexporting directories for NFS kernel daemon...                         [ OK ]

* Exporting directories for NFS kernel daemon...                            [ OK ]

 * Starting NFS kernel daemon                                            [ OK ]

 

挂载测试下,OK

ywf@ubuntu:~$ sudo mount -t nfs 192.168.74.130:/home/ywf/workdir/filesys/ /mnt

 

如果还是挂载失败,修改exports

ywf@ubuntu:~$ sudo gedit /etc/exports

/home/ywf/workdir/filesys *(rw,sync,no_root_squash)

### 配置Linux系统上的NFS(网络文件系统) #### NFS服务概述 NFS(Network File System)是一种用于UNIX/Linux系统的分布式文件系统协议,允许客户端通过网络访问远程服务器上的文件,就像访问本地文件一样。其核心特性包括: - **支持异构系统共享**:适用于Linux与Unix系统之间的文件共享。 - **提供POSIX兼容文件操作语义**:确保文件操作的标准化。 - **采用RPC机制实现透明访问**:通过远程过程调用(Remote Procedure Call, RPC)实现跨网络的文件访问。 - **支持TCP/UDP传输**:推荐使用TCP以获得更稳定的连接[^3]。 #### NFS服务端配置指南 1. **安装NFS服务** 在大多数Linux发行版中,NFS服务由`nfs-utils`包提供。可以通过以下命令安装: ```bash sudo yum install nfs-utils # CentOS/RHEL sudo apt-get install nfs-kernel-server # Debian/Ubuntu ``` 2. **配置NFS共享目录** 编辑NFS配置文件`/etc/exports`,定义要共享的目录及其权限规则。例如,要将`/nfs/oracle`目录共享给`192.168.1.0/24`网络的所有主机,并赋予读写权限,可以添加如下内容: ``` /nfs/oracle 192.168.1.0/24(rw,sync,no_subtree_check) ``` 其中,常用的选项包括: - `rw`: 允许读写操作。 - `ro`: 只读访问。 - `sync`: 数据同步写入磁盘。 - `no_subtree_check`: 禁止子树检查,提升性能但降低安全性。 3. **启动并启用NFS服务** 安装完成后,需要启动NFS服务并设置开机自启: ```bash sudo systemctl start nfs-server sudo systemctl enable nfs-server ``` 4. **配置防火墙规则** 为确保NFS服务能够正常运行,需在防火墙上开放相关端口: ```bash sudo firewall-cmd --permanent --add-service=nfs sudo firewall-cmd --permanent --add-service=mountd sudo firewall-cmd --permanent --add-service=rpc-bind sudo firewall-cmd --reload ``` 5. **验证NFS共享** 使用以下命令查看当前NFS共享的状态: ```bash sudo exportfs -v ``` #### NFS客户端配置指南 1. **安装NFS客户端工具** 在客户端上,同样需要安装NFS客户端工具: ```bash sudo yum install nfs-utils # CentOS/RHEL sudo apt-get install nfs-common # Debian/Ubuntu ``` 2. **挂载NFS共享目录** 创建一个本地挂载点,并将远程NFS共享目录挂载到该位置: ```bash sudo mkdir -p /mnt/nfs/oracle sudo mount 192.168.1.1:/nfs/oracle /mnt/nfs/oracle ``` 其中,`192.168.1.1`是NFS服务器的IP地址。 3. **验证挂载状态** 使用以下命令确认挂载是否成功: ```bash df -h | grep nfs ``` 4. **自动挂载(可选)** 为了在系统重启后自动挂载NFS共享目录,可以在`/etc/fstab`中添加一条记录: ``` 192.168.1.1:/nfs/oracle /mnt/nfs/oracle nfs defaults 0 0 ``` #### NFS安全性和性能优化建议 1. **增强安全性** - **结合Kerberos认证**:对于生产环境,建议使用Kerberos进行身份验证,以提高NFS的安全性。 - **限制访问范围**:在`/etc/exports`中明确指定允许访问的IP地址或子网,避免不必要的开放。 - **定期监控NFS性能**:使用工具如`nfsstat`、`iostat`等监控NFS的性能和负载情况。 2. **性能优化** - **调整NFS挂载选项**:例如使用`async`代替`sync`以提升写入性能,但需注意数据一致性风险。 - **优化网络配置**:确保NFS服务器与客户端之间的网络带宽充足且延迟低。 - **合理分配存储资源**:根据实际需求分配足够的存储空间,并定期清理无用文件。 #### 示例代码:NFS服务端配置脚本 ```bash # 安装NFS服务 sudo yum install nfs-utils -y # 创建共享目录 sudo mkdir -p /nfs/oracle # 配置/etc/exports文件 echo "/nfs/oracle 192.168.1.0/24(rw,sync,no_subtree_check)" | sudo tee -a /etc/exports # 启动并启用NFS服务 sudo systemctl start nfs-server sudo systemctl enable nfs-server # 配置防火墙规则 sudo firewall-cmd --permanent --add-service=nfs sudo firewall-cmd --permanent --add-service=mountd sudo firewall-cmd --permanent --add-service=rpc-bind sudo firewall-cmd --reload # 验证NFS共享状态 sudo exportfs -v ``` #### 示例代码:NFS客户端挂载脚本 ```bash # 安装NFS客户端工具 sudo yum install nfs-utils -y # 创建挂载点 sudo mkdir -p /mnt/nfs/oracle # 挂载NFS共享目录 sudo mount 192.168.1.1:/nfs/oracle /mnt/nfs/oracle # 验证挂载状态 df -h | grep nfs ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值