From ext4 mdadm raid5 to btrfs raid10

最近把一台 linux distro mirror server 搬到新的機器上,就順勢把原先 ext4 + mdadm raid5 的組合換成了 btrfs raid10。原先在考慮是否要換成 zfs,但在看 到 openSUSEFacebookCoreOS 都相繼轉向 btrfs 後,我決定放手一 搏。由於 btrfs raid5 和 raid6 還在 experimental 階段,所以現在先用 raid10,btrfs 的其中一個特點在於,等到 raid5 穩定後,可以用 Balance Filters 將 raid10 無痛轉換成 raid5。以下是新舊硬體的差異,以及使用 dd 作寫入速度的測試。

System Specification

Old server New server
Filesystem ext4 + mdadm btrfs
RAID level raid5 raid10
HDD Seagate SV35.6 Series ST3000VX000 3TB * 4 Seagate Constellation ES.3 ST4000NM0033 4TB * 6
RAM 16G 32G

Write with dd

Old server

$ time sh -c "dd if=/dev/zero of=testdd bs=4k count=2000000 && sync"
2000000+0 records in
2000000+0 records out
8192000000 bytes (8.2 GB) copied, 34.5464 s, 237 MB/s

real    0m51.607s
user    0m0.360s
sys     0m10.463s

New server

$ time sh -c "dd if=/dev/zero of=testdd bs=4k count=2000000 && sync"
2000000+0 records in
2000000+0 records out
8192000000 bytes (8.2 GB) copied, 11.1265 s, 736 MB/s

real    0m27.279s
user    0m0.233s
sys     0m10.093s

同場加映 - Intel 530 180G SSD with ext4

有機會再來試試 SSD + btrfs 的組合

$ time sh -c "dd if=/dev/zero of=testdd bs=4k count=2000000 && sync"
2000000+0 records in
2000000+0 records out
8192000000 bytes (8.2 GB) copied, 18.9957 s, 431 MB/s

real    0m19.542s
user    0m0.387s
sys     0m8.030s

Comments