以一个条纹镜像(Raid 10)为例,如果两个磁盘扩展到四个,那么两个磁盘之间的数据如何在两个镜子之间“重新平衡”(展开)呢? 也就是说,如何将写入一个镜像的文件写入两个镜像以利用条带化磁盘?
使用sudo apt-get upgrade并重新启动升级我的ubuntu 13.10服务器后,我的zpool不会显示。 messier@ANDERSON:~$ sudo zpool status no pools available messier@ANDERSON:~$ sudo zpool import zpool: ../../lib/libzfs/libzfs_import.c:356: Assertion `nvlist_lookup_uint64(zhp->zpool_config, ZPOOL_CONFIG_POOL_GUID, &theguid) == 0' failed. messier@ANDERSON:~$ 我查看了linux github上的zfs,发现CentOS的一个修复程序是删除旧的内核模块,然后重新安装软件以获得新的内核模块。 $ find /lib/modules/$(uname -r)/extra -name "splat.ko" -or -name "zcommon.ko" -or -name "zpios.ko" -or -name "spl.ko" -or -name "zavl.ko" -or -name "zfs.ko" -or -name "znvpair.ko" -or -name "zunicode.ko" | […]
我的印象是,如果在从ZFS池读取过程中发生I / O错误,会发生两件事情: 失败将logging在相关设备的READ或CKSUM统计中,向上传播到池级别。 冗余数据将用于重build所请求的块,将请求的块返回给调用者,如果duff驱动器仍然有效,则将块重新写入该块, 或 如果冗余数据不能纠正读取错误,将返回一个I / O错误。 看来我的镜像设置中的一个磁盘已经发展成一个坏扇区。 这本身并不令人担忧。 这样的事情发生了,这就是为什么我有冗余(准确地说是一个双向镜像)。 每次擦洗池或读取特定目录中的文件(我还没有仔细确定哪个文件出错),dmesg中显然会popup以下显示,具有不同的时间戳: Nov 1 09:54:26 yeono kernel: [302621.236549] ata6.00: exception Emask 0x0 SAct 0x9c10 SErr 0x0 action 0x0 Nov 1 09:54:26 yeono kernel: [302621.236557] ata6.00: irq_stat 0x40000008 Nov 1 09:54:26 yeono kernel: [302621.236566] ata6.00: failed command: READ FPDMA QUEUED Nov 1 09:54:26 yeono kernel: […]
我有一个自动挂载单独的池,有嵌套的挂载点的问题。 我正在使用ZfsOnLinux 0.6.2。 目前的情况如下: zpool1 —> /var zpool1/log —> /var/log zpool1/mail —> /var/mail 现在我需要为数据库添加一个单独的zpool。 为了保持目录层次的一致性,我想到了这一点: zpool2 —> /var/db 现在,问题是,当zpool2首先挂载,zpool1无法挂载(这是逻辑)。 有没有一种方法可以强制使用池安装顺序来允许在zpool1中安装zpool2,除了使用传统的安装选项? 像zpools依赖? 或者我应该不惜一切代价避免这种嵌套坐骑?
我对ZFS相当陌生,我有一个简单的带8个驱动器的镜像存储池设置。 经过几个星期的运行,一个驱动器似乎产生了很多错误,所以我把它取代了。 再过几个星期,现在我发现在池周围出现了小的错误(请参阅下面的zpool status输出)。 我应该担心这个吗? 如何确定错误是否表明驱动器需要更换? # zpool status pool: storage state: ONLINE status: One or more devices has experienced an unrecoverable error. An attempt was made to correct the error. Applications are unaffected. action: Determine if the device needs to be replaced, and clear the errors using 'zpool clear' or replace the device with […]
我有一个通用的服务器,为许多用户提供邮件,DNS,Web,数据库和一些其他的服务。 它有一个3.40 GHz的Xeon E3-1275,16GB ECC RAM。 运行Linux内核4.2.3,使用ZFS-on-Linux 0.6.5.3。 磁盘布局是2个希捷ST32000641AS 2 TB驱动器和1个三星840 Pro 256 GB SSD 我有一个RAID-1镜像中的2个HD,SSD充当caching和日志设备,全部在ZFS中pipe理。 当我第一次build立这个系统时,它非常快。 没有真正的基准,只是…快。 现在,我注意到极端的减速,特别是在保存所有maildirs的文件系统上。 做一个每晚备份需要90分钟,只有46 GB的邮件。 有时候,备份会造成极大的负载,导致系统在长达6小时内几乎无响应。 我在这些减速过程中运行zpool iostat zroot (我的池被命名为zroot ),看到的写入量为100-200kbytes / sec。 没有明显的IO错误,磁盘似乎没有工作特别困难,但读取几乎不可能慢。 奇怪的是我在另外一台机器上也有相同的体验,使用类似的spec硬件,但没有运行FreeBSD的SSD。 它工作好几个月,然后以相同的方式缓慢。 我怀疑是这样的:我使用zfs-auto-snapshot创build每个文件系统的滚动快照。 它创build15分钟,每小时,每天和每月的快照,并保持每个周围的一定数量,删除最老的。 这意味着随着时间的推移,每个文件系统上已经创build并销毁了数千个快照。 这是唯一可以考虑的累积效应的文件系统级操作。 我试图销毁所有的快照(但保持进程运行,创build新的),并没有发现变化。 是否有不断创build和销毁快照的问题? 我发现让他们成为一个非常有价值的工具,并且被认为是(除了磁盘空间)或多或less的零成本。 还有别的可能导致这个问题吗? 编辑:命令输出 zpool list输出: NAME SIZE ALLOC FREE EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT zroot 1.81T […]
我刚刚升级了Ubuntu 14.04,并且在服务器上有两个ZFS池。 我与ZFS驱动程序和内核版本争执了一些小问题,但现在已经解决了。 一个池来到网上,并安装好。 另一个没有。 这个工具之间的主要区别是只有一个磁盘池(video/音乐存储),另一个是raidz集(文档等) 我已经尝试导出并重新导入池,无济于事,试图导入让我这个: root@kyou:/home/matt# zpool import -fFX -d /dev/disk/by-id/ pool: storage id: 15855792916570596778 state: UNAVAIL status: One or more devices contains corrupted data. action: The pool cannot be imported due to damaged devices or data. see: http://zfsonlinux.org/msg/ZFS-8000-5E config: storage UNAVAIL insufficient replicas raidz1-0 UNAVAIL insufficient replicas ata-SAMSUNG_HD103SJ_S246J90B134910 UNAVAIL ata-WDC_WD10EARS-00Y5B1_WD-WMAV51422523 UNAVAIL ata-WDC_WD10EARS-00Y5B1_WD-WMAV51535969 […]
甲骨文在2010年秋季抛售了OpenSolaris ,目前还不清楚甲骨文是否会继续公开发布ZFS更新,除非可能在发布其下一个主要版本的Solaris之后。 FreeBSD现在有了ZFS v28可供testing。 但是v28从哪里来? 我注意到, 主要的ZFS网站没有显示版本28可用。 这个网站被放弃了吗? 如果是的话,那么ZFS项目的中心网站在哪里,以便我可以浏览回购,阅读邮件列表,阅读发行说明等。 (我意识到OpenSolaris已经被Oracle甩了,而且他们正在向社区限制他们的ZFS版本)。
我今天擦洗了我的泳池,擦洗完毕后,我注意到有一个错误,损坏了一个文件。 我不在乎这个文件,所以我把它删除了。 不幸的是,错误仍然存在(现在引用hexID而不是文件名),我不知道如何清除它。 我应该担心吗? 我是不是真的没有这个错误没有? 我可以清除错误吗? 如果这个文件没有了,我不会在将来看到这个错误。 作为参考,这里是我发出的命令和输出,带注释: 检查状态 kevin @ atlas:〜$ sudo zpool status -v 池:zstorage状态:ONLINE状态:一个或多个设备遇到导致数据损坏的错误。 应用程序可能受影响。 操作:如果可能,还原有问题的文件。 否则从备份恢复整个池。 请参阅:zfsonlinux.org/msg/ZFS-8000-8A扫描:磨砂在7小时19分钟修复1.81M,1月23日星期三10:04:44 config: NAME STATE READ WRITE CKSUM zstorage ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 ata-WDC_WD30EZRX-00DC0B0_WD-WCC1T1735698 ONLINE 0 0 0 ata-WDC_WD30EZRX-00DC0B0_WD-WMC1T0506289 ONLINE 0 0 0 ata-WDC_WD30EZRX-00MMMB0_WD-WCAWZ2711600 ONLINE 0 0 0 错误:在以下文件中检测到永久性错误: /zstorage/owncloud/kevin/files/Archives/Music/Kev Rev […]
我对ZFS完全陌生,所以首先我想我会做一些简单的基准testing来了解它的行为。 我想要突破它的性能限制,所以我configuration了一个Amazon EC2 i2.8xlarge实例(几乎是7美元/小时,时间真的就是金钱!)。 这个实例有8个800GB SSD。 我对SSD自己做了一个fiotesting,并得到了以下输出(修剪): $ sudo fio –name randwrite –ioengine=libaio –iodepth=2 –rw=randwrite –bs=4k –size=400G –numjobs=8 –runtime=300 –group_reporting –direct=1 –filename=/dev/xvdb [trimmed] write: io=67178MB, bw=229299KB/s, iops=57324, runt=300004msec [trimmed] 57K IOPS用于4K随机写入。 可敬。 然后我创build了一个跨越全部8个ZFS卷。起初我有一个raidz1 vdev与所有8固态硬盘在里面,但我读了性能不好的原因,所以我最终有四个mirror vdevs,如下所示: $ sudo zpool create testpool mirror xvdb xvdc mirror xvdd xvde mirror xvdf xvdg mirror xvdh xvdi $ sudo zpool […]