Articles of ZFS

从全盘ZFS池启动FreeBSD?

我有一个FreeBSD文件服务器,configuration了一个从整个磁盘设备创build的ZFS池。 也就是说,游泳池是这样创build的: zpool create pool0 raidz ada0 ada1 ada2 这意味着磁盘有ZFS磁盘标签,而不是FreeBSD磁盘标签。 这是与ZFS一起使用磁盘的推荐方式: ZFS可以使用单独的片或分区,但推荐的操作模式是使用整个磁盘。 [来自zpool(1M) ] 像这样格式化磁盘可最大限度地提高各种ZFS实现之间文件系统的可移植性。 不幸的是,这意味着无处可放freebsd-boot分区包含FreeBSD加载器……或者至less我认为这意味着什么,但是我正在寻求确认。 系统目前从包含embedded式加载器的CF卡(以及/boot目录,尽pipe这可以在ZFS中生活)。 这工作得很好,但我好奇 – 有没有办法将embedded式加载程序安装到ZFS标签的磁盘上? 编辑 :我一直在试图自己回答这个问题。 我想也许我可以将非破坏性的GPT标签应用于ZFS磁盘,然后尝试embedded引导代码 – 但是,当GPT标签没有引起ZFS问题时,ZFS似乎以某种方式在标签上发生了变化。 所以这里有一个不同的问题:OpenSolaris是否支持GPT磁盘标签? 这里的最终目标是拥有一个在FreeBSD和OpenSolaris下工作的磁盘池,同时可以从FreeBSD启动。

扩大raidz vdev

我目前正计划在家用服务器上安装FreeBSD 9。 该机器有4个1.5TB的磁盘,在某些时候,当硬盘价格下降,我会升级到更大,也许3TB。 这些磁盘在IT模式下连接到IBM ServerRaid m1015,此卡最多可容纳八个磁盘。 现在是这个问题,目前4x 1.5TB将连接到m1015。 然后当价格下降,我会添加像4X 3TB,也连接到M1015。 没问题,我可以运行2 raidz2 vdevs并把它们放在同一个池中。 但是,在某些时候,1.5TB会开始破坏,或者当游泳池的空间不足时,我将不得不升级它们。 所以我开始研究是否可以扩展一个raidz vdev,并且我发现有几个页面解释了同样的过程,就像SF上的这样: 如何在OpenSolaris上将ZFS RAID-Zarrays升级到更大的磁盘? 。 所以我决定尝试在vmware上安装FreeBSD 9,并创build了6个虚拟磁盘,每个1GB 3个,每个10GB 3个。 在build立1GB的raidz vdev之后,我用10GB一个接一个地replace了它们,但是池的大小没有增加。 这是FreeBSD中ZFS实现的限制吗? 还是我只是做错了什么?

物理磁盘如何通过ESXi执行而不通过HBA?

语境: 我有一个在ESXi上运行的SAN操作系统(Nexenta)。 它已经通过VT-d已经通过了一些HBA。 SAN OS的所有HBA都已满(无空闲连接器)。 我最近为Nexenta购买了一些SATA SSD,并将它们直接连接到主板的板载SATA控制器。 我可以通过将“物理磁盘”添加到vSphere中的VMconfiguration文件,将这些新的SSD添加到Nexenta VM。 或者,我可以连接到其中一个HBA,但是我必须断开/移动现有的磁盘,这相当麻烦。 题: 我的问题是:假设我的HBA没有做任何花哨的caching等,并且具有与板载控制器(连接到新SSD的那个相同)的可用总线带宽和SATA规格,是否在附加物理磁盘通过vSphere磁盘添加到VM添加function,并将其附加到通过VT-d传递到VM的HBA? vSphere磁盘添加方法是否施加了一些中继/请求转发行为,与本机速度相比,这会对磁盘性能造成负面影响? 答案的轶事是好的,但统计更好:我知道我可能不会注意到性能差异,因为固态硬盘是快速的。 但是我已经在这个领域工作了很长时间,知道如果有一个有问题的性能差异,它将在生产关键的活动中,在最糟糕的时间:)

如何在销毁池之前检查池中的所有ZFS快照是否已暂停

题 我已经可以手动检查每个文件系统的 快照了。 我宁愿一次检查所有(全部用一个命令或脚本)。 请: 可以用脚本来完成吗? 答案应该是对于名称中有空格的文件系统。 背景 从zfs(8)的手册页: zfs holds [-H] [-r] snapshot… … -r指定使用给定标记的保持recursion地应用于所有后代文件系统的快照。 我想知道最近的快照是否被视为旧快照的后代。 没有: Last login: Sat Dec 8 09:02:26 on ttys003 macbookpro08-centrim:~ gjp22$ zfs holds -r gjp22@2012-12-08-081957 NAME TAG TIMESTAMP macbookpro08-centrim:~ gjp22$ zfs holds -r gjp22@2012-10-28-212255 NAME TAG TIMESTAMP gjp22@2012-10-28-212255 problem with LocalStorage for WOT for Safari Mon Oct 29 […]

Solaris 10 ZFS ARC Maxed Out和CPU已超载

在Oracle M5000 Enterprise服务器上的Solaris 10上,我们已经运行了几年的ZFS,这些服务器拥有32个CPU核心和256GB的内存。 我们正在这个服务器上运行一个数据库/应用程序,看起来很重。 我们在UFS上遇到了I / O问题,并通过切换到ZFS解决了这个问题。 我们有一个NetApp存储单元,通过光纤通道呈现磁盘,然后在单个LUN上使用操作系统级别的ZFS进行格式化。 起初,我们遇到了应用程序内存方面的问题,不得不将ARC大小限制在128GB内存。 现在我们开始看到的问题是ARC正在变得越来越困难。 在此期间,CPU有时超载0%的空闲时间。 应用程序进程停顿,自动化进程开始运行。 我一直在研究这个问题一段时间,并咨询了所有似乎相信我们只需要一个更大的机器或让供应商优化他们的代码的各种来源。 我们正在考虑购买M10-4,并且一直在与应用程序供应商合作,但是我想知道是否还有其他事情可以做。 任何帮助将不胜感激,让我知道是否需要更多的信息。 以下是arc_summary.pl的输出 System Memory: Physical RAM: 257614 MB Free Memory : 79033 MB LotsFree: 4022 MB ZFS Tunables (/etc/system): set zfs:zfs_arc_max = 137438953472 ARC Size: Current Size: 131043 MB (arcsize) Target Size (Adaptive): 131072 MB (c) Min Size (Hard Limit): […]

在将3个驱动器的ZFS RAIDZ移植到4个磁盘时,当池具有超过1/3的可用空间时

在ZoL上创build我的RAID-Z池时,我可以很容易地在稍后插入其他磁盘。 同时我了解到,这是不可能的。 但是…我在创build初始池时遇到了类似的问题。 只有4个空闲的SATA端口,而是一个带有3个2TB磁盘的旧RAID5和一个带有3个4TB磁盘的新RAIDZ1。 解决的办法是a)降级RAID5和b)用一个稀疏文件构build起初的RAIDZ作为“虚拟的第三个驱动器”,在创build池之后立即使其脱机: 创build稀疏文件: dd if=/dev/zero of=/zfs1 bs=1 count=1 seek=4100G 创buildraidz池: zpool create zfspool raidz /dev/disk1 /dev/disk2 /zfs1 立即取下稀疏文件: zpool offline zfspool /zfs1 将数据迁移到zfspool 。 卸载旧的RAID5磁盘,添加第三个新的4TB磁盘 使用实际的第三个驱动器replace并popup池中的稀疏文件: zpool replace zfspool /zfs1 /dev/disk3 这真是太好了! 现在我了解到,尽pipeZFS不直接支持将单个磁盘添加到RAIDz,但它支持逐个replace较大的磁盘。 所以这是我的计划。 有人看到有缺陷吗? 购买第四个4TB磁盘并从现有池中脱机一个磁盘 在这两个空闲磁盘上创build2x2TB分区。 从这四个“磁盘”中构buildRAIDz:3x2TB = 6TB的networking存储。 出于性能原因:立即脱机第二个分区之一 迁移最大 6TB的数据到新的水池,并摧毁旧的水池 replace离线的“2TB磁盘”与一个真正的4TB之一的旧池。 等待重弹。 在具有两个活动分区的驱动器上:使第二个2TB分区脱机,并将其replace为旧池中的第二个4TB磁盘。 等待重复。 一个接一个:使剩余的2TB分区离线,使用4TB增长该分区,并重新添加磁盘池。 等待重复。 冲洗和重复的最后2TB磁盘/分区 这会工作吗? 我知道我在这个过程中由于缺less冗余而更容易丢失数据,但我会备份最重要的数据。 […]

ZFS 100TB硬件设置

我们收到了以下服务器设置的报价: 英特尔至强E5-2609V2 2 x WD RE 2TB SATA III 34 x WD RE 4TB SAS II 32 GB内存(ECC) LSI MegaRAID 9271-8i批量,8 x SATA III / SAS II内部硬件RAID LSI CacheVault voor 9266-9271系列 我们要添加(直接) JBOD到该服务器,一半填充8TB驱动器,我们可以延迟。 他们build议: LSI MegaRAID 9380-8e SAS HXST Ultrastar 8TB He8企业22台 现在这是基于我们以前的服务器,我们设置为ZFS服务器,并没有太多的“乐趣”。 (虽然configuration是我猜的怪) 我有一些关于这个设置的问题: – 采取2x2TB的参数是,将其用作系统的镜像,因为当磁盘需要被replace时,IO在重build期间是缓慢的。 速度不是我们真正的问题,空间是,也是我们有一个在线备份,这将只被用作读取平台(在问题)。 36 x 4TB会是更好的select吗? (36 = 3 * […]

ZFS – 如何为ZIL或L2ARC使用SSD分区?

我正在使用带有两个池和新安装的ZIL(OCZ Vertex 2 Pro)和L2ARC(Intel X25-M)设备的Sun x4540设备。 由于我需要在短期内保留这两个池,所以我想知道如何对这些设备进行分区以便为这两个数据池服务。 我已经尝试过format , parted和fdisk并且看起来不太可能为zpool add生成可识别的分区。 在这种情况下,操作系统是NexentaStor,但是我也需要这个用于一般的OpenSolaris解决scheme。

Nexenta在OpenSolaris死亡之后

我们正在考虑评估Nexenta的二级存储解决scheme。 看起来不错,但在OpenSolaris消亡后,我对它的未来感到怀疑。 我知道Nexenta使用OpenSolaris内核和ZFS。 现在OpenSolaris已经不复存在了,Nexenta会不会经历一个缓慢而痛苦的死亡? 我已经在网上search过了,似乎没有任何关于这个话题的讨论。 服务器故障社区中的任何人都知道Nexenta是否有未来的OpenSolaris死机? 另外,任何人都有任何“正在生产”的Nexenta经验分享?

ZFS nfsshare导出RW和RO主机?

我已经从OpenSloarins这样(成功)导出NFS: zfs set sharenfs=root=rw=host1:host2:host3 pool1 我正在根据手册页sharefs , share_nfs但以下不起作用: zfs set sharenfs=root=rw=host1:host2:host3,ro=host4 pool1 所有主机宽松访问权限。 我怎样才能以读/写的方式将一些主机分享给一些主机?