புரோஹோஸ்டர் > Блог > நிர்வாகம் > இலவச கருவிகளைப் பயன்படுத்தி ஆயிரக்கணக்கான மெய்நிகர் இயந்திரங்களுக்கான காப்புப் பிரதி சேமிப்பு
இலவச கருவிகளைப் பயன்படுத்தி ஆயிரக்கணக்கான மெய்நிகர் இயந்திரங்களுக்கான காப்புப் பிரதி சேமிப்பு
வணக்கம், நான் சமீபத்தில் ஒரு சுவாரஸ்யமான சிக்கலைக் கண்டேன்: அதிக எண்ணிக்கையிலான பிளாக் சாதனங்களை காப்புப் பிரதி எடுக்க சேமிப்பகத்தை அமைத்தல்.
ஒவ்வொரு வாரமும் நாங்கள் எங்கள் கிளவுட்டில் உள்ள அனைத்து மெய்நிகர் இயந்திரங்களையும் காப்புப் பிரதி எடுக்கிறோம், எனவே ஆயிரக்கணக்கான காப்புப்பிரதிகளைப் பராமரிக்கவும், முடிந்தவரை விரைவாகவும் திறமையாகவும் செய்ய முடியும்.
துரதிருஷ்டவசமாக, நிலையான கட்டமைப்புகள் RAID5, RAID6 இந்த வழக்கில், நாங்கள் அவ்வாறு செய்ய அனுமதிக்கப்பட மாட்டோம், ஏனென்றால் எங்களுடைய பெரிய வட்டுகளில் மீட்பு செயல்முறை வலிமிகுந்ததாக நீண்டதாக இருக்கும் மற்றும் பெரும்பாலும் முடிவடையாது.
என்ன மாற்று வழிகள் உள்ளன என்பதைப் பார்ப்போம்:
அழித்தல் குறியீட்டு முறை — RAID5, RAID6 போன்றது, ஆனால் உள்ளமைக்கக்கூடிய சமநிலை நிலை கொண்டது. இந்த வழக்கில், முன்பதிவு தொகுதி மூலம் அல்ல, ஆனால் ஒவ்வொரு பொருளுக்கும் தனித்தனியாக செய்யப்படுகிறது. அழித்தல் குறியீட்டை முயற்சி செய்வதற்கான எளிதான வழி விரிவாக்கம் ஆகும் மினியோ.
DRAID தற்போது வெளியிடப்படாத ZFS அம்சமாகும். RAIDZ போலல்லாமல், DRAID ஆனது விநியோகிக்கப்பட்ட சமநிலைத் தொகுதியைக் கொண்டுள்ளது மற்றும் மீட்டெடுப்பின் போது, வரிசையின் அனைத்து வட்டுகளையும் ஒரே நேரத்தில் பயன்படுத்துகிறது, இது வட்டு தோல்விகளைத் தக்கவைத்து, தோல்விக்குப் பிறகு விரைவாக மீட்டெடுக்கிறது.
சர்வர் கிடைக்கிறது புஜித்சூ ப்ரைமர்கி RX300 S7 செயலியுடன் Intel Xeon CPU E5-2650L 0 @ 1.80GHz, ரேமின் ஒன்பது குச்சிகள் Samsung DDR3-1333 8Gb PC3L-10600R ECC பதிவுசெய்யப்பட்டது (M393B1K70DH0-YH9), வட்டு அலமாரி Supermicro SuperChassis 847E26-RJBOD1, வழியாக இணைக்கப்பட்டுள்ளது இரட்டை LSI SAS2X36 விரிவாக்கி மற்றும் 45 வட்டுகள் சீகேஜ் ST6000NM0115-1YZ110 மீது 6TB ஒவ்வொரு.
நாம் எதையும் முடிவு செய்வதற்கு முன், முதலில் எல்லாவற்றையும் சரியாகச் சோதிக்க வேண்டும்.
இதைச் செய்ய, நான் பல்வேறு உள்ளமைவுகளைத் தயாரித்து சோதித்தேன். இதைச் செய்ய, நான் மினியோவைப் பயன்படுத்தினேன், இது ஒரு S3 பின்தளமாகச் செயல்பட்டது மற்றும் வெவ்வேறு எண்ணிக்கையிலான இலக்குகளுடன் வெவ்வேறு முறைகளில் அதை அறிமுகப்படுத்தியது.
அடிப்படையில், மினியோ கேஸ் அதே எண்ணிக்கையிலான வட்டுகள் மற்றும் வட்டுகளின் சமநிலையுடன் அழிக்கும் குறியீட்டு முறை மற்றும் மென்பொருள் சோதனையில் சோதிக்கப்பட்டது, மேலும் இவை: RAID6, RAIDZ2 மற்றும் DRAID2.
குறிப்புக்கு: நீங்கள் ஒரே ஒரு இலக்குடன் மினியோவைத் தொடங்கும்போது, மினியோ S3 கேட்வே பயன்முறையில் இயங்குகிறது, உங்கள் உள்ளூர் கோப்பு முறைமையை S3 சேமிப்பக வடிவில் வழங்குகிறது. நீங்கள் பல இலக்குகளைக் குறிப்பிடும் மினியோவைத் தொடங்கினால், அழித்தல் குறியீட்டு முறை தானாகவே இயங்கும், இது தவறான சகிப்புத்தன்மையை வழங்கும் போது உங்கள் இலக்குகளுக்கு இடையில் தரவைப் பரப்பும்.
முன்னிருப்பாக, மினியோ இலக்குகளை 16 வட்டுகளின் குழுக்களாகப் பிரிக்கிறது, ஒரு குழுவிற்கு 2 சமநிலைகள். அந்த. தரவை இழக்காமல் ஒரே நேரத்தில் இரண்டு வட்டுகள் தோல்வியடையும்.
செயல்திறனைச் சோதிக்க, நான் ஒவ்வொன்றும் 16TB இன் 6 வட்டுகளைப் பயன்படுத்தினேன், அவற்றில் 1MB அளவுள்ள சிறிய பொருட்களை எழுதினேன், இது எங்கள் எதிர்கால சுமையை மிகத் துல்லியமாக விவரித்தது, ஏனெனில் அனைத்து நவீன காப்பு கருவிகளும் தரவை பல மெகாபைட் தொகுதிகளாகப் பிரித்து அவற்றை இந்த வழியில் எழுதுகின்றன.
பெஞ்ச்மார்க்கை நடத்த, ரிமோட் சர்வரில் தொடங்கப்பட்ட s3bench பயன்பாட்டைப் பயன்படுத்தினோம், மேலும் இதுபோன்ற பல்லாயிரக்கணக்கான பொருட்களை நூற்றுக்கணக்கான நூல்களில் மினியோவுக்கு அனுப்பினோம். அதன் பிறகு நான் அவர்களை அதே வழியில் திரும்பக் கோர முயற்சித்தேன்.
முக்கிய முடிவுகள் பின்வரும் அட்டவணையில் காட்டப்பட்டுள்ளன:
நாம் பார்க்கிறபடி, அதே கட்டமைப்பில் RAID6, RAIDZ2 மற்றும் DRAID2 மென்பொருளின் மேல் இயங்கும் மினியோவை விட, அதன் சொந்த அழித்தல் குறியீட்டு முறையில் மினியோ எழுதுவதில் கணிசமாக மோசமாக செயல்படுகிறது.
தனித்தனியாக நான் என்று கேட்டார் ext4 vs XFS இல் மினியோவைச் சோதிக்கவும். ஆச்சரியப்படும் விதமாக, எனது பணிச்சுமையின் வகைக்கு, எக்ஸ்எஃப்எஸ் ext4 ஐ விட கணிசமாக மெதுவாக இருந்தது.
முதல் தொகுதி சோதனைகளில், Mdadm ZFS ஐ விட மேன்மையைக் காட்டியது, ஆனால் பின்னர் gmelikovபரிந்துரைக்கப்பட்டதுபின்வரும் விருப்பங்களை அமைப்பதன் மூலம் ZFS செயல்திறனை மேம்படுத்தலாம்:
xattr=sa atime=off recordsize=1M
அதன் பிறகு ZFS உடனான சோதனைகள் மிகவும் சிறப்பாக இருந்தன.
RAIDZ ஐ விட அதிக செயல்திறன் ஆதாயத்தை DRAID வழங்கவில்லை என்பதையும் நீங்கள் கவனிக்கலாம், ஆனால் கோட்பாட்டில் இது மிகவும் பாதுகாப்பானதாக இருக்க வேண்டும்.
கடந்த இரண்டு சோதனைகளில், மெட்டாடேட்டா (சிறப்பு) மற்றும் ZIL (பதிவு) ஆகியவற்றை SSD இலிருந்து கண்ணாடிக்கு மாற்றவும் முயற்சித்தேன். ஆனால் மெட்டாடேட்டாவை அகற்றுவது பதிவு செய்யும் வேகத்தில் அதிக லாபத்தை கொடுக்கவில்லை, மேலும் ZIL ஐ அகற்றும் போது, என் SSDSC2KI128G8 100% பயன்பாட்டுடன் உச்சவரம்பைத் தாக்கியது, எனவே இந்த சோதனை தோல்வி என்று நான் கருதுகிறேன். என்னிடம் வேகமான எஸ்எஸ்டி டிரைவ்கள் இருந்தால், இது எனது முடிவுகளை பெரிதும் மேம்படுத்தக்கூடும் என்பதை நான் விலக்கவில்லை, ஆனால், துரதிர்ஷ்டவசமாக, அவை என்னிடம் இல்லை.
முடிவில், நான் DRAID ஐப் பயன்படுத்த முடிவு செய்தேன், அதன் பீட்டா நிலை இருந்தபோதிலும், இது எங்கள் விஷயத்தில் வேகமான மற்றும் திறமையான சேமிப்பக தீர்வாகும்.
மூன்று குழுக்கள் மற்றும் இரண்டு விநியோகிக்கப்பட்ட உதிரிபாகங்கள் கொண்ட ஒரு எளிய DRAID2 ஐ உருவாக்கினேன்:
சரி, சேமிப்பகத்தை வரிசைப்படுத்திவிட்டோம், இப்போது நாம் என்ன காப்புப் பிரதி எடுப்போம் என்பதைப் பற்றி பேசலாம். நான் முயற்சித்த மூன்று தீர்வுகளைப் பற்றி இங்கே உடனடியாகப் பேச விரும்புகிறேன், அவை:
பென்ஜி காப்புப்பிரதி - முள் கரண்டி பேக்கி2, பிளாக் சாதன காப்புப்பிரதிக்கான சிறப்புத் தீர்வு, Ceph உடன் இறுக்கமான ஒருங்கிணைப்பைக் கொண்டுள்ளது. ஸ்னாப்ஷாட்டுகளுக்கு இடையே உள்ள வேறுபாடுகளை எடுத்து அவற்றிலிருந்து கூடுதல் காப்புப்பிரதியை உருவாக்கலாம். லோக்கல் மற்றும் S3 ஆகிய இரண்டும் உட்பட அதிக எண்ணிக்கையிலான சேமிப்பக பின்தளங்களை ஆதரிக்கிறது. டியூப்ளிகேஷன் ஹாஷ் அட்டவணையை சேமிக்க தனி தரவுத்தளம் தேவை. குறைபாடுகள்: பைத்தானில் எழுதப்பட்டது, சற்று பதிலளிக்காத கிளை உள்ளது.
போர்க் காப்பு - முள் கரண்டி அட்டிக், நீண்டகாலமாக அறியப்பட்ட மற்றும் நிரூபிக்கப்பட்ட காப்புப்பிரதி கருவி, தரவை காப்புப் பிரதி எடுக்கலாம் மற்றும் அதை நன்றாக நகலெடுக்கலாம். காப்புப்பிரதிகளை உள்நாட்டிலும் தொலை சேவையகத்திலும் scp மூலம் சேமிக்க முடியும். கொடியுடன் தொடங்கப்பட்டால், சாதனங்களைத் தடுக்கும் காப்புப் பிரதி எடுக்க முடியும் --special, மைனஸ்களில் ஒன்று: காப்புப்பிரதியை உருவாக்கும் போது, களஞ்சியம் முற்றிலும் தடுக்கப்படுகிறது, எனவே ஒவ்வொரு மெய்நிகர் இயந்திரத்திற்கும் ஒரு தனி களஞ்சியத்தை உருவாக்க பரிந்துரைக்கப்படுகிறது, கொள்கையளவில் இது ஒரு பிரச்சனையல்ல, அதிர்ஷ்டவசமாக அவை மிக எளிதாக உருவாக்கப்படுகின்றன.
ரெஸ்டிக் செயலில் வளரும் திட்டமாகும், இது go-ல் எழுதப்பட்டது, மிக வேகமாகவும், உள்ளூர் சேமிப்பகம், scp, S3 மற்றும் பலவற்றை உள்ளடக்கிய அதிக எண்ணிக்கையிலான சேமிப்பக பின்தளங்களை ஆதரிக்கிறது. தனித்தனியாக, சிறப்பாக உருவாக்கப்பட்ட ஒரு உள்ளது என்பதை நான் கவனிக்க விரும்புகிறேன் ஓய்வு-சேவையகம் Restic க்கு, இது தொலைதூரத்தில் பயன்படுத்த சேமிப்பகத்தை விரைவாக ஏற்றுமதி செய்ய உங்களை அனுமதிக்கிறது. மேலே உள்ள எல்லாவற்றிலும், நான் மிகவும் விரும்பினேன். stdin இலிருந்து காப்புப் பிரதி எடுக்க முடியும். இது கிட்டத்தட்ட குறிப்பிடத்தக்க குறைபாடுகள் இல்லை, ஆனால் பல அம்சங்கள் உள்ளன:
முதலாவதாக, அனைத்து மெய்நிகர் இயந்திரங்களுக்கும் (பென்ஜி போன்றவை) பொது களஞ்சிய பயன்முறையில் இதைப் பயன்படுத்த முயற்சித்தேன், அது நன்றாக வேலை செய்தது, ஆனால் மீட்பு நடவடிக்கைகள் மிக நீண்ட நேரம் எடுத்தது, ஏனெனில் ... ஒவ்வொரு முறையும் மீட்டமைப்பதற்கு முன், ரெஸ்டிக் அனைத்து காப்புப்பிரதிகளின் மெட்டாடேட்டாவைப் படிக்க முயற்சிக்கிறது. ஒவ்வொரு மெய்நிகர் இயந்திரத்திற்கும் தனித்தனி களஞ்சியத்தை உருவாக்குவதன் மூலம் போர்க்கைப் போலவே இந்தப் பிரச்சனையும் எளிதில் தீர்க்கப்பட்டது. இந்த அணுகுமுறை காப்புப்பிரதிகளை நிர்வகிப்பதற்கும் மிகவும் பயனுள்ளதாக இருக்கும் என நிரூபிக்கப்பட்டுள்ளது. தனித்தனி களஞ்சியங்கள் தரவை அணுகுவதற்கான தனி கடவுச்சொல்லைக் கொண்டிருக்கலாம், மேலும் உலகளாவிய ரெப்போ எப்படியாவது உடைந்துவிடும் என்று நாங்கள் பயப்பட வேண்டியதில்லை. போர்க் காப்புப்பிரதியைப் போலவே புதிய களஞ்சியங்களையும் நீங்கள் எளிதாக உருவாக்கலாம்.
எவ்வாறாயினும், காப்புப்பிரதியின் முந்தைய பதிப்போடு ஒப்பிடும்போது மட்டுமே விலக்கு செய்யப்படுகிறது; முந்தைய காப்புப்பிரதியானது குறிப்பிட்ட காப்புப்பிரதிக்கான பாதையால் தீர்மானிக்கப்படுகிறது, எனவே நீங்கள் stdin இலிருந்து பொதுவான களஞ்சியத்திற்கு வெவ்வேறு பொருட்களை காப்புப் பிரதி எடுத்தால், குறிப்பிட மறக்காதீர்கள் விருப்பம் --stdin-filename, அல்லது ஒவ்வொரு முறையும் விருப்பத்தை வெளிப்படையாகக் குறிப்பிடவும் --parent.
இரண்டாவதாக, அதன் இணையான தன்மை காரணமாக கோப்பு முறைமைக்கு மீட்டெடுப்பதை விட stdout க்கு மீட்டெடுப்பு அதிக நேரம் எடுக்கும். எதிர்காலத்தில், பிளாக் சாதனங்களுக்கான காப்புப்பிரதிகளுக்கு நெருக்கமான ஆதரவைச் சேர்க்க திட்டமிட்டுள்ளோம்.
மூன்றாவதாக, இது தற்போது பயன்படுத்த பரிந்துரைக்கப்படுகிறது மாஸ்டரிடமிருந்து பதிப்பு, ஏனெனில் பதிப்பு 0.9.6 பெரிய கோப்புகளின் நீண்ட மீட்புடன் ஒரு பிழை உள்ளது.
காப்புப்பிரதியின் செயல்திறன் மற்றும் காப்புப்பிரதியிலிருந்து எழுதும் / மீட்டமைக்கும் வேகத்தை சோதிக்க, நான் ஒரு தனி களஞ்சியத்தை உருவாக்கி, ஒரு மெய்நிகர் இயந்திரத்தின் (21 ஜிபி) சிறிய படத்தை காப்புப் பிரதி எடுக்க முயற்சித்தேன். பட்டியலிடப்பட்ட ஒவ்வொரு தீர்வுகளையும் பயன்படுத்தி, நகலெடுக்கப்பட்ட தரவு எவ்வளவு வேகமாக/மெதுவாக நகலெடுக்கப்பட்டது என்பதைச் சரிபார்க்க, அசலை மாற்றாமல் இரண்டு காப்புப்பிரதிகள் செய்யப்பட்டன.
நாம் பார்க்கிறபடி, போர்க் காப்புப்பிரதியானது சிறந்த ஆரம்ப காப்புப் பிரதி செயல்திறன் விகிதத்தைக் கொண்டுள்ளது, ஆனால் எழுதுதல் மற்றும் மீட்டமைத்தல் வேகம் ஆகிய இரண்டின் அடிப்படையில் குறைவாக உள்ளது.
Restic ஆனது Benji Backup ஐ விட வேகமானது, ஆனால் stdout க்கு மீட்டமைக்க அதிக நேரம் எடுக்கும், மேலும், துரதிர்ஷ்டவசமாக, பிளாக் சாதனத்தில் நேரடியாக எழுதுவது எப்படி என்று இன்னும் தெரியவில்லை.
அனைத்து நன்மை தீமைகளையும் எடைபோட்ட பிறகு, நான் தீர்வு காண முடிவு செய்தேன் ஓய்வு с ஓய்வு-சேவையகம் மிகவும் வசதியான மற்றும் நம்பிக்கைக்குரிய காப்புப்பிரதி தீர்வு.
ஒரே நேரத்தில் இயங்கும் பல காப்புப் பிரதி செயல்பாடுகளின் போது 10-ஜிகாபிட் சேனல் எவ்வாறு முழுமையாகப் பயன்படுத்தப்படுகிறது என்பதை இந்தத் திரைக்காட்சியில் காணலாம். வட்டு மறுசுழற்சி 30% க்கு மேல் உயரவில்லை என்பது கவனிக்கத்தக்கது.
நான் பெற்ற தீர்வில் நான் மிகவும் மகிழ்ச்சியடைந்தேன்!