{"id":74905,"date":"2020-03-21T20:42:25","date_gmt":"2020-03-21T17:42:25","guid":{"rendered":"https:\/\/prohoster.info\/blog\/administrirovanie\/bare-metal-provisioning-svoimi-rukami-ili-avtomaticheskaya-podgotovka-serverov-s-nulya"},"modified":"2020-03-21T20:42:25","modified_gmt":"2020-03-21T17:42:25","slug":"bare-metal-provisioning-svoimi-rukami-ili-avtomaticheskaya-podgotovka-serverov-s-nulya","status":"publish","type":"post","link":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/bare-metal-provisioning-svoimi-rukami-ili-avtomaticheskaya-podgotovka-serverov-s-nulya","title":{"rendered":"Bare-Metal Provisioning oma k\u00e4tega, v\u00f5i automaatne serverite ettevalmistamine nullist","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Tere, mina olen Denis ja \u00fcks minu tegevusvaldkondi on infrastruktuuri lahenduste v\u00e4ljat\u00f6\u00f6tamine X5. T\u00e4na tahan jagada teiega, kuidas kasutada avalikult k\u00e4tte saadavaid t\u00f6\u00f6riistu automaatse serverite ettevalmistuss\u00fcsteemi k\u00e4ivitamiseks. Minu arvates on see huvitav, lihtne ja paindlik lahendus.<\/p>\n<p><img decoding=\"async\" alt=\"Bare-Metal Provisioning oma k\u00e4tega, v\u00f5i automaatne serverite ettevalmistamine nullist\" src=\"\/wp-content\/uploads\/2020\/03\/b49cca7e782c0875a95feee497f141b0.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><br \/>\nEttevalmistuse all m\u00f5eldakse: luua t\u00e4iesti seadistatud server uhiuue serveri p\u00f5hjal, millel on Linuxi operatsioonis\u00fcsteem v\u00f5i hypervisor ESXi (Windowsit selles artiklis ei k\u00e4sitleta). <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/et\/server\/\"   title=\"serverite\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1469\">serverite<\/a> serverid \u2013 serverid, mida tuleb seadistada.<\/p>\n<p><b>Terminid<\/b>:<\/p>\n<ul>\n<li>install-server \u2013 peamine server, mis tagab kogu ettevalmistusprotsessi \u00fcle v\u00f5rgu.<\/li>\n<li>Miks on automatiseerimine vajalik?<\/li>\n<\/ul>\n<p><\/p>\n<h3>Oletame, et on \u00fclesanne: massiliselt ette valmistada servereid nullist, tipptasemel kuni 30 p\u00e4evas. Serverid on erinevate tootjate ja mudelite, neile v\u00f5ivad olla installitud erinevad operatsioonis\u00fcsteemid ning v\u00f5ib olla kohal v\u00f5i puududa hypervisor.<\/h3>\n<p>\nMillised tegevused sisalduvad seadistamisprotsessis (ilma automatiseerimiseta):<\/p>\n<p>\u00fchendada serveriga klaviatuur, hiir, monitor;<\/p>\n<ul>\n<li>seadistada BIOS, RAID, IPMI;<\/li>\n<li>BIOS-i, RAID-i, IPMI seadistamine;<\/li>\n<li>uuendage komponentide p\u00fcsivara;<\/li>\n<li>rakendage failis\u00fcsteemi pilti (v\u00f5i installige h\u00fcperviisor ja kopeerige virtuaalmasinad);<\/li>\n<\/ul>\n<p>\nM\u00e4rkus. OS-i juurutamine on v\u00f5imalik ka automaatvastuste failiga installimise kaudu. Kuid seda ei k\u00e4sitleta artiklis. Siiski n\u00e4ete allpool, et selle funktsiooni lisamine ei ole keeruline.<\/p>\n<ul>\n<li>seadistage OS-i parameetrid (hostname, IP jne).<\/li>\n<\/ul>\n<p>\nAntud l\u00e4henemisviisi korral tehakse \u00fchetaolised seadistused j\u00e4rjestikku igas serveris. Sellise t\u00f6\u00f6 efektiivsus on v\u00e4ga madal.<\/p>\n<p>Automaatimise eesm\u00e4rk on v\u00e4hendada inimese osalemist serveri ettevalmistamise protsessis. V\u00f5imalikult palju. <\/p>\n<p>Automatiseerimise t\u00f5ttu v\u00e4heneb seisakuaeg operatsioonide vahel ja on v\u00f5imalik ette valmistada mitu serverit samaaegselt. Samuti v\u00e4heneb oluliselt inimfaktorist tingitud vigade tekkimise t\u00f5en\u00e4osus.<\/p>\n<p><img decoding=\"async\" alt=\"Bare-Metal Provisioning oma k\u00e4tega, v\u00f5i automaatne serverite ettevalmistamine nullist\" src=\"\/wp-content\/uploads\/2020\/03\/8c196058891a7f41c5b93e7f6721480b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Kuidas toimub serverite automaatne seadistamine?<\/h3>\n<p>\nK\u00e4ime k\u00f5ik etapid \u00fcksikasjalikult l\u00e4bi.<\/p>\n<p>Teil on Linuxi server, mida kasutate PXE installiserverina. Sellel on seadistatud teenused: DHCP, TFTP.<\/p>\n<p>Nii, laadime serveri (mida tuleb seadistada) PXE kaudu. Tuletame meelde, kuidas see t\u00f6\u00f6tab:<\/p>\n<ul>\n<li>Serveris on valitud v\u00f5rgu kaudu k\u00e4ivitus.<\/li>\n<li>Server laadib v\u00f5rkaartide PXE-ROM-i ja p\u00f6\u00f6rdub DHCP installiserveri poole, et saada v\u00f5rguaadress.<\/li>\n<li>DHCP installiserver annab v\u00e4lja aadressi ning juhised edasise k\u00e4ivitamise kohta PXE kaudu.<\/li>\n<li>Server laadib PXE kaudu installiserverilt v\u00f5rgu k\u00e4ivitaja, edasine laadimine toimub vastavalt PXE konfiguratsioonifailile.<\/li>\n<li>Laadimine toimub saadud parameetrite p\u00f5hjal (tuum, initramfs, mount-punktid, squashfs pilt ja muu).<\/li>\n<\/ul>\n<p>\nM\u00e4rkus. Artiklis on kirjeldatud PXE laadimist BIOS re\u017eiimi kaudu. Praegu rakendavad tootjad aktiivselt UEFI k\u00e4ivitamisre\u017eiimi. PXE puhul on erinevus DHCP-serveri konfiguratsioonis ja lisak\u00e4ivitaja olemasolus.<\/p>\n<p>Kaalume PXE-serveri konfiguratsiooni n\u00e4idet (pxelinux men\u00fc\u00fc).<\/p>\n<p>Fail pxelinux.cfg\/default:<\/p>\n<pre><code class=\"plaintext\">default menu.c32\nprompt 0\ntimeout 100\nmenu title X5 PXE K\u00e4ivitamise Men\u00fc\u00fc\nLABEL InstallServer Menu\n\tMENU LABEL InstallServer\n\tKERNEL menu.c32\n\tAPPEND pxelinux.cfg\/installserver\nLABEL VMware Menu\n\tMENU LABEL VMware ESXi Install\n\tKERNEL menu.c32\n\tAPPEND pxelinux.cfg\/vmware\nLABEL toolkit \/\/ vaikimisi men\u00fc\u00fc\n\tMENU LABEL Linux Scripting Toolkits\n\tMENU default\n\tKERNEL menu.c32\n\tAPPEND pxelinux.cfg\/toolkit \/\/ \u00fcleminek j\u00e4rgmisele men\u00fc\u00fcle<\/code><\/pre>\n<p>\nFail pxelinux.cfg\/toolkit:<\/p>\n<pre><code class=\"plaintext\">prompt 0\ntimeout 100\nmenu title X5 PXE Boot Menu\nlabel mainmenu\n    menu label ^Tagasi peamen\u00fc\u00fcsse\n    kernel menu.c32\n    append pxelinux.cfg\/default\nlabel x5toolkit-auto \/\/ vaikimisi \u2014 automaatne re\u017eiim\n        menu label x5 toolkit automaatinstall\n        menu default\n        kernel toolkit\/tkcustom-kernel\n        append initrd=toolkit\/tk-initramfs.gz quiet net.ifnames=0 biosdevname=0 nfs_toolkit_ip=192.168.200.1 nfs_toolkit_path=tftpboot\/toolkit nfs_toolkit_script=scripts\/mount.sh script_cmd=master-install.sh CMDIS2=\"\u2026\"\nlabel x5toolkit-shell \/\/ t\u00f5rkeotsing - konsool\n        menu label x5 toolkit shell\n        kernel toolkit\/tkcustom-kernel\n        append initrd=toolkit\/tkcustom-initramfs.gz quiet net.ifnames=0 biosdevname=0 nfs_toolkit_ip=192.168.200.1 nfs_toolkit_path=tftpboot\/toolkit nfs_toolkit_script=scripts\/mount.sh script_cmd=\/bin\/bash CMDIS2=\"\u2026\"<\/code><\/pre>\n<p>\nPraegu on kernel ja initramfs vahepealne linux-pilt, mille abil toimub muu hulgas serveri ettevalmistamine ja seadistamine.<\/p>\n<p>Kuidas n\u00e4ete, edastab laadija paljusid parameetreid kerneli. Osa neist parameetritest kasutatakse otse kernelis. Teisi saame kasutada oma eesm\u00e4rkidel. Selle \u00fcle r\u00e4\u00e4gitakse hiljem, aga praegu v\u00f5ib lihtsalt meeles pidada, et k\u00f5ik edastatud parameetrid on saadaval vahepealses linux-pildis kaudu \/proc\/cmdline.<\/p>\n<p>Kust neid saada, kernel ja initramfs?<br \/>\nT\u00f5hususe aluseks v\u00f5ib valida \u00fcksk\u00f5ik millise linuxi distributsiooni. Millele peame valiku tegemisel t\u00e4helepanu p\u00f6\u00f6rama:<\/p>\n<ul>\n<li>K\u00e4ivitamise pilt peab olema universaalne (draiverite olemasolu, t\u00e4iendavate utiliitide installimise v\u00f5imalused);<\/li>\n<li>V\u00f5imalik, et initramfs tuleb kohandada.<\/li>\n<\/ul>\n<p>\nKuidas see meie lahenduses X5 tehakse? Aluseks on valitud CentOS 7. Teeme j\u00e4rgmise triki: valmistame ette tulevase pildi struktuuri, pakime selle arhiivi ja loome initramfs, mille sees on meie failis\u00fcsteemi arhiiv. Pildi laadimisel arhiiv lahti ning kopeeritakse loodavasse tmpfs jagusse. Nii saame minimaalse, kuid t\u00e4ie\u00f5igusliku Linuxi live-pildi koos k\u00f5ikide vajalike utiliitidega, mis koosneb vaid kahest failist: vmkernel ja initramfs. <\/p>\n<pre><code class=\"plaintext\">#\u0441\u043e\u0437\u0434\u0430\u0435\u043c \u0434\u0438\u0440\u0435\u043a\u0442\u043e\u0440\u0438\u0438: \n\nmkdir -p \/tftpboot\/toolkit\/CustomTK\/rootfs \/tftpboot\/toolkit\/CustomTK\/initramfs\/bin\n\n#\u043f\u043e\u0434\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0443:\n\nyum groups -y install &quot;Minimal Install&quot; --installroot=\/tftpboot\/toolkit\/CustomTK\/rootfs\/\nyum -y install nfs-utils mariadb ntpdate mtools syslinux mdadm tbb libgomp efibootmgr dosfstools net-tools pciutils openssl make ipmitool OpenIPMI-modalias rng-tools --installroot=\/tftpboot\/toolkit\/CustomTK\/rootfs\/\nyum -y remove biosdevname --installroot=\/tftpboot\/toolkit\/CustomTK\/rootfs\/\n\n# \u043f\u043e\u0434\u0433\u043e\u0442\u0430\u0432\u043b\u0438\u0432\u0430\u0435\u043c initramfs:\n\nwget https:\/\/busybox.net\/downloads\/binaries\/1.31.0-defconfig-multiarch-musl\/busybox-x86_64 -O \/tftpboot\/toolkit\/CustomTK\/initramfs\/bin\/busybox\nchmod a+x \/tftpboot\/toolkit\/CustomTK\/initramfs\/bin\/busybox\ncp \/tftpboot\/toolkit\/CustomTK\/rootfs\/boot\/vmlinuz-3.10.0-957.el7.x86_64 \/tftpboot\/toolkit\/tkcustom-kernel\n\n# \u0441\u043e\u0437\u0434\u0430\u0435\u043c \/tftpboot\/toolkit\/CustomTK\/initramfs\/init (\u043d\u0438\u0436\u0435 \u0441\u043e\u0434\u0435\u0440\u0436\u0430\u043d\u0438\u0435 \u0441\u043a\u0440\u0438\u043f\u0442\u0430):\n\n#!\/bin\/busybox sh\n\/bin\/busybox --install \/bin\nmkdir -p \/dev \/proc \/sys \/var\/run \/newroot\nmount -t proc proc \/proc\nmount -o mode=0755 -t devtmpfs devtmpfs \/dev\nmkdir -p \/dev\/pts \/dev\/shm \/dev\/mapper \/dev\/vc\nmount -t devpts -o gid=5,mode=620 devpts \/dev\/pts\nmount -t sysfs sysfs \/sys\nmount -t tmpfs -o size=4000m tmpfs \/newroot\necho -n &quot;Extracting rootfs... &quot;\nxz -d -c -f rootfs.tar.xz | tar -x -f - -C \/newroot\necho &quot;done&quot;\nmkdir -p \/newroot\/dev \/newroot\/proc \/newroot\/sys\nmount --move \/sys  \/newroot\/sys\nmount --move \/proc \/newroot\/proc\nmount --move \/dev  \/newroot\/dev\nexec switch_root \/newroot \/sbin\/init\n\n# \u0443\u043f\u0430\u043a\u043e\u0432\u044b\u0432\u0430\u0435\u043c rootfs \u0438 initramfs:\n\ncd \/tftpboot\/toolkit\/CustomTK\/rootfs\ntar cJf \/tftpboot\/toolkit\/CustomTK\/initramfs\/rootfs.tar.xz --exclude .\/proc --exclude .\/sys --exclude .\/dev .\ncd \/tftpboot\/toolkit\/CustomTK\/initramfs\nfind . -print0 | cpio --null -ov --format=newc | gzip -9 &gt; \/tftpboot\/toolkit\/tkcustom-initramfs-new.gz<\/code><\/pre>\n<p>\nNii oleme m\u00e4\u00e4ranud ydra ja initramfs, mis tuleb laadida. Selle tulemuseks on, et praeguses etapis, laadides Linuxi vahepildi PXE kaudu, saame OS-i konsooli.<\/p>\n<p>Suurep\u00e4rane, kuid n\u00fc\u00fcd tuleb juhtimine \u00fcle anda meie \u201eautomaatikale\u201d.<\/p>\n<p>Seda saab teha nii.<\/p>\n<p>Oletame, et p\u00e4rast pildi laadimist plaanime juhtimise \u00fcle anda skriptile mount.sh.<br \/>\nK\u00e4ivitame skripti mount.sh autor k\u00e4ivitamise. Selleks tuleb initramfs modifitseerida:<\/p>\n<ul>\n<li>dekompresseerida initramfs (kui kasutame \u00fclaltoodud initramfs variant, ei ole see vajalik)<\/li>\n<li>l\u00fclitage automaatne laadimine koodi, mis anal\u00fc\u00fcsib edastatud parameetreid l\u00e4bi \/proc\/cmdline ja suunab juhtimise edasi;<\/li>\n<li>pakendage initramfs.<\/li>\n<\/ul>\n<p>\nM\u00e4rkus. X5 t\u00f6\u00f6riistakomplekti puhul antakse k\u00e4ivitamise juhtimine skripti kaudu <code>\/opt\/x5\/toolkit\/bin\/hook.sh \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e override.conf \u0432 getty tty1 (ExecStart=\u2026) <\/code><\/p>\n<p>Nii k\u00e4ivitatakse pilt, mille automaatlaadimises k\u00e4ivitub skript mount.sh. Edasi anal\u00fc\u00fcsib skript mount.sh oma k\u00e4itamise k\u00e4igus edastatud parameetreid (script_cmd=) ja k\u00e4ivitab vajaliku programmi\/skripti.<\/p>\n<p>label toolkit-<b>auto<\/b><br \/>\nkernel \u2026<br \/>\nappend \u2026 nfs_toolkit_script=scripts\/mount.sh <b>script_cmd=master-install.sh<br \/>\n<\/b><br \/>\nlabel toolkit-<b>shell<\/b><br \/>\nkernel \u2026<br \/>\nappend \u2026 nfs_toolkit_script=scripts\/mount.sh <b>script_cmd=\/bin\/bash<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Bare-Metal Provisioning oma k\u00e4tega, v\u00f5i automaatne serverite ettevalmistamine nullist\" src=\"\/wp-content\/uploads\/2020\/03\/943eeb64fbf746feab5119ead5b1ca66.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nSiin vasakul \u2013 PXE men\u00fc\u00fc, paremal \u2013 juhtimise edastamise skeem.<\/p>\n<p>Juhtimise edastamise osas oleme n\u00fc\u00fcdsel teemal. S\u00f5ltuvalt PXE-men\u00fc\u00fc valikust k\u00e4ivitub kas automaatse seadistamise skript v\u00f5i silumisekonsol.<\/p>\n<p>Automaatse seadistamise korral monteeritakse vajalikud kataloogid installiserverist, milles on:<\/p>\n<ul>\n<li>skriptid;<\/li>\n<li>salvestatud BIOS\/UEFI mallid erinevatele serveritele;<\/li>\n<li>firmad;<\/li>\n<li>serveri utiliidid;<\/li>\n<li>logid.<\/li>\n<\/ul>\n<p>\nEdasi edastab skript mount.sh juhtimise skripti master-install.sh skriptide kataloogist.<\/p>\n<p>Skriptide puu (nende k\u00e4ivitamise j\u00e4rjestus) n\u00e4eb v\u00e4lja umbes nii:<\/p>\n<ul>\n<li>master-install<\/li>\n<li>sharefunctions (\u00fcldised funktsioonid)<\/li>\n<li>info (informatsiooni v\u00e4ljund)<\/li>\n<li>mudelid (serveri mudeli p\u00f5hjal installimise konfiguratsioon)<\/li>\n<li>prepare_utils (vajalike utiliitide installimine)<\/li>\n<li>fwupdate (firmware'i uuendamine)<\/li>\n<li>diag (elementaarne diagnostika)<\/li>\n<li>biosconf (BIOSi\/UEFI seadistamine)<\/li>\n<li>clockfix (emapaiga aja seadistamine)<\/li>\n<li>srmconf (eemaldatava liidese seadistamine)<\/li>\n<li>raidconf (loogiliste mahu seadistamine)<\/li>\n<\/ul>\n<p>\n\u00fcks j\u00e4rgmistest:<\/p>\n<ul>\n<li>preinstall (\u00fcleminek OS-i v\u00f5i h\u00fcpervisor-installijale, n\u00e4iteks ESXi)<\/li>\n<li>merged-install (pildi allav\u00f5tu vahetu k\u00e4ivitamine)<\/li>\n<\/ul>\n<p>\n<b>N\u00fc\u00fcd teame:<\/p>\n<ul>\n<li>kuidas k\u00e4ivitada serverit PXE kaudu;<\/li>\n<li>kuidas suunata juhtimine enda skripti.<\/li>\n<\/ul>\n<p><\/b><br \/>\nJ\u00e4tkame. K\u00e4tkeb j\u00e4rgmised k\u00fcsimused:<\/p>\n<ul>\n<li>Kuidas tuvastada serverit, mida me ette valmistame?<\/li>\n<li>Milliste utiliitidega ja kuidas seadistada serverit?<\/li>\n<li>Kuidas saada konkreetse serveri seadistused?<\/li>\n<\/ul>\n<p><\/p>\n<h3>Kuidas tuvastada serverit, mida me ette valmistame?<\/h3>\n<p>\nSee on lihtne \u2013 DMI:<\/p>\n<pre><code class=\"plaintext\">dmidecode \u2013s system-product-name\ndmidecode \u2013s system-manufacturer\ndmidecode \u2013s system-serial-number<\/code><\/pre>\n<p>\nSiin on k\u00f5ik vajalik: tootja, mudel, seerianumber. Kui te pole kindel, et see teave on olemas k\u00f5igil serveritel, saate neid tuvastada MAC-aadressi j\u00e4rgi. V\u00f5i m\u00f5lema viisi abil samal ajal, kui serverite tootjad on erinevad ja m\u00f5nede mudelite seerianumbri teave on lihtsalt puudulik.<\/p>\n<p>Saadud teabe p\u00f5hjal monteeritakse v\u00f5rgu kaustad installimistalitustest ja laaditakse k\u00f5ik vajalik (utiliidid, p\u00fcsivara jne).<\/p>\n<h3>Milliste utiliitidega ja kuidas seadistada serverit?<\/h3>\n<p>\nToon utiliite Linuxile m\u00f5nede tootjate jaoks. K\u00f5ik utiliidid on saadaval tootjate ametlikelt veebilehtedelt.<\/p>\n<p><img decoding=\"async\" alt=\"Bare-Metal Provisioning oma k\u00e4tega, v\u00f5i automaatne serverite ettevalmistamine nullist\" src=\"\/wp-content\/uploads\/2020\/03\/fab53d1fa6e9a222ec69248439551ad7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nP\u00fcsivara osas on k\u00f5ik arusaadav. Tavaliselt tarnitakse neid pakitud t\u00e4itmisfailidena. T\u00e4itmisfail kontrollib p\u00fcsivara uuendamise protsessi ja edastab tagastuskoodi.<\/p>\n<p>BIOS ja IPMI seadistatakse tavaliselt mallide kaudu. Vajadusel saab mallin enne laadimist redigeerida.<\/p>\n<p>M\u00f5nede tootjate RAID-utiliidid v\u00f5ivad samuti seadistada malli j\u00e4rgi. Kui see pole nii, siis tuleb kirjutada seadistamise skript.<\/p>\n<p>RAID seadistamise j\u00e4rjekord on enamasti j\u00e4rgmine:<\/p>\n<ul>\n<li>K\u00fcsimine praeguse konfiguratsiooni kohta.<\/li>\n<li>Kui loogilised massiivid juba olemas on, kustutame need.<\/li>\n<li>Vaadake, millised f\u00fc\u00fcsilised kettad on olemas ja kui palju neid on.<\/li>\n<li>Loome uue loogilise massiivi. Katkestame protsessi, kui tekib viga.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Kuidas saada konkreetse serveri seadistused?<\/h3>\n<p>\nEeldame, et k\u00f5igi serverite seaded salvestatakse install-keskkonnas. Sel juhul, et vastata meie k\u00fcsimusele, tuleb k\u00f5igepealt otsustada, kuidas edastada seaded install-keskkonda.<\/p>\n<p>Alguses v\u00f5ib t\u00e4iesti piisata tekstifailidest. (Tulevikus saab tekstifaili kasutada seadete edastamise varufailina). <\/p>\n<p>Tekstifaili saab 'jagada' install-keskkonnas ja lisada selle mountimine skripti mount.sh.<\/p>\n<p>Read on n\u00e4iteks sellise kujuga:<\/p>\n<p><\/p>\n<p>Need read edastatakse inseneri poolt tema t\u00f6\u00f6kohalt faili. Ja edaspidi serveri seadistamisel loetakse konkreetse serveri parameetrid failist.<\/p>\n<p>Aga tulevikus on parem kasutada andmebaasi seadete, olekute ja serverite installatsioonip\u00e4evikute salvestamiseks.<\/p>\n<p>Muidugi ei piisa \u00fchest andmebaasist, ja on vajalik luua kliendipool, mille abil edastatakse seaded andmebaasi. Selle teostamine on keerulisem v\u00f5rreldes tekstifailiga, kuid tegelikult ei ole k\u00f5ik nii raske, nagu tundub. Minimalistliku versiooni kliendist, mis lihtsalt edastab andmeid andmebaasi, on t\u00e4iesti m\u00f5istlik kirjutada ise. Ja kliendi programmi edasist t\u00e4iustamist saab teha vabamalt (aruanded, siltide printimine, teavituste saatmine ja muud ideed, mis p\u00e4he tulevad).<\/p>\n<p>Tehes teatud p\u00e4ringu andmebaasis ja n\u00e4idates serveri seerianumbrit, saame vajalikud parameetrid serveri seadistamiseks.<\/p>\n<p>Lisaks ei ole meil vaja m\u00f5elda blokeeringutele samaaegse juurdep\u00e4\u00e4su jaoks, nagu tekstifailiga.<\/p>\n<p>Seadistuse logi saame igas etapis kirjutada andmebaasi ja installimisprotsessi saame kontrollida s\u00fcndmuste ja ettevalmistusetappide lipu kaudu.<\/p>\n<p><b>N\u00fc\u00fcd teame, kuidas:<\/p>\n<ul>\n<li>serverit PXE kaudu laadida;<\/li>\n<li>edastada juhtimine meie skriptile;<\/li>\n<li>tuvastada server, mida tuleb ette valmistada, seerianumbri j\u00e4rgi;<\/li>\n<li>konfigureerida server vastavate utiliitide abil;<\/li>\n<li>edastama seadistusi andmebaasi installiserverisse kliendi osa abil.<\/li>\n<\/ul>\n<p>\nSelgitasime, kuidas:<\/p>\n<ul>\n<li>installitav server saab vajalikud seadistused andmebaasist;<\/li>\n<li>kogu ettevalmistuse progress fikseeritakse andmebaasis (logid, s\u00fcndmused, etappide lipud).<\/li>\n<\/ul>\n<p><\/b><\/p>\n<h3>Kuidas on lood erinevate installitavate tarkvarat\u00fc\u00fcpidega? Kuidas installida h\u00fcperviisor, kopeerida virtuaalmasin ja k\u00f5ik see seadistada?<\/h3>\n<p>\nFailis\u00fcsteemi pildi (linux) riistvarale juurutamisel on k\u00f5ik \u00fcsna lihtne:<\/p>\n<ul>\n<li>P\u00e4rast serveri k\u00f5ikide komponentide seadistamist juurutame pildi.<\/li>\n<li>Paigaldame laaduri grub.<\/li>\n<li>Teeme chroot'i ja seadistame k\u00f5ik vajalikud.<\/li>\n<\/ul>\n<p>\n<b>Kuidas juhtimist OS-i installijale edastada (n\u00e4iteks ESXi korral).<\/b><\/p>\n<ul>\n<li>Korrastame juhtimise edastamise meie skriptist h\u00fcperviisori installijale vastuste failide (kickstart) kaudu:<\/li>\n<li>Kustutame praegused partitsioonid kettal.<\/li>\n<li>Loome 500MB suuruse partitsiooni.<\/li>\n<li>M\u00e4rgistame selle k\u00e4ivitatavaks.<\/li>\n<li>Formateerime FAT32-s.<\/li>\n<li>Kopeerime sellele juurkausta ESXi installifailid.<\/li>\n<li>Paigaldame syslinuxi.<\/li>\n<li>Kopeerime syslinux.cfg faili \/syslinux\/<\/li>\n<\/ul>\n<p><\/p>\n<pre><code class=\"plaintext\">default esxi\nprompt 1\ntimeout 50\nlabel esxi\nkernel mboot.c32\nappend -c boot.cfg<\/code><\/pre>\n<p><\/p>\n<ul>\n<li>Kopeerime mboot.c32 faili \/syslinux.<\/li>\n<li>Failis boot.cfg peab olema kernelopt=ks=ftp:\/\/\/ks_esxi.cfg<\/li>\n<li>Taask\u00e4ivita server.<\/li>\n<\/ul>\n<p>\nServeri taask\u00e4ivitamisel laadib see ESXi installeri tema k\u00f5vakettalt. K\u00f5ik vajalikud installifailid laaditakse m\u00e4llu ja seej\u00e4rel algab ESXi installatsioon vastavalt m\u00e4\u00e4ratud automaatvastuse failile.<\/p>\n<p>Toon siin m\u00f5ned read failist autoantwort ks_esxi.cfg:<\/p>\n<pre><code class=\"plaintext\">%firstboot --interpreter=busybox\n\u2026\n# saame seriaali number\n\nSYSSN=$(esxcli hardware platform get | grep Serial | awk -F \" \" '{print $3}')\n\n# saame IP\n\nIPADDRT=$(esxcli network ip interface ipv4 get | grep vmk0 | awk -F \" \" '{print $2}')\nLAST_OCTET=$(echo $IPADDRT | awk -F'.' '{print $4}')\n\n# \u00fchendame NFS installatsiooniserver\n\nesxcli storage nfs add -H is -s \/srv\/nfs_share -v nfsshare1\n\n# kopeerime ajutised ssh seaded, et kasutada ssh klienti\n\nmv \/etc\/ssh \/etc\/ssh.tmp\ncp -R \/vmfs\/volumes\/nfsshare1\/ssh \/etc\/\nchmod go-r \/etc\/ssh\/ssh_host_rsa_key\n\n# kopeerime ovftool, et n\u00fc\u00fcd VM-i juurutada, plus v\u00f5ib-olla on hiljem kasulik\n\ncp -R \/vmfs\/volumes\/nfsshare1\/ovftool \/vmfs\/volumes\/datastore1\/\n\n# juurutame VM-i\n\n\/vmfs\/volumes\/datastore1\/ovftool\/tools\/ovftool --acceptAllEulas --noSSLVerify --datastore=datastore1 --name=VM1 \/vmfs\/volumes\/nfsshare1\/VM_T\/VM1.ova vi:\/\/root:esxi_password@127.0.0.1\n\/vmfs\/volumes\/datastore1\/ovftool\/tools\/ovftool --acceptAllEulas --noSSLVerify --datastore=datastore1 --name=VM2 \/vmfs\/volumes\/nfsshare1\/VM_T\/VM2.ova vi:\/\/root:esxi_password@127.0.0.1\n\n# saame ridu meie serveri seadete v\u00f5tmiseks\n\nssh root@is \"mysql -h'192.168.0.1' -D'servers' -u'user' -p'secretpassword' -e \"SELECT ... WHERE servers.serial='$SYSSN'\"\" | grep -v ^$ | sed 's\/NULL\/\/g' &gt; \/tmp\/servers\n...\n# genereerime v\u00f5rgu seadistuse skripti\n\necho '#!\/bin\/sh' &gt; \/vmfs\/volumes\/datastore1\/netconf.sh\necho \"esxcli network ip interface ipv4 set -i=vmk0 -t=static --ipv4=$IPADDR --netmask=$S_SUB || exit 1\" &gt;&gt; \/vmfs\/volumes\/datastore1\/netconf.sh\necho \"esxcli network ip route ipv4 add -g=$S_GW -n=default || exit 1\" &gt;&gt; \/vmfs\/volumes\/datastore1\/netconf.sh\nchmod a+x \/vmfs\/volumes\/datastore1\/netconf.sh\n\n# m\u00e4\u00e4rame parameetri guestinfo.esxihost.id, n\u00e4idates selle sees seriaalnumbrit\n\necho \"guestinfo.esxihost.id = \"$SYSSN\"\" &gt;&gt; \/vmfs\/volumes\/datastore1\/VM1\/VM1.vmx\necho \"guestinfo.esxihost.id = \"$SYSSN\"\" &gt;&gt; \/vmfs\/volumes\/datastore1\/VM2\/VM2.vmx\n...\n# v\u00e4rskendame teavet andmebaasis\n\nSYSNAME=$(esxcli hardware platform get | grep Product | sed 's\/Product Name:\/\/;s\/^ *\/\/')\nUUID=$(vim-cmd hostsvc\/hostsummary | grep uuid | sed 's\/ \/\/g;s\/,$\/\/;s\/^uuid=\"\/\/;s\/\"$\/\/')\nssh root@is \"mysql -D'servers' -u'user' -p'secretpassword' -e \"UPDATE servers ... SET ... WHERE servers.serial='$SYSSN'\"\"\nssh root@is \"mysql -D'servers' -u'user' -p'secretpassword' -e \"INSERT INTO events ...\"\"\n\n# taastame SSH seaded\n\nrm -rf \/etc\/ssh\nmv \/etc\/ssh.tmp \/etc\/ssh\n\n# seadistame v\u00f5rgu ja taask\u00e4ivitusime\n\nesxcli system hostname set --fqdn=esx-${G_NICK}.x5.ru\n\/vmfs\/volumes\/datastore1\/netconf.sh\nreboot\n<\/code><\/pre>\n<p>\nSellel etapil on h\u00fcperviisor seadistatud ja virtuaalmasinad kopeeritud.<\/p>\n<p>Kuidas seadistada virtuaalseid masinareid?<\/p>\n<p>Me pettesime natuke: installimise ajal m\u00e4\u00e4rasime parameetri guestinfo.esxihost.id = \"$SYSSN\" failis VM1.vmx, m\u00e4rkides seal f\u00fc\u00fcsilise serveri seriaalnumri.<\/p>\n<p>N\u00fc\u00fcd, p\u00e4rast k\u00e4ivitamist, saab virtuaalmasin (kellel on paigaldatud vmware-tools pakett) sellele parameetrile juurde p\u00e4\u00e4seda:<\/p>\n<pre><code class=\"plaintext\">ESXI_SN=$(vmtoolsd --cmd \"info-get guestinfo.esxihost.id\")<\/code><\/pre>\n<p>\nSee t\u00e4hendab, et VM suudab end tuvastada (ta tunneb f\u00fc\u00fcsilise hosti seerianumbrit), teha p\u00e4ringu installiserveri andmebaasi ja saada konfigureerimiseks vajalikud parameetrid. K\u00f5ik see vormistatakse skriptiks, mis peab k\u00e4ivituma automaatselt, kui guestos vm k\u00e4ivitub (aga vaid korra: RunOnce).<\/p>\n<p><b>N\u00fc\u00fcd teame, kuidas:<\/p>\n<ul>\n<li>serverit PXE kaudu laadida;<\/li>\n<li>edastada juhtimine meie skriptile;<\/li>\n<li>tuvastada server, mida tuleb ette valmistada, seerianumbri j\u00e4rgi;<\/li>\n<li>seadistama serveri vastavate utiliitidega;<\/li>\n<li>edastama seadeid installiserveri andmebaasi kliendi osa abil;<\/li>\n<li>seadistama erinevaid tarkvarat\u00fc\u00fcpe, sealhulgas paigaldama esxi h\u00fcperviisori ja seadistama virtuaalmasinad (ja k\u00f5ik automaatselt).<\/li>\n<\/ul>\n<p>\nSelgitasime, kuidas:<\/p>\n<ul>\n<li>installitav server saab vajalikud seadistused andmebaasist;<\/li>\n<li>kogu ettevalmistuse progress fikseeritakse andmebaasis (logid, s\u00fcndmused, etappide lipud).<\/li>\n<\/ul>\n<p><\/b><br \/>\n<u><b>Kokkuv\u00f5te:<\/b><\/u><\/p>\n<p>Usun, et selle lahenduse unikaalsus seisneb selle paindlikkuses, lihtsuses, v\u00f5imalustes ja universaalsuses.<\/p>\n<p>Palun kirjutage kommentaaridesse, mida arvate.<br \/>\n<br \/>Allikas: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/X5RetailGroup\/blog\/493124\/\">habr.com<\/a> <\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0440\u0438\u0432\u0435\u0442, \u044f \u0414\u0435\u043d\u0438\u0441 \u0438 \u043e\u0434\u043d\u043e \u0438\u0437 \u043c\u043e\u0438\u0445 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u2013 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432 X5. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u0431\u0430\u0437\u0435 \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. \u041d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u044d\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435, \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0438 \u0433\u0438\u0431\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435. \u041f\u043e\u0434 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u043e\u0439 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442\u0441\u044f: \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0437 \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440 [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":74906,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-74905","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 4.9.10 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u044f \u0414\u0435\u043d\u0438\u0441 \u0438 \u043e\u0434\u043d\u043e \u0438\u0437 \u043c\u043e\u0438\u0445 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u2013 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432 X5. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u0431\u0430\u0437\u0435 \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. \u041d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u044d\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435, \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0438 \u0433\u0438\u0431\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435. \u041f\u043e\u0434 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u043e\u0439 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442\u0441\u044f: \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0437 \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/bare-metal-provisioning-svoimi-rukami-ili-avtomaticheskaya-podgotovka-serverov-s-nulya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 4.9.10\" \/>\n\t\t<meta property=\"og:locale\" content=\"et_EE\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47Bare-Metal Provisioning \u0441\u0432\u043e\u0438\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438, \u0438\u043b\u0438 \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0441 \u043d\u0443\u043b\u044f | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0440\u0438\u0432\u0435\u0442, \u044f \u0414\u0435\u043d\u0438\u0441 \u0438 \u043e\u0434\u043d\u043e \u0438\u0437 \u043c\u043e\u0438\u0445 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u2013 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432 X5. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u0431\u0430\u0437\u0435 \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. \u041d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u044d\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435, \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0438 \u0433\u0438\u0431\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435. \u041f\u043e\u0434 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u043e\u0439 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442\u0441\u044f: \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0437 \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/bare-metal-provisioning-svoimi-rukami-ili-avtomaticheskaya-podgotovka-serverov-s-nulya\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2020-03-21T17:42:25+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2020-03-21T17:42:25+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Bare-Metal Provisioning omal k\u00e4el, v\u00f5i Automaatne serverite ettevalmistamine algusest peale | ProHoster","description":"Tere, mina olen Denis ja \u00fcks mu tegevusvaldkondi on infrastruktuuri lahenduste arendamine X5-s. T\u00e4na soovin jagada teiega, kuidas saab avalike t\u00f6\u00f6riistade p\u00f5hjal \u00fcles seada automaatse serverite ettevalmistamise s\u00fcsteemi. Minu arvates on see huvitav, lihtne ja paindlik lahendus. Ettevalmistamine t\u00e4hendab: teha uue serveri raamistikust, t\u00e4ielikult seadistatud server.","canonical_url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/bare-metal-provisioning-svoimi-rukami-ili-avtomaticheskaya-podgotovka-serverov-s-nulya","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"et_EE","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47Bare-Metal Provisioning \u0441\u0432\u043e\u0438\u043c\u0438 \u0440\u0443\u043a\u0430\u043c\u0438, \u0438\u043b\u0438 \u0410\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0430\u044f \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0430 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432 \u0441 \u043d\u0443\u043b\u044f | ProHoster","og:description":"\u041f\u0440\u0438\u0432\u0435\u0442, \u044f \u0414\u0435\u043d\u0438\u0441 \u0438 \u043e\u0434\u043d\u043e \u0438\u0437 \u043c\u043e\u0438\u0445 \u043d\u0430\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0439 \u0434\u0435\u044f\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u0438 \u2013 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u043d\u0444\u0440\u0430\u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u043d\u044b\u0445 \u0440\u0435\u0448\u0435\u043d\u0438\u0439 \u0432 X5. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u0445\u043e\u0442\u0435\u043b \u0431\u044b \u043f\u043e\u0434\u0435\u043b\u0438\u0442\u044c\u0441\u044f \u0441 \u0432\u0430\u043c\u0438 \u043e \u0442\u043e\u043c, \u043a\u0430\u043a \u043c\u043e\u0436\u043d\u043e \u043d\u0430 \u0431\u0430\u0437\u0435 \u043e\u0431\u0449\u0435\u0434\u043e\u0441\u0442\u0443\u043f\u043d\u044b\u0445 \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442\u043e\u0432 \u0440\u0430\u0437\u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0430\u0432\u0442\u043e\u043c\u0430\u0442\u0438\u0447\u0435\u0441\u043a\u0443\u044e \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u0438 \u0441\u0435\u0440\u0432\u0435\u0440\u043e\u0432. \u041d\u0430 \u043c\u043e\u0439 \u0432\u0437\u0433\u043b\u044f\u0434, \u044d\u0442\u043e \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0435, \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u0438 \u0433\u0438\u0431\u043a\u043e\u0435 \u0440\u0435\u0448\u0435\u043d\u0438\u0435. \u041f\u043e\u0434 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043a\u043e\u0439 \u043f\u043e\u0434\u0440\u0430\u0437\u0443\u043c\u0435\u0432\u0430\u0435\u0442\u0441\u044f: \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u0438\u0437 \u043d\u043e\u0432\u043e\u0433\u043e \u0441\u0435\u0440\u0432\u0435\u0440\u0430 \u0438\u0437 \u043a\u043e\u0440\u043e\u0431\u043a\u0438, \u043f\u043e\u043b\u043d\u043e\u0441\u0442\u044c\u044e \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043d\u043d\u044b\u0439 \u0441\u0435\u0440\u0432\u0435\u0440","og:url":"https:\/\/prohoster.info\/et\/blog\/administrirovanie\/bare-metal-provisioning-svoimi-rukami-ili-avtomaticheskaya-podgotovka-serverov-s-nulya","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2020-03-21T17:42:25+00:00","article:modified_time":"2020-03-21T17:42:25+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"74905","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":null,"breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-02-28 18:05:46","updated":"2026-02-09 16:50:18"},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/74905","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/comments?post=74905"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/74905\/revisions"}],"predecessor-version":[{"id":158713,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/posts\/74905\/revisions\/158713"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media\/74906"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/media?parent=74905"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/categories?post=74905"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/et\/wp-json\/wp\/v2\/tags?post=74905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}