அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது

அனைவருக்கும் வணக்கம். நான் OK இல் முன்னணி கணினி நிர்வாகியாக பணிபுரிகிறேன் மற்றும் போர்ட்டலின் நிலையான செயல்பாட்டிற்கு நான் பொறுப்பேற்கிறேன். வட்டுகளை தானாக மாற்றுவதற்கான செயல்முறையை நாங்கள் எவ்வாறு உருவாக்கினோம், பின்னர் இந்த செயல்பாட்டிலிருந்து நிர்வாகியை எவ்வாறு விலக்கினோம் மற்றும் அவரை ஒரு போட் மூலம் மாற்றினோம் என்பதைப் பற்றி பேச விரும்புகிறேன்.

இந்தக் கட்டுரை ஒரு வகையான ஒலிபெயர்ப்பு நிகழ்ச்சிகள் HighLoad+ 2018 இல்

வட்டு மாற்று செயல்முறையை உருவாக்குதல்

முதலில் சில எண்கள்

ஓகே என்பது மில்லியன் கணக்கான மக்களால் பயன்படுத்தப்படும் ஒரு மாபெரும் சேவையாகும். இது சுமார் 7 ஆயிரம் சேவையகங்களால் வழங்கப்படுகிறது, அவை 4 வெவ்வேறு தரவு மையங்களில் அமைந்துள்ளன. சேவையகங்களில் 70 ஆயிரத்துக்கும் மேற்பட்ட வட்டுகள் உள்ளன. நீங்கள் அவற்றை ஒன்றன் மேல் ஒன்றாக அடுக்கி வைத்தால், 1 கிமீ உயரத்திற்கு மேல் ஒரு கோபுரம் கிடைக்கும்.

ஹார்ட் டிரைவ்கள் பெரும்பாலும் தோல்வியடையும் சர்வர் கூறு ஆகும். அத்தகைய தொகுதிகளுடன், வாரத்திற்கு சுமார் 30 வட்டுகளை மாற்ற வேண்டும், மேலும் இந்த செயல்முறை மிகவும் இனிமையானது அல்ல.

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது

சம்பவங்கள்

எங்கள் நிறுவனம் முழு அளவிலான சம்பவ மேலாண்மையை அறிமுகப்படுத்தியுள்ளது. நாம் ஒவ்வொரு சம்பவத்தையும் ஜிராவில் பதிவு செய்து, அதைத் தீர்த்து வரிசைப்படுத்துவோம். ஒரு சம்பவம் பயனர்கள் மீது தாக்கத்தை ஏற்படுத்தியிருந்தால், நாங்கள் நிச்சயமாக ஒன்றுகூடி, இதுபோன்ற சந்தர்ப்பங்களில் விரைவாக எவ்வாறு பதிலளிப்பது, விளைவை எவ்வாறு குறைப்பது மற்றும், நிச்சயமாக, மீண்டும் நிகழாமல் தடுப்பது எப்படி என்பதைப் பற்றி சிந்திக்கிறோம்.

சேமிப்பக சாதனங்களும் விதிவிலக்கல்ல. அவர்களின் நிலை Zabbix ஆல் கண்காணிக்கப்படுகிறது. Syslog இல் உள்ள செய்திகளை எழுத/படிக்க பிழைகளை கண்காணிக்கிறோம், HW/SW ரெய்டுகளின் நிலையை பகுப்பாய்வு செய்கிறோம், SMARTஐ கண்காணிக்கிறோம் மற்றும் SSDகளுக்கான உடைகளை கணக்கிடுகிறோம்.

முன்பு வட்டுகள் எவ்வாறு மாற்றப்பட்டன

Zabbix இல் ஒரு தூண்டுதல் நிகழும்போது, ​​ஜிராவில் ஒரு சம்பவம் உருவாக்கப்பட்டு, தரவு மையங்களில் உள்ள பொருத்தமான பொறியாளர்களுக்கு தானாகவே ஒதுக்கப்படும். எல்லா HW சம்பவங்களுடனும் இதைச் செய்கிறோம், அதாவது தரவு மையத்தில் உள்ள உபகரணங்களுடன் ஏதேனும் உடல் உழைப்பு தேவைப்படும்.
தரவு மையப் பொறியாளர் என்பது வன்பொருள் தொடர்பான சிக்கல்களைத் தீர்ப்பவர் மற்றும் சேவையகங்களை நிறுவுதல், பராமரித்தல் மற்றும் அகற்றுதல் ஆகியவற்றுக்குப் பொறுப்பானவர். டிக்கெட்டைப் பெற்ற பிறகு, பொறியாளர் வேலைக்குச் செல்கிறார். வட்டு அலமாரிகளில் அவர் வட்டுகளை சுயாதீனமாக மாற்றுகிறார். ஆனால் அவருக்கு தேவையான சாதனத்தை அணுக முடியாவிட்டால், பொறியாளர் உதவிக்காக பணியில் உள்ள கணினி நிர்வாகிகளிடம் திரும்புகிறார். முதலில், நீங்கள் வட்டை சுழற்சியில் இருந்து அகற்ற வேண்டும். இதைச் செய்ய, நீங்கள் சேவையகத்தில் தேவையான மாற்றங்களைச் செய்ய வேண்டும், பயன்பாடுகளை நிறுத்த வேண்டும் மற்றும் வட்டை அகற்ற வேண்டும்.

பணி மாற்றத்தின் போது முழு போர்ட்டலின் செயல்பாட்டிற்கும் கடமையில் உள்ள கணினி நிர்வாகி பொறுப்பு. அவர் சம்பவங்களை ஆராய்கிறார், பழுதுபார்க்கிறார் மற்றும் டெவலப்பர்களுக்கு சிறிய பணிகளை முடிக்க உதவுகிறார். அவர் ஹார்ட் டிரைவ்களை மட்டும் கையாள்வதில்லை.

முன்னதாக, தரவு மையப் பொறியாளர்கள் கணினி நிர்வாகியுடன் அரட்டை மூலம் தொடர்பு கொண்டனர். பொறியாளர்கள் ஜிரா டிக்கெட்டுகளுக்கான இணைப்புகளை அனுப்பினர், நிர்வாகி அவர்களைப் பின்தொடர்ந்து, சில நோட்பேடில் வேலை பதிவை வைத்திருந்தார். ஆனால் அரட்டைகள் அத்தகைய பணிகளுக்கு சிரமமாக உள்ளன: அங்குள்ள தகவல் கட்டமைக்கப்படவில்லை மற்றும் விரைவாக இழக்கப்படுகிறது. நிர்வாகி கணினியிலிருந்து விலகிச் செல்லலாம் மற்றும் சிறிது நேரம் கோரிக்கைகளுக்கு பதிலளிக்கவில்லை, பொறியாளர் வட்டுகளின் அடுக்குடன் சேவையகத்தில் நின்று காத்திருந்தார்.

ஆனால் மோசமான விஷயம் என்னவென்றால், நிர்வாகிகள் முழு படத்தையும் பார்க்கவில்லை: என்ன வட்டு சம்பவங்கள் இருந்தன, அங்கு ஒரு சிக்கல் ஏற்படலாம். அனைத்து HW சம்பவங்களையும் பொறியாளர்களுக்கு நாங்கள் வழங்குவதே இதற்குக் காரணம். ஆம், நிர்வாகியின் டாஷ்போர்டில் அனைத்து சம்பவங்களையும் காட்ட முடியும். ஆனால் அவற்றில் நிறைய உள்ளன, அவற்றில் சிலவற்றில் மட்டுமே நிர்வாகி ஈடுபட்டார்.

கூடுதலாக, பொறியியலாளரால் முன்னுரிமைகளை சரியாக அமைக்க முடியவில்லை, ஏனென்றால் குறிப்பிட்ட சேவையகங்களின் நோக்கம் அல்லது டிரைவ்களில் தகவல் விநியோகம் பற்றி அவருக்கு எதுவும் தெரியாது.

புதிய மாற்று நடைமுறை

நாங்கள் செய்த முதல் விஷயம், அனைத்து வட்டு சம்பவங்களையும் தனி வகை "HW வட்டு" க்கு நகர்த்தியது மற்றும் அதில் "பிளாக் சாதனத்தின் பெயர்", "அளவு" மற்றும் "வட்டு வகை" ஆகிய புலங்களைச் சேர்த்தது, இதனால் இந்தத் தகவல் டிக்கெட்டில் சேமிக்கப்படும். தொடர்ந்து அரட்டையில் பரிமாறிக்கொள்ள வேண்டியதில்லை.

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது
ஒரு சம்பவத்திற்கு ஒரு வட்டை மட்டுமே மாற்றுவோம் என்றும் ஒப்புக்கொண்டோம். இது எதிர்காலத்தில் ஆட்டோமேஷன் செயல்முறை, புள்ளிவிவரங்கள் சேகரிப்பு மற்றும் வேலை ஆகியவற்றை கணிசமாக எளிதாக்கியது.

கூடுதலாக, "பொறுப்பான நிர்வாகி" புலத்தைச் சேர்த்துள்ளோம். பணியில் உள்ள கணினி நிர்வாகி தானாகவே அங்கு செருகப்படுவார். இது மிகவும் வசதியானது, ஏனென்றால் இப்போது பொறியாளர் எப்போதும் யார் பொறுப்பு என்று பார்க்கிறார். காலண்டரில் சென்று தேட வேண்டியதில்லை. இந்த புலம்தான் நிர்வாகியின் டாஷ்போர்டில் அவரது உதவி தேவைப்படும் டிக்கெட்டுகளைக் காண்பிக்க முடிந்தது.

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது
அனைத்து பங்கேற்பாளர்களும் புதுமைகளிலிருந்து அதிகபட்ச பலன்களைப் பெறுவதை உறுதிசெய்ய, நாங்கள் வடிகட்டிகள் மற்றும் டாஷ்போர்டுகளை உருவாக்கி அவற்றைப் பற்றி தோழர்களிடம் கூறினோம். மக்கள் மாற்றங்களைப் புரிந்து கொள்ளும்போது, ​​அவர்கள் தேவையற்ற ஒன்று என்று தங்களைத் தூர விலக்கிக் கொள்ள மாட்டார்கள். ஒரு பொறியாளர் சர்வர் அமைந்துள்ள ரேக் எண், வட்டின் அளவு மற்றும் வகை ஆகியவற்றை அறிந்து கொள்வது முக்கியம். நிர்வாகி, முதலில், இது எந்த வகையான சேவையகங்களின் குழு மற்றும் ஒரு வட்டை மாற்றும்போது அதன் விளைவு என்ன என்பதைப் புரிந்து கொள்ள வேண்டும்.

புலங்களின் இருப்பு மற்றும் அவற்றின் காட்சி வசதியானது, ஆனால் அரட்டைகளைப் பயன்படுத்த வேண்டிய அவசியத்திலிருந்து அது நம்மைக் காப்பாற்றவில்லை. இதைச் செய்ய, நாங்கள் பணிப்பாய்வுகளை மாற்ற வேண்டியிருந்தது.

முன்பு இது இப்படி இருந்தது:

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது
பொறியாளர்கள் இன்றும் நிர்வாகிகளின் உதவி தேவையில்லாத போது இப்படித்தான் வேலை செய்கிறார்கள்.

நாங்கள் செய்த முதல் விஷயம் ஒரு புதிய நிலையை அறிமுகப்படுத்தியது விசாரணை. அவருக்கு நிர்வாகி தேவையா இல்லையா என்பதை பொறியாளர் இன்னும் முடிவு செய்யாத நிலையில் டிக்கெட் இந்த நிலையில் உள்ளது. இந்த நிலை மூலம், பொறியாளர் டிக்கெட்டை நிர்வாகிக்கு மாற்றலாம். கூடுதலாக, ஒரு வட்டு மாற்றப்பட வேண்டியிருக்கும் போது டிக்கெட்டுகளைக் குறிக்க இந்த நிலையைப் பயன்படுத்துகிறோம், ஆனால் அந்த வட்டு தளத்தில் இல்லை. இது CDNகள் மற்றும் ரிமோட் தளங்களில் நடக்கும்.

நிலையையும் சேர்த்துள்ளோம் தயார். வட்டை மாற்றிய பின் டிக்கெட் அதற்கு மாற்றப்படும். அதாவது, எல்லாம் ஏற்கனவே செய்யப்பட்டுள்ளது, ஆனால் HW/SW RAID சேவையகத்தில் ஒத்திசைக்கப்பட்டுள்ளது. இதற்கு வெகு நேரம் ஆகலாம்.

ஒரு நிர்வாகி பணியில் ஈடுபட்டிருந்தால், திட்டம் இன்னும் கொஞ்சம் சிக்கலாகிறது.

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது
நிலையிலிருந்து திறந்த டிக்கெட்டை கணினி நிர்வாகி மற்றும் பொறியாளர் இருவரும் மொழிபெயர்க்கலாம். அந்தஸ்தில் நடந்து கொண்டிருக்கிறது நிர்வாகி வட்டை சுழற்சியிலிருந்து அகற்றுகிறார், இதனால் பொறியாளர் அதை வெளியே இழுக்க முடியும்: பின்னொளியை இயக்குகிறது, வட்டை அவிழ்த்துவிடுகிறது, குறிப்பிட்ட சேவையகங்களின் குழுவைப் பொறுத்து பயன்பாடுகளை நிறுத்துகிறது.

டிக்கெட் பின்னர் மாற்றப்படும் மாற்றத் தயார்: இது வட்டு வெளியே இழுக்கப்படலாம் என்று பொறியாளருக்கு ஒரு சமிக்ஞையாகும். ஜிராவில் உள்ள அனைத்து புலங்களும் ஏற்கனவே நிரப்பப்பட்டுள்ளன, வட்டு எந்த வகை மற்றும் அளவு என்பதை பொறியாளருக்குத் தெரியும். இந்தத் தரவு முந்தைய நிலை அல்லது நிர்வாகியால் தானாகவே உள்ளிடப்படும்.

வட்டை மாற்றிய பின், டிக்கெட் நிலை மாற்றப்பட்டது மாற்றப்பட்டது. சரியான வட்டு செருகப்பட்டதா, பகிர்வு செய்ததா, பயன்பாடு தொடங்கப்பட்டது மற்றும் சில தரவு மீட்பு பணிகள் தொடங்கப்பட்டதா என்பதை இது சரிபார்க்கிறது. டிக்கெட்டையும் நிலைக்கு மாற்றலாம் தயார், இந்த வழக்கில் நிர்வாகி பொறுப்பாக இருப்பார், ஏனெனில் அவர் வட்டை சுழற்சியில் வைக்கிறார். முழுமையான வரைபடம் இதுபோல் தெரிகிறது.

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது
புதிய துறைகளைச் சேர்ப்பது எங்கள் வாழ்க்கையை மிகவும் எளிதாக்கியது. தோழர்களே கட்டமைக்கப்பட்ட தகவல்களுடன் வேலை செய்யத் தொடங்கினர், என்ன செய்ய வேண்டும், எந்த கட்டத்தில் செய்ய வேண்டும் என்பது தெளிவாகியது. முன்னுரிமைகள் மிகவும் பொருத்தமானதாகிவிட்டன, ஏனெனில் அவை இப்போது நிர்வாகியால் அமைக்கப்பட்டன.

அரட்டைகள் தேவையில்லை. நிச்சயமாக, நிர்வாகி பொறியாளருக்கு "இது வேகமாக மாற்றப்பட வேண்டும்" அல்லது "இது ஏற்கனவே மாலையாகிவிட்டது, அதை மாற்ற உங்களுக்கு நேரம் கிடைக்குமா?" என்று எழுதலாம். ஆனால் இனி இந்தச் சிக்கல்கள் குறித்து அரட்டைகளில் தினமும் தொடர்பு கொள்வோம்.

வட்டுகள் தொகுதிகளாக மாற்றத் தொடங்கின. நிர்வாகி கொஞ்சம் சீக்கிரம் வேலைக்கு வந்திருந்தால், அவருக்கு இலவச நேரம் உள்ளது, இன்னும் எதுவும் நடக்கவில்லை, மாற்றுவதற்கு அவர் பல சேவையகங்களைத் தயாரிக்கலாம்: புலங்களை நிரப்பவும், வட்டுகளை சுழற்சியில் இருந்து அகற்றவும் மற்றும் பணியை ஒரு பொறியாளருக்கு மாற்றவும். பொறியாளர் சிறிது நேரம் கழித்து தரவு மையத்திற்கு வந்து, பணியைப் பார்த்து, கிடங்கில் இருந்து தேவையான டிரைவ்களை எடுத்து உடனடியாக அவற்றை மாற்றுகிறார். இதன் விளைவாக, மாற்று விகிதம் அதிகரித்துள்ளது.

பணிப்பாய்வுகளை உருவாக்கும்போது கற்றுக்கொண்ட பாடங்கள்

  • ஒரு செயல்முறையை உருவாக்கும் போது, ​​நீங்கள் பல்வேறு ஆதாரங்களில் இருந்து தகவல்களை சேகரிக்க வேண்டும்.
    பொறியாளர் தானே வட்டுகளை மாற்றுகிறார் என்பது எங்கள் நிர்வாகிகள் சிலருக்குத் தெரியாது. MD RAID ஒத்திசைவு பொறியாளர்களால் கையாளப்படுகிறது என்று சிலர் நினைத்தனர், அவர்களில் சிலருக்கு அவ்வாறு செய்ய அணுகல் கூட இல்லை. சில முன்னணி பொறியாளர்கள் இதைச் செய்தார்கள், ஆனால் செயல்முறை எங்கும் விவரிக்கப்படாததால் எப்போதும் இல்லை.
  • செயல்முறை எளிமையாகவும் புரிந்துகொள்ளக்கூடியதாகவும் இருக்க வேண்டும்.
    ஒருவருக்கு பல படிகளை மனதில் வைத்திருப்பது கடினம். ஜிராவில் உள்ள மிக முக்கியமான அண்டை நிலைகள் பிரதான திரையில் வைக்கப்பட வேண்டும். நீங்கள் அவற்றை மறுபெயரிடலாம், எடுத்துக்காட்டாக, மாற்றத்திற்குத் தயாராக உள்ளது என்று அழைக்கிறோம். மற்ற நிலைகளை கீழ்தோன்றும் மெனுவில் மறைக்கலாம், இதனால் அவை கண்புரை அல்ல. ஆனால் மக்களை மட்டுப்படுத்தாமல் இருப்பது நல்லது, அவர்களுக்கு மாற்றத்தை ஏற்படுத்த வாய்ப்பளிக்கிறது.
    புதுமையின் மதிப்பை விளக்குங்கள். மக்கள் புரிந்து கொள்ளும்போது, ​​அவர்கள் புதிய நடைமுறையை ஏற்றுக்கொள்கிறார்கள். மக்கள் முழு செயல்முறையையும் கிளிக் செய்யாமல், அதைப் பின்பற்றுவது எங்களுக்கு மிகவும் முக்கியமானது. பின்னர் நாங்கள் இதில் ஆட்டோமேஷனை உருவாக்கினோம்.
  • காத்திருங்கள், பகுப்பாய்வு செய்யுங்கள், கண்டுபிடிக்கவும்.
    செயல்முறை, தொழில்நுட்ப செயலாக்கம், கூட்டங்கள் மற்றும் விவாதங்களை உருவாக்க எங்களுக்கு ஒரு மாதம் ஆனது. மற்றும் செயல்படுத்த மூன்று மாதங்களுக்கு மேல் ஆகும். மக்கள் எவ்வாறு மெதுவாக புதுமையைப் பயன்படுத்தத் தொடங்குகிறார்கள் என்பதை நான் பார்த்தேன். ஆரம்ப கட்டத்தில் நிறைய எதிர்மறை இருந்தது. ஆனால் இது செயல்முறை மற்றும் அதன் தொழில்நுட்ப செயலாக்கத்திலிருந்து முற்றிலும் சுயாதீனமாக இருந்தது. எடுத்துக்காட்டாக, ஒரு நிர்வாகி ஜிராவைப் பயன்படுத்தவில்லை, ஆனால் சங்கமத்தில் உள்ள ஜிரா செருகுநிரலைப் பயன்படுத்தினார், மேலும் சில விஷயங்கள் அவருக்குக் கிடைக்கவில்லை. நாங்கள் அவருக்கு ஜிராவைக் காட்டினோம், மேலும் நிர்வாகியின் உற்பத்தித்திறன் பொதுவான பணிகளுக்கும் வட்டுகளை மாற்றுவதற்கும் அதிகரித்தது.

வட்டு மாற்றத்தின் ஆட்டோமேஷன்

வட்டு மாற்றீட்டின் ஆட்டோமேஷனை நாங்கள் பல முறை அணுகினோம். எங்களிடம் ஏற்கனவே மேம்பாடுகள் மற்றும் ஸ்கிரிப்டுகள் இருந்தன, ஆனால் அவை அனைத்தும் ஊடாடும் அல்லது கைமுறையாக வேலை செய்தன, மேலும் தொடங்குவதற்குத் தேவைப்பட்டது. புதிய நடைமுறையை அறிமுகப்படுத்திய பின்னரே, நாம் தவறவிட்டது இதுதான் என்பதை உணர்ந்தோம்.

இப்போது எங்கள் மாற்று செயல்முறை நிலைகளாகப் பிரிக்கப்பட்டுள்ளது, ஒவ்வொன்றும் ஒரு குறிப்பிட்ட செயல்திறன் மற்றும் செயல்களின் பட்டியலைக் கொண்டுள்ளது, நாம் நிலைகளில் ஆட்டோமேஷனை இயக்கலாம், ஒரே நேரத்தில் அல்ல. எடுத்துக்காட்டாக, எளிமையான நிலை - தயார் (RAID/தரவு ஒத்திசைவைச் சரிபார்த்தல்) ஒரு bot க்கு எளிதாக வழங்கப்படலாம். போட் கொஞ்சம் கற்றுக்கொண்டால், நீங்கள் அதற்கு மிக முக்கியமான பணியைக் கொடுக்கலாம் - வட்டை சுழற்சியில் வைப்பது போன்றவை.

உயிரியல் பூங்கா அமைப்புகள்

போட் பற்றி பேசுவதற்கு முன், எங்கள் விலங்கியல் நிறுவல்களுக்கு ஒரு சிறிய பயணத்தை மேற்கொள்வோம். முதலில், இது நமது உள்கட்டமைப்பின் பிரம்மாண்டமான அளவு காரணமாகும். இரண்டாவதாக, ஒவ்வொரு சேவைக்கும் உகந்த வன்பொருள் உள்ளமைவைத் தேர்ந்தெடுக்க முயற்சிக்கிறோம். எங்களிடம் சுமார் 20 வன்பொருள் RAID மாதிரிகள் உள்ளன, பெரும்பாலும் LSI மற்றும் Adaptec, ஆனால் HP மற்றும் DELL ஆகிய வெவ்வேறு பதிப்புகளும் உள்ளன. ஒவ்வொரு RAID கட்டுப்படுத்திக்கும் அதன் சொந்த மேலாண்மை பயன்பாடு உள்ளது. ஒவ்வொரு RAID கன்ட்ரோலருக்கும் கட்டளைகளின் தொகுப்பும் அவற்றின் வெளியீடும் பதிப்புக்கு பதிப்பு வேறுபடலாம். HW-RAID பயன்படுத்தப்படாத இடங்களில், mdraid பயன்படுத்தப்படலாம்.

வட்டு காப்புப்பிரதி இல்லாமல் கிட்டத்தட்ட அனைத்து புதிய நிறுவல்களையும் செய்கிறோம். நாங்கள் வன்பொருள் மற்றும் மென்பொருள் RAID ஐப் பயன்படுத்த மாட்டோம், ஏனெனில் நாங்கள் எங்கள் கணினிகளை தரவு மைய மட்டத்தில் காப்புப் பிரதி எடுக்கிறோம், சேவையகங்கள் அல்ல. ஆனால் நிச்சயமாக ஆதரிக்கப்பட வேண்டிய பல மரபு சேவையகங்கள் உள்ளன.

எங்காவது RAID கட்டுப்படுத்திகளில் உள்ள வட்டுகள் மூல சாதனங்களுக்கு மாற்றப்படுகின்றன, எங்காவது JBOD கள் பயன்படுத்தப்படுகின்றன. சேவையகத்தில் ஒரு கணினி வட்டுடன் உள்ளமைவுகள் உள்ளன, அதை மாற்ற வேண்டும் என்றால், அதே பதிப்புகளின் OS மற்றும் பயன்பாடுகளை நிறுவுவதன் மூலம் சேவையகத்தை மீண்டும் நிறுவ வேண்டும், பின்னர் உள்ளமைவு கோப்புகளைச் சேர்க்கவும், பயன்பாடுகளைத் தொடங்கவும். பல சேவையக குழுக்களும் உள்ளன, அங்கு காப்புப்பிரதி வட்டு துணை அமைப்பு மட்டத்தில் அல்ல, ஆனால் நேரடியாக பயன்பாடுகளில் மேற்கொள்ளப்படுகிறது.

மொத்தத்தில், எங்களிடம் 400 க்கும் மேற்பட்ட தனிப்பட்ட சர்வர் குழுக்கள் கிட்டத்தட்ட 100 வெவ்வேறு பயன்பாடுகளை இயக்குகின்றன. இவ்வளவு பெரிய எண்ணிக்கையிலான விருப்பங்களை மறைக்க, எங்களுக்கு ஒரு மல்டிஃபங்க்ஸ்னல் ஆட்டோமேஷன் கருவி தேவை. ஒரு எளிய டிஎஸ்எல் மூலம் முன்னுரிமை, அதை எழுதியவர் மட்டும் ஆதரிக்க முடியாது.

நாங்கள் அன்சிபிலைத் தேர்ந்தெடுத்தோம், ஏனெனில் அது முகவர் இல்லாதது: உள்கட்டமைப்பைத் தயாரிக்க வேண்டிய அவசியமில்லை, விரைவான தொடக்கம். கூடுதலாக, இது பைத்தானில் எழுதப்பட்டுள்ளது, இது அணிக்குள் ஒரு தரமாக ஏற்றுக்கொள்ளப்படுகிறது.

பொது திட்டம்

ஒரு சம்பவத்தை உதாரணமாகப் பயன்படுத்தி பொதுவான ஆட்டோமேஷன் திட்டத்தைப் பார்ப்போம். sdb வட்டு தோல்வியடைந்ததை Zabbix கண்டறிந்து, தூண்டுதல் ஒளிரும், மேலும் ஜிராவில் ஒரு டிக்கெட் உருவாக்கப்படுகிறது. நிர்வாகி அதைப் பார்த்தார், இது நகல் அல்ல, தவறான நேர்மறை அல்ல என்பதை உணர்ந்தார், அதாவது வட்டை மாற்ற வேண்டும், மேலும் டிக்கெட்டை செயல்பாட்டிற்கு மாற்றினார்.

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது
பைத்தானில் எழுதப்பட்ட DiskoBot பயன்பாடு, புதிய டிக்கெட்டுகளுக்காக அவ்வப்போது ஜிராவை வாக்களிக்கின்றது. ஒரு புதிய செயல்பாட்டில் டிக்கெட் தோன்றியதை இது கவனிக்கிறது, அதனுடன் தொடர்புடைய த்ரெட் தூண்டப்படுகிறது, இது அன்சிபில் பிளேபுக்கை வெளியிடுகிறது (இது ஜிராவில் உள்ள ஒவ்வொரு நிலைக்கும் செய்யப்படுகிறது). இந்த வழக்கில், Prepare2change தொடங்கப்பட்டது.

அன்சிபிள் ஹோஸ்டுக்கு அனுப்பப்பட்டு, வட்டை சுழற்சியிலிருந்து அகற்றி, கால்பேக்குகள் மூலம் பயன்பாட்டிற்கு நிலையைப் புகாரளிக்கும்.

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது
முடிவுகளின் அடிப்படையில், போட் தானாகவே டிக்கெட்டை மாற்றத் தயார் என்பதற்கு மாற்றும். பொறியாளர் ஒரு அறிவிப்பைப் பெற்று, வட்டை மாற்றச் செல்கிறார், அதன் பிறகு அவர் டிக்கெட்டை மாற்றப்பட்ட இடத்திற்கு மாற்றுகிறார்.

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது
மேலே விவரிக்கப்பட்ட திட்டத்தின் படி, டிக்கெட் மீண்டும் போட்டிற்குச் செல்கிறது, அது மற்றொரு பிளேபுக்கை அறிமுகப்படுத்துகிறது, ஹோஸ்டுக்குச் சென்று வட்டை சுழற்சியில் வைக்கிறது. போட் டிக்கெட்டை மூடுகிறது. ஹூரே!

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது
இப்போது கணினியின் சில கூறுகளைப் பற்றி பேசலாம்.

டிஸ்கோபோட்

இந்த பயன்பாடு பைத்தானில் எழுதப்பட்டுள்ளது. இது JQL இன் படி ஜிராவிலிருந்து டிக்கெட்டுகளைத் தேர்ந்தெடுக்கிறது. டிக்கெட்டின் நிலையைப் பொறுத்து, பிந்தையது தொடர்புடைய ஹேண்ட்லரிடம் செல்கிறது, இது நிலைக்குத் தொடர்புடைய அன்சிபிள் பிளேபுக்கைத் தொடங்குகிறது.

JQL மற்றும் வாக்குப்பதிவு இடைவெளிகள் பயன்பாட்டு உள்ளமைவு கோப்பில் வரையறுக்கப்பட்டுள்ளன.

jira_states:
  investigate:
    jql: '… status = Open and "Disk Size" is EMPTY'
    interval: 180

  inprogress:
    jql: '…  and "Disk Size" is not EMPTY and "Device Name" is not EMPTY'
 
  ready:
    jql: '… and (labels not in ("dbot_ignore") or labels is EMPTY)'
    interval: 7200

எடுத்துக்காட்டாக, செயல்பாட்டில் உள்ள டிக்கெட்டுகளில், வட்டு அளவு மற்றும் சாதனத்தின் பெயர் புலங்கள் நிரப்பப்பட்டவை மட்டுமே தேர்ந்தெடுக்கப்படுகின்றன. சாதனப் பெயர் என்பது பிளேபுக்கை இயக்கத் தேவையான தொகுதி சாதனத்தின் பெயர். வட்டு அளவு தேவை, அதனால் என்ன அளவு வட்டு தேவை என்பதை பொறியாளருக்குத் தெரியும்.

தயார் நிலையில் உள்ள டிக்கெட்டுகளில், dbot_ignore லேபிளுடன் கூடிய டிக்கெட்டுகள் வடிகட்டப்படுகின்றன. அப்படியானால், ஜிரா லேபிள்களை வடிகட்டுவதற்கும் நகல் டிக்கெட்டுகளைக் குறிப்பதற்கும் புள்ளிவிவரங்களைச் சேகரிப்பதற்கும் நாங்கள் பயன்படுத்துகிறோம்.

பிளேபுக் தோல்வியுற்றால், ஜிரா dbot_failed லேபிளை ஒதுக்குகிறார், அதன் மூலம் அதை பின்னர் வரிசைப்படுத்தலாம்.

அன்சிபிளுடன் இயங்கக்கூடிய தன்மை

பயன்பாடு அன்சிபிள் மூலம் தொடர்பு கொள்கிறது அன்சிபிள் பைதான் ஏபிஐ. playbook_executor க்கு நாம் கோப்பு பெயரையும் மாறிகளின் தொகுப்பையும் அனுப்புகிறோம். பைதான் குறியீட்டில் விவரிக்காமல், அன்சிபிள் திட்டத்தை வழக்கமான yml கோப்புகளின் வடிவத்தில் வைத்திருக்க இது உங்களை அனுமதிக்கிறது.

மேலும் Ansible இல், *extra_vars* வழியாக, பிளாக் சாதனத்தின் பெயர், டிக்கெட்டின் நிலை, அத்துடன் சிக்கல் விசையைக் கொண்ட callback_url - இது HTTP இல் திரும்பப் பெறப் பயன்படுகிறது.

ஒவ்வொரு வெளியீட்டிற்கும், ஒரு ஹோஸ்ட் மற்றும் இந்த ஹோஸ்ட் சேர்ந்த குழுவைக் கொண்ட ஒரு தற்காலிக சரக்கு உருவாக்கப்படுகிறது, அதனால் group_varகள் பயன்படுத்தப்படும்.

HTTP கால்பேக்கைச் செயல்படுத்தும் பணியின் எடுத்துக்காட்டு இங்கே.

கேலாபேக்(களை) பயன்படுத்தி பிளேபுக்குகளை இயக்குவதன் முடிவைப் பெறுகிறோம். அவை இரண்டு வகைகளாகும்:

  • அன்சிபிள் கால்பேக் சொருகி, இது பிளேபுக் செயல்பாட்டின் முடிவுகளின் தரவை வழங்குகிறது. இது தொடங்கப்பட்ட, வெற்றிகரமாக அல்லது தோல்வியுற்ற பணிகளை விவரிக்கிறது. பிளேபுக் விளையாடி முடித்தவுடன் இந்த கால்பேக் அழைக்கப்படுகிறது.
  • பிளேபுக்கை விளையாடும் போது தகவலைப் பெற HTTP கால்பேக். Ansible பணியில், எங்கள் விண்ணப்பத்திற்கு POST/GET கோரிக்கையை செயல்படுத்துகிறோம்.

பிளேபுக்கின் செயல்பாட்டின் போது வரையறுக்கப்பட்ட HTTP கால்பேக்(கள்) மூலம் மாறிகள் அனுப்பப்படுகின்றன. இந்தத் தரவை sqliteல் எழுதுகிறோம்.

நாங்கள் கருத்துகளை வெளியிடுகிறோம் மற்றும் HTTP கால்பேக் மூலம் டிக்கெட் நிலையை மாற்றுகிறோம்.

HTTP திரும்ப திரும்ப

# Make callback to Diskobot App
# Variables:
#    callback_post_body: # A dict with follow keys. All keys are optional
#       msg: If exist it would be posted to Jira as comment
#       data: If exist it would be saved in Incident.variables
#       desire_state: Set desire_state for incident
#       status: If exist Proceed issue to that status

  - name: Callback to Diskobot app (jira comment/status)
    uri:
      url: "{{ callback_url }}/{{ devname }}"
      user: "{{ diskobot_user }}"
      password: "{{ diskobot_pass }}"
      force_basic_auth: True
      method: POST
      body: "{{ callback_post_body | to_json }}"
      body_format: json
    delegate_to: 127.0.0.1

ஒரே மாதிரியான பல பணிகளைப் போலவே, நாங்கள் அதை ஒரு தனி பொதுவான கோப்பில் வைத்து, தேவைப்பட்டால் அதைச் சேர்ப்போம், அதனால் அதை தொடர்ந்து பிளேபுக்குகளில் மீண்டும் செய்யக்கூடாது. இதில் சிக்கல் விசை மற்றும் ஹோஸ்ட் பெயரைக் கொண்ட callback_ url அடங்கும். இந்த POST கோரிக்கையை Ansible செயல்படுத்தும் போது, ​​இது போன்ற ஒரு சம்பவத்தின் ஒரு பகுதியாக இது வந்தது என்பதை பாட் புரிந்து கொள்கிறது.

பிளேபுக்கிலிருந்து ஒரு எடுத்துக்காட்டு இங்கே உள்ளது, இதில் MD சாதனத்திலிருந்து ஒரு வட்டை வெளியிடுகிறோம்:

  # Save mdadm configuration
  - include: common/callback.yml
    vars:
      callback_post_body:
        status: 'Ready to change'
        msg: "Removed disk from mdraid {{ mdadm_remove_disk.msg | comment_jira }}"
        data:
          mdadm_data: "{{ mdadm_remove_disk.removed }}"
          parted_info: "{{ parted_info | default() }}"
    when:
      - mdadm_remove_disk | changed
      - mdadm_remove_disk.removed

இந்தப் பணி ஜிரா டிக்கெட்டை "மாற்றத் தயார்" நிலைக்கு மாற்றி, ஒரு கருத்தைச் சேர்க்கிறது. மேலும், mdam_data மாறி வட்டு அகற்றப்பட்ட md சாதனங்களின் பட்டியலைச் சேமிக்கிறது, மேலும் parted_info parted இலிருந்து ஒரு பகிர்வு டம்பைச் சேமிக்கிறது.

பொறியாளர் ஒரு புதிய வட்டை செருகும் போது, ​​பகிர்வு டம்பை மீட்டெடுக்க இந்த மாறிகளைப் பயன்படுத்தலாம், அதே போல் அது அகற்றப்பட்ட md சாதனங்களில் வட்டை செருகவும்.

அன்சிபிள் சோதனை முறை

ஆட்டோமேஷனை இயக்க பயமாக இருந்தது. எனவே, அனைத்து விளையாட்டு புத்தகங்களையும் பயன்முறையில் இயக்க முடிவு செய்தோம்
உலர்ந்த ஓட்டம், இதில் அன்சிபிள் சேவையகங்களில் எந்த செயல்களையும் செய்யாது, ஆனால் அவற்றை மட்டுமே பின்பற்றுகிறது.

அத்தகைய துவக்கம் ஒரு தனி கால்பேக் தொகுதி மூலம் இயக்கப்படுகிறது, மேலும் பிளேபுக் செயல்பாட்டின் முடிவு ஜிராவில் ஒரு கருத்தாக சேமிக்கப்படும்.

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது

முதலாவதாக, இது போட் மற்றும் பிளேபுக்குகளின் வேலையைச் சரிபார்க்க முடிந்தது. இரண்டாவதாக, இது போட் மீது நிர்வாகிகளின் நம்பிக்கையை அதிகரித்தது.

நாங்கள் சரிபார்ப்பைக் கடந்து, நீங்கள் அன்சிபிலை உலர் ரன் பயன்முறையில் மட்டும் இயக்க முடியும் என்பதை உணர்ந்ததும், ஜிராவில் ரன் டிஸ்கோபோட் பொத்தானை உருவாக்கி, அதே பிளேபுக்கை அதே ஹோஸ்டில் அதே மாறிகளுடன் தொடங்கினோம், ஆனால் சாதாரண பயன்முறையில்.

கூடுதலாக, பிளேபுக் செயலிழந்தால் அதை மறுதொடக்கம் செய்ய பொத்தான் பயன்படுத்தப்படுகிறது.

விளையாட்டு புத்தகங்களின் அமைப்பு

ஜிரா டிக்கெட்டின் நிலையைப் பொறுத்து, போட் வெவ்வேறு பிளேபுக்குகளை வெளியிடுகிறது என்பதை நான் ஏற்கனவே குறிப்பிட்டுள்ளேன்.

முதலாவதாக, நுழைவாயிலை ஒழுங்கமைப்பது மிகவும் எளிதானது.
இரண்டாவதாக, சில சந்தர்ப்பங்களில் இது வெறுமனே அவசியம்.

எடுத்துக்காட்டாக, கணினி வட்டை மாற்றும்போது, ​​​​நீங்கள் முதலில் வரிசைப்படுத்தல் அமைப்புக்குச் செல்ல வேண்டும், ஒரு பணியை உருவாக்கவும், சரியான வரிசைப்படுத்தலுக்குப் பிறகு, சேவையகம் ssh வழியாக அணுகக்கூடியதாக மாறும், மேலும் நீங்கள் பயன்பாட்டை அதில் உருட்டலாம். இதையெல்லாம் ஒரே ப்ளேபுக்கில் செய்திருந்தால், ஹோஸ்ட் கிடைக்காததால் அன்சிபிள் அதை முடிக்க முடியாது.

சேவையகங்களின் ஒவ்வொரு குழுவிற்கும் அன்சிபிள் பாத்திரங்களைப் பயன்படுத்துகிறோம். அவற்றில் ஒன்றில் பிளேபுக்(கள்) எவ்வாறு ஒழுங்கமைக்கப்பட்டுள்ளன என்பதை இங்கே பார்க்கலாம்.

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது

இது வசதியானது, ஏனென்றால் எந்த பணிகள் அமைந்துள்ளன என்பது உடனடியாக தெளிவாகிறது. அன்சிபிள் பாத்திரத்திற்கான உள்ளீடாக இருக்கும் main.yml இல், டிக்கெட் நிலை அல்லது அனைவருக்கும் தேவையான பொதுவான பணிகளைச் சேர்க்கலாம், எடுத்துக்காட்டாக, அடையாளத்தை அனுப்புதல் அல்லது டோக்கனைப் பெறுதல்.

விசாரணை.yml

விசாரணை மற்றும் திறந்த நிலையில் டிக்கெட்டுகளுக்காக இயங்குகிறது. இந்த பிளேபுக்கின் மிக முக்கியமான விஷயம் தொகுதி சாதனத்தின் பெயர். இந்த தகவல் எப்போதும் கிடைக்காது.

அதைப் பெற, ஜபிக்ஸ் தூண்டுதலின் கடைசி மதிப்பான ஜிரா சுருக்கத்தை நாங்கள் பகுப்பாய்வு செய்கிறோம். இது தொகுதி சாதனத்தின் பெயரைக் கொண்டிருக்கலாம் - அதிர்ஷ்டம். அல்லது அதில் மவுண்ட் பாயிண்ட் இருக்கலாம், பிறகு நீங்கள் சர்வருக்குச் சென்று, அதைப் பாகுபடுத்தி, தேவையான வட்டைக் கணக்கிட வேண்டும். தூண்டுதல் ஒரு scsi முகவரி அல்லது வேறு சில தகவலை அனுப்ப முடியும். ஆனால் எந்த தடயமும் இல்லை என்பதும் நடக்கிறது, நீங்கள் பகுப்பாய்வு செய்ய வேண்டும்.

தொகுதி சாதனத்தின் பெயரைக் கண்டுபிடித்த பிறகு, ஜிராவில் உள்ள புலங்களை நிரப்ப அதிலிருந்து வட்டின் வகை மற்றும் அளவு பற்றிய தகவல்களை சேகரிக்கிறோம். விற்பனையாளர், மாடல், ஃபார்ம்வேர், ஐடி, ஸ்மார்ட் பற்றிய தகவல்களையும் நாங்கள் அகற்றி, ஜிரா டிக்கெட்டில் உள்ள கருத்துரையில் இதையெல்லாம் செருகுவோம். நிர்வாகியும் பொறியாளரும் இந்தத் தரவை இனி தேட வேண்டியதில்லை. 🙂

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது

தயார்2change.yml

சுழற்சியில் இருந்து வட்டை அகற்றுதல், மாற்றுவதற்கு தயாராகுதல். மிகவும் கடினமான மற்றும் முக்கியமான கட்டம். இங்குதான் பயன்பாட்டை நிறுத்தக் கூடாதபோது அதை நிறுத்தலாம். அல்லது போதுமான பிரதிகள் இல்லாத வட்டை எடுத்து, அதன் மூலம் பயனர்கள் மீது தாக்கத்தை ஏற்படுத்தி, சில தரவை இழக்கலாம். அரட்டையில் அதிக சோதனைகள் மற்றும் அறிவிப்புகள் இங்கே உள்ளன.

எளிமையான வழக்கில், HW/MD RAID இலிருந்து ஒரு வட்டை அகற்றுவது பற்றி நாங்கள் பேசுகிறோம்.

மிகவும் சிக்கலான சூழ்நிலைகளில் (எங்கள் சேமிப்பக அமைப்புகளில்), காப்புப்பிரதி பயன்பாட்டு மட்டத்தில் செய்யப்படும்போது, ​​நீங்கள் API வழியாக பயன்பாட்டிற்குச் சென்று, வட்டு வெளியீட்டைப் புகாரளித்து, அதை செயலிழக்கச் செய்து மீட்டெடுப்பைத் தொடங்க வேண்டும்.

நாங்கள் இப்போது பெருமளவில் இடம்பெயர்ந்து வருகிறோம் மேகம், மற்றும் சேவையகம் கிளவுட் அடிப்படையிலானது என்றால், Diskobot கிளவுட் API ஐ அழைக்கிறது, இது இந்த மினியனுடன் - சர்வர் இயங்கும் கொள்கலன்களுடன் வேலை செய்யப் போகிறது என்று கூறி, "இந்த மினியனில் இருந்து அனைத்து கொள்கலன்களையும் நகர்த்தவும்" என்று கேட்கிறது. அதே நேரத்தில், வட்டின் பின்னொளியை இயக்குகிறது, இதன் மூலம் பொறியாளர் உடனடியாக எதை வெளியே எடுக்க வேண்டும் என்பதைக் காணலாம்.

மாற்றப்பட்டது.yml

ஒரு வட்டை மாற்றிய பிறகு, அதன் கிடைக்கும் தன்மையை முதலில் சரிபார்க்கிறோம்.

பொறியாளர்கள் எப்போதும் புதிய டிரைவ்களை நிறுவுவதில்லை, எனவே எங்களை திருப்திப்படுத்தும் ஸ்மார்ட் மதிப்புகளுக்கான காசோலையைச் சேர்த்துள்ளோம்.

நாம் என்ன பண்புகளை பார்க்கிறோம்?மறு ஒதுக்கீடு செய்யப்பட்ட துறைகளின் எண்ணிக்கை (5) < 100
நிலுவையில் உள்ள துறைகளின் எண்ணிக்கை (107) == 0

இயக்கி சோதனையில் தோல்வியுற்றால், அதை மீண்டும் மாற்றுமாறு பொறியாளருக்கு அறிவிக்கப்படும். எல்லாம் ஒழுங்காக இருந்தால், பின்னொளி அணைக்கப்படும், அடையாளங்கள் பயன்படுத்தப்படுகின்றன மற்றும் வட்டு சுழற்சியில் வைக்கப்படுகிறது.

தயார்.yml

எளிமையான வழக்கு: HW/SW ரெய்டு ஒத்திசைவைச் சரிபார்த்தல் அல்லது பயன்பாட்டில் தரவு ஒத்திசைவை முடித்தல்.

பயன்பாட்டு API

பாட் அடிக்கடி பயன்பாட்டு APIகளை அணுகுகிறது என்று நான் பலமுறை குறிப்பிட்டுள்ளேன். நிச்சயமாக, எல்லா பயன்பாடுகளிலும் தேவையான முறைகள் இல்லை, எனவே அவை மாற்றியமைக்கப்பட வேண்டும். நாங்கள் பயன்படுத்தும் மிக முக்கியமான முறைகள் இங்கே:

  • நிலை. ஒரு கிளஸ்டர் அல்லது வட்டுடன் வேலை செய்ய முடியுமா என்பதைப் புரிந்துகொள்ள அதன் நிலை;
  • தொடங்கு/நிறுத்து. வட்டு செயல்படுத்துதல் / செயலிழக்கச் செய்தல்;
  • இடம்பெயர்தல்/மீட்டமைத்தல். இடமாற்றத்தின் போது மற்றும் அதற்குப் பிறகு தரவு இடம்பெயர்வு மற்றும் மீட்பு.

அன்சிபில் கற்றுக்கொண்ட பாடங்கள்

நான் அன்சிபிளை மிகவும் நேசிக்கிறேன். ஆனால் அடிக்கடி, நான் வெவ்வேறு ஓப்பன்சோர்ஸ் திட்டங்களைப் பார்க்கும்போது மற்றும் மக்கள் எவ்வாறு பிளேபுக்குகளை எழுதுகிறார்கள் என்பதைப் பார்க்கும்போது, ​​​​நான் கொஞ்சம் பயப்படுகிறேன். எப்போது/லூப் என்ற சிக்கலான தர்க்கரீதியான இடைவெளிகள், ஷெல்/கட்டளையை அடிக்கடி பயன்படுத்துவதால் நெகிழ்வுத்தன்மை மற்றும் ஐடிம்போடென்சி இல்லாமை.

அன்சிபிள் - மாடுலாரிட்டியின் சாதகத்தைப் பயன்படுத்தி எல்லாவற்றையும் முடிந்தவரை எளிமைப்படுத்த முடிவு செய்தோம். மிக உயர்ந்த மட்டத்தில் பிளேபுக்குகள் உள்ளன; அவற்றை எந்த நிர்வாகியும், கொஞ்சம் அன்சிபிள் தெரிந்த மூன்றாம் தரப்பு டெவலப்பரும் எழுதலாம்.

- name: Blink disk
  become: True
  register: locate_action
  disk_locate:
      locate: '{{ locate }}'
      devname: '{{ devname }}'
      ids: '{{ locate_ids | default(pd_id) | default(omit) }}'

பிளேபுக்குகளில் சில தர்க்கங்களைச் செயல்படுத்துவது கடினமாக இருந்தால், அதை அன்சிபிள் தொகுதி அல்லது வடிப்பானிற்கு நகர்த்துவோம். ஸ்கிரிப்ட்களை பைதான் அல்லது வேறு எந்த மொழியிலும் எழுதலாம்.

அவை எளிதாகவும் விரைவாகவும் எழுதக்கூடியவை. எடுத்துக்காட்டாக, வட்டு பின்னொளி தொகுதி, மேலே காட்டப்பட்டுள்ள ஒரு எடுத்துக்காட்டு, 265 வரிகளைக் கொண்டுள்ளது.

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது

மிகக் குறைந்த மட்டத்தில் நூலகம் உள்ளது. இந்தத் திட்டத்திற்காக, நாங்கள் ஒரு தனி பயன்பாடு, தொடர்புடைய கோரிக்கைகளைச் செய்யும் வன்பொருள் மற்றும் மென்பொருள் RAIDகள் மீது ஒரு வகையான சுருக்கத்தை எழுதினோம்.

அன்சிபிள் மூலம் வட்டு மாற்றத்தை தானியக்கமாக்குகிறது

அன்சிபிலின் மிகப்பெரிய பலம் அதன் எளிமை மற்றும் தெளிவான விளையாட்டு புத்தகங்கள் ஆகும். நீங்கள் இதைப் பயன்படுத்த வேண்டும் மற்றும் பயங்கரமான yaml கோப்புகள் மற்றும் ஏராளமான நிபந்தனைகள், ஷெல் குறியீடு மற்றும் லூப்களை உருவாக்க வேண்டாம் என்று நான் நம்புகிறேன்.

Ansible API உடன் எங்கள் அனுபவத்தை மீண்டும் செய்ய விரும்பினால், இரண்டு விஷயங்களை மனதில் கொள்ளுங்கள்:

  • பொதுவாக Playbook_executor மற்றும் playbookகளுக்கு காலக்கெடு வழங்க முடியாது. ssh அமர்வில் காலக்கெடு உள்ளது, ஆனால் பிளேபுக்கில் காலக்கெடு இல்லை. கணினியில் இல்லாத ஒரு வட்டை அவிழ்க்க முயற்சித்தால், பிளேபுக் முடிவில்லாமல் இயங்கும், எனவே அதன் வெளியீட்டை ஒரு தனி ரேப்பரில் போர்த்தி, காலக்கெடுவுடன் அதைக் கொல்ல வேண்டும்.
  • அன்சிபிள் ஃபோர்க் செய்யப்பட்ட செயல்முறைகளில் இயங்குகிறது, எனவே அதன் ஏபிஐ நூல் பாதுகாப்பானது அல்ல. எங்கள் பிளேபுக்குகள் அனைத்தையும் ஒற்றைத் திரியில் இயக்குகிறோம்.

இதன் விளைவாக, சுமார் 80% வட்டுகளை மாற்றுவதை தானியங்குபடுத்த முடிந்தது. ஒட்டுமொத்தமாக, மாற்று விகிதம் இரட்டிப்பாகியுள்ளது. இன்று, நிர்வாகி சம்பவத்தைப் பார்த்து, வட்டை மாற்ற வேண்டுமா இல்லையா என்பதைத் தீர்மானிக்கிறார், பின்னர் ஒரு கிளிக் செய்க.

ஆனால் இப்போது நாங்கள் மற்றொரு சிக்கலில் சிக்கத் தொடங்குகிறோம்: சில புதிய நிர்வாகிகளுக்கு டிரைவ்களை எப்படி மாற்றுவது என்று தெரியவில்லை. 🙂

ஆதாரம்: www.habr.com

கருத்தைச் சேர்