{"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\/cs\/blog\/administrirovanie\/bare-metal-provisioning-svoimi-rukami-ili-avtomaticheskaya-podgotovka-serverov-s-nulya","title":{"rendered":"Bare-Metal Provisioning vlastn\u00edmi silami, nebo Automatick\u00e1 p\u0159\u00edprava server\u016f od z\u00e1klad\u016f","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>Ahoj, j\u00e1 jsem Denis a jedn\u00edm z m\u00fdch zam\u011b\u0159en\u00ed je v\u00fdvoj infrastrukturn\u00edch \u0159e\u0161en\u00ed ve spole\u010dnosti X5. Dnes bych se s v\u00e1mi cht\u011bl pod\u011blit o to, jak lze na z\u00e1klad\u011b ve\u0159ejn\u011b dostupn\u00fdch n\u00e1stroj\u016f vybudovat automatick\u00fd syst\u00e9m p\u0159\u00edpravy server\u016f. Podle m\u011b je to zaj\u00edmav\u00e9, jednoduch\u00e9 a flexibiln\u00ed \u0159e\u0161en\u00ed.<\/p>\n<p><img decoding=\"async\" alt=\"Bare-Metal Provisioning vlastn\u00edmi silami, nebo Automatick\u00e1 p\u0159\u00edprava server\u016f od z\u00e1klad\u016f\" 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 \/>\nPod p\u0159\u00edpravou se rozum\u00ed: ud\u011blat z nov\u00e9ho serveru p\u0159\u00edmo z krabice, pln\u011b nakonfigurovan\u00fd server s opera\u010dn\u00edm syst\u00e9mem Linux nebo s hypervizorem ESXi (Windows v tomto \u010dl\u00e1nku nen\u00ed diskutov\u00e1n). <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/cs\/server\/\"   title=\"servery\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1469\">servery<\/a> Term\u00edny<\/p>\n<p><b>servery \u2013 servery, kter\u00e9 je pot\u0159eba nakonfigurovat.<\/b>:<\/p>\n<ul>\n<li>instaluj\u00edc\u00ed server \u2013 hlavn\u00ed server, kter\u00fd zaji\u0161\u0165uje cel\u00fd proces p\u0159\u00edpravy po s\u00edti.<\/li>\n<li>Pro\u010d je pot\u0159ebn\u00e1 automatizace?<\/li>\n<\/ul>\n<p><\/p>\n<h3>P\u0159edstavte si \u00fakol: hromadn\u011b p\u0159ipravovat servery od z\u00e1kladu, v maxim\u00e1ln\u00edm objemu \u2013 30 za den. Servery r\u016fzn\u00fdch v\u00fdrobc\u016f a model\u016f, na kter\u00fdch mohou b\u00fdt instalov\u00e1ny r\u016fzn\u00e9 OS, mohou m\u00edt nebo nem\u00edt hypervizor.<\/h3>\n<p>\nJak\u00e9 operace jsou sou\u010d\u00e1st\u00ed procesu konfigurace (bez automatizace):<\/p>\n<p>p\u0159ipojit kl\u00e1vesnici, my\u0161, monitor k serveru;<\/p>\n<ul>\n<li>nastavit BIOS, RAID, IPMI;<\/li>\n<li>aktualizovat firmware komponent;<\/li>\n<li>nasadit obraz souborov\u00e9ho syst\u00e9mu (bu\u010f nainstalovat hypervizor a zkop\u00edrovat virtu\u00e1ln\u00ed stroje);<\/li>\n<li>Pozn\u00e1mka. Jako mo\u017enost lze nasadit OS prost\u0159ednictv\u00edm instalace s odpov\u011bdn\u00edm souborem. Ale to nebude v \u010dl\u00e1nku diskutov\u00e1no. I kdy\u017e n\u00ed\u017ee uvid\u00edte, \u017ee p\u0159id\u00e1n\u00ed t\u00e9to funk\u010dnosti nen\u00ed slo\u017eit\u00e9.<\/li>\n<\/ul>\n<p>\nnastavit parametry OS (n\u00e1zev hostitele, IP, ostatn\u00ed).<\/p>\n<ul>\n<li>P\u0159i tomto p\u0159\u00edstupu se prov\u00e1d\u011bj\u00ed stejn\u00e9 nastaven\u00ed postupn\u011b na ka\u017ed\u00e9m serveru. Efektivita takov\u00e9 pr\u00e1ce je velmi n\u00edzk\u00e1.<\/li>\n<\/ul>\n<p>\nPodstata automatizace \u2013 vylou\u010dit \u00fa\u010dast \u010dlov\u011bka z procesu p\u0159\u00edpravy serveru. Co nejv\u00edce, jak je to mo\u017en\u00e9.<\/p>\n<p>D\u00edky automatizaci se zkracuje doba ne\u010dinnosti mezi operacemi a vznik\u00e1 mo\u017enost p\u0159ipravit n\u011bkolik server\u016f sou\u010dasn\u011b. Tak\u00e9 se v\u00fdrazn\u011b sni\u017euje pravd\u011bpodobnost vzniku chyb v d\u016fsledku lidsk\u00e9ho faktoru. <\/p>\n<p>Jak prob\u00edh\u00e1 automatick\u00e1 konfigurace server\u016f?<\/p>\n<p><img decoding=\"async\" alt=\"Bare-Metal Provisioning vlastn\u00edmi silami, nebo Automatick\u00e1 p\u0159\u00edprava server\u016f od z\u00e1klad\u016f\" src=\"\/wp-content\/uploads\/2020\/03\/8c196058891a7f41c5b93e7f6721480b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Prozkoum\u00e1me v\u0161echny etapy podrobn\u011b.<\/h3>\n<p>\nM\u00e1te linuxov\u00fd server, kter\u00fd pou\u017e\u00edv\u00e1te jako PXE instala\u010dn\u00ed server. Na n\u011bm jsou nainstalov\u00e1ny a nastaveny slu\u017eby: DHCP, TFTP.<\/p>\n<p>M\u00e1te linuxov\u00fd server, kter\u00fd pou\u017e\u00edv\u00e1te jako PXE instala\u010dn\u00ed server. Na n\u011bm jsou nainstalov\u00e1ny a nakonfigurov\u00e1ny slu\u017eby: DHCP, TFTP.<\/p>\n<p>Nyn\u00ed na\u010d\u00edt\u00e1me server (kter\u00fd je t\u0159eba nastavit) p\u0159es PXE. P\u0159ipome\u0148me si, jak to funguje:<\/p>\n<ul>\n<li>Na serveru je vybr\u00e1no bootov\u00e1n\u00ed p\u0159es s\u00ed\u0165.<\/li>\n<li>Server na\u010d\u00edt\u00e1 PXE-ROM s\u00ed\u0165ov\u00e9 karty a obrac\u00ed se na instala\u010dn\u00ed server pomoc\u00ed DHCP pro z\u00edsk\u00e1n\u00ed s\u00ed\u0165ov\u00e9 adresy.<\/li>\n<li>DHCP instala\u010dn\u00edho serveru d\u00e1v\u00e1 adresu a tak\u00e9 pokyn o dal\u0161\u00edm bootov\u00e1n\u00ed p\u0159es PXE.<\/li>\n<li>Server na\u010d\u00edt\u00e1 s\u00ed\u0165ov\u00fd zav\u00e1d\u011b\u010d z instala\u010dn\u00edho serveru p\u0159es PXE, dal\u0161\u00ed bootov\u00e1n\u00ed prob\u00edh\u00e1 podle konfigura\u010dn\u00edho souboru PXE.<\/li>\n<li>Prob\u00edh\u00e1 bootov\u00e1n\u00ed na z\u00e1klad\u011b z\u00edskan\u00fdch parametr\u016f (j\u00e1dro, initramfs, body p\u0159ipojen\u00ed, obraz squashfs a dal\u0161\u00ed).<\/li>\n<\/ul>\n<p>\nPozn\u00e1mka. V \u010dl\u00e1nku je pops\u00e1no bootov\u00e1n\u00ed p\u0159es PXE pomoc\u00ed re\u017eimu BIOS. V sou\u010dasnosti v\u00fdrobci aktivn\u011b implementuj\u00ed UEFI bootmode. Pro PXE bude rozd\u00edl v konfiguraci DHCP serveru a dostupnosti dal\u0161\u00edho zav\u00e1d\u011b\u010de.<\/p>\n<p>Pod\u00edv\u00e1me se na p\u0159\u00edklad konfigurace PXE serveru (menu pxelinux).<\/p>\n<p>Soubor pxelinux.cfg\/default:<\/p>\n<pre><code class=\"plaintext\">default menu.c32\nprompt 0\ntimeout 100\nmenu title X5 PXE Boot Menu\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 \/\/ v\u00fdchoz\u00ed menu\n\tMENU LABEL Linux Scripting Toolkits\n\tMENU default\n\tKERNEL menu.c32\n\tAPPEND pxelinux.cfg\/toolkit \/\/ p\u0159echod na dal\u0161\u00ed menu<\/code><\/pre>\n<p>\nSoubor pxelinux.cfg\/toolkit:<\/p>\n<pre><code class=\"plaintext\">prompt 0\ntimeout 100\nmenu title X5 PXE Boot Menu\nlabel mainmenu\n    menu label ^Vr\u00e1tit se do hlavn\u00edho menu\n    kernel menu.c32\n    append pxelinux.cfg\/default\nlabel x5toolkit-auto \/\/ v\u00fdchoz\u00ed - automatick\u00fd re\u017eim\n        menu label x5 toolkit autoinstall\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 \/\/ pro debug - konzole\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>\nJ\u00e1dro a initramfs v t\u00e9to f\u00e1zi jsou mezilehl\u00fdm linuxov\u00fdm obrazem, pomoc\u00ed kter\u00e9ho bude prob\u00edhat hlavn\u00ed p\u0159\u00edprava a konfigurace serveru.<\/p>\n<p>Jak vid\u00edte, zav\u00e1d\u011b\u010d p\u0159ed\u00e1v\u00e1 mnoho parametr\u016f j\u00e1dru. N\u011bkter\u00e9 z t\u011bchto parametr\u016f pou\u017e\u00edv\u00e1 samotn\u00e9 j\u00e1dro. A n\u011bkter\u00e9 m\u016f\u017eeme vyu\u017e\u00edt pro na\u0161e \u00fa\u010dely. O tom bude \u0159e\u010d pozd\u011bji, ale zat\u00edm si m\u016f\u017eete zapamatovat, \u017ee v\u0161echny p\u0159edan\u00e9 parametry budou dostupn\u00e9 v mezilehl\u00e9m linuxov\u00e9m obraze p\u0159es \/proc\/cmdline.<\/p>\n<p>Kde je z\u00edskat, j\u00e1dro a initramfs?<br \/>\nZa z\u00e1klad si m\u016f\u017eete zvolit jak\u00fdkoliv linuxov\u00fd distribuci. Na co se zam\u011b\u0159it p\u0159i v\u00fdb\u011bru:<\/p>\n<ul>\n<li>Zav\u00e1d\u011bc\u00ed obraz by m\u011bl b\u00fdt univerz\u00e1ln\u00ed (p\u0159\u00edtomnost ovlada\u010d\u016f, mo\u017enosti instalace dodate\u010dn\u00fdch utilit);<\/li>\n<li>Pravd\u011bpodobn\u011b bude pot\u0159eba p\u0159izp\u016fsobit initramfs.<\/li>\n<\/ul>\n<p>\nJak je to provedeno v na\u0161em \u0159e\u0161en\u00ed pro X5? Jako z\u00e1klad byl vybr\u00e1n CentOS 7. Provedeme n\u00e1sleduj\u00edc\u00ed trik: p\u0159iprav\u00edme budouc\u00ed strukturu obrazu, zabal\u00edme ji do archivu a vytvo\u0159\u00edme initramfs, ve kter\u00e9m bude n\u00e1\u0161 archiv souborov\u00e9ho syst\u00e9mu. P\u0159i zav\u00e1d\u011bn\u00ed obrazu se archiv rozbal\u00ed do vytv\u00e1\u0159en\u00e9ho odd\u00edlu tmpfs. T\u00edmto zp\u016fsobem z\u00edsk\u00e1me minim\u00e1ln\u00ed, p\u0159itom plnohodnotn\u00fd live obraz linuxu se v\u0161emi pot\u0159ebn\u00fdmi utilitami, skl\u00e1daj\u00edc\u00ed se pouze ze dvou soubor\u016f: vmkernel a 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>\nTak\u017ee jsme ur\u010dili j\u00e1dro a initramfs, kter\u00e9 maj\u00ed b\u00fdt zavedeny. V d\u016fsledku toho v t\u00e9to f\u00e1zi, po zaveden\u00ed mezilehl\u00e9ho obrazu linuxu p\u0159es PXE, z\u00edsk\u00e1me konzoli OS.<\/p>\n<p>Skv\u011bl\u00e9, ale nyn\u00ed je pot\u0159eba p\u0159edat \u0159\u00edzen\u00ed na\u0161\u00ed \u201eautomatizaci\u201c.<\/p>\n<p>To lze prov\u00e9st takto.<\/p>\n<p>P\u0159edpokl\u00e1dejme, \u017ee po zaveden\u00ed obrazu pl\u00e1nujeme p\u0159edat \u0159\u00edzen\u00ed do skriptu mount.sh.<br \/>\nZa\u010dlen\u00edme skript mount.sh do automatick\u00e9ho spu\u0161t\u011bn\u00ed. K tomu bude t\u0159eba upravit initramfs:<\/p>\n<ul>\n<li>rozbalit initramfs (pokud pou\u017e\u00edv\u00e1me v\u00fd\u0161e uvedenou variantu initramfs, to nen\u00ed t\u0159eba)<\/li>\n<li>v\u010detn\u011b k\u00f3du do automatick\u00e9ho spu\u0161t\u011bn\u00ed, kter\u00fd prozkoum\u00e1 p\u0159ed\u00e1van\u00e9 parametry p\u0159es \/proc\/cmdline a p\u0159ed\u00e1 \u0159\u00edzen\u00ed d\u00e1le;<\/li>\n<li>zabalit initramfs.<\/li>\n<\/ul>\n<p>\nPozn\u00e1mka. V p\u0159\u00edpad\u011b X5 toolkit se \u0159\u00edzen\u00ed zav\u00e1d\u011bn\u00ed p\u0159ed\u00e1v\u00e1 do skriptu <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>Tak\u017ee se zav\u00e1d\u00ed obraz, ve kter\u00e9m se ve spu\u0161t\u011bn\u00ed automaticky spou\u0161t\u00ed skript mount.sh. D\u00e1le skript mount.sh v pr\u016fb\u011bhu prov\u00e1d\u011bn\u00ed analyzuje p\u0159edan\u00e9 parametry (script_cmd=) a spou\u0161t\u00ed pot\u0159ebn\u00fd program\/skript.<\/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 vlastn\u00edmi silami, nebo Automatick\u00e1 p\u0159\u00edprava server\u016f od z\u00e1klad\u016f\" src=\"\/wp-content\/uploads\/2020\/03\/943eeb64fbf746feab5119ead5b1ca66.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nZde na lev\u00e9 stran\u011b \u2013 menu PXE, na prav\u00e9 \u2013 sch\u00e9ma p\u0159ed\u00e1v\u00e1n\u00ed \u0159\u00edzen\u00ed.<\/p>\n<p>S p\u0159ed\u00e1v\u00e1n\u00edm \u0159\u00edzen\u00ed jsme se vypo\u0159\u00e1dali. V z\u00e1vislosti na v\u00fdb\u011bru PXE-menu se spou\u0161t\u00ed bu\u010f skript automatick\u00e9 konfigurace, nebo konzole pro lad\u011bn\u00ed.<\/p>\n<p>V p\u0159\u00edpad\u011b automatick\u00e9 konfigurace se montuj\u00ed pot\u0159ebn\u00e9 adres\u00e1\u0159e z instala\u010dn\u00edho serveru, v nich\u017e se nach\u00e1z\u00ed:<\/p>\n<ul>\n<li>skripty;<\/li>\n<li>ulo\u017een\u00e9 \u0161ablony BIOS\/UEFI r\u016fzn\u00fdch server\u016f;<\/li>\n<li>firmware;<\/li>\n<li>utility pro servery;<\/li>\n<li>logy.<\/li>\n<\/ul>\n<p>\nD\u00e1le skript mount.sh p\u0159ed\u00e1v\u00e1 \u0159\u00edzen\u00ed skriptu master-install.sh z adres\u00e1\u0159e se skripty.<\/p>\n<p>Strom skript\u016f (po\u0159ad\u00ed jejich spu\u0161t\u011bn\u00ed) vypad\u00e1 p\u0159ibli\u017en\u011b takto:<\/p>\n<ul>\n<li>master-install<\/li>\n<li>sharefunctions (spole\u010dn\u00e9 funkce)<\/li>\n<li>info (v\u00fdstup informac\u00ed)<\/li>\n<li>models (nastaven\u00ed parametr\u016f instalace na z\u00e1klad\u011b modelu serveru)<\/li>\n<li>prepare_utils (instalace pot\u0159ebn\u00fdch utilit)<\/li>\n<li>fwupdate (aktualizace firmwaru)<\/li>\n<li>diag (z\u00e1kladn\u00ed diagnostika)<\/li>\n<li>biosconf (nastaven\u00ed BIOSu\/UEFI)<\/li>\n<li>clockfix (nastaven\u00ed \u010dasu na z\u00e1kladn\u00ed desce)<\/li>\n<li>srmconf (nastaven\u00ed rozhran\u00ed vzd\u00e1len\u00e9ho p\u0159\u00edstupu)<\/li>\n<li>raidconf (nastaven\u00ed logick\u00fdch svazk\u016f)<\/li>\n<\/ul>\n<p>\njeden z:<\/p>\n<ul>\n<li>preinstall (p\u0159ed\u00e1n\u00ed \u0159\u00edzen\u00ed instal\u00e1toru OS nebo hypervizoru, nap\u0159. ESXi)<\/li>\n<li>merged-install (okam\u017eit\u00fd start rozbalen\u00ed obrazu)<\/li>\n<\/ul>\n<p>\n<b>Nyn\u00ed v\u00edme:<\/p>\n<ul>\n<li>jak zav\u00e9st server p\u0159es PXE;<\/li>\n<li>jak p\u0159edat \u0159\u00edzen\u00ed do vlastn\u00edho skriptu.<\/li>\n<\/ul>\n<p><\/b><br \/>\nPokra\u010dujeme. Aktu\u00e1ln\u00ed ot\u00e1zky jsou:<\/p>\n<ul>\n<li>Jak identifikovat server, kter\u00fd p\u0159ipravujeme?<\/li>\n<li>Jak\u00e9 utility a jak konfigurovat server?<\/li>\n<li>Jak z\u00edskat nastaven\u00ed pro konkr\u00e9tn\u00ed server?<\/li>\n<\/ul>\n<p><\/p>\n<h3>Jak identifikovat server, kter\u00fd p\u0159ipravujeme?<\/h3>\n<p>\nTo je jednoduch\u00e9 \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>\nZde je v\u0161e, co pot\u0159ebujete: dodavatel, model, s\u00e9riov\u00e9 \u010d\u00edslo. Pokud si nejste jisti, \u017ee tyto informace jsou k dispozici na v\u0161ech serverech, m\u016f\u017eete je identifikovat podle MAC adresy. Nebo ob\u011bma zp\u016fsoby najednou, pokud jsou dodavatel\u00e9 server\u016f r\u016fzn\u00ed a na n\u011bkter\u00fdch modelech chyb\u00ed informace o s\u00e9riov\u00e9m \u010d\u00edsle.<\/p>\n<p>Na z\u00e1klad\u011b z\u00edskan\u00fdch informac\u00ed se namontuj\u00ed s\u00ed\u0165ov\u00e9 slo\u017eky z instala\u010dn\u00edho serveru a na\u010dte se v\u0161e pot\u0159ebn\u00e9 (utility, firmwary a dal\u0161\u00ed).<\/p>\n<h3>Jak\u00e9 utility a jak konfigurovat server?<\/h3>\n<p>\nUvedu utility pro Linux pro n\u011bkter\u00e9 v\u00fdrobce. V\u0161echny utility jsou k dispozici na ofici\u00e1ln\u00edch str\u00e1nk\u00e1ch dodavatel\u016f.<\/p>\n<p><img decoding=\"async\" alt=\"Bare-Metal Provisioning vlastn\u00edmi silami, nebo Automatick\u00e1 p\u0159\u00edprava server\u016f od z\u00e1klad\u016f\" src=\"\/wp-content\/uploads\/2020\/03\/fab53d1fa6e9a222ec69248439551ad7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nS firmwary, mysl\u00edm, je v\u0161e jasn\u00e9. Obvykle jsou dod\u00e1v\u00e1ny ve form\u011b zabalen\u00fdch spustiteln\u00fdch soubor\u016f. Spustiteln\u00fd soubor \u0159\u00edd\u00ed proces aktualizace firmwaru a hl\u00e1s\u00ed k\u00f3d n\u00e1vratu.<\/p>\n<p>BIOS a IPMI se obvykle konfiguruj\u00ed prost\u0159ednictv\u00edm \u0161ablon. Pokud je to nutn\u00e9, lze \u0161ablonu upravit p\u0159ed samotn\u00fdm na\u010dten\u00edm.<\/p>\n<p>RAID utility n\u011bkter\u00fdch dodavatel\u016f mohou tak\u00e9 nastavovat podle \u0161ablony. Pokud tomu tak nen\u00ed, budete muset napsat skript pro nastaven\u00ed.<\/p>\n<p>Postup nastaven\u00ed RAID je v\u011bt\u0161inou n\u00e1sleduj\u00edc\u00ed:<\/p>\n<ul>\n<li>\u017d\u00e1d\u00e1me o aktu\u00e1ln\u00ed konfiguraci.<\/li>\n<li>Pokud ji\u017e existuj\u00ed logick\u00e9 svazky \u2013 odstran\u00edme je.<\/li>\n<li>Pod\u00edv\u00e1me se, jak\u00e9 fyzick\u00e9 disky jsou p\u0159\u00edtomny a kolik jich je.<\/li>\n<li>Vytvo\u0159\u00edme nov\u00fd logick\u00fd svazek. P\u0159eru\u0161\u00edme proces v p\u0159\u00edpad\u011b chyby.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Jak z\u00edskat nastaven\u00ed pro konkr\u00e9tn\u00ed server?<\/h3>\n<p>\nP\u0159edpokl\u00e1dejme, \u017ee nastaven\u00ed v\u0161ech server\u016f bude ulo\u017eeno na instala\u010dn\u00edm serveru. V takov\u00e9m p\u0159\u00edpad\u011b, abychom odpov\u011bd\u011bli na na\u0161i ot\u00e1zku, mus\u00edme nejprve vy\u0159e\u0161it, jak\u00fdm zp\u016fsobem p\u0159ed\u00e1vat nastaven\u00ed na instala\u010dn\u00ed server.<\/p>\n<p>Na za\u010d\u00e1tku lze bez probl\u00e9m\u016f pou\u017e\u00edt textov\u00e9 soubory. (V budoucnu lze pou\u017e\u00edt textov\u00fd soubor jako z\u00e1lo\u017en\u00ed zp\u016fsob p\u0159ed\u00e1v\u00e1n\u00ed nastaven\u00ed). <\/p>\n<p>M\u016f\u017eeme sd\u00edlet textov\u00fd soubor na instala\u010dn\u00edm serveru. A p\u0159idat jeho p\u0159ipojen\u00ed do skriptu mount.sh.<\/p>\n<p>\u0158\u00e1dky budou nap\u0159\u00edklad tohoto typu:<\/p>\n<p><s><\/p>\n<p>Tyto \u0159\u00e1dky budou p\u0159ed\u00e1v\u00e1ny v souboru in\u017een\u00fdrem z jeho pracovn\u00edho stroje. A d\u00e1le p\u0159i nastaven\u00ed serveru budou parametry pro konkr\u00e9tn\u00ed server p\u0159e\u010dteny ze souboru.<\/p>\n<p>Ale v budoucnu bychom m\u011bli pou\u017e\u00edvat datab\u00e1zi pro ukl\u00e1d\u00e1n\u00ed nastaven\u00ed, stav\u016f a z\u00e1znam\u016f o instalac\u00edch server\u016f.<\/p>\n<p>Samoz\u0159ejm\u011b, nebude mo\u017en\u00e9 obej\u00edt se bez datab\u00e1ze, a bude t\u0159eba vytvo\u0159it klientskou \u010d\u00e1st, pomoc\u00ed kter\u00e9 budou p\u0159ed\u00e1v\u00e1ny nastaven\u00ed do datab\u00e1ze. Realizace je slo\u017eit\u011bj\u0161\u00ed ve srovn\u00e1n\u00ed s textov\u00fdm souborem, ale ve skute\u010dnosti to nen\u00ed tak t\u011b\u017ek\u00e9, jak se zd\u00e1. Minim\u00e1ln\u00ed verzi klienta, kter\u00fd bude jednodu\u0161e p\u0159ed\u00e1vat data do datab\u00e1ze, je mo\u017en\u00e9 napsat na vlastn\u00ed p\u011bst. A v budoucnu lze klientskou aplikaci d\u00e1le vylep\u0161ovat ve voln\u00e9m re\u017eimu (reporty, tisk \u0161t\u00edtk\u016f, odes\u00edl\u00e1n\u00ed ozn\u00e1men\u00ed a dal\u0161\u00ed, co n\u00e1s napadne).<\/p>\n<p>P\u0159i ur\u010dit\u00e9m dotazu do datab\u00e1ze a uveden\u00ed s\u00e9riov\u00e9ho \u010d\u00edsla serveru z\u00edsk\u00e1me pot\u0159ebn\u00e9 parametry pro nastaven\u00ed serveru.<\/p>\n<p>Nav\u00edc nebudeme muset vym\u00fd\u0161let z\u00e1mky pro sou\u010dasn\u00fd p\u0159\u00edstup, jako je tomu v p\u0159\u00edpad\u011b textov\u00e9ho souboru.<\/p>\n<p>\u017durn\u00e1l nastaven\u00ed m\u016f\u017eeme zapisovat ve v\u0161ech f\u00e1z\u00edch do datab\u00e1ze a proces instalace \u0159\u00eddit prost\u0159ednictv\u00edm ud\u00e1lost\u00ed a vlajek f\u00e1z\u00ed p\u0159\u00edpravy.<\/p>\n<p><b>Nyn\u00ed v\u00edme, jak:<\/p>\n<ul>\n<li>na\u010d\u00edst server p\u0159es PXE;<\/li>\n<li>p\u0159edat \u0159\u00edzen\u00ed na\u0161emu skriptu;<\/li>\n<li>identifikovat server, kter\u00fd m\u00e1 b\u00fdt p\u0159ipraven, podle s\u00e9riov\u00e9ho \u010d\u00edsla;<\/li>\n<li>konfigurovat server pomoc\u00ed odpov\u00eddaj\u00edc\u00edch utilit;<\/li>\n<li>p\u0159ed\u00e1vat nastaven\u00ed do datab\u00e1ze instala\u010dn\u00edho serveru pomoc\u00ed klientsk\u00e9 \u010d\u00e1sti.<\/li>\n<\/ul>\n<p>\nZjistili jsme, jak\u00fdm zp\u016fsobem:<\/p>\n<ul>\n<li>instalovan\u00fd server z\u00edsk\u00e1v\u00e1 pot\u0159ebn\u00e1 nastaven\u00ed z datab\u00e1ze;<\/li>\n<li>cel\u00fd pokrok p\u0159\u00edpravy je zaznamen\u00e1v\u00e1n v datab\u00e1zi (logy, ud\u00e1losti, vlajky f\u00e1z\u00ed).<\/li>\n<\/ul>\n<p><\/b><\/p>\n<h3>Jak\u00e9 jsou r\u016fzn\u00e9 typy instalovateln\u00e9ho softwaru? Jak nainstalovat hypervisor, zkop\u00edrovat VM a v\u0161echno to nastavit?<\/h3>\n<p>\nV p\u0159\u00edpad\u011b nasazen\u00ed obrazu souborov\u00e9ho syst\u00e9mu (linux) na hardware je to celkem jednoduch\u00e9:<\/p>\n<ul>\n<li>Po nastaven\u00ed v\u0161ech komponent\u016f serveru nasad\u00edme obraz.<\/li>\n<li>Nainstalujeme bootloader grub.<\/li>\n<li>Prov\u00e1d\u00edme chroot a nastavujeme v\u0161e pot\u0159ebn\u00e9.<\/li>\n<\/ul>\n<p>\n<b>Jak p\u0159edat \u0159\u00edzen\u00ed instal\u00e1toru OS (na p\u0159\u00edkladu ESXi).<\/b><\/p>\n<ul>\n<li>Organizujeme p\u0159ed\u00e1n\u00ed \u0159\u00edzen\u00ed z na\u0161eho skriptu instal\u00e1toru hypervisoru pomoc\u00ed souboru odpov\u011bd\u00ed (kickstart):<\/li>\n<li>Odstra\u0148ujeme aktu\u00e1ln\u00ed odd\u00edly na disku.<\/li>\n<li>Vytv\u00e1\u0159\u00edme odd\u00edl o velikosti 500MB.<\/li>\n<li>Oz ozna\u010dujeme jako spou\u0161t\u011bc\u00ed.<\/li>\n<li>Form\u00e1tujeme na FAT32.<\/li>\n<li>Kop\u00edrujeme na n\u011bj do ko\u0159ene instala\u010dn\u00ed soubory ESXi.<\/li>\n<li>Instalujeme syslinux.<\/li>\n<li>Kop\u00edrujeme syslinux.cfg do \/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>Kop\u00edrujeme mboot.c32 do \/syslinux.<\/li>\n<li>V boot.cfg by m\u011blo b\u00fdt kernelopt=ks=ftp:\/\/\/ks_esxi.cfg<\/li>\n<li>Restartujeme server.<\/li>\n<\/ul>\n<p>\nPo restartov\u00e1n\u00ed serveru se z jeho pevn\u00e9ho disku spust\u00ed instal\u00e1tor ESXi. V\u0161echny pot\u0159ebn\u00e9 instala\u010dn\u00ed soubory se na\u010dtou do pam\u011bti a pot\u00e9 za\u010dne instalace ESXi podle uveden\u00e9ho souboru odpov\u011bd\u00ed.<\/p>\n<p>Zde uvedu n\u011bkolik \u0159\u00e1dk\u016f ze souboru odpov\u011bd\u00ed ks_esxi.cfg:<\/p>\n<pre><code class=\"plaintext\">%firstboot --interpreter=busybox\n\u2026\n# z\u00edsk\u00e1n\u00ed s\u00e9riov\u00e9ho \u010d\u00edsla\n\nSYSSN=$(esxcli hardware platform get | grep Serial | awk -F \" \" '{print $3}')\n\n# z\u00edsk\u00e1n\u00ed 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# p\u0159ipojen\u00ed k NFS instala\u010dn\u00edmu serveru\n\nesxcli storage nfs add -H is -s \/srv\/nfs_share -v nfsshare1\n\n# kop\u00edrov\u00e1n\u00ed do\u010dasn\u00fdch nastaven\u00ed ssh pro pou\u017eit\u00ed ssh klienta\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# kop\u00edrov\u00e1n\u00ed ovftool pro nasazen\u00ed VM nyn\u00ed a m\u016f\u017ee se hodit pozd\u011bji\n\ncp -R \/vmfs\/volumes\/nfsshare1\/ovftool \/vmfs\/volumes\/datastore1\/\n\n# nasazen\u00ed VM\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# z\u00edsk\u00e1n\u00ed \u0159\u00e1dku s nastaven\u00edmi na\u0161eho serveru\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# generov\u00e1n\u00ed skriptu pro nastaven\u00ed s\u00edt\u011b\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# nastavujeme parametr guestinfo.esxihost.id, uv\u00e1d\u00edme v n\u011bm s\u00e9riov\u00e9 \u010d\u00edslo\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# aktualizace informac\u00ed v datab\u00e1zi\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# vr\u00e1t\u00edme nastaven\u00ed SSH\n\nrm -rf \/etc\/ssh\nmv \/etc\/ssh.tmp \/etc\/ssh\n\n# nastavujeme s\u00ed\u0165 a restartujeme\n\nesxcli system hostname set --fqdn=esx-${G_NICK}.x5.ru\n\/vmfs\/volumes\/datastore1\/netconf.sh\nreboot\n<\/code><\/pre>\n<p>\nV t\u00e9to f\u00e1zi je hypervizor nainstalov\u00e1n a nakonfigurov\u00e1n, virtu\u00e1ln\u00ed stroje byly zkop\u00edrov\u00e1ny.<\/p>\n<p>Jak nyn\u00ed nakonfigurovat virtu\u00e1ln\u00ed stroje?<\/p>\n<p>Trochu jsme podv\u00e1d\u011bli: b\u011bhem instalace jsme nastavili parametr guestinfo.esxihost.id = \"$SYSSN\" v souboru VM1.vmx a uvedli v n\u011bm s\u00e9riov\u00e9 \u010d\u00edslo fyzick\u00e9ho serveru.<\/p>\n<p>Nyn\u00ed po spu\u0161t\u011bn\u00ed m\u016f\u017ee virtu\u00e1ln\u00ed stroj (s nainstalovan\u00fdm bal\u00ed\u010dkem vmware-tools) p\u0159istupovat k tomuto parametru:<\/p>\n<pre><code class=\"plaintext\">ESXI_SN=$(vmtoolsd --cmd \"info-get guestinfo.esxihost.id\")<\/code><\/pre>\n<p>\nTo znamen\u00e1, \u017ee VM se dok\u00e1\u017ee identifikovat (zn\u00e1 s\u00e9riov\u00e9 \u010d\u00edslo fyzick\u00e9ho hostitele), provede dotaz do datab\u00e1ze instala\u010dn\u00edho serveru a z\u00edsk\u00e1 pot\u0159ebn\u00e9 parametry pro konfiguraci. To v\u0161e je zabaleno do skriptu, kter\u00fd by m\u011bl b\u00fdt automaticky spu\u0161t\u011bn p\u0159i startu guestos vm (ale pouze jednou: RunOnce).<\/p>\n<p><b>Nyn\u00ed v\u00edme, jak:<\/p>\n<ul>\n<li>na\u010d\u00edst server p\u0159es PXE;<\/li>\n<li>p\u0159edat \u0159\u00edzen\u00ed na\u0161emu skriptu;<\/li>\n<li>identifikovat server, kter\u00fd m\u00e1 b\u00fdt p\u0159ipraven, podle s\u00e9riov\u00e9ho \u010d\u00edsla;<\/li>\n<li>konfigurovat server pomoc\u00ed p\u0159\u00edslu\u0161n\u00fdch n\u00e1stroj\u016f;<\/li>\n<li>p\u0159ed\u00e1vat nastaven\u00ed do datab\u00e1ze instala\u010dn\u00edho serveru prost\u0159ednictv\u00edm klientsk\u00e9 \u010d\u00e1sti;<\/li>\n<li>nastavovat r\u016fzn\u00e9 typy softwaru, v\u010detn\u011b nasazen\u00ed hypervizoru ESXi a konfigurace virtu\u00e1ln\u00edch stroj\u016f (a to v\u0161e automaticky).<\/li>\n<\/ul>\n<p>\nZjistili jsme, jak\u00fdm zp\u016fsobem:<\/p>\n<ul>\n<li>instalovan\u00fd server z\u00edsk\u00e1v\u00e1 pot\u0159ebn\u00e1 nastaven\u00ed z datab\u00e1ze;<\/li>\n<li>cel\u00fd pokrok p\u0159\u00edpravy je zaznamen\u00e1v\u00e1n v datab\u00e1zi (logy, ud\u00e1losti, vlajky f\u00e1z\u00ed).<\/li>\n<\/ul>\n<p><\/b><br \/>\n<u><b>V\u00fdsledek:<\/b><\/u><\/p>\n<p>Domn\u00edv\u00e1m se, \u017ee jedine\u010dnost tohoto \u0159e\u0161en\u00ed spo\u010d\u00edv\u00e1 v flexibilit\u011b, jednoduchosti, mo\u017enostech a univerz\u00e1lnosti.<\/p>\n<p>Pros\u00edm, napi\u0161te do koment\u00e1\u0159\u016f, co si mysl\u00edte.<br \/>\n<br \/>Zdroj: <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 5.0.3 - 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.\" \/>\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\/cs\/blog\/administrirovanie\/bare-metal-provisioning-svoimi-rukami-ili-avtomaticheskaya-podgotovka-serverov-s-nulya\" \/>\n\t\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.3\" \/>\n\t\t<meta property=\"og:locale\" content=\"cs_CZ\" \/>\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.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/cs\/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 vlastnoru\u010dn\u011b, nebo Automatick\u00e1 p\u0159\u00edprava server\u016f od nuly | ProHoster","description":"Ahoj, jsem Denis a jedn\u00edm z m\u00fdch pracovn\u00edch zam\u011b\u0159en\u00ed je v\u00fdvoj infrastrukturn\u00edch \u0159e\u0161en\u00ed v X5.","canonical_url":"https:\/\/prohoster.info\/cs\/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":"cs_CZ","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.","og:url":"https:\/\/prohoster.info\/cs\/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","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/74905","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/comments?post=74905"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/74905\/revisions"}],"predecessor-version":[{"id":158713,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/posts\/74905\/revisions\/158713"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media\/74906"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/media?parent=74905"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/categories?post=74905"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/cs\/wp-json\/wp\/v2\/tags?post=74905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}