第十三讲.nfs自动挂载

NFS

一般用于 linux 之间进行文件共享

服务器

安装 软件 yum -y install nfs*

第一次启动

`systemctl enable/disable nfs-server`
`systemctl start/restartstop nfs-server`
`systemctl status nfs-server`   查看状态

修改主配置文件

`/etc/exports`

`/aaa  192.168.122.0/255.255.255.0(rw/ro,sync,root_squash/no_root_squash)`
数据一致性(同步更改)    权限(降级-缺省/不降级)

重启服务

`systemctl restart nfs-server`

客户机

询问nfs 服务器

`showmount -e 192.168.122.218`

挂载目录

`mount 192.168.122.218:/aaa  /abc`
手动 挂载 服务器上 `/aaa` 到 `/abc`

自动挂载 与 autofs 一起使用
`/etc/auto.master`
[root@TTK-305 home]# cat /etc/fstab i# # /etc/fstab # Created by anaconda on Tue Aug 13 15:46:24 2024 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/dbvg-root / xfs nobarrier 0 0 UUID=6f2ac61f-2a22-461f-bea0-f05e278457fc /boot xfs defaults 0 0 UUID=F4FE-6592 /boot/efi vfat defaults,uid=0,gid=0,umask=0077,shortname=winnt 0 0 /dev/mapper/dbvg-_home /home xfs nobarrier 0 0 /dev/mapper/dbvg-swap swap swap defaults 0 0 //192.168.10.233/TempProgram /home/demo/TempProgram cifs defaults,credentials=/root/.smbcredentials 0 0 //192.168.10.233/Program /home/demo/ServerProgram cifs defaults,credentials=/root/.smbcredentials 0 0 //192.168.80.208/TempProgram /home/demo/TempProgram_Transit cifs defaults,credentials=/root/.smbcredentials 0 0 //138.100.110.221/VXProd/ /home/nfsvx/ cifs defaults,credentials=/root/.VXsmbcredentials,file_mode=0777,dir_mode=0777 0 0 #vtest-license:/rpms/advantest /rpms nfs rsize=8192,wsize=8192,nfsvers=3,bg,hard,tcp 0 0 138.100.110.221:/93KHomeFolder /home nfs defaults,credentials=/root/.VXUsersmbcredentials 0 0 [root@TTK-305 home]# cat /root/.VXUsersmbcredentials username=homeuser password=Vt12@456Us& [root@TTK-305 home]# mount -a mount: /etc/fstab: parse error: ignore entry at line 1. mount.nfs: an incorrect mount option was specified [root@TTK-305 home]# mount -a -v mount: /etc/fstab: parse error: ignore entry at line 1. / : ignored /boot : already mounted /boot/efi : already mounted /home : already mounted swap : ignored /home/demo/TempProgram : already mounted /home/demo/ServerProgram : already mounted /home/demo/TempProgram_Transit: already mounted /home/nfsvx/ : already mounted mount.nfs: timeout set for Fri Oct 10 10:43:39 2025 mount.nfs: trying text-based options 'credentials=/root/.VXUsersmbcredentials,vers=4.1,addr=138.100.110.221,clientaddr=138.100.121.1' mount.nfs: mount(2): Invalid argument mount.nfs: trying text-based options 'credentials=/root/.VXUsersmbcredentials,vers=4.0,addr=138.100.110.221,clientaddr=138.100.121.1' mount.nfs: mount(2): Invalid argument mount.nfs: trying text-based options 'credentials=/root/.VXUsersmbcredentials,addr=138.100.110.221' mount.nfs: prog 100003, trying vers=3, prot=6 mount.nfs: trying 138.100.110.221 prog 100003 vers 3 prot TCP port 2049 mount.nfs: prog 100005, trying vers=3, prot=17 mount.nfs: trying 138.100.110.221 prog 100005 vers 3 prot UDP port 2050 mount.nfs: mount(2): Invalid argument mount.nfs: an incorrect mount option was specified
10-11
<think>我们遇到了两个错误:1. `/etc/fstab: parse error: ignore entry at line 1`,表示fstab文件第一行有解析错误;2. `mount.nfs: an incorrect mount option was specified`,表示NFS挂载选项中指定了错误的选项。 解决步骤如下: 1. **检查/etc/fstab文件**:第一行有语法错误,需要仔细检查。fstab每一行的格式为:`<设备> <挂载点> <文件系统类型> <挂载选项> <dump选项> <fsck顺序>`,用空格或制表符分隔。 - 常见错误:缺少字段、字段顺序错乱、使用了不支持的选项、拼写错误等。 2. **修复第一行的错误**:打开fstab文件(需要root权限),例如: sudo nano /etc/fstab 检查第一行,确保有6个字段(如果使用nano,行号在屏幕底部,第一行就是第1行)。 3. **检查NFS挂载选项**:第二个错误通常出现在挂载NFS文件系统时指定的选项不正确。在fstab中找到NFS挂载的行(可能不是第一行,但也要确保第一行修复后检查其他行),检查挂载选项(即第四个字段)是否正确。 - 常见的NFS挂载选项:`rw`,`ro`,`soft`,`hard`,`timeo=<value>`,`retrans=<value>`,`proto=<tcp|udp>`等。注意:不要使用不支持的选项或拼写错误。 4. **验证fstab文件**:可以使用以下命令测试fstab文件是否有其他错误: sudo mount -a 这个命令会尝试挂载fstab中所有的文件系统(除了标记为noauto的)。如果还有错误,会显示错误信息,根据信息继续修正。 5. **特别注意NFS挂载行**:对于NFS挂载,设备字段应该是`<NFS服务器IP或主机名>:<导出路径>`,挂载点是一个本地目录,文件系统类型为`nfs`或`nfs4`,然后在挂载选项中指定正确的选项。 6. **重新挂载**:修正后再次运行`sudo mount -a`,如果没有错误提示,则挂载成功。 7. **如果系统启动时因为fstab错误无法启动**:可以进入救援模式(单用户模式/恢复模式)修复。在开机启动时,如果遇到fstab错误,通常会进入一个恢复shell(repair filesystem模式),此时文件系统是只读的,需要重新挂载为读写: mount -o remount,rw / 然后就可以编辑/etc/fstab文件进行修复。 8. **备份**:在修改fstab之前,建议备份: sudo cp /etc/fstab /etc/fstab.bak 示例fstab中NFS条目: # <设备> <挂载点> <类型> <选项> <dump> <pass> 192.168.1.100:/shared /mnt/nfs nfs rw,hard,timeo=15,retrans=5 0 0 如果遇到NFS挂载选项错误,可以尝试简化选项,只保留必要的(如`rw`,`hard`等),再逐步添加。 注意:在修改fstab后,如果挂载点目录不存在,需要先创建挂载点目录(如`sudo mkdir -p /mnt/nfs`)。 如果问题仍然存在,可以检查NFS服务器配置以及网络连接。 相关问题: 1. 如何诊断NFS连接问题? 2. 有哪些常用的NFS挂载选项,它们的作用是什么? 3. 如何设置系统启动时自动挂载NFS共享? 4. 除了fstab,还有哪些方法可以挂载NFS共享? 5. 如何测试NFS服务器的共享是否正常? </think>### 解决 mount 命令的 /etc/fstab 解析错误和 NFS 挂载选项错误 以下是分步解决方案: #### 1. **修复 /etc/fstab 解析错误** 错误 `/etc/fstab: parse error: ignore entry at line 1` 表示第一行存在语法问题: ```bash sudo nano /etc/fstab # 使用 root 权限编辑文件 ``` - **检查格式规范**:确保每行严格遵循 6 字段格式: ```bash <设备/UUID> <挂载点> <文件系统类型> <挂载选项> <dump> <fsck> ``` - **常见修复**: - 删除行首多余空格/注释符(`#` 开头的注释行除外) - 确保字段间用 **单个空格或制表符** 分隔 - 检查特殊字符转义(如空格用 `\040` 表示) - **验证命令**: ```bash sudo mount -a # 测试挂载 findmnt --verify # 专业验证工具 ``` #### 2. **解决 NFS 挂载选项错误** 错误 `mount.nfs: an incorrect mount option was specified` 表明 NFS 选项无效: - **检查 NFS 行语法**: ```bash # 正确示例: nfs-server:/share /mnt/nfs nfs rw,soft,timeo=15 0 0 ``` - **排查选项**: - **无效选项**:移除非常用选项(如 `async`/`sync` 混用) - **过时选项**:替换 `bg`/`fg` 为 `nobg` - **协议指定**:添加 `vers=4.1` 或 `vers=3` - **超时调整**:增加 `timeo=30`(单位=0.1秒) - **临时测试**(绕过 fstab): ```bash sudo mount -t nfs -o rw,vers=4.1 nfs-server:/share /mnt/nfs ``` #### 3. **系统无法启动的紧急修复** 若因 fstab 错误导致系统无法启动: 1. 启动时选择 **Recovery Mode** 或 **repair filesystem** 2. 进入 root shell 后执行: ```bash mount -o remount,rw / # 挂载根目录为读写 nano /etc/fstab # 修正错误行 mount -a # 验证修复 reboot ``` #### 4. **预防措施** ```bash sudo cp /etc/fstab /etc/fstab.bak # 修改前备份 man nfs # 查看 NFS 选项手册 systemctl restart nfs-utils # 重启 NFS 服务 ``` > **关键提示**:NFS 错误常因客户端/服务器协议不匹配,需确保两端使用相同 NFS 版本[^1]。 --- ### 相关问题 1. 如何永久设置 NFS 的默认版本以避免挂载错误? 2. `/etc/fstab` 中 UUID 与设备路径(如 `/dev/sda1`)哪种更可靠?为什么? 3. 系统启动时如何跳过 `/etc/fstab` 的自动挂载? 4. 除 `mount -a` 外,还有哪些方法可以调试 NFS 连接问题? 5. 如何配置 NFS 服务器端的导出选项以匹配客户端挂载要求? [^1]: 引用基于 Linux 文件系统管理和 NFS 协议文档的通用解决方案。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值