Տվյալների պահպանում FreeFileSync և 7-zip-ի միջոցով

Անամնեզ, ասենք έτσι՝

Fujitsu rx300 s6 սերվեր, RAID6 6 1TB սկավառակներից, XenServer 6.2-ն աշխատանքի մեջ է, մի քանի սերվերներ են աշխատում, այդ թվում` Ուբունտա մի քանի բաժիններով, 3.5 միլիոն ֆայլ, 1.5 TB տվյալներ, ամեն բան աստիճանաբար մեծանում և փքվում է:

Պահանջը՝ կարգավորել տվյալների պահպանում ֆայլային սերվերից, մասամբ օրական, մասամբ շաբաթական:
Մեր մոտ ունենք Windows մեքենա պահպանակով RAID5 (ոչ հարուստ համակարգչի սիստեմ, կրող RAID-ը встроеными), և նաև առանձին 2TB սկավառակ ժամանակավոր տվյալների պահպանում համար: Հնարավոր էր օգտագործել ցանկացած Linux բաշխում, բայց այս մեքենան արդեն ունեինք RAID-մասիվով ու Windows լիցենզией:

Գնելու ենք պահպանակի սերվերը FreeFileSync, կարգավորում ենք «լուսնի» բոլոր մասերը ֆայլային սերվերից մեկ անգամ մեկ օր երեկոյան ժամը 18-ից հետո պլանավորողի միջոցով:

Չափազանց կարևոր հանգամանք է՝ խմբակային առաջադրանքը պահպանելիս նշեք «Փակել առաջադրանքի պատուհանը ավարտելուց հետո», հակառակ դեպքում պրոցեսները կհայտնվեն և բազմապատկվեն:

Մասնակիք արգելում ենք՝ *.dwl, *.dwl2, *.tmp թղթապանակներն:

FreeFileSync-ը բացառիկ կերպով օգտագործում է ցանցը, տվյալները փոխանցվում են մի քանի հոսքերով, արագությունը հասնում է 80 Մբ/վայրկյան, խոչընդոտի վրա փոքր ֆայլերով բացահայտված չի եղել:

Արխիվирование կիրարվելու է արդեն տեղական պահպանակի սերվերում, նախկինում օգտագործվողի փոխարեն TheCopier ցանցով արխիվավորման: Ի դեպ, TheCopier-ը հրաշալի է! Բայց այս ծավալներով պարզապես չի հասցնում ամենը տեղափոխել, չնայած 1Gb/s ինտերֆեյսին պահպանակում և 2Gb/s ֆայլային:

Նաեւ նախկինում օգտագործվում էր SyncToy, բայց 1.5-2 միլիոն ֆայլերի քանակի դեպքում վերադառնալուն այն դադարեց նորմալ աշխատել, պարզապես չէր կարողանում:

Պահանջվող թղթապանակների արխիվավորման համար գրում ենք բատնիկ 7-zip:

set now=%TIME:~0,-3%
set now=%now::=.%
set now=%now: =0%
set now=TE:~-4%.TE:~3,2%.TE:~0,2%_%now%
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_10-04.zip E:10-04
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_35-110.zip E:35-110
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_asu.zip E:asu
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_director.zip E:director
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_gpr.zip E:gpr
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_otiz.zip E:otiz
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_ps.zip E:ps
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_pto.zip E:pto
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_rza.zip E:rza
C:«Program Files»7-Zip7z.exe a -tzip -mx=1 -mmt=on -mtc=off -ssw D:backupsAll%now%_smeta.zip E:smeta

:: a — արխივ ստեղծում
:: -tzip կամ -t7z — արխիվի տեսակ (zip-ը 1.5-2 անգամ արագ է)
:: -mx=1 — սեղմման աստիճան (1 նվազագույն, 9 առավելագույն արժեք x=[0 | 1 | 3 | 5 | 7 | 9])
:: -mmt=on — կրկնային գործընթացները ակտիվացնեք, եթե անջատված են
:: -mtc=off — անջատում է ֆայլային համակարգի ժամանակային նշանները (երբ պահպանված, փոփոխված և այլն)
:: -ssw — նաեւ գրելիս բացված ֆայլերը սեղմում է
:: -xr!.Sync* — բացառնում է BtSync- ի ժամանակավոր ֆայլերը արխիվավորումից, թողնելով մշտականները

set now=% կառուցվածքը թույլ է տալիս պահպանել ժամանակի գրառման ձևաչափը ֆայլի անունում առանց խնդիրների, որոնք առաջացվում էին, երբ օրը կամ ամսվա թիվը քիչ էր 10-ից, այսինքն՝ կցում ենք զրոյականը:

Մեկնաբանություն -xr!.Sync* օպցիան մնացորդ է սկզբնական օգտագործածից BTSync.

500 Գբ և 700-800 հազ relational ֆայլերով BTSync-ն դեռ մի բան էր, իրական ժամանակում սինխրոնացնում էր, սակայն ներկայիս ծավալներով շատConsumed RAM և CPU ռեսուրսներ, ինչպես Ուբունտայի ֆայլային սերվերում, այնպես էլ Վինդովսի արկղային համակարգում, որտեղ գործարկվել էր ծառայությամբ, ինչպես նաեւ պարզապես դաժանորեն խանգարում էր սկավառակի համակարգին մշտական ընթերցումներով և գրառումներով:

Չնայած արխիվացնում ենք 7-zip-ի միջոցով, արխիվավորում ենք zip ձևաչափով, քան դրա հայրենի 7z ձևաչափով, որտե՞ային շատ ավելի արագ, և mx=1-ի դեպքում գր Compression-ի տարբերություն չկա, շատ փորձերով ստուգված:

Արխիվները կատարվում են հերթով:

Արխիվների մաքրումն նույնպես տեղի է ունենում պլանավորված առաջադրանքով fpurge գործիքի միջոցով, թողնելով արխիվներ, որոնք ավելի սերուն են մեկ շաբաթ:
Վարձեցված ունենք նախորդ օրվա ֆայլերի վերարտադրություն, ինչպես նաև վերջին շաբաթվա արխիվներ, ջնջված ֆայլերը FreeFileSync-ը դնում է տափին:

Ընտանիք: habr.com

Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով 🔥 Գնել հուսալի հյուրընկալում DDoS պաշտպանությամբ, VPS VDS սերվերներով | ProHoster