使用免费工具备份数千个虚拟机


嗨,我最近遇到了一个有趣的任务,配置存储以备份大量块设备。


每周我们都会备份云中的所有虚拟机,因此您需要能够维护数千个备份,并尽可能快且高效地进行备份。


不幸的是,在这种情况下RAID5RAID6的标准配置不适合我们,因为在像我们这样的大磁盘上进行恢复过程会很费时,而且很可能永远不会结束。


让我们考虑一下哪些替代方案:


擦除编码 -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:


# zpool status data
  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 BackupBacky2, , Ceph. diff' . , S3. - . : python, cli.


Borg BackupAttic, , . 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%。


我对解决方案感到非常满意!


All Articles