我打算在Linux中为一个LUKSencryption的Z-RAID池安装一套3x 2TB 7200rpm驱动器(对于NAS解决scheme)。 我对手头问题的理解是要实现这一目标的唯一方法是将luksFormat每个物理设备,然后从解锁的LUKS容器中组装一个zpool。 我对此有以下担忧: 这不会严重阻碍写入性能吗? 在此设置中,冗余数据被encryption多次,因为LUKS不能“察觉”Z-RAID。 在LUKS-on-mdadm解决scheme中,数据被encryption一次,而且只是多次写入磁盘。 我的CPU支持Intel AES-NI。 在设备映射器LUKS容器上操作时,ZFS是否会注意到磁盘故障而不是物理设备? 重复数据删除和其他ZFSfunction如何?
我已经有了40年的计算能力,但是我从来没有像现在这样build立一个服务器,所以这可能是一个问题。 我有一个客户端,将提供超高清音乐文件下载。 在这种情况下,这意味着FLAC压缩24 / 192Khz =〜10GB /专辑。 (不,我不想讨论产品的可取性,只是服务器configuration。)目录大约有3000个专辑,包括超高清和低清版本(对于他们的iPod,我想),给出原始数据35-40TB左右。 由于这是一个非常专业化的产品,因此市场规模相对较小(想想:在audio系统上花费2万美元以上的人),这意味着大多数情况下服务器将100%空闲(或接近它)。 ColocationAmerica提供的1Gbps连接和带宽约为20美元/ TB,这是一个很好的托pipe服务,所以现在我只需要构build一个盒子来交付货物。 数据访问用例是一次写入/多次读取的,所以我正考虑使用软件RAID 1来配对驱动器。 这可以让我(我认为 )重新configuration备用驱动器的故障的dynamic,从而能够开始重build第二个驱动器之前,一些系统pipe理员注意到系统上的红灯(他们可以自由换出)。 如果不需要的话,我可以让大部分硬盘进入hibernate/hibernate状态,这对于大多数硬盘来说是大部分时间。 我并不需要太多的计算能力 – 这个东西只是把肥pipe放在pipe道上 – 所以CPU /主板可以是非常适中的,只要它能支持这个数量的驱动器。 我目前正在考虑以下configuration: Chasis: Supermicro CSE-847E26-RJBOD1 Drives: 30 4TB SAS drives (Seagate ST4000NM0023 ?) MB: SUPERMICRO MBD-X10SAE-O w/ 8GB CPU: Xeon E3-1220V3 3.1GHz LGA 1150 80W Quad-Core Server 那么,我是朝着正确的方向走,还是这是一个完全解决问题的方法? 更新以澄清几点: 我没有使用ZFS的经验,因为我拥有的最后一个Sun产品是在80年代后期。 我会做一些RTFMing,看看它是否正确。 我并不需要文件系统来做任何令人惊叹的事情,因为文件名将是简单的UUID,并且这些对象将在整个驱动器之间平衡(有点像大型caching系统)。 所以我真的把这些想象成40个独立的文件系统,这使得RAID 1听上去是正确的(但我承认这里是无知的)。 […]
我正在考虑在一些新的服务器上使用哪种操作系统和文件系统,我正在考虑使用带有ZFS的Free BSD,或者使用带有BTRFS的Linux。 我在两个系统上运行的程序,唯一的问题是文件系统和性能的可靠性等。
我目前每晚和每周都快照我的基于ZFS的NAS,这个过程几次拯救了我的屁股。 但是,虽然快照的创build是自动的(来自cron),但删除旧快照仍然是一项手动任务。 很明显,如果我被公交车撞上了,或者没有执行手动任务,那么NAS将会耗尽磁盘空间。 有没有人有任何好的方法/脚本来pipe理存储在ZFS系统上的快照数量? 理想情况下,我想要一个脚本遍历给定的ZFS文件系统的所有快照,并删除除该文件系统的最后n个快照外的所有快照。 比如我有两个文件系统,一个叫tank ,另一个叫sastank 。 快照用它们的创builddate命名: sastank@AutoD-2011-12-13所以一个简单的sort命令应该按顺序列出它们。 我希望保留最近2周的tank每日快照,但只有最后两天值得的快照。
我还是ZFS的新手。 我一直在使用Nexenta,但我正在考虑切换到OpenIndiana或Solaris 11 Express。 现在,我正考虑将ESX / ESXi,Hyper-V或XenServer中的ZFS服务器作为guest虚拟机进行虚拟化(我还没有决定哪一个 – 我倾向于ESXi来支持VMDirectPath和FreeBSD)。 主要的原因是,似乎有足够的资源可以让我轻松地同时运行1-3个其他虚拟机。 主要是Windows服务器。 也许是Linux / BSD虚拟机。 我希望虚拟化的ZFS服务器托pipe其他虚拟机的所有数据,这样它们的数据可以保存在与ZFS磁盘物理上分离的磁盘上(以iSCSI或NFS的forms安装)。 该服务器目前有一个AMD Phenom II,总共有6个核心(2个解锁),16GB RAM(最大输出)和一个LSI SAS 1068E HBA(7个)1TB SATA II磁盘(规划在RAIDZ2上,带有热备份)。 我也有(4)32GB的SATA II固态硬盘连接到主板。 我希望将两个SSD镜像到一个引导镜像(对于虚拟主机),并将另外两个SSD留给ZIL和L2ARC(对于ZFS VM来宾)。 我愿意添加两个磁盘来存储VM guest,并将所有七个当前磁盘分配为ZFS存储。 注意:主板没有IOMMU支持,因为880G不支持,但是我确实有一个890FX主板,如果它有很大的区别的话,它有IOMMU。 我的问题是: 1)这样做是明智的吗? 我没有看到任何明显的缺点(这让我想知道为什么没有人提到它)。 我觉得我可以做一个巨大的监督,我不愿意承诺这个,移动我的所有数据,只是从我错过了一些细节的fubar。 2)ZFS虚拟客人performance? 我愿意尝试一个小的性能,但是我认为,如果VM guest虚拟机有磁盘的完整磁盘访问权限,至less磁盘I / O性能可以忽略不计(与运行非虚拟化的ZFS相比) 。 任何人都可以从托pipeZFS服务器作为虚拟机客户的经验谈到这一点?
如果某个人恰好有一些服务器级的硬件需要处理,那么是否build议在基于硬件的RAID1之上运行ZFS? 是否应该closures基于硬件的RAID,然后在mirror或raidz zpool上运行ZFS? 在硬件RAIDfunctionclosures的情况下,基于硬件RAID的SATA2和SAS控制器比非硬件RAID控制器隐藏读取和写入错误的可能性更大或更小? 就非可定制的服务器而言,如果存在硬件RAID控制器实际上成本中立的情况(甚至降低了预build服务器产品的成本,因为它的存在提高了托pipe公司提供互补IPMI的可能性访问),是否应该完全避免? 但是,它应该追求?
我正在考虑构build一个大型的ZFS池(150TB +),我想听听大家关于由于硬件故障导致的数据丢失情况的经验,特别是区分只有一些数据丢失的情况与整个文件系统如果在ZFS中甚至有这样的区别)。 例如:假设由于外部驱动器shell失效或控制器卡故障而导致vdev丢失。 从我读的池中应该进入故障模式,但如果vdev返回池应该恢复? 或不? 或者如果vdev部分损坏,是否会丢失整个池,一些文件等? 如果ZIL设备出现故障会发生什么? 或者只是几个ZIL中的一个? 真正的任何和所有轶事或假想的情景深深的技术知识背后的支持表示赞赏! 谢谢! 更新: 我们这样做的价格便宜,因为我们是一个小企业(9人左右),但我们产生了大量的成像数据。 这些数据大部分都是小文件,按我的计算,每TB约有50万个文件。 数据是重要的,但不是超级重要的。 我们计划使用ZFS池镜像48TB“实时”数据arrays(使用3年左右),并将剩余的存储空间用于“归档”数据。 该池将使用NFS共享。 据推测,该机架在build筑物备用发电机线上,并且我们有两个APC UPS能够在满载情况下为机架供电5分钟左右。
实际上,我在网上看到的每一个ZFS使用的例子(包括几个问题在这里),zpool被命名为“tank”。 为什么? 这个名字是否有某种意义,还是只是原来的文档使用“坦克”,这也是其他人使用的呢? 如果系统上有多个zpool,通常有一个命名为“tank”或“tank”是单池系统的惯例?
我们将有一台机器在工作,在高峰时performance,应该能够每小时推送50个(“写头”)75GB的数据。 这是〜1100MB / s写入速度的高峰performance。 为了从机器上获得,需要两条10GBi线。 我的问题是什么样的服务器+技术可以处理/存储这样的数据stream? 目前我们使用ZFS进行数据存储,但写入速度从来都不是问题。 (我们甚至没有接近这些速度)ZFS(linux上的zfs)是否是一个选项? 我们还需要存储大量的数据,“IT指南”build议总数在50-75TB之间。 因此,除非我们想提供我们的第一个孩子,否则它可能不是所有的固态硬盘。 一些基于优秀回复的补充: 小于24小时(最可能小于6小时),最大值为50x75GB /小时, 我们预计这种情况不会很快发生,很可能我们将运行5-10x75GB /小时 这是一个前置alpha机器,但是需要满足(即使很多问号正在播放) 我们将使用NFS作为从机器到服务器的连接 布局:生成机器 – >存储(这一个) – >(安全RAID 6) – >计算集群 所以读取速度并不是必需的 ,但是从计算集群中使用它会很好(但是这是完全可选的) 最有可能的是大数据文件(不是很less)
据我所知,LVM可以拍摄一个卷的快照。 还有一些支持快照的文件系统(ZFS,Btrfs,reiserfs,…)。 但是,我从来没有理解LVM快照和文件系统快照之间的区别。 如果可以用LVM拍摄快照,为什么有人花时间在文件系统中实现它? 编辑:他们中的任何一个在某些情况下是首选? 为什么?