问题标签 [zfs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
252 浏览

macos - “mds”用什么来迭代挂载的文件系统?

在过去的几年里,我一直在密切关注 OS X 的 Open ZFS 开发场景。自从 Greenbytes 等出现可悲的问题以来,过去几个月事情取得了显着进展,但我很高兴看到我们终于接近获得真正的 Spotlight 支持。我注意到前几天 Jorgen Lundman 发来的这封电子邮件(他投入了大量个人时间来推动这件事并为社区做出贡献),并认为这里的其他人可能有兴趣加入这个,他的关于在 OS X 上实现对 ZFS 的 Spotlight 支持:

总而言之,我认为这个问题的症结在于:

以及为方便起见的电子邮件正文:

0 投票
1 回答
789 浏览

mysql - dockerfile - 无法连接错误

所以这就是我要做的:我需要使用 docker 自动设置一些容器。其中之一是这样的: Debian Squeeze 具有有限的 CPU 份额和有限的内存(1 个 cpu 份额和 512 mb 内存),预装了 apache2、build-essential、php5、mysql-server-5.5、openssh-server 并打开了一些端口( Apache 为 8000,MySQL 为 1500)。所以我创建了以下 dockerfile :

apache-config.conf 的内容是这样的:

在 www 文件夹中,我使用以下代码放置了一个 php 文件:

测试与 mysql 服务器的连接

然后

我将所有这些构建成这样的图像:

然后我像这样运行图像

它似乎可以工作,当我在浏览器中访问 localhost:8000/site 时,apache 服务器可以工作,但显示“无法连接”。我究竟做错了什么?另一个问题是,contaienr 正在运行,但我无法附加到它。我运行这个命令

然后什么也没有发生,不能从那里做任何其他事情,我做错了什么?

我必须再构建几个与此类似的 dockerfile 来创建容器。所有这些都必须托管在 ZFS 文件系统上,我必须基于它配置一个 50gb 的容器存储库,这是什么意思,我该怎么做?

对不起我的英语,这不是我的母语:(提前谢谢你

0 投票
0 回答
620 浏览

python - python子进程Popen挂起

我看过很多例子,很多似乎表明问题是死锁。我没有写信给标准输入,所以我认为问题是其中一个 shell 命令过早退出。

在 Popen 中执行的是:

换句话说,登录到远程主机并(发送存储卷的复制流,将其通过管道传输到 gzip)将其通过管道传输到 zfs recv 以写入本地数据存储。

我已经看过关于缓冲区的解释,但我绝对没有填满这些,而且 gzip 过早地退出了,所以我认为 process.wait() 永远不会退出。

这是我跑步并打断它时会发生的情况

我也尝试使用 Popen.communicat() 方法,但如果 gzip 退出,它也会挂起。在这种情况下,我的命令 (zfs recv) 的最后一部分退出,因为本地数据集已被修改,因此不会应用增量复制流,因此即使这将得到修复,也必须有一种处理 gzip 损坏的方法管道?

运行时:

0 投票
1 回答
1292 浏览

raspberry-pi - 如何通过 Raspberry-Pi 设备共享 ZFS 格式的 USB 磁盘

我有一个 ZFS 格式的 USB 磁盘,我想在家庭网络上共享它并有一个未使用的 Raspberry-Pi (512MB),它肯定不是我拥有的最快的计算机,但也肯定是消耗更少的计算机。

在 LAN 请求上唤醒将是一个不错的功能,并希望 USB 驱动器可以在一段时间不使用时进入睡眠状态。

问题是 IT 使用什么发行版/如何配置它?

0 投票
1 回答
439 浏览

filesystems - BTRFS 和 ZFS 快照如何工作?

更具体地说,他们如何设法查看整个子卷并记住它的所有内容(文件、文件大小、文件夹结构),同时将其放入如此少量的数据中。

0 投票
1 回答
100 浏览

zfs - 单个池中的两个 ZFS 阵列需要将它们分开

我不确定是否有人可以帮助我,但我会试一试。

目前使用 Ubuntu ZFS 为我提供了一个 ZFS 阵列,它由两个 RaidZ1 阵列、3x3TB 和 3x2TB 磁盘组成。

然而在安装更大的阵列时很愚蠢,我将第二个阵列添加到同一个池中,该池中已经有大量数据(目前称为存储)。我的计划是使用 3x2TB 磁盘作为备份磁盘,以防文件服务器或 ZFS 设置本身出现问题。

所以我真的有两个问题,一个是将所有数据移动到更大的数组中,当它在同一个 zfs 池中时?(当前名称是存储池名称)。那么有没有办法关闭剩余的旧未使用的 3x2TB 阵列,以便可以缩小池?

所以我遇到了一个问题,我不确定如何继续,甚至不知道我正在寻找的东西是否可能,所以任何线索都会很棒。提前致谢

0 投票
1 回答
430 浏览

python - 使用 Paramiko 在远程文件服务器上执行 zfs 命令完全为所有用户提供 NFS/zfs

昨天我对 Paramiko 进行了两行代码更改,这不应该(据我所知)产生任何不利影响,然后我们的电话立即开始响起,并且收到了有关用户无法访问的报告的电子邮件他们 NFS 挂载的主目录是 zfs 文件系统。我询问了我的同事们的意见,每个人都很难理解为什么这个改变不仅没有完成我的计划,而且为什么它会为每个人都带来一切。

在使用 Paramiko 执行“zfs create”命令创建新用户的 NFS 主目录后,我使用 Python 的“time.sleep(5)”行给远程系统执行和处理命令的机会(有时特别是如果 NFS 服务器处于压力之下,命令可能需要一两秒才能真正生效)。

事实证明,我们似乎遇到了一个罕见的情况,即 5 秒的延迟是不够的。所以我决定把它从 Python 的“time.sleep(5)”函数改成使用 Paramiko 的“channel.recv_exit_status()”函数来等待退出状态码,这样花费的时间是多少是必需的(不是任意的秒数)。

以下是代码的区别(删除以减少确定 zfs 路径和用户名等平凡的东西):

原始版本

新版本

似乎这样做时,“zfs create”命令作为文件服务器上的一个进程存在并且永远不会完成。 ps -eaf | grep "zfs create"将命令显示为文件服务器上的一个进程,该进程在我 Ctrl+C 退出原始调用程序之前一直存在。最令人惊讶的是,这似乎足以彻底破坏从该服务器导出的所有 zfs 文件系统。在 Ctrl+C 并等待几分钟后,一切恢复正常,人们停止报告 NFS 中断。

这是Paramiko 1.14.1Python 2.7.8。执行/调用机器是Solaris 11.2,远程文件服务器(进程挂起的地方)是Solaris 11.1

0 投票
1 回答
858 浏览

freebsd - 如何从 FreeBSD(ZFS 和 UFS)上的 inode 获取路径?

Windows (NtQueryObject)、Linux (/proc/self/fd/x) 和 OS X (F_GETPATH) 都有检索当前打开文件描述符路径的方法。据说 FreeBSD 也是通过类似以下代码的方式进行的:

这对几乎所有类型的文件描述符都有效,除了返回空路径的常规文件,至少在 FreeBSD 10 中。我认为这是一个疏忽,因为从检查内核代码来看,返回路径似乎微不足道,尽管可能存在是性能原因不这样做。

procstat 使用与上述相同的 API,因此也只返回除常规文件之外的所有内容的路径。使用 statfs() 我至少可以获得文件挂载点的路径,但是检索挂载点和实际文件之间的路径片段是问题所在。

所以让我问这个问题:是否可以要求 UFS 或 ZFS 从 inode 返回路径片段,也许使用一些神奇的 ioctl 或 sysctl,甚至是一些实用程序库?有问题的代码不需要打开文件描述符路径,它只需要当前可以找到文件描述符的一些规范路径(这是为了处理跟踪提议的 Boost.AFIO的第三方文件重命名)。

我提前感谢您的帮助。FreeBSD 是该功能的主要操作系统中唯一引人注目的,没有它,编写文件系统竞争安全检测代码是不可能的:(

编辑:我在http://comments.gmane.org/gmane.os.solaris.opensolaris.zfs/38277找到了关于让 ZFS 将 inode 转换为路径的讨论。显然有一个 ZFS_IOC_OBJ_TO_PATH ioctl,但从谷歌判断这不是一个很好的代码路径

0 投票
0 回答
341 浏览

linux - 由于 Linux 上的池配置不正确,无法打开 ZFS 池

重新启动后,我的 ZFS 池无法打开我的主池。我得到的确切错误是:“池元数据已损坏,无法打开池”

当我使用 zpool status(从故障恢复控制台)检查 zpool 配置时,它显示的配置都是错误的。配置列出了我刚刚移动到其他驱动器的几个驱动器。

目前 zpool status 的输出如下所示:

我的问题是,为什么重新启动后配置突然恢复到旧状态?(我在重新启动之前检查了 zpool 状态,一切都很好并且没有报告错误)。我如何告诉 ZFS 更改配置以便我可以打开池并取回我的数据?

我正在运行 Fedora 20,内核 3.18.7-100

0 投票
1 回答
683 浏览

linux - 使用 Icinga 监控系统检查 Linux 主机上 ZFS 池的状态

我有一个用于备份存储的服务器。它在 Linux 上运行 ZFS,配置了 RAID z2 数据池并通过 Samba 共享。我需要监控 ZFS 文件系统至少能够看到有多少可用空间。

我认为一个简单的 check_disk 插件可以完成这项工作。

我能够从 icinga 服务器 cli 执行命令:

但 GUI 显示以下错误:

它在 check_mk 监控系统下工作,但我们现在正在从 check_mk 迁移。我在这台机器上检查 Icinga 中的其他文件系统(根、引导)没有任何问题。

我会很感激任何建议。

谢谢