Linux nfs

本文详细介绍NFS文件共享的配置流程,包括服务端和客户端的设置步骤,以及权限管理和目录共享的具体操作。涵盖NFS服务启动、停止、权限调整和自动挂载等关键环节。

文件共享nfs

1. Server服务端配置

  1. 修改 /etc/exports ,添加共享⽬录。
    /home/tyhawk 192.168.56.*(rw,No_root_squash)
    /home/tyhawk *(rw,No_root_squash)
    /home/tyhawk hostname(rw,No_root_squash

Exports⽂件中可以设定的参数主要有以下这些:
(1) Ro 该主机对该共享⽬录有只读权限
(2) Rw 该主机对该共享⽬录有读写权限
(3) Root_squash 客户机⽤root⽤户访问该共享⽂件夹时,将root⽤户映射成匿名⽤户
(4) No_root_squash 客户机⽤root访问该共享⽂件夹时,不映射root⽤户
(5) All_squash 客户机上的任何⽤户访问该共享⽬录时都映射成匿名⽤户
(8) Sync 资料同步写⼊到内存与硬盘中
(9) Async 资料会先暂存于内存中,⽽⾮直接写⼊硬盘

2. 配置NFS

  1. 启动NFS服务:
    service nfs start
  • 若修改/etc/exports ⽂件添加新的共享⽬录信息,
    需先停⽌NFS服务,再启动服务,⽅可起作⽤
    (使⽤命令exportfs -rv也可以达到同样的效果。)
    关闭NFS服务命令
    service nfs stop

查看共享⽬录信息

showmount ———— server 端
查询nfs共享⽬录信息,相关选项如下:

  • -a 显示已经于客户端连接上的⽬录信息
  • -e IP或者hostname 显示此IP地址分享出来的⽬录

示例:

  1. showmount -a localhost #查询本机共享⽬录连接情况
  2. showmount -e localhost #查询本机nfs共享⽬录情况查看共享⽬录信息

修改共享⽬录权限,使other user可以访问。
chmod 配置NFS

Client : 客户端配置

  1. 创建挂载点⽬录
    mkdir /mnt/nfs_dir
  2. 临时挂载远程⽬录
    mount -t nfs -o rw 192.168.56.51:/home/tyhawk /mnt/nfs_dir 配置NFS
    Client :
  3. 启动⾃动挂载
    vi /etc/fstab
    192.168.56.51:/home/tyhawk /mnt/nfs_dir nfs defaults 0 0
  4. 查看
    mount -a配置NFS
    Client :
  5. 对于server端⽬录的权限,进⾏查看
    cd /mnt/nfs_dir/
    -bash: cd: /mnt/nfs_dir/: Permission deni
### 配置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、付费专栏及课程。

余额充值