Articles of zfsonlinux

Docker Community Edition用于生产环境?

我打算在生产环境中使用docker。 现在我看到Docker Inc.与社区和企业版强烈区分免费和付费版本。 关于行政长官的这句话有点吓人: 开始使用Docker并尝试使用基于容器的应用程序。 我不想在生产环境中进行实验。 我想用EE,但是现在连Enterprise Edition Basic都买不起,所以我只好留在CE上。 这对稳定性和安全性有什么影响? 我所承担的风险有多大如果使用CE,如何减轻风险? EE(Dockerauthentication,图像pipe理等)( Docker定价计划 )的function有多重要? 我也想使用zfs或btrfs存储驱动程序。 我看不到任何btrfs存储驱动程序支持这里的任何Linux发行版: 存储驱动程序 。 对于zfs存储驱动程序,仅支持Ubuntu。 另一方面,我从免费的Linux发行版中看到,Ubuntu并不像Debian和CentOS那样受欢迎。 我还可以使用CentOS与btrfs或zfs存储驱动程序? 如果我使用CentOS或者使用Ubuntu,会有什么影响? 有什么事情我必须考虑的一个或其他的select?

ZFS在清理时一直在修复相同的磁盘 – 这是什么意思?

我有一个由6个磁盘组成的ZFS池,排列成3个镜像。 该服务器是一个带Xeon CPU的Supermicro X11SSM-F,32 GB运行Ubuntu 17.04的ECC内存。 我使用2个Icy Dock MB154SP-B物理地托pipe磁盘,主板上有8个SATA3接口,所以磁盘直接提供给ZFS(中间没有RAID卡)。 这个设置运行良好,直到最近。 然后我注意到在运行zpool status ,最后的擦洗已经修复了一些数据: $ sudo zpool status pool: cloudpool state: ONLINE scan: scrub repaired 2.98M in 4h56m with 0 errors on Sun Jul 9 05:20:16 2017 config: NAME STATE READ WRITE CKSUM cloudpool ONLINE 0 0 0 mirror-0 ONLINE 0 0 0 ata-ST8000VN0022-2EL112_ZA17FZXF ONLINE 0 […]

为什么zfs在“正常”文件系统完全caching时无法caching这个工作负载?

更新:由于logging大小默认为128k,testing程序读取的数据量远大于8GB系统上的ARC,并且比16GB系统上的ARC稍大。 减lesslogging大小允许读取更less的数据,因此它适合于ARC。 我低估了正在阅读的数据的大小,logging的效果,因此得出了一些可怜的结论。 到目前为止,禁用预取在这种情况下似乎没有太大的区别,但是我打算尝试使用和不使用预取的所有logging选项。 这种负载类似于IMAP / Maildir场景,其中包含许多目录,许多文件以及可能从每个文件中读取的less量数据。 我已经使用zfsonlinuxtesting了FreeBSD 10和Fedora 19。 我testing了各种各样的Linux本地文件系统,如extX / xfs / jfs甚至btrfs。 在FreeBSD上,我也使用本地ufs文件系统进行了testing。 我的工作量只是使用amarok / winamp /等扫描一个大的音乐collections。 我的testing程序是amarok_collectionscanner,因为它可以轻松地从命令行运行。 模式总是一样的。 集合扫描程序的初始运行大约需要10分钟,具体取决于文件系统,但ZFS与非ZFS文件系统的运行方式相似 后续的扫描使用非zfs文件系统的速度非常快,通常在30秒左右。 ZFS在随后的运行中只做了一点改进。 从iostat上看,在非ZFS文件系统上初始运行后,操作系统不会触及磁盘。 全部在文件系统caching中。 为ZFS使用固态盘caching可以缩短时间,但从不会在30秒左右。 为什么ZFS不caching这个负载? 我探索的一种可能性是,ARC的大小被限制为小于非ZFS文件系统被允许用于高速caching的大小。 我在一台机器上再次testing了ARC的可用内存,而不是第一个testing系统上的全部可用内存,并且数字保持不变。 我希望find/创build一个复制这种负载的fio配方。 基本上它需要创build数以千计的小文件,扫描所有寻找文件的目录,打开每个文件并从每个文件中读取less量的数据。 这就像世界上最糟糕的数据库! 我可能会testingOpenIndiana,但我希望结果是一样的。 数据集是353GB和49,000个文件。 testing系统有8GB-16GB的RAM。 zpoolconfiguration几乎没什么区别,但我关心的testing总是只有一个整盘。 我使用了ST3500630AS和WDC WD20EZRX-00D8PB0等驱动器。 驱动器几乎没有区别。 RAM的数量或者CPU的速度几乎没有差别。 只有正在使用的文件系统改变了结果,这些差异是相当大的,正如我上面提到的。 我实际上有关于我试过的各种文件系统参数的数据点的山峰,这些是我检查的一些variables:mdadm raidconfiguration(0和1)zpoolconfiguration,镜像和条带zfs recordsize mdadm块大小文件系统块大小 在单个ST3500630AS驱动器上,我得到了以下文件系统的默认文件系统选项的这些数字。 这是在Fedora 19上,8GB的RAM,3.11.10-200内核,ZFS 0.6.2-1。 这些值以秒为单位。 后续扫描没有任何尝试清除caching运行。 ZFS: 900, […]

build设生产build议140盘(420 TB)ZFS zpool

我一直负责为数据logging系统构build一个大的zpool。 在Linux(0.6.4.2)上使用ZFS,在CentOS 6.5上使用。 硬件规格: DL380 Gen8 80 GB RAM 2个HP HBA H221 2台HP D6000,每台配有70x 3TB SAS磁盘 有一些特殊情况: 镜像是不存在的,我们将缺乏存储。 所需的总需要的结核病数量非常多。 添加D6000设备不是一个选项。 数据中心中将有2个zpool,使用应用程序级冗余。 因此,整个池的损失是有问题的,但不是关键的。 所有的数据将被备份到磁带。 使用HP加速卡现在不是一个选项(太昂贵了) 由于受到2.6.32内核的限制,使用PCIe NVMe卡不是一种select。 性能要求: 写作performance并不重要,基本上有一个稳定的写作stream程,大概是4 MB /秒。 阅读的performance是有用的,但没有真正的热点数据集,非常随机的数据可以或将被阅读,根据需要。 索引是非常重要的。 一旦zpool完全加载,将会有大约150万个文件,得到这些文件的列表应该尽可能快。 ARC在这里帮助很多RAM吗? 我的计划是如下构buildzpool: RaidZ2 10个磁盘的14个VDEV。 压缩 自动更换 一段时间了 我真的没有什么好的SLOG和L2ARC的select。 使用惠普固态硬盘不是一个真正的select,因为他们需要在硬件Raid0上作为单一设备运行。 从我在这个网站上看到的,这是在惹麻烦。 我的问题: 更多的内存将是很好,当然,但我真的需要它吗? 一旦zpool加载了95%以上的数据,我是否应该期待重大的问题。 如上所述,较低的性能是可以的,性能要求相当低。 推荐任何其他vdev布局,而不会降低可用的存储空间。 我应该考虑什么特殊的ZFS调整? 我至less考虑增加存储在ARC中的元数据的份额。 为了帮助索引速度,有意义吗? 我是否应该期望使用L2ARC和SLOG设备的问题? 任何其他技巧,使上述工作,非常感谢!

Linux上的ZFS:删除“Solaris保留1”分区。 我打破了什么?

我有一个Debian 8 VM: 1个虚拟根磁盘 1x虚拟数据磁盘上带有ZFS文件系统。 当我最初创buildZFS文件系统时,我没有手动创build分区,只是简单地运行这个命令: zpool create -f my-pool /dev/sdb 后来,我使用ZFS文件系统扩展了虚拟磁盘,但是如果不调整ZFS分区的大小,我的ZFS池就无法识别更大的大小,但是另一个分区却挡在了“Solaris保留1”的位置,所以我删除了它。 似乎所有人都工作得很好,但我担心: 为什么ZFS在fdisk -l报告的磁盘上创build第二个分区,如下所示:“Solaris reserved 1”? 我打破了我可能没有意识到的任何事情吗? 这里是fdisk -l输出PRIOR删除分区9以扩展分区1: Disk /dev/sdb: 1.7 TiB, 1864015806464 bytes, 3640655872 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: […]

如何configurationUbuntu 16.04以显示我的ZFS zvols内部分区?

我似乎错过了一些zvol的function,但我不知道如何措辞。 我在ArchLinux上安装了这些相同的zpools。 (迁移服务器。) Ubuntu将zvols放在/dev/zvol ,并将它们安装在/dev 。 没关系,但我不知道在zvol上创build的分区发生了什么事情: root@nosgoth:/dev/zvol/tank2/vm# fdisk -l tisc Disk tisc: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 8192 bytes I/O size (minimum/optimal): 8192 bytes / 8192 bytes Disklabel type: dos Disk identifier: 0x0006b0ad Device Boot Start End Sectors […]

无法获得在OSX中创build的ZFS池在Linux系统上导入

我正在尝试使用不同的文件系统,以便在作为testing平台的双启动Linux / OSX笔记本电脑之间使用。 尽pipe是一个BSD变种,但是我在寻找一个兼容的文件系统方面遇到了很多麻烦,但是在OpenZFS的实现上已经解决了。 最新的OpenZFS 0.6.3-1安装在两个系统上。 我最初使用/ dev / disk0s6从OSX内部创build了一个池。 一切工作正常的OSX与驱动器挂载和可写: $ zpool status pool: Data state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM Data ONLINE 0 0 0 disk0s6 ONLINE 0 0 0 errors: No known data errors $ zpool import pool: Data id: 16636970642933363897 state: ONLINE action: The pool can […]

ZFS快照发送增量

我一直很高兴地以脚本的方式与CentOS和ZFSonLinux一起使用zfsnap ,就像在网站上描述的一样,但遇到了问题。 不幸的是备份在几天前没有运行,现在我陷入了一个奇怪的情况。 我在我的主ZFS服务器的备份ZFS服务器上有一系列增量备份,而在主服务器上有一些较新的快照。 不幸的是,由于在主服务器上丢失了备份并自动销毁了较早的快照,两个系统之间不再需要执行增量发送。 即备份有: backuppool/x@snap2 backuppool/x@snap3 backuppool/x@snap4 在主要的zfs服务器上有: mainpool/x@snap6 mainpool/x@snap7 mainpool/x@snap8 有什么方法让他们再次同步,或者我必须销毁备份上的所有内容,并执行完整(没有足够的空间进行两次完整备份)? 我试过在主服务器上指定一个引用远程备份服务器上的snap4名称的发送,但由于主服务器没有snap4,所以无法计算增量。 我也尝试将snap4从备份发送到主服务器,但似乎唯一的办法就是把它做成完整的发送(没有足够的空间),我需要清除现有的快照。 如果您的快照不匹配,删除所有的备份历史logging似乎非常不方便,在这种情况下是否有解决scheme?

在ZFS raidz中使用奇特的设置来最大化容量(当使用不同大小的磁盘时)

我有2个4TB磁盘和3个6TB磁盘,我想用ZFS。 我的目标是最大限度地利用可用的存储空间,同时允许单个磁盘故障。 理想情况下,从我的研究中将使用raidz设置,不同大小的驱动器会导致较大的驱动器被利用不足。 也就是说,6TB中只有4TB可用于较大的驱动器。 是否有可能对(raid 0)进行条带化处理: 两个4TB镜像(raid 1)configuration 三个6TB磁盘raidz(raid 5)configuration 另外,两个4TB可以是条纹,然后在6TB驱动器的raidzconfiguration中使用的条纹? 那是: 条纹两个4TB驱动器 Raidz的3×6TB和条纹4TB磁盘

ZFS池上有多种RAIDtypes

阅读ZFS上的Ubuntu Wiki页面( https://wiki.ubuntu.com/ZFS )我发现了一些ZFS声称的能力,我无法find任何文档。 如果索赔是可能的,我很想知道如何去做 Ari有一个单一的磁盘工作站。 她购买一个新磁盘并将其插入。ZFS自动将新磁盘空间添加到池中。 她的主目录是镜像的,而她的操作系统和临时空间会在后台自动分条。 杰克有三个不同大小的磁盘。 configuration合理的分区和RAID设置完全是试错。 ZFS将这三个磁盘抽象为一个空间池,并在性能和安全性之间取得最佳平衡。 Jack宣称有些媒体目录不需要容错,ZFS在所有磁盘上透明地分条。 这两个引用似乎表明,在一个池中可以混合使用容错区域和高性能区域。 从我读过的每一份文件中都可以看出这是不可能的…其他人是否知道这样做的方法?