Backup for thousands of virtual machines with free tools


Hi, I recently came across an interesting task to configure storage for backup of a large number of block devices.


Every week we back up all the virtual machines in our cloud, so you need to be able to maintain thousands of backups and do it as quickly and efficiently as possible.


RAID5, RAID6 .


:


Erasure Coding — RAID5, RAID6, . . erasure coding — 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 .


asciicast


In this screencast you can see how the 10-gigabit channel is completely utilized during several backup operations that are simultaneously running. It is worth noting that disk utilization does not rise above 30%.


I was more than satisfied with the solution I received!


All Articles