Pag-backup sa pagtipig alang sa libu-libo nga mga virtual nga makina gamit ang libre nga mga himan

Pag-backup sa pagtipig alang sa libu-libo nga mga virtual nga makina gamit ang libre nga mga himan

Kumusta, bag-o lang akong nakit-an ang usa ka makapaikag nga problema: pag-set up sa storage alang sa pag-back up sa daghang mga block device.

Kada semana gi-backup namo ang tanang virtual machine sa among cloud, mao nga kinahanglan namo nga mamentinar ang liboan ka backup ug buhaton kini sa labing madali ug episyente kutob sa mahimo.

Ikasubo, ang standard nga mga pag-configure RAID5, RAID6 sa kini nga kaso, dili kami tugotan sa pagbuhat sa ingon, tungod kay ang proseso sa pagbawi sa ingon ka dako nga mga disk sama sa atoa masakit nga taas ug lagmit nga dili matapos.

Atong tan-awon kung unsang mga alternatibo ang anaa:

Erasure Coding - Sama sa RAID5, RAID6, apan adunay ma-configure nga lebel sa parity. Sa kini nga kaso, ang reserbasyon gihimo dili block sa block, apan alang sa matag butang nga gilain. Ang pinakasayon ​​nga paagi sa pagsulay sa erasure coding mao ang pagpalapad minio.

DRAID mao ang usa ka wala pa gipagawas nga bahin sa ZFS. Dili sama sa RAIDZ, ang DRAID adunay giapod-apod nga parity block ug, sa panahon sa pagbawi, gigamit ang tanan nga mga disk sa array sa usa ka higayon, nga naghimo niini nga mas maayo nga makalahutay sa mga kapakyasan sa disk ug mas paspas nga mabawi pagkahuman sa usa ka kapakyasan.

Pag-backup sa pagtipig alang sa libu-libo nga mga virtual nga makina gamit ang libre nga mga himan

Pag-backup sa pagtipig alang sa libu-libo nga mga virtual nga makina gamit ang libre nga mga himan

Anaa ang server Fujitsu Primergy RX300 S7 uban sa processor Intel Xeon CPU E5-2650L 0 @ 1.80GHz, siyam ka stick sa RAM Samsung DDR3-1333 8Gb PC3L-10600R ECC Rehistrado (M393B1K70DH0-YH9), estante sa disk Supermicro SuperChassis 847E26-RJBOD1, konektado pinaagi sa Dual LSI SAS2X36 Expander ug 45 disc Seagage ST6000NM0115-1YZ110 sa 6TB matag usa.

Sa dili pa kita modesisyon sa bisan unsa, kinahanglan una natong susihon ang tanan.

Aron mahimo kini, giandam ug gisulayan nako ang lainlaing mga pag-configure. Aron mahimo kini, gigamit nako ang minio, nga nagsilbing backend sa S3 ug gilunsad kini sa lainlaing mga mode nga adunay lainlaing gidaghanon sa mga target.

Sa panguna, ang minio nga kaso gisulayan sa erasure coding vs software raid nga adunay parehas nga gidaghanon sa mga disk ug parity sa mga disk, ug kini mao ang: RAID6, RAIDZ2 ug DRAID2.

Alang sa pakisayran: kung maglansad ka sa minio nga adunay usa ra ka target, ang minio molihok sa S3 gateway mode, nga naghatud sa imong lokal nga sistema sa file sa porma sa pagtipig sa S3. Kung maglunsad ka og minio nga nagpiho sa daghang mga target, ang Erasure Coding mode awtomatik nga mo-on, nga mokaylap sa datos tali sa imong mga target samtang naghatag og fault tolerance.

Sa kasagaran, ang minio nagbahin sa mga target ngadto sa mga grupo sa 16 ka mga disk, nga adunay 2 ka parity kada grupo. Mga. Ang duha ka mga disk mahimong mapakyas sa samang higayon nga dili mawala ang datos.

Aron masulayan ang pasundayag, gigamit nako ang 16 nga mga disk nga 6TB matag usa ug nagsulat sa gagmay nga mga butang nga 1MB ang gidak-on niini, kini nga labing tukma nga paghulagway sa among umaabot nga pagkarga, tungod kay ang tanan nga modernong mga himan sa pag-backup nagbahin sa datos sa mga bloke sa daghang mga megabytes ug isulat kini sa kini nga paagi.

Sa pagpahigayon sa benchmark, gigamit namo ang s3bench utility, gilunsad sa usa ka hilit nga server ug nagpadala sa napulo ka libo sa maong mga butang ngadto sa minio sa gatusan ka mga hilo. Pagkahuman gisulayan nako nga hangyoon sila pagbalik sa parehas nga paagi.

Ang mga resulta sa benchmark gipakita sa mosunod nga lamesa:

Pag-backup sa pagtipig alang sa libu-libo nga mga virtual nga makina gamit ang libre nga mga himan

Sama sa atong makita, ang minio sa kaugalingon nga erasure coding mode mas grabe sa pagsulat kay sa minio nga nagdagan sa ibabaw sa software nga RAID6, RAIDZ2 ug DRAID2 sa samang configuration.

Gilain ko nangutana pagsulay minio sa ext4 vs XFS. Katingad-an, alang sa akong klase sa workload, ang XFS nahimo nga labi ka hinay kaysa ext4.

Sa unang batch sa mga pagsulay, si Mdadm nagpakita sa pagkalabaw sa ZFS, apan sa ulahi gmelikov gisugyotnga mahimo nimong mapauswag ang pasundayag sa ZFS pinaagi sa pagtakda sa mosunod nga mga kapilian:

xattr=sa atime=off recordsize=1M

ug human niana ang mga pagsulay sa ZFS nahimong mas maayo.

Mamatikdan usab nimo nga ang DRAID wala maghatag daghang ganansya sa pasundayag sa RAIDZ, apan sa teorya kinahanglan nga labi ka luwas.

Sa katapusang duha ka mga pagsulay, gisulayan usab nako ang pagbalhin sa metadata (espesyal) ug ZIL (log) sa salamin gikan sa SSD. Apan ang pagtangtang sa metadata wala maghatag daghang ganansya sa katulin sa pagrekord, ug kung gikuha ang ZIL, ang akong SSDSC2KI128G8 naigo ang kisame nga adunay 100% nga paggamit, mao nga giisip nako nga kini nga pagsulay usa ka kapakyasan. Wala nako iapil nga kung ako adunay mas paspas nga mga drive sa SSD, nan tingali kini makapauswag pag-ayo sa akong mga resulta, apan, sa kasubo, wala ako niini.

Sa katapusan, nakahukom ko nga gamiton ang DRAID ug bisan pa sa beta nga status niini, kini ang pinakapaspas ug labing episyente nga solusyon sa pagtipig sa among kaso.

Naghimo ako usa ka yano nga DRAID2 sa usa ka pagsumpo nga adunay tulo nga mga grupo ug duha nga giapod-apod nga mga 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

Okay, nahan-ay na nato ang storage, karon atong hisgotan kung unsa ang atong i-back up. Dinhi gusto nako nga hisgutan dayon ang bahin sa tulo nga mga solusyon nga akong nasulayan, ug kini mao ang:

Pag-backup ni Benji - tinidor Balik2, usa ka espesyal nga solusyon alang sa block device backup, adunay hugot nga panagsama sa Ceph. Mahimong magkinahanglan kini og mga kalainan tali sa mga snapshot ug mahimong usa ka incremental backup gikan kanila. Nagsuporta sa daghang gidaghanon sa mga backend sa pagtipig, lakip ang lokal ug S3. Nagkinahanglan ug bulag nga database aron tipigan ang deduplication hash table. Mga disadvantages: gisulat sa python, adunay gamay nga dili mosanong nga cli.

Pag-backup sa Borg - tinidor Mga atabay, usa ka dugay na nga nailhan ug napamatud-an nga backup nga himan, makahimo sa pag-backup sa data ug pag-deduplicate niini og maayo. Makatipig sa mga backup sa lokal ug sa usa ka hilit nga server pinaagi sa scp. Mahimo ba nga i-backup ang mga aparato kung gilansad gamit ang bandila --special, usa sa mga minus: kung maghimo usa ka backup, ang repository hingpit nga gibabagan, mao nga girekomenda nga maghimo usa ka separado nga repository alang sa matag virtual machine, sa prinsipyo dili kini problema, maayo na lang nga kini dali ra kaayo.

Nagpahulay usa ka aktibo nga nagpalambo nga proyekto, gisulat sa go, paspas kaayo ug nagsuporta sa daghang mga backend sa pagtipig, lakip ang lokal nga pagtipig, scp, S3 ug daghan pa. Gilain, gusto nakong timan-an nga adunay espesyal nga gibuhat rest-server alang sa restic, nga nagtugot kanimo sa dali nga pag-eksport sa pagtipig alang sa paggamit sa layo. Sa tanan nga naa sa ibabaw, labing gusto nako kini. Mahimo ba nga backup gikan sa stdin. Kini halos wala'y makita nga mga disbentaha, apan adunay daghang mga bahin:

  • Una, gisulayan nako nga gamiton kini sa kinatibuk-ang repository mode alang sa tanan nga mga virtual machine (sama sa Benji) ug kini nagtrabaho nga maayo, apan ang mga operasyon sa pagpasig-uli dugay kaayo, tungod kay ... Matag higayon sa wala pa ibalik, ang restic mosulay sa pagbasa sa metadata sa tanan nga mga backup. Kini nga problema dali nga nasulbad, sama sa borg, pinaagi sa paghimo og bulag nga repository alang sa matag virtual machine. Kini nga pamaagi napamatud-an nga epektibo kaayo alang sa pagdumala usab sa mga backup. Ang bulag nga mga repositoryo mahimong adunay lahi nga password alang sa pag-access sa datos, ug dili usab kami kinahanglan mahadlok nga ang global repo mahimo’g maguba. Mahimo nimong mamugna ang bag-ong mga repositoryo nga dali sama sa backup sa borg.

    Sa bisan unsa nga kaso, ang deduplication gihimo lamang nga may kalabotan sa miaging bersyon sa backup; ang miaging backup gitino pinaagi sa agianan alang sa gitakda nga backup, busa kung imong i-back up ang lainlaing mga butang gikan sa stdin hangtod sa usa ka sagad nga repository, ayaw kalimti nga ipiho ang kapilian --stdin-filename, o klaro nga ipiho ang kapilian matag higayon --parent.

  • Ikaduha, ang pagbawi sa stdout mas dugay kaysa pagbawi sa file system tungod sa parehas nga kinaiya niini. Sa umaabot, nagplano kami nga idugang ang mas duol nga suporta alang sa mga backup alang sa mga block device.

  • Ikatulo, sa pagkakaron girekomendar nga gamiton bersyon gikan sa master, kay bersyon 0.9.6 adunay bug nga adunay taas nga pagkaayo sa dagkong mga file.

Aron masulayan ang pagka-epektibo sa backup ug ang katulin sa pagsulat / pagpasig-uli gikan sa usa ka backup, naghimo ako usa ka bulag nga repositoryo ug gisulayan ang pag-backup sa usa ka gamay nga imahe sa usa ka virtual machine (21 GB). Duha ka pag-backup ang gihimo nga walay pagbag-o sa orihinal, gamit ang matag usa sa nalista nga mga solusyon aron masusi kung unsa ka paspas/hinay ang pagkopya sa deduplicated data.

Pag-backup sa pagtipig alang sa libu-libo nga mga virtual nga makina gamit ang libre nga mga himan

Sama sa atong makita, ang Borg Backup adunay labing maayo nga inisyal nga backup efficiency ratio, apan ubos sa termino sa pagsulat ug pagpasig-uli sa katulin.

Ang Restic nahimong mas paspas kay sa Benji Backup, apan mas dugay ang pag-uli sa stdout, ug, sa kasubo, wala pa kini mahibal-an kung unsaon pagsulat direkta sa usa ka block device.

Human sa pagtimbang-timbang sa tanan nga mga bentaha ug disbentaha, ako nakahukom sa paghusay sa pahulay с rest-server ingon nga labing kombenyente ug nagsaad nga backup nga solusyon.

Pag-backup sa pagtipig alang sa libu-libo nga mga virtual nga makina gamit ang libre nga mga himan

Sa kini nga screencast makita nimo kung giunsa ang usa ka 10-gigabit nga channel hingpit nga gigamit sa daghang mga backup nga operasyon nga dungan nga nagdagan. Angay nga matikdan nga ang pag-recycle sa disk dili mosaka sa 30%.

Mas nalipay ko sa solusyon nga akong nadawat!

Source: www.habr.com

Idugang sa usa ka comment