
嗨,我最近遇到了一个有趣的任务,配置存储以备份大量块设备。
每周我们都会备份云中的所有虚拟机,因此您需要能够维护数千个备份,并尽可能快且高效地进行备份。
不幸的是,在这种情况下,RAID5和RAID6的标准配置不适合我们,因为在像我们这样的大磁盘上进行恢复过程会很费时,而且很可能永远不会结束。
让我们考虑一下哪些替代方案:
擦除编码 -RAID5,RAID6的类似物,但具有自定义奇偶校验级别。在这种情况下,不是逐块执行备份,而是分别针对每个对象执行备份。尝试擦除编码的最简单方法是部署 minio。
DRAID — ZFS. RAIDZ DRAID parity block , .


Fujitsu Primergy RX300 S7 c Intel Xeon CPU E5-2650L 0 @ 1.80GHz, Samsung DDR3-1333 8Gb PC3L-10600R ECC Registered (M393B1K70DH0-YH9), Supermicro SuperChassis 847E26-RJBOD1, Dual LSI SAS2X36 Expander 45 Seagage ST6000NM0115-1YZ110 6TB .
- .
. minio, S3- .
minio erasure coding vs software raid parity , : RAID6, RAIDZ2 DRAID2.
: minio - , minio S3- S3-. minio , Erasure Coding, .
minio 16 , 2 parity. .. .
16 6TB 1MB, , .
s3bench minio . .
:

, minio erasure coding , minio RAID6, RAIDZ2 DRAID2 .
minio ext4 vs XFS. , XFS ext4.
Mdadm ZFS, gmelikov , ZFS :
xattr=sa atime=off recordsize=1M
ZFS .
DRAID RAIDZ, .
(special) ZIL (log) SSD. , ZIL SSDSC2KI128G8 100% , . , SSD-, , , , .
DRAID , .
DRAID2 c distributed spares:
pool: data
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
data ONLINE 0 0 0
draid2:3g:2s-0 ONLINE 0 0 0
sdy ONLINE 0 0 0
sdam ONLINE 0 0 0
sdf ONLINE 0 0 0
sdau ONLINE 0 0 0
sdab ONLINE 0 0 0
sdo ONLINE 0 0 0
sdw ONLINE 0 0 0
sdak ONLINE 0 0 0
sdd ONLINE 0 0 0
sdas ONLINE 0 0 0
sdm ONLINE 0 0 0
sdu ONLINE 0 0 0
sdai ONLINE 0 0 0
sdaq ONLINE 0 0 0
sdk ONLINE 0 0 0
sds ONLINE 0 0 0
sdag ONLINE 0 0 0
sdi ONLINE 0 0 0
sdq ONLINE 0 0 0
sdae ONLINE 0 0 0
sdz ONLINE 0 0 0
sdan ONLINE 0 0 0
sdg ONLINE 0 0 0
sdac ONLINE 0 0 0
sdx ONLINE 0 0 0
sdal ONLINE 0 0 0
sde ONLINE 0 0 0
sdat ONLINE 0 0 0
sdaa ONLINE 0 0 0
sdn ONLINE 0 0 0
sdv ONLINE 0 0 0
sdaj ONLINE 0 0 0
sdc ONLINE 0 0 0
sdar ONLINE 0 0 0
sdl ONLINE 0 0 0
sdt ONLINE 0 0 0
sdah ONLINE 0 0 0
sdap ONLINE 0 0 0
sdj ONLINE 0 0 0
sdr ONLINE 0 0 0
sdaf ONLINE 0 0 0
sdao ONLINE 0 0 0
sdh ONLINE 0 0 0
sdp ONLINE 0 0 0
sdad ONLINE 0 0 0
spares
s0-draid2:3g:2s-0 AVAIL
s1-draid2:3g:2s-0 AVAIL
errors: No known data errors
, , . , :
Benji Backup — Backy2, , Ceph. diff' . , S3. - . : python, cli.
Borg Backup — Attic, , . scp. --special
, : , , , .
Restic — , go, , , scp, S3 . , rest-server restic, . . stdin. , :
, ( Benji) , , .. restic . borg, . . , , - . borg backup.\
, path , stdin , --stdin-filename
, --parent
.
, stdout . .
, master, .. 0.9.6 .
/ , (21 GB). , , / .

Borg Backup , .
Restic Benji Backup, stdout, , , .
restic rest-server .

在此截屏视频中,您可以看到在同时运行的多个备份操作中如何完全利用10吉比特通道。值得注意的是,磁盘利用率不会超过30%。
我对解决方案感到非常满意!