पेश है XCAT तैनाती और रखरखाव प्रणाली

हमारे पिछले लेख के विषय को जारी रखते हुए, आज हम उस टूल के बारे में बात करेंगे जो हम हर दिन उपयोग करते हैं।

यदि आपकी गतिविधि किसी तरह से उपकरणों के बड़े बैचों की स्थापना और कॉन्फ़िगरेशन से संबंधित है, तो सामग्री, हमारी राय में, आपके लिए उपयोगी और दिलचस्प होगी।

कोई भी इंजीनियर, जो इंटरनेट पर सबसे लोकप्रिय डेटिंग नेटवर्क, ब्रेट सर्वर बेड़े का प्रबंधन करता है, यहां तक ​​कि यह भी याद रखना चाहते हैं कि एक बार जब आपको डीएचसीपी सर्वर कॉन्फ़िगरेशन को मैन्युअल रूप से संपादित करना था, तो नेटवर्क पीएक्सई बूट के लिए छवियां एकत्र करें ... हम आपको बताना चाहते हैं कि कहां और कैसे हमारी कंपनी सफलतापूर्वक xCAT सॉफ्टवेयर समाधान का उपयोग करती है।

सबसे पहले, हम प्रारंभिक शर्तों को निरूपित करते हैं जिसके तहत हम स्थिति का वर्णन करेंगे:
अपने पहले लेख पर लौटते हुए, जिसे हम पढ़ने की भी सलाह देते हैं, हम उस जगह पर रुकेंगे जहाँ हमें डीएचसीपी सर्वर के कॉन्फ़िगरेशन को तैयार करने की आवश्यकता है, या इसके बजाय, नए सर्वरों के बारे में जानकारी जोड़ें। यह इस क्षण से है कि हम सक्रिय रूप से xCAT का उपयोग करना शुरू करते हैं।

xCAT एक सर्वर बेड़े प्रबंधन प्रणाली है जिसमें निम्नलिखित विशेषताएं हैं:
XCAT प्रणाली का सबसे बड़ा लाभ यह है कि यह पूरी तरह से नया उत्पाद नहीं है, लेकिन किसी भी तरह से सभी पहले से ज्ञात लोगों का संश्लेषण है, अर्थात्। ऑपरेशन के दौरान, इंजीनियर को एक नया वाक्यविन्यास सीखने की ज़रूरत नहीं है, जो निस्संदेह कार्यक्रम को माहिर करने की गति को प्रभावित करता है।

प्रारंभिक उत्पाद सेटअप की प्रक्रिया का संक्षेप में वर्णन करें।
  1. हम परियोजना की वेबसाइट पर जाते हैं, उचित वितरण का चयन करते हैं, स्थापना प्रक्रिया का विवरण प्राप्त करते हैं।
  2. आवश्यक पैकेज स्थापित करें।
  3. सीधे xCAT सर्वर स्थापित करें।
फिर सेट अप करने के लिए आगे बढ़ें।

प्रबंध (जोड़ने, संशोधित करने, इनपुट की जाँच) के लिए मुख्य कमांड: टैब्डिट और टैम्पम्प

मुख्य सिस्टम कॉन्फ़िगरेशन फ़ाइल संपादित करें:
tabedit site

ध्यान देने के लिए मुख्य बिंदु:

"installdir","/install" - निर्देशिका जिसमें xCAT स्थापना के लिए सभी सिस्टम छवियों को संग्रहीत करेगा, यहां विभिन्न पोस्ट-स्क्रिप्ट हैं। सिस्टम की HTTP-स्थापना के मामले में, निर्देशिका वेब इंटरफ़ेस के माध्यम से सुलभ होगी। इसमें सिस्टम की स्वचालित स्थापना के लिए टेम्प्लेट भी होंगे।
"ipmiretries","3" - सर्वर प्रबंधन इंटरफ़ेस से जुड़ने का प्रयास करता है।
"ipmitimeout","2" - कोई टिप्पणी नहीं।
"master","master_server_name" - मास्टर सर्वर का नाम जिसे हल किया जाना चाहिए, यह भी / etc / मेजबान फ़ाइल में होना चाहिए।
"tftpdir","/tftpboot" - निर्देशिका का वह मार्ग जहाँ पीएक्सई के माध्यम से डाउनलोड करने के लिए आवश्यक फाइलें स्थित होंगी, साथ ही TFTP सर्वर को निर्देशिका तक पहुंच होनी चाहिए, क्योंकि यह pxe-boot के लिए छवियों को वितरित करेगा।
"xcatconfdir","/etc/xcat" - xCAT कॉन्फ़िगरेशन फ़ाइलों के साथ निर्देशिका का पथ।
"timezone","GMT" - टाइम ज़ोन।
"useNmapfromMN","yes" - मास्टर सर्वर पर होस्ट की स्थिति (नोडस्टैट होस्टनाम सहित) प्रदर्शित करने के लिए नैम्प का उपयोग करें
"dhcpinterfaces","ethN,!remote!" - जिस पर डीएचसीपी सर्वर डीएचसीपी के अनुरोधों का जवाब देता है। (पहला भौतिक इंटरफ़ेस है, दूसरा वीएलएएन के लिए है, जहां हमारा सर्वर जारी करने वाले पते के रूप में पंजीकृत है)
"nameservers","1.1.1.1" डीएनएस सर्वरों के पते हैं, जहां पट्टे जारी करने के बाद , हमारा सर्वर होस्ट के लिए पीटीआर रिकॉर्ड के बारे में जानकारी भेजने का प्रयास करेगा।

इस तरह के कॉन्फ़िगरेशन परिचित होने के साथ-साथ xCAT सर्वर के परीक्षण रन के लिए काफी पर्याप्त है।

अब हम एक अप्रभावित उपयोगकर्ता तक पहुँच जोड़ने का प्रयास कर रहे हैं।

ऐसा करने के लिए, आपको चाहिए:
- सिस्टम में उपयोगकर्ता की उपस्थिति;
- इश्यू और xCAT सर्वर पर प्रमाण पत्र पर हस्ताक्षर
/opt/xcat/share/xcat/scripts/setup-local-client.sh username

हमें निम्न सामग्री के साथ $ HOME / .xcat निर्देशिका मिलती है :
ca.pem
client-cert.pem
client-cred.pem
client-key.pem
client-req.pem


- xCAT सेवा तालिकाओं में उपयोगकर्ता जानकारी जोड़ें। इस मामले में, हम उपयोगकर्ता को ऐसा करने के लिए अधिकतम अनुमति देते हैं
tabedit policy

और इस तरह एक लाइन जोड़ें:
username,allow

हमारे द्वारा किए गए कार्यों के बाद, उपयोगकर्ता xCAT सर्वर प्रबंधन तक पहुंच प्राप्त करता है।

इसके अलावा, इंस्टॉलेशन रिपॉजिटरी बनाने के लिए, हमें उन ऑपरेटिंग सिस्टम की छवियों की आवश्यकता होगी जो हम उपयोग करने जा रहे हैं।

XCAT में कॉपीसाइड्स उपयोगिता शामिल है, जो निम्नलिखित परिदृश्य के अनुसार काम करती है:
copycds [{-n|--name|--osver}=distroname] [{-a|--arch}=architecture] 1st.iso [2nd.iso …]

इस प्रकार, यदि हमारे पास इंस्टॉलेशन डीवीडी की एक छवि है, तो बस निष्पादित करें
copycds PATH_TO_ISO SLES-11-DVD-x86_64-GM-DVD1.iso

xCAT स्वतंत्र रूप से ऑपरेटिंग सिस्टम के संस्करण का पता लगाएगा (यदि नहीं --osver ), तो सब कुछ स्थानीय ड्राइव पर कॉपी करें (हमारे मामले में - / स्थापित / sles11 )

xCat में मानक इंस्टॉलेशन के लिए कॉन्फ़िगरेशन का एक सेट भी है, जो / ऑप्ट / xcat / share / xcat / install / निर्देशिका में स्थित हैं , लेकिन हमारे लिए कोई रुचि नहीं है, इसलिए हम अपनी स्थापना प्रोफ़ाइल बनाते हैं और इसे रास्ते में रखते हैं
/install/custom/install/DISTRNAME/Templatename.tmpl

नोट: SuSe Linux के मामले में, यह एक xml फ़ाइल है जो YaST हमें करने में मदद करेगी (हालांकि निर्माता की वेबसाइट पर मापदंडों की संरचना और संरचना से परिचित होने के बाद, इसे स्वयं लिखना आसान है)।

एक बार ठेठ इंस्टॉलेशन टेम्प्लेट तैयार हो जाने के बाद, यह केवल नई मशीनों को जोड़ने और ओएस स्थापित करने के लिए बना रहता है, जिसके बारे में नीचे चर्चा की जाएगी।

सही स्थापना प्रक्रिया के लिए, हमें जानकारी चाहिए:
1) उन सर्वरों के बारे में जिन पर हम OS स्थापित करने जा रहे हैं,
2) प्रत्येक सर्वर का होस्टनाम,
3) उन सबनेट्स के बारे में जिन्हें हम उपयोग करने की योजना बनाते हैं,
4) होस्ट-आईपी अनुपालन पर,
5) सर्वर प्रबंधन इंटरफ़ेस तक पहुंच के विवरण के बारे में।

अपने पिछले लेख पर लौटते हुए, हमें याद है कि हमारे पास सभी आवश्यक जानकारी है, यह केवल इसे xCAT में जोड़ना है, जिसे हम देखते हैं:

1. सिस्टम में सर्वर समूह जोड़ें:
nodeadd depl[1-200] groups=depl

2. सर्वर प्रबंधन इंटरफेस के बारे में जानकारी जोड़ें (मान लें कि उनका नाम इस प्रकार है: depl [1-200] ipmi ):
nodeadd depl[1-200]ipmi groups=depl_ipmi

3. हमने इस तथ्य के बारे में बात की कि हमारे पास एक सबनेट (वीएलएएन) है जिसमें सभी नए उपकरण स्थित हैं। हम निम्न प्रकार से सबनेट का वर्णन करते हैं:

#netname,net,mask,mgtifname,gateway,dhcpserver,tftpserver,nameservers,ntpservers,logservers,dynamicrange,nodehostname,comments,disable

tabedit networks

"depl_vlan","2.2.2.0","255.255.255.0","!remote!","2.2.2.1",,"1.1.1.1","5.5.5.5","6.6.6.6",,"2.2.2.200-2.2.2.254",,,
"depl_vlan_ipmi","3.3.3.0","255.255.255.0","!remote!","3.3.3.1",,"1.1.1.1","5.5.5.5","6.6.6.6",,"3.3.3.200-3.3.3.3.254",,,


नोट: के बाद से xCat डीएचसीपी सर्वर को कॉन्फ़िगर करता है, और पट्टों के साथ एक फ़ाइल में निश्चित पते के बारे में जानकारी संग्रहीत करता है, यह सबनेट्स में सर्वर के नुकसान के साथ संभावित समस्याओं से बचने के लिए, मेजबानों के निश्चित पते का उपयोग करने के लिए सलाह दी जाती है जो गतिशील रेंज में नहीं आते हैं।

4. मुख्य सर्वर इंटरफेस, साथ ही प्रबंधन इंटरफेस के मैक पते के बारे में जानकारी जोड़ें:

#node,interface,mac,comments,disable

tabedit mac

"depl1","eth0","MAC1",,
"depl2","eth0","MAC2",,
"depl3","eth0","MAC3",,
"depl1ipmi","eth0","ipmi_MAC1",,
"depl2ipmi","eth0","ipmi_MAC2”,,
"depl3ipmi","eth0","ipmi_MAC3",,
...


संकेत: पिछले लेख में हमने नोड्स फ़ाइल के बारे में बात की थी, जिसके साथ हम निकटता से काम करते हैं, हम मैक पते के बारे में जानकारी इसमें जोड़ देंगे, फिर इसे निष्पादित करना पर्याप्त होगा

cat nodes | awk {'print "\""$1"\",\"eth0\",\""$15"\""'}

और फॉर्म का आउटपुट प्राप्त करें

"depl1","eth0","MAC1",,

प्रबंधन इंटरफेस के लिए एक ही:

cat nodes | awk {'print "\""$1"manage\",\"eth0\",\""$10"\""'}

"depl1ipmi","eth0","ipmi_MAC1",,


5. hostame - ip अनुपालन जानकारी जोड़ें:

#node,ip,hostnames,otherinterfaces,comments,disable

tabedit hosts

"depl1","2.2.2.2","depl1","depl1ipmi:3.3.3.2",,
"depl2","2.2.2.3","depl2","depl2ipmi:3.3.3.3",,
"depl3","2.2.2.4","depl3","depl3ipmi:3.3.3.4",,
...


हम एक साधारण कमांड का उपयोग करके इन सेटिंग्स को उत्पन्न कर सकते हैं:
for i in `seq 1 200`; do echo '"depl$i'","2.2.2.'$[$i+1]'","depl'$i'","depl'$i'manage:3.3.3.'$[$i+1]'",,'; done

6. हम वर्चुअल कंसोल और उनकी गति के लिए विकल्पों को ठीक करते हैं (यहां हम एक समूह में सभी नई मशीनों से संबंधित होने के लिए उपयोगी पाएंगे: अंत में, हमें दो सौ के बजाय केवल एक पंक्ति की आवश्यकता होगी।)

#node,power,mgt,cons,termserver,termport,conserver,serialport,serialspeed,serialflow,getmac,comments,disable

tabedit nodehm

"testgroup","ipmi","ipmi",,,,"1","1","115200",,,,


7. नोड्स तालिका संपादित करें :

#node,servicenode,netboot,tftpserver,nfsserver,monserver,nfsdir,installnic,primarynic,discoverynics,cmdinterface,xcatmaster,current_osimage,next_osimage,nimserver,comments,disable

tabedit noderes

"depl",,"pxe","1.1.1.1","1.1.1.1",,,,,,,,,,,,


8. हमारे सर्वर के प्रकार, साथ ही ओएस को स्थापित करने की विधि के बारे में जानकारी जोड़ें:

#node,os,arch,profile,provmethod,supportedarchs,nodetype,comments,disable

tabedit nodetype

"depl","sles11.1","x86_64","Templatename","install",,"osi",,


इस मामले में, हम सिस्टम की स्थापना विधि - इंस्टॉलेशन का उपयोग करते हैं, आप नेटबूट - नेटवर्क बूट के लिए, साथ ही साथ सेवा प्रक्रियाओं के लिए उपयोग कर सकते हैं।

9. मुख्य सर्वर इंटरफ़ेस और उसके प्रबंधन इंटरफ़ेस के पत्राचार के बारे में जानकारी जोड़ें:

#node,bmc,bmcport,username,password,comments,disable

tabedit ipmi

"depl","/\z/ipmi/","0",”ipmi_username”,"ipmi_password",,


यहां हम धोखा भी देते हैं और प्रत्येक सर्वर के लिए अलग से पत्राचार का संकेत नहीं देंगे, लेकिन समूह का उपयोग करें। यह देखते हुए कि प्रबंधन इंटरफ़ेस का नामकरण सर्वर के होस्टनाम में ipmi को जोड़ने के अलावा और कुछ नहीं है, यह वही है जो हमें चाहिए। और हम इस बात को ध्यान में रखते हैं कि हमारे पास सभी सर्वरों के लिए IPMI के लिए एक ही उपयोगकर्ता नाम और पासवर्ड है, जिसे तालिका में भी दर्शाया गया है।

10. अब हम / etc / मेजबान फ़ाइल का विन्यास उत्पन्न करते हैं:
makehosts

11. DHCP सर्वर के लिए एक विन्यास बनाएँ:
makedhcp -a -n

आप किसी भी नोड पर जानकारी देख सकते हैं:
lsdef nodename

अब सर्वर इंस्टॉलेशन प्रक्रिया शुरू करने के लिए तैयार है।

12. हम बाहर ले:
nodeset depl[1-10] install

Depl [1-10] के बजाय , आप समूह नाम या अल्पविराम से अलग सूची का उपयोग कर सकते हैं।
इस बिंदु पर, हम प्रत्येक होस्ट को /tftpboot/pxelinux.cfg/ में प्रत्येक होस्ट के लिए पीएक्सई बूट के लिए कॉन्फ़िगरेशन और / स्थापित / ऑटोइनस्ट / में ऑटोइनस्टॉल फ़ाइल की एक प्रति प्राप्त करते हैं।

13. हम सर्वर को अगले बूट पर नेटवर्क इंटरफेस से बूट करने के लिए एक कमांड देते हैं
rsetboot depl[1-10] net

14. हम सर्वर को रिबूट करने के लिए भेजते हैं
rpower depl[1-10] boot

अगला, हम सर्वर कंसोल में इंस्टॉलेशन प्रक्रिया का निरीक्षण कर सकते हैं, या कंजर्वेर को कॉन्फ़िगर कर सकते हैं (इस आलेख में इस सुविधा पर विचार नहीं किया गया है)।

सबसे आखिर में, हम नेटवर्क बूट के लिए छवि एकत्र करते हैं। Badoo में, छवियों का उपयोग समस्या के निदान, पुनर्स्थापना और पुनर्जीवित करने, कस्टम हार्डवेयर तैयार करने और प्रदर्शन परीक्षण करने के लिए किया जाता है।

ऐसा करने के लिए, हम जीनिमेज कमांड चलाते हैं - यह एक सरल विज़ार्ड लॉन्च करेगा, जिसके सवालों के जवाब में हम सिस्टम की एक छवि प्राप्त करेंगे
/install/netboot/$DISTR/$ARCH/profile_name

परिणामी छवि को उसके विवेक पर बदला और संपादित किया जा सकता है, जिसके बाद उसे प्रदर्शन किया जाना चाहिए
packimage -o $DISTR -p profile_name -a $ARCH

इसलिए हमें तैयार नेटब्यूट छवि मिलती है जिसमें हम अपने सर्वर भेजते हैं:

nodeset depl[11-200] netboot=$DISTR-$ARCH-profile_name

rsetboot depl[11-200] net

rpower depl[11-200] boot


सार्वजनिक कुंजी को नेटबूट छवि में रखने की सलाह दी जाती है, लेकिन आप पासवार्ड टेबल ( टैबेडिट पासवार्ड ) से पहुंच के लिए विवरण का उपयोग कर सकते हैं

सर्वर पर सभी तैयारी प्रक्रियाएं पूरी होने के बाद, हम उन पर ओएस स्थापित करना शुरू करते हैं - हम 15 मिनट में परिणाम प्राप्त करेंगे।

यह केवल हमारे सभी सर्वरों को आवश्यक सबनेट में रखने के लिए रहता है, जिसके बाद वे कठपुतली से गुजरते हैं, जो समूहों में व्यक्तिगत रूप से आवश्यक सॉफ़्टवेयर स्थापित करेगा, और आवश्यक सिस्टम पैरामीटर भी सेट करेगा।

अंत में, मैं यह नोट करना चाहूंगा कि यदि इस तरह की कोई प्रणाली है, तो यह इंजीनियर के लिए आवश्यक कमांड देने के लिए पर्याप्त है, जिससे सर्वरों को कॉन्फ़िगर करने का न्यूनतम प्रयास किया जाता है।

बेशक, आज हमने xCAT प्रणाली के सभी फायदों और ट्यूनिंग की पेचीदगियों के बारे में बात नहीं की, ऐसे मुद्दों को हाइपरवाइज़र के साथ-साथ xCAT के माध्यम से उन पर वर्चुअल सर्वर, लेख के दायरे के बाहर बने रहे; वेब इंटरफेस के माध्यम से xCAT सर्वर इंस्टालेशन और प्रबंधन, सर्वर तक पहुंच प्रबंधन सर्वर से।

हमें उपरोक्त विषयों पर लेखों की श्रृंखला जारी रखने में खुशी होगी यदि वे आपकी रुचि का कारण बनते हैं, जो आप हमेशा हमें टिप्पणियों में बता सकते हैं।

Source: https://habr.com/ru/post/In134228/


All Articles