现在我已经决定使用OpenSolaris,并且使用ZFS的速度和可爱性与LVM + XFS相比。 但现在我留下了一个关于如何configuration初始磁盘布局的困境。 由于我还是一个新手系统pipe理员,我想知道还有哪些更有经验的系统pipe理员会configuration以下内容: 我使用comoddity硬盘驱动器,这是我必须玩的。 2个1TB 2x 750Gb 5x 500Gb 2x 320Gb 核心操作系统安装在60Gb SSD中。 我有以下开始build立这个新的设置: 2个1TB 3x 500Gb 一旦其他的Linux服务器被中断,我想补充一下: 2x 750Gb 3x 500Gb 2x 320Gb 我需要为500Gb左右的冗余设置(这是我们所有的源数据将驻留在这里 – 电子邮件,文件等)。 另有2-3TB的FAST可访问数据,其中有大量的video文件(大部分是3-4Gb的大小,有些是1.4Gb MPEG和原始的AVI)。 会有什么build议? 我仍然不确定是否可以使用我拥有的驱动器数量和存储池的想法来完成RAIDZ1。 这里是我们的布局 – 在Linux中: / home /(320Gb) / media / Storage(500Gb) / media / Scratch(〜2.5TB = 2×750 + 2×500) / media / Musical(500Gb) […]
我正在尝试FreeNAS 0.7.2 Sabanda(修订版5226)与4x1TB磁盘,单奇偶校验ZFS RAID。 虽然内置于FreeNAS中的电子邮件报告是好的,但是我想知道是否有办法,如果磁盘发生故障或有任何疑问,我可以立即给我发电子邮件,因为我只能容忍一个磁盘故障。 任何想法感激地收到。 (注意:根据那里的评论者的推荐,从超级用户网站转发)
前几天,我注意到我家服务器上的ZFS池已经开始自己重新发送磁盘,但不再有任何进展。 该磁盘有一些SMART错误(但不认为自己失败),所以我决定用备件来替换它。 我这样做了,但是我的备用磁盘正在产生大量的DMA_WRITE错误,并且一旦达到10%左右,重新启动就会重新启动。 我现在想暂时用U盘replace原来的磁盘和备用磁盘。 我用“zpool scrub -s tank”阻止了重生。 但是,这两个磁盘仍然被列为“replace”,不会允许另一个replace,我似乎无法让他们脱离这种状态。 如何在完成之前停止/取消zpoolreplace? 我正在使用FreeBSD 8.1-RELEASE和5个磁盘的RAIDZarrays。
我想设置多个类似的容器,我想重复删除。 我唯一想到的解决scheme是使用OpenSolaris ZFS,并与NFSv4 ro iSCSI目标共享zfs卷,并在其上创build通常的ext3 fs,以用作OpenVZ VE存储。 任何其他解决scheme的重复数据删除? 你有什么想法? POS /缺点? PS我已经试过ZFS保险丝,即使没有大量的容器使用,它也消耗了大量的CPU。 反正坏主意肯定对生产不利本地Linux ZFS端口现在非常不稳定
类似的问题存在,但解决scheme(使用mv )是可怕的,因为在这种情况下,它作为“复制,然后删除”,而不是纯粹的“移动”。 所以,我创build了一个池: zpool create tank /dev/loop0 并从那里直接从另一个存储rsynce我的数据,所以我的数据现在在/tank 。 zfs list NAME USED AVAIL REFER MOUNTPOINT tank 591G 2.10T 591G /tank 现在我已经意识到我需要将数据存储在子文件系统中,而不是直接存储在/tank文件系统中。 那么如何移动或重命名现有的根文件系统,使其成为池中的一个子项? 简单重命名将不起作用: zfs rename tank tank/mydata cannot rename to 'tank/mydata': datasets must be within same pool (顺便说一下,为什么它会抱怨数据集不在同一个池中,如果事实上我只有一个池?) 我知道有解决scheme涉及复制所有的数据( mv ,或发送整个数据集到另一个设备,并返回),但不应该有一个简单的优雅的方式? 只是指出,我不在乎这个阶段的快照(有没有关心)。
我有一个运行libvirt + KVM的Linux服务器,我正在考虑迁移到SmartOS。 服务器具有在Linux上使用ZFS创build的ZFS池,其中存储KVM来宾(作为ZVOL)。 我的问题是,这个池可以被SmartOS使用吗?
我试图理解ZFS在特定条件下的行为,但是文档对此并不十分明确,所以我只是猜测。 假设我们有一个冗余的zpool。 采取以下一系列事件: 设备D和服务器之间的连接出现问题。 这会导致大量故障,因此ZFS会使设备出现故障,导致池处于降级状态。 当池处于降级状态时,池会发生变化(数据被写入和/或更改)。 连接问题在物理上被修复,使得设备D 再次可靠 。 由于知道D上的大多数数据是有效的,并且不想不必要地使用重复器来强调池,所以pipe理员运行zpool clear pool D Oracle的文档中指出这是由于已经纠正的暂时性问题导致故障的适当操作。 我读过zpool clear只清除错误计数器,并将设备恢复到联机状态。 但是,这有点麻烦,因为如果这样做,它会使游泳池处于不一致的状态! 这是因为步骤2中的突变不会被成功写入D.相反,D将在连接失败之前反映池的状态。 这当然不是zpool的规范性状态,并且可能导致其他设备发生故障时硬盘数据丢失 – 但是,池状态不会反映出这个问题! 我至less会假设基于ZFS强大的完整性机制,试图读取D中的变异数据会发现错误并修复它们。 但是,这提出了两个问题: 除非擦洗完成,否则读数不能保证能够达到所有的突变。 和 一旦ZFS 确实击中了突变的数据,它(我猜)可能会再次错误的驱动器,因为它似乎是ZFS是破坏数据,因为它不记得以前的写入失败。 从理论上讲,ZFS可以通过跟踪在降级状态期间发生的突变并在清除时将其写回到D来避开这个问题。 出于某种原因,我怀疑这不是什么情况。 我希望对ZFS有深入了解的人可以从这方面了解一些情况。
我有一个处于UNAVAL状态的池(“一个或多个设备无法打开,池没有足够的副本继续运行”),因为最近发生了磁盘故障。 我打算修复失败的磁盘(即数据恢复服务),以便将池重新联机到足够长的时间来迁移它,但是有一个问题,我不知道如何解决。 我的池中的设备名称使用我的磁盘序列号(/ dev / disk / by-id / style)。 我这样做是因为我有很多磁盘,并且每次启动时/ dev / sd *名称都会移动,这当然会对池造成严重破坏。 然而,在这种情况下,因为我打算将“相同的”磁盘(数据而不是硬件)重新在线,但使用不同的设备名称,我不认为它会自动识别它,而且我不确定“replace”命令是如何处理新磁盘的。 也许它只是工作,但基于文档,它可能会将新磁盘视为“空白”,而不是使用它来修复池(或者也许ZFS看磁盘的内容,并作出相应的行为,我只是不确定)。 简而言之,我想借助其硬件设备名称来注册池中的脱机磁盘,将其复制到另一个物理磁盘,然后将新磁盘replace为原来的在线磁盘。 我正在用非生产设备进行一些实验,以了解这一点,但是对于那些了解ZFS“底层”或者有这种恢复经验的人们的任何想法,我们都非常感激! 此外,如果有文件,文档等进入这个调整的水平,我也很乐意研究它们。 为了清楚起见,这不是一个长期的configuration,只是为了排空arrays的内容,所以我不反对那些不适合长期/生产环境的解决scheme。
我们正在使用ZFS在FreeNAS 9.2上存储文件。 我非常喜欢ZFS提出的数据完整性声明,在过去的服务器上使用ext3,XFS和ReiserFS在没有任何处理(停电等)的情况下随机丢失了数据。 当服务器需要重新启动时,这种情况非常罕见,但却是灾难性的,fsck被踢了进来,发现了很多错误。 我们也使用这台相同的NAS作为XenServer虚拟机的共享存储目标。 起初,我正在考虑让我们的虚拟机支持ZFS是多么的好,但是现在我第二次猜测完整性就是真正的失败certificate。 如果虚拟机的虚拟磁盘只是一个包含自己的文件系统的大文件(假设默认值为ext4),那么是什么防止虚拟磁盘在虚拟磁盘中被破坏呢? 也许networking电缆出现故障,iSCSI不知道它收到了一些坏字节存储(弹性地在ZFS中)? 我猜测在虚拟机和“信任”文件系统无法检测到的共享存储之间可能会出现其他可能的错误。 唯一的解决scheme是在虚拟机中使用错误更正文件系统,例如ZFS或btrfs?
标题说明了一切。 在build立免费的NAS时,我需要每TB 1 GB的可用存储空间,还是每TB物理磁盘需要1 GB的内存空间?