首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当服务器安装或未安装时,如何对服务器不能同意的zfs数据集进行故障排除?

当服务器安装或未安装时,如何对服务器不能同意的zfs数据集进行故障排除?
EN

Server Fault用户
提问于 2023-06-03 07:50:06
回答 1查看 111关注 0票数 4

我有一个/proc/mounts/etc/mtab中存在的ZFS数据集,但是文件系统中不存在文件夹,zfs umount报告数据集不存在,zfs mount报告数据集已经挂载。

这是在运行zfs dkms 2.1.11-1的RHEL 8.8 (完全更新)上完成的。

是否可以在不重新启动服务器的情况下收集此数据集?我如何开始解决这类问题呢?

我认为,当它在dataset上启用了sharenfs设置,然后在nfs守护进程共享时尝试使用zfs umount时,就会发生这种情况。我尝试过设置sharenfs=off (它成功了,但没有解决问题)。nfs服务已经关闭,问题仍在发生。我可以将数据集zfs send到另一个系统,并验证它们是否完好无损,但我只需要将它们安装在此服务器上。

我不使用容器或附加的挂载名称空间(据我所知)。

挂载列在/etc/mtab/proc/mounts中。

代码语言:javascript
复制
topher@nzxt:/$ grep Backups -H /etc/mtab /proc/mounts
/etc/mtab:array/Backups /array/Backups zfs rw,seclabel,nosuid,nodev,noexec,noatime,xattr,noacl 0 0
/etc/mtab:array/Backups/gwen /array/Backups/gwen zfs rw,seclabel,nosuid,nodev,noexec,noatime,xattr,noacl 0 0
/proc/mounts:array/Backups /array/Backups zfs rw,seclabel,nosuid,nodev,noexec,noatime,xattr,noacl 0 0
/proc/mounts:array/Backups/gwen /array/Backups/gwen zfs rw,seclabel,nosuid,nodev,noexec,noatime,xattr,noacl 0 0

该目录不存在于文件系统中

代码语言:javascript
复制
topher@nzxt:/$ ls /array/Backups
ls: cannot access '/array/Backups': No such file or directory

数据集确实存在于zfs中(池是array)。

代码语言:javascript
复制
topher@nzxt:/$ zfs list array/Backups array/Backups/gwen
NAME                 USED  AVAIL     REFER  MOUNTPOINT
array/Backups       2.62T  1.59T     1.71T  /array/Backups
array/Backups/gwen   364G  1.59T      364G  /array/Backups/gwen

安装失败(懒惰、强迫或其他原因)。

代码语言:javascript
复制
topher@nzxt:/$ sudo zfs umount array/Backups
cannot unmount '/array/Backups/gwen': no such pool or dataset

topher@nzxt:/$ sudo zfs umount array/Backups/gwen
cannot unmount '/array/Backups/gwen': no such pool or dataset

topher@nzxt:/$ sudo umount /array/Backups/gwen
umount: /array/Backups/gwen: no mount point specified.

topher@nzxt:/$ sudo umount /array/Backups
umount: /array/Backups: no mount point specified.

我也无法导出zfs池。

代码语言:javascript
复制
topher@nzxt:~$ sudo zpool export array
cannot unmount '/array/Backups/gwen': unmount failed

尝试重新装入已挂载的目录报告

代码语言:javascript
复制
topher@nzxt:/$ sudo zfs mount array/Backups
cannot mount 'array/Backups': filesystem already mounted

topher@nzxt:/$ sudo zfs mount array/Backups/gwen
cannot mount 'array/Backups/gwen': filesystem already mounted

lsof引发试图遍历受影响目录的错误,并且在这些路径中不返回任何打开的文件句柄。

代码语言:javascript
复制
topher@nzxt:/$ sudo lsof | grep Backups
lsof: WARNING: can't stat() zfs file system /array/Backups
      Output information may be incomplete.
lsof: WARNING: can't stat() zfs file system /array/Backups/gwen
      Output information may be incomplete.

fuser认为挂载不存在

代码语言:javascript
复制
topher@nzxt:~$ sudo fuser -vm /array/Backups
Specified filename /array/Backups does not exist.
topher@nzxt:~$ sudo fuser -vm /array/Backups/gwen
Specified filename /array/Backups/gwen does not exist.
EN

回答 1

Server Fault用户

发布于 2023-06-03 09:56:56

尝试懒散或强制的umount,看看会发生什么?

umount -lumount -f

见:https://github.com/openzfs/zfs/issues/2435Linux挂载点无论如何都不能卸载?

票数 3
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/1132548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档