对于用于数据库大插入或 TCP/IP 转储的 zpool,最佳的设置是什么(我的意思是持续使用 4 个磁盘实现高写入吞吐量?
我想购买 4 个 Wd RE4 2TB 硬盘,以获得更强大的功能!
我想
zpool create tank mirror disk1 disk2 disk3 disk4
或者
zpool create tank mirror disk1 disk2 mirror disk3 disk4
或者
zpool create tank disk1 disk2 disk3 disk4
我认为在一个池中安装两个镜像的解决方案是最好的,但不确定。
编辑 :好的,所以镜像是 RAID1。无法进行此设置:RAID0(RAID0,RAID0)
答案1
您列出的三个命令和 ZFS 设置的配置有很大不同。
zpool create tank mirror disk1 disk2 disk3 disk4
这将创建一个容量为一个磁盘的 4 向镜像。保护性更强,但占用空间更小,性能也更差。
我不认为你想要这个。
zpool create tank mirror disk1 disk2 mirror disk3 disk4
这将创建两个 RAID 1 镜像的条带 - RAID 1+0,其容量为两个磁盘。
这是一个很好的平衡。
zpool create tank disk1 disk2 disk3 disk4
这将创建一个由四个磁盘组成的条带 - RAID 0,没有故障保护功能,容量为四个磁盘。
这很快,但只有当你不关心数据的完整性时才有意义。如果驱动器发生故障,你将丢失所有数据
答案2
镜像和条带化的工作原理如下:
- 如果你想要更高的写入吞吐量,那么需要更多的条带
- 如果你想要更高的容错能力和读取性能,那么需要更多的镜像
因此,对于 4 个磁盘,在不牺牲容错能力的情况下实现最大吞吐量的最佳方法是创建 2 个镜像,让数据在镜像对上进行条带化。
进一步说,如果您有六个磁盘,则此配置将为您提供更高的写入性能:
zpool create tank mirror disk1 disk2 mirror disk3 disk4 mirror disk5 disk6
这会给你更多的容错能力:
zpool create tank mirror disk1 disk2 disk3 mirror disk4 disk5 disk6
答案3
据我了解,您将进行大量写入(相对于大量小的随机写入),raidz 可能是一个很好的空间/冗余折衷:
zpool create tank raidz disk1 disk2 disk3 disk4
三个磁盘的容量,可承受一个磁盘故障。