Articles of ZFS

在MDRaid上扩展ZFS?

我用zfsonlinux的ZFS有一个4磁盘mdraid 8.12TB: # zpool status pool: tank state: ONLINE scan: none requested config: NAME STATE READ WRITE CKSUM tank ONLINE 0 0 0 md-name-ubuntu:md2 ONLINE 0 0 0 我添加了两个磁盘: # mdadm –add /dev/md2 /dev/sde /dev/sdf # mdadm –grow /dev/md2 -n 6 这成功地完成了: # mdadm –detail /dev/md2 /dev/md2: Version : 1.2 Creation Time : Thu Jan […]

ZFS是否真的遍布每个vdev,即使是非常大的zpools?

我读过ZFS在所有顶级vdevs的zpool中划分数据,假设所有的vdev都是在池的开始时添加的。 我读过的一切似乎都认为这是一件好事。 但是,在我看来,对于使用多个磁盘的部署来说,这并不会导致多用户(甚至是多进程)环境中的所有这些磁盘的良好整体性能。 例如,假设我有96个磁盘,我使用这些磁盘创build12个每个8个磁盘的vdevs,所有这些都添加到我的zpool中。 然后,我把它放在用户身上,用各种疯狂的手段填满它。 有些文件是几十千兆字节,有些则是小型用户应用程序configuration文件等。 之后,用户A想要复制一些多GB的文件。 她启动了一个rsync或者其他的,并且从12个条纹vdevs的底层连续读取中体验到了惊人的性能。 但是随后用户B启动了另一个同时请求相当大的数据块的应用程序。 现在硬盘正在不断的拉下用户A的rsync来处理用户B,尽pipe每个应用都是单独的相对顺序的,但是96个硬盘都参与了这两个用户的请求,并且看到的查找模式和性能与随机I / O. 在这12个vdev的8个磁盘configuration中,每个vdev仍然有8个磁盘的性能价值,所以我希望即使没有其他vdevs的附加条带,顺序I / O也是非常好的。 ZFS在将一个vdev放在另一个vdev上之前不是更好吗? (在我的实验中,我得到了大约500k的条带)。这样,用户A的读取将只有1/12的机会使用相同的磁盘作为用户B的读取,他们都会获得性能与连续的I /大部分时间 在这种configuration/工作负载下,有没有办法从ZFS中获得良好的性能?

撤消将磁盘添加到RAID-Zconfiguration

我已经开始在我的一个数据池中耗尽空间,并决定通过添加一些额外的磁盘来扩展它。 以下是扩展之前的样子: NAME STATE READ WRITE CKSUM data ONLINE 0 0 0 raidz1-0 ONLINE 0 0 0 c0t5000C50041BF93A7d0 ONLINE 0 0 0 c0t5000C50041FEBCFFd0 ONLINE 0 0 0 c0t5000C50041FEBE1Bd0 ONLINE 0 0 0 c0t5000C50041FEC223d0 ONLINE 0 0 0 c0t5000C50041FECC0Bd0 ONLINE 0 0 0 c0t5000C500422BAF33d0 ONLINE 0 0 0 现在扩展池后,我有第一套驱动器在raidz1和第二套使用raidz2 NAME STATE READ WRITE CKSUM data ONLINE […]

只要solaris集群重新启动或重新启动,zpool就会消失

我有以下设置 Oracle Solaris 10 – > 5.10 Generic_147147-26 sun4v sparc Oracle数据库11g企业版版本11.2.0.1.0 – 64位生产 Oracle Solaris Cluster 3.3u2 for Solaris 10 sparc Oracle Solaris Cluster地理版3.3u2 for Solaris 10 sparc 我使用ZFS安装了Oracle Solaris 10我有一个用于/ oradata的池当我重新启动/重新启动集群时,ZFS池因为该集群而消失无法启动Oracle数据库资源/组每次重新启动/closures集群后,我必须执行手动 zpool import db clrg online ora-rg … 可能是什么原因? 我知道的唯一的事情就是db zpool,这个池被导入ora-has资源,我创build了如下所示(使用Zpools选项) # /usr/cluster/bin/clresourcegroup create ora-rg # /usr/cluster/bin/clresourcetype register SUNW.HAStoragePlus # /usr/cluster/bin/clresource create -g ora-rg […]

为什么在扩展数组之后,linux上的zfs传输rtates报告不正确?

我已经升级了NAS服务器的4个驱动器Raidzarrays中的驱动器,arrays已经自动扩展到新的大小。 现在在testingNAS服务器的传输速率时,我发现当执行大量读取传输时,性能很差,尽pipeiotop和zpool iostat可以报告高达500MB / s的高数据,但努力达到10MB / s以上。奇怪的行为? 正如我已经升级arrays,我也可以观察到,无论有4个设备在线还是降级到3,它都执行相同的操作。 服务器连接一个千兆networking连接,并可以用一个驱动器使用ext4饱和它

奇怪的ZFS性能与4K池块大小?

我开始看ZFS,在旧的惠普微服务器(N40L)上使用FreeNAS进行testing。 没有获得额外的内存,所以它只能运行2 GB,所以几乎没有caching。 我在单个1TB SATA磁盘上创build了一个池,创build了一个zvol,并将其导出为iSCSI。 我只是在Windows 10上使用CrystalDiskMark进行了一些testing,在更改池的块大小时,我得到了奇怪的结果。 ZFS 16K和NTFS 4K ———————————————————————– CrystalDiskMark 5.1.0 x64 (C) 2007-2015 hiyohiyo Crystal Dew World : http://crystalmark.info/ ———————————————————————– * MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s] * KB = 1000 bytes, KiB = 1024 bytes Sequential Read (Q= 32,T= 1) : 105.938 MB/s Sequential Write (Q= 32,T= 1) : […]

我的ZFS SMB分享在哪里?

我们运行这对提供文件存储的OpenSolaris服务器。 他们运行主动/被动,并保持同步通过快照复制每分钟左右。 最初,他们都跑OpenIndiana,但由于OI的发展似乎停滞不前,我们决定切换到更积极开发的OmniOS。 我们先升级了备份服务器。 除了我看不到通过SMB从系统共享我的zfs文件系统外,一切都按计划进行。 在文件系统上启用SMB共享: NAME PROPERTY VALUE SOURCE zpool/data sharesmb abe=true,name=data,guestok=false local smb / server服务在线,以及它的依赖关系: fmri svc:/network/smb/server:default name smbd daemon enabled true state online next_state none state_time Mon Mar 7 14:31:29 2016 logfile /var/svc/log/network-smb-server:default.log restarter svc:/system/svc/restarter:default contract_id 16253 dependency require_any/error svc:/milestone/network (online) dependency require_all/error svc:/system/filesystem/local (online) dependency require_all/none svc:/system/idmap:default (online) dependency require_all/none svc:/network/smb/client:default […]

文件系统:发送和接收快照

从维基百科ZFS快照 发送和接收快照 通过send命令创build文件系统状态的stream表示forms,可以将ZFS文件系统移动到其他池,也可以移动到networking上的远程主机上。 该stream既可以描述给定快照的文件系统的完整内容,也可以是快照之间的差异。 计算增量stream非常高效,其大小取决于快照之间更改的块数。 这提供了一种有效的策略,例如用于同步异地备份或池的高可用性镜像。 Linux支持哪些文件系统(ZFS除外)有这样的function? 用LVM可以得到这样的东西吗?

在Solaris 11上导入导出的池失败

无法导入导出的池。 基于下面的信息,我能够以某种方式导入池? 或者,有没有办法从驱动器本身检索数据? 两个磁盘都没有损坏。 Solaris 11.3 # zpool upgrade -v This system is currently running ZFS pool version 37. # zpool import no pools available to import 我试过各种标志: -a , -d , -f …但仍然无法导入池。 如果我运行# zdb -l /dev/dsk/c2d1它会输出… failed to read label 0 failed to read label 1 failed to read label 2 failed to […]

如何在采取LVM / ZFS快照之前暂停Postgres?

我如何指示Postgres完成所有“正在进行的”事务,但是直到我已经拍摄了一个ZFS或LVM快照(不到一秒钟的时间)之后,才能延迟启动新的事务。 例如 暂停Postgres,等待“正在进行”的交易完成 同步到磁盘 采取ZFS / LVM快照 恢复Postgres