通过最新的 Solaris 更新和发行版使系统保持最新
在更改池设备或分隔镜像存储池之前确认控制器支持高速缓存刷新命令是至关重要的,这有助于您了解数据能否安全写入。这通常不是 Oracle/Sun 硬件的问题,但最好还是确认是否已启用硬件的高速缓存刷新设置。
根据实际的系统工作负荷确定所需的内存大小
通过已知应用程序内存资源占用(例如,用于数据库应用程序),可以限定 ARC 的大小,这样,应用程序将不需要从 ZFS 高速缓存回收其所需的内存。
考虑重复数据删除内存要求
使用以下命令确定 ZFS 内存使用情况:
# mdb -k > ::memstat Page Summary Pages MB %Tot ------------ ---------------- ---------------- ---- Kernel 388117 1516 19% ZFS File Data 81321 317 4% Anon 29928 116 1% Exec and libs 1359 5 0% Page cache 4890 19 0% Free (cachelist) 6030 23 0% Free (freelist) 1581183 6176 76% Total 2092828 8175 Physical 2092827 8175 > $q
请考虑使用 ECC 内存以避免内存损坏。如果内存损坏而无提示,则可能会损坏数据。
执行定期备份-虽然所创建的具有 ZFS 冗余的池有助于减少因硬件故障而导致的停机时间,但是它不可避免地会受硬件故障、电源故障或断开的电缆的影响。请确保定期备份您的数据。如果数据很重要,则应该对其进行备份。提供数据副本的不同方法如下:
定期或每天创建 ZFS 快照
每周备份 ZFS 池数据。可以使用 zpool split 命令创建 ZFS 镜像存储池的精确副本。
使用企业级备份产品每月进行备份
硬件 RAID
考虑将 JBOD 模式用于存储阵列而不是硬件 RAID,以便 ZFS 可以管理存储和冗余。
使用硬件 RAID 和/或 ZFS 冗余
使用 ZFS 冗余有很多好处-对于生产环境,配置 ZFS 以便它可以修复数据不一致性。无论在底层存储设备上实施的 RAID 级别如何,均可使用 ZFS 冗余,如 RAID-Z、RAID-Z-2、RAID-Z-3、镜像。通过此类冗余,ZFS 可以搜索和修复底层存储设备或它到主机的连接上的故障。
如果您对硬件 RAID 解决方案的冗余性有信心,那么可以考虑对 ZFS 使用硬件 RAID 阵列而不使用 ZFS 冗余功能。但是,请按照以下建议来确保数据完整性。
考虑到硬件 RAID 阵列发生故障时 ZFS 无法解决数据不一致性,根据您的方便程度分配 LUN 和 ZFS 存储池的大小。
使用全局热备件创建 RAID5 LUN。
通过使用 zpool status 监视 ZFS 存储池,通过使用硬件 RAID 监视工具监视底层 LUN。
迅速更换任何故障设备。
如果您使用的是数据中心品质的服务,请定期(例如每月)清理您的 ZFS 存储池。
必须始终为重要数据保留最新的高质量备份。
另请参见在本地或网络连接存储阵列上创建池的做法。
故障转储会占用更多磁盘空间,范围通常为物理内存大小的 1/2- 3/4。