我写了一个错误的程序,在/ tmp下意外创build了大约30M的文件。 (这个bug是在几个星期前引入的,它每秒创build一些子目录。)我可以将/ tmp重命名为/ tmp2,现在我需要删除这些文件。 系统是FreeBSD 10,根文件系统是zfs。 与此同时,镜子中的一个驱动器出错了,我已经取代了它。 该驱动器有两个120GB SSD磁盘。 这里是一个问题:更换硬盘和重新arrays整个arrays不到一个小时。 删除文件/ tmp2是另一回事。 我写了另一个程序来删除文件,它只能删除每秒30-70个子目录。 删除所有文件需要2-4天的时间。 如何重新整理arrays需要一个小时,但从磁盘删除需要4天? 为什么我的performance如此糟糕? 70次/秒的performance看起来非常糟糕。 我可以手动删除/ tmp2的inode,但不会释放空间,对不对? 这可能是一个ZFS的问题,或硬盘或什么?
一位朋友正在跟我谈论随机翻转硬盘上的位元腐蚀问题,破坏了数据。 非常罕见,但有足够的时间,这可能是一个问题,而且不可能检测到。 该驱动器不会认为它是一个坏的部门,备份只会认为文件已经改变。 没有校验和来validation完整性。 即使在RAID设置中,也会检测到差异,但无法知道哪个镜像副本是正确的。 这是一个真正的问题吗? 如果是的话,可以做些什么呢? 我的朋友推荐zfs作为解决scheme,但我无法想象我们的文件服务器正在工作,把Solaris和zfs放在一起。
我在Debian上有一个大的(> 100TB)ZFS(FUSE)池,丢失了两个驱动器。 当驱动器出现故障时,我用备件replace它们,直到我可以安排停机并在物理上replace坏的磁盘。 当我将系统closures并更换驱动器时,池会按预期启动重新同步,但当完成约80%(通常需要约100小时)时,重新启动。 我不确定一次更换两个驱动器是否会造成竞争状态,或者由于池的大小,重启器需要很长时间以致其他系统进程正在中断它并使其重新启动,但是没有明显的指示“zpool status”的结果或指向问题的系统日志。 我已经修改了我如何布置这些池以改善重新同步性能,但任何有关将此系统重新投入生产的线索或build议都是值得赞赏的。 zpool状态输出(自上次检查以来,错误是新的): pool: pod state: ONLINE status: One or more devices has experienced an error resulting in data corruption. Applications may be affected. action: Restore the file in question if possible. Otherwise restore the entire pool from backup. see: http://www.sun.com/msg/ZFS-8000-8A scrub: resilver in progress for 85h47m, 62.41% done, 51h40m […]
我正在尝试将主目录的层次结构展示给一些FreeBSD jail。 主目录configuration为每个都是唯一的ZFS数据集。 监狱是用于开发工作,因此定期创build和销毁。 我的第一个想法是简单地使用nullfs在jail中挂载/home ,但是nullfs不提供任何方式来访问下级文件系统。 我的第二个想法是通过NFS导出目录,然后在每个监狱内运行automounter守护进程(amd)。 这将有Just Worked …如果有可能在监狱内执行NFS挂载。 但事实并非如此。 我的第三个想法是在主机上运行amd,并将nullfs挂载到jail中,但是对nullfs的支持不存在。 我的第四个想法是回到导出目录使用NFS,因为当然amd与NFS的工作,对不对? 不幸的是,amd并不是在目标挂载点上挂载一个目录,而是喜欢在临时位置( /.amd_mnt/… )挂载东西,然后创build一个符号链接,当然这在监狱环境中是没用的。 那么也许你可以使用nullfs将/.amd_mnt的子目录暴露给jail? 没有! 这使我们回到了第一次尝试,我们发现使用nullfs无法访问下级文件系统。 然后我的头爆炸了。 有什么我想要做的很好的解决scheme? 一个不好的解决办法是在引导jail后运行一个脚本,为每个home目录创build多个nullfs挂载点,但这非常笨重 – 需要定期运行以考虑新目录或删除的目录。 所以基本上我不得不写一个坏的自动加载器。 一定有更好的办法。 帮助我,Serverfault,你是我唯一的希望! 更新1 :在我看来,我可能能够用pam_mount解决部分问题,尽pipe这至多是不完整的。 另外,从文档中不清楚pam_mount是否可以自动创build目标挂载点。 如果它要求挂载点事先存在,这个解决scheme就不会比我已经提出的坏自动挂载程序更好。 更新2 :正如在下面的答案中所讨论的,在NFS文件系统上设置VFCF_JAIL确实允许jail执行NFS挂载。 不幸的是,自动加载程序仍然performance得毫无帮助,而且在监狱中运行似乎非常适合以这种方式重新启动系统以删除进程条目。
我在zpool中有几个非常有价值的个人数据的TB,由于数据损坏而无法访问。 该池最初是在2009年左右在Ubuntu 8.04系统之上的VMWare虚拟机内部运行的FreeBSD 7.2系统中build立起来的。 FreeBSD VM仍然可用并且运行正常,只有主机操作系统已经变成Debian 6.通过VMWare通用SCSI设备可以访问guest虚拟机,总共12个硬盘。 有2个游泳池: zpool01:2x 4x 500GB zpool02:1x 4x 160GB 工作的人是空的,破碎的人掌握着所有的重要资料: [user@host~]$ uname -a FreeBSD host.domain 7.2-RELEASE FreeBSD 7.2-RELEASE #0: \ Fri May 1 07:18:07 UTC 2009 \ [email protected]:/usr/obj/usr/src/sys/GENERIC amd64 [user@host ~]$ dmesg | grep ZFS WARNING: ZFS is considered to be an experimental feature in FreeBSD. ZFS filesystem version 6 […]
我们正在考虑build立一个〜16TB的存储服务器。 目前,我们正在考虑将ZFS和XFS作为文件系统。 有什么优点和缺点? 我们需要寻找什么? 有第三个更好的select吗?
这是关于RAID级别的典型问题 。 什么是: 通常使用的RAID级别(包括RAID-Z系列)? 部署是他们常见的? 每个的好处和缺陷?