存储系统以及文件系统的部署规划远比调优重要,因为一旦存储了数据,可以调整的余地已 经非常小了。以下是关于ZFS文件系统规划的一些建议: ● 使用最新的Solaris版本或OpenSolaris版本。 ZFS技术更新非常快,其中包含了很多性能改进和bug的修复。这些更新反映在最新的 OpenSolaris版本里。Solaris里关于ZFS的更新会滞后一些。如果要求不是很严格的话,可以 考虑使用OpenSolaris。(每一个OpenSolaris的版本,SUN可以提供18个月的付费支持。每 一个Solaris的版本,SUN可以提供至少7年的付费支持。) ● 对于server应用应使用64位的Solaris操作系统 ZFS以及ARC使用kernel memory。如果使用32位的操作系统,由于kernel的地址空间和应 用的地址空间共享4GB,ZFS会受到很大限制。另外对于x86/x64硬件,64位系统通常会得到 更高的性能。 ● 使用整个磁盘而不是某个分区或slice来作为ZFS的存储设备 使用整个磁盘作为ZFS的存储设备可以使ZFS打开磁盘的写cache,并且方便将来存储池 import和export的操作(比如磁盘迁移到另外的机器上)。一个磁盘上如果有多个分区并安装 了不同的文件系统将会带来磁盘管理上的麻烦。 ● 让ZFS直接管理磁盘 实践证明,让ZFS直接管理磁盘而不是hardware RAID往往可以得到更好地性能。因为ZFS 有自己的I/O 调度的算法,让ZFS直接管理磁盘可以让ZFS更好地做出I/O调度以及文件系统 块的分配策略。如果要使用外部存储系统,建议每个ZFS看到的设备包含较少的磁盘。总之, ZFS更喜欢廉价的硬件。 ● 存储池的设备分散到多个控制器上 这主要是从性能和可用性上的考虑。例如,对于Sun x4500,一个可选的Pool的规划为: root@x4500 # zpool create -f zfspool \ raidz c5t7d0 c4t7d0 c7t7d0 c6t7d0 c1t7d0 c0t7d0 \ raidz c5t6d0 c4t6d0 c7t6d0 c6t6d0 c1t6d0 c0t6d0 \ raidz c5t5d0 c4t5d0 c7t5d0 c6t5d0 c1t5d0 c0t5d0 \ raidz c4t4d0 c7t4d0 c6t4d0 c1t4d0 c0t4d0 \ raidz c5t3d0 c4t3d0 c7t3d0 c6t3d0 c1t3d0 \ raidz c5t2d0 c4t2d0 c7t2d0 c6t2d0 c0t2d0 \ raidz c5t1d0 c4t1d0 c7t1d0 c1t1d0 c0t1d0 \ raidz c4t0d0 c7t0d0 c6t0d0 c1t0d0 c0t0d0 \ spare c0t3d0 c1t2d0 c6t1d0 ● 把root pool 和data pool分开 Opensolaris现在支持ZFS作为根文件系统,这带来了很多好处,比如快照,克隆,系统升级 方便等。从维护的角度来讲,应该把root pool 和data pool分开,因为root pool有一些限制比 如不能做RAIDZ等。另外如果root pool 和data pool不分开的话,重装系统或迁移数据时都会 有麻烦。 ● 不要让ZFS Pool太满 当文件系统太满时,对于写操作需要寻找空闲块的时间会明显变长,影响性能。 ● 对于大量小文件的应用不建议使用RAIDZ 前面对ZFS文件系统的介绍中提到,RAIDZ会影响读操作的性能。因为一个文件系统块被均 匀分摊到RAIDZ group的所有磁盘上,读一个块需要读RAIDZ group中所有的磁盘。这对于 小文件来讲性能影响会尤其明显。另外大量小文件意味着大量的metadata,如果建了一个大的 基于RAIDZ的存储池,当RAIDZ做数据恢复时磁盘重建的时间可能会很长。 |
ZFS文件系统的部署规划建议
原创
©著作权归作者所有:来自51CTO博客作者qhooge的原创作品,谢绝转载,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
SOLARIS ZFS文件系统解析
ZFS是SUN推出的世界上第一个128位的文件系统,这意味着它能存储1800亿亿(18.4 × 10^1 8)倍于当前64位文件系统的数据
职场 SOLARIS 休闲 ZFS文件系统 -
ZFS文件系统十大功能特点
ZFS文件系统十大功能特点
职场 休闲 ZFS文件系统