{"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\/sq\/blog\/administrirovanie\/bare-metal-provisioning-svoimi-rukami-ili-avtomaticheskaya-podgotovka-serverov-s-nulya","title":{"rendered":"Bare-Metal Provisioning me forcat tuaja, ose P\u00ebrgatitja automatike e server\u00ebve nga e para","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p>P\u00ebrsh\u00ebndetje, un\u00eb jam Denis dhe nj\u00eb nga fushat e mia t\u00eb aktivitetit \u00ebsht\u00eb zhvillimi i zgjidhjeve infrastruktuore n\u00eb X5. Sot do t\u00eb doja t\u00eb ndaja me ju se si mund t\u00eb vendosni nj\u00eb sistem automatik t\u00eb p\u00ebrgatitjes s\u00eb server\u00ebve mbi baz\u00ebn e mjeteve publike. Mendoj se \u00ebsht\u00eb nj\u00eb zgjidhje interesante, e thjesht\u00eb dhe fleksib\u00ebl.<\/p>\n<p><img decoding=\"async\" alt=\"Bare-Metal Provisioning me forcat tuaja, ose P\u00ebrgatitja automatike e server\u00ebve nga e para\" 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 \/>\nMe p\u00ebrgatitjen n\u00ebnkuptohet: t\u00eb b\u00ebhet nj\u00eb server i ri nga kutia, nj\u00eb server plot\u00ebsisht i konfiguruar me sistemin operativ Linux ose me hipervizorin ESXi (shp\u00ebrndarja <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sq\/server\/\"   title=\"server\u00ebsh\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1469\">server\u00ebsh<\/a> Windows n\u00eb k\u00ebt\u00eb artikull nuk diskutohet).<\/p>\n<p><b>Terminologji<\/b>:<\/p>\n<ul>\n<li>server\u00ebt \u2013 server\u00ebt q\u00eb duhet t\u00eb konfigurohen.<\/li>\n<li>install-server \u2013 serveri kryesor q\u00eb siguroni t\u00eb gjith\u00eb procesin e p\u00ebrgatitjes n\u00eb rrjet.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Pse \u00ebsht\u00eb e nevojshme automatizimi?<\/h3>\n<p>\nL\u00ebvizni, ka nj\u00eb detyr\u00eb: p\u00ebrgatitjen masive t\u00eb server\u00ebve nga zero, n\u00eb maksimum \u2013 30 n\u00eb dit\u00eb. Server\u00eb nga prodhues dhe modele t\u00eb ndryshme, mbi to mund t\u00eb instalohet sisteme t\u00eb ndryshme operative, mund t\u00eb ket\u00eb ose t\u00eb mos ket\u00eb hipervizor.<\/p>\n<p>Cilat operacione p\u00ebrfshihen n\u00eb procesin e konfigurimit (pa automatizim):<\/p>\n<ul>\n<li>t\u00eb lidheni nj\u00eb tastier\u00eb, maus, monitor me serverin;<\/li>\n<li>t\u00eb konfigurohet BIOS, RAID, IPMI;<\/li>\n<li>t\u00eb p\u00ebrdit\u00ebsohen firmware e komponenteve;<\/li>\n<li>t\u00eb vendoset imazhi i sistemit t\u00eb skedar\u00ebve (ose t\u00eb instalohet hipervizori dhe t\u00eb kopjohen makin\u00ebn virtuale);<\/li>\n<\/ul>\n<p>\nSh\u00ebnim. Si nj\u00eb mund\u00ebsi, depolimi i OS \u00ebsht\u00eb i mundur p\u00ebrmes instalimit me skedarin e p\u00ebrgjigjeve automatik. Por kjo nuk do t\u00eb diskutohet n\u00eb artikull. Megjithat\u00eb, m\u00eb posht\u00eb do t\u00eb shihni se \u00ebsht\u00eb e leht\u00eb t\u00eb shtohet ky funksionalitet.<\/p>\n<ul>\n<li>t\u00eb konfigurohen parametrat e OS (hostname, IP, t\u00eb tjera).<\/li>\n<\/ul>\n<p>\nMe k\u00ebt\u00eb qasje, kryhen t\u00eb nj\u00ebjtat konfigurime n\u00eb m\u00ebnyr\u00eb s\u00ebndesh p\u00ebr \u00e7do server. Efikasiteti i nj\u00eb pune t\u00eb till\u00eb \u00ebsht\u00eb shum\u00eb i ul\u00ebt.<\/p>\n<p>Essenca e automatizimit \u00ebsht\u00eb p\u00ebrjashtimi i pjes\u00ebmarrjes s\u00eb njeriut nga procesi i p\u00ebrgatitjes s\u00eb serverit. Sa m\u00eb shum\u00eb q\u00eb \u00ebsht\u00eb e mundur. <\/p>\n<p>Fal\u00eb automatizimit, reduktohet koha e papun\u00ebsis\u00eb midis operacioneve dhe krijohet mund\u00ebsia p\u00ebr t\u00eb p\u00ebrgatitur disa server\u00eb n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb. Po ashtu, ul shum\u00eb probabilitetin e shfaqjes s\u00eb gabimeve p\u00ebr shkak t\u00eb faktor\u00ebve njer\u00ebzor\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"Bare-Metal Provisioning me forcat tuaja, ose P\u00ebrgatitja automatike e server\u00ebve nga e para\" src=\"\/wp-content\/uploads\/2020\/03\/8c196058891a7f41c5b93e7f6721480b.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<\/p>\n<h3>Si ndodh konfigurimi automatik i server\u00ebve?<\/h3>\n<p>\nDo t\u00eb analizojm\u00eb \u00e7do faz\u00eb n\u00eb detaje.<\/p>\n<p>Keni nj\u00eb server linux q\u00eb e p\u00ebrdorni si PXE install-server. N\u00eb t\u00eb jan\u00eb instaluar dhe konfiguruar sh\u00ebrbimet: DHCP, TFTP.<\/p>\n<p>Pra, ngarkoni serverin (q\u00eb duhet t\u00eb konfigurohet) p\u00ebrmes PXE. Le ta kujtojm\u00eb si funksionon:<\/p>\n<ul>\n<li>N\u00eb server \u00ebsht\u00eb zgjedhur ngarkimi p\u00ebrmes rrjetit.<\/li>\n<li>Server loads the PXE-ROM of the network card and connects to the install server via DHCP to obtain a network address.<\/li>\n<li>The DHCP install server issues the address and instructions for further loading via PXE.<\/li>\n<li>The server loads the network loader from the install server via PXE, and further loading occurs according to the PXE configuration file.<\/li>\n<li>Loading occurs based on the received parameters (kernel, initramfs, mount points, squashfs image, etc.).<\/li>\n<\/ul>\n<p>\nNote: This article describes loading via PXE through BIOS mode. Manufacturers are actively implementing UEFI boot mode. For PXE, the difference will be in the DHCP server configuration and the presence of an additional bootloader.<\/p>\n<p>Let\u2019s consider an example of PXE server configuration (pxelinux menu).<\/p>\n<p>File 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 \/\/ default menu\n\tMENU LABEL Linux Scripting Toolkits\n\tMENU default\n\tKERNEL menu.c32\n\tAPPEND pxelinux.cfg\/toolkit \/\/ transition to next menu<\/code><\/pre>\n<p>\nFile pxelinux.cfg\/toolkit:<\/p>\n<pre><code class=\"plaintext\">prompt 0\ntimeout 100\nmenu title X5 PXE Boot Menu\nlabel mainmenu\n    menu label ^Return to Main Menu\n    kernel menu.c32\n    append pxelinux.cfg\/default\nlabel x5toolkit-auto \/\/ default - automatic mode\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 \/\/ for debugging - console\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>\nThe kernel and initramfs at this stage are an intermediate linux image, which will be used for the main preparation and configuration of the server.<\/p>\n<p>As you can see, the bootloader passes many parameters to the kernel. Some of these parameters are used by the kernel itself, while others we can use for our purposes. This will be explained further, but for now, just remember that all passed parameters will be available in the intermediate linux image via \/proc\/cmdline.<\/p>\n<p>Where to get them, the kernel and initramfs?<br \/>\nYou can choose any linux distribution as the basis. What to pay attention to when choosing:<\/p>\n<ul>\n<li>the boot image must be universal (availability of drivers, ability to install additional utilities);<\/li>\n<li>ndoshta do t\u00eb nevojitet t\u00eb personalizojm\u00eb initramfs.<\/li>\n<\/ul>\n<p>\nSi \u00ebsht\u00eb b\u00ebr\u00eb kjo n\u00eb zgjidhjen ton\u00eb p\u00ebr X5? Si baz\u00eb \u00ebsht\u00eb zgjedhur CentOS 7. Do t\u00eb realizojm\u00eb k\u00ebt\u00eb truk: do t\u00eb p\u00ebrgatisim struktur\u00ebn e ardhshme t\u00eb imazhit, do ta paketojm\u00eb at\u00eb n\u00eb nj\u00eb arkiv dhe do t\u00eb krijojm\u00eb initramfs, brenda t\u00eb cilit do t\u00eb jet\u00eb arkivi i sistemit t\u00eb skedhave. Gjat\u00eb ngarkimit t\u00eb imazhit, arkivi do t\u00eb deshifrohet n\u00eb ndarjen e krijuar tmpfs. N\u00eb k\u00ebt\u00eb m\u00ebnyr\u00eb, do t\u00eb arrijm\u00eb nj\u00eb imazh minimal live linux me t\u00eb gjitha utilitetet e nevojshme, p\u00ebrb\u00ebr\u00eb nga vet\u00ebm dy skedha: vmkernel dhe 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>\nPra, ne specifikuam b\u00ebrtham\u00ebn dhe initramfs q\u00eb duhet t\u00eb ngarkohen. Si rezultat, n\u00eb k\u00ebt\u00eb faz\u00eb, duke ngarkuar imazhin e p\u00ebrkohsh\u00ebm linux p\u00ebrmes PXE, do t\u00eb marrim konsol\u00ebn e OS.<\/p>\n<p>Shum\u00eb mir\u00eb, por tani duhet t\u00eb kalojm\u00eb kontrollin tek \u201cautomatizimi\u201d yn\u00eb.<\/p>\n<p>Kjo mund t\u00eb b\u00ebhet k\u00ebshtu.<\/p>\n<p>Supozoni se, pas ngarkimit t\u00eb imazhit, ne planifikojm\u00eb t\u00eb kalojm\u00eb kontrollin n\u00eb skenarin mount.sh.<br \/>\nDo ta p\u00ebrfshijm\u00eb skenarin mount.sh n\u00eb autostart. P\u00ebr k\u00ebt\u00eb do t\u00eb duhet t\u00eb modifikojm\u00eb initramfs:<\/p>\n<ul>\n<li>t\u00eb deshifrojm\u00eb initramfs (n\u00ebse p\u00ebrdorim variantin e lartp\u00ebrmendur t\u00eb initramfs, nuk \u00ebsht\u00eb e nevojshme)<\/li>\n<li>t\u00eb p\u00ebrfshijm\u00eb n\u00eb autostart kodin q\u00eb do t\u00eb analizoj\u00eb parametrat e kaluara p\u00ebrmes \/proc\/cmdline dhe do t\u00eb kaloj\u00eb kontrollin m\u00eb tej;<\/li>\n<li>t\u00eb paketojm\u00eb initramfs.<\/li>\n<\/ul>\n<p>\nSh\u00ebnim. N\u00eb rastin e X5 toolkit, kontrolli i ngarkimit kalon n\u00eb skenarin <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>Pra, ngarkohet imazhi, n\u00eb t\u00eb cilin n\u00eb autostart fillon skenari mount.sh. M\u00eb pas, skenari mount.sh gjat\u00eb ekzekutimit analiz\u00eb parametrat e kaluara (script_cmd=) dhe ekzekuton programin\/skedarin e nevojsh\u00ebm.<\/p>\n<p>etiketa toolkit-<b>auto<\/b><br \/>\nb\u00ebrthama \u2026<br \/>\nshtojca \u2026 nfs_toolkit_script=scripts\/mount.sh <b>script_cmd=master-install.sh<br \/>\n<\/b><br \/>\netiketa toolkit-<b>shell<\/b><br \/>\nb\u00ebrthama \u2026<br \/>\nshtojca \u2026 nfs_toolkit_script=scripts\/mount.sh <b>script_cmd=\/bin\/bash<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Bare-Metal Provisioning me forcat tuaja, ose P\u00ebrgatitja automatike e server\u00ebve nga e para\" src=\"\/wp-content\/uploads\/2020\/03\/943eeb64fbf746feab5119ead5b1ca66.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nK\u00ebtu n\u00eb an\u00ebn e majt\u00eb - menuja PXE, n\u00eb an\u00ebn e djatht\u00eb - skema e kalimit t\u00eb kontrollit.<\/p>\n<p>Me kalimin e kontrollit ne jemi t\u00eb qart\u00eb. N\u00eb var\u00ebsi t\u00eb zgjedhjes n\u00eb menu PXE, startohet ose skenari i automatik\u00ebs, ose konsola p\u00ebr debugim.<\/p>\n<p>N\u00eb rast t\u00eb konfigurimit automatik, montohen direktor\u00ebt e nevojshme nga instalimi, n\u00eb t\u00eb cilat gjenden:<\/p>\n<ul>\n<li>skenar\u00ebt;<\/li>\n<li>shabllonat e ruajtura BIOS\/UEFI t\u00eb server\u00ebve t\u00eb ndrysh\u00ebm;<\/li>\n<li>firmware;<\/li>\n<li>utilitetet p\u00ebr server\u00ebt;<\/li>\n<li>log-et.<\/li>\n<\/ul>\n<p>\nM\u00eb pas skenari mount.sh kalon kontrollin tek skenari master-install.sh nga direktoria q\u00eb p\u00ebrmban skenaret.<\/p>\n<p>Struktura e skenareve (renditja e ekzekutimit) duket k\u00ebshtu:<\/p>\n<ul>\n<li>master-install<\/li>\n<li>sharefunctions (funksione t\u00eb p\u00ebrbashk\u00ebta)<\/li>\n<li>info (dalja e informacionit)<\/li>\n<li>modelet (vendosja e parametrave t\u00eb instalimit n\u00eb baz\u00eb t\u00eb modelit t\u00eb serverit)<\/li>\n<li>prepare_utils (instalimi i utiliteteve t\u00eb nevojshme)<\/li>\n<li>fwupdate (p\u00ebrdit\u00ebsimi i firmware)<\/li>\n<li>diag (diagnoza elementare)<\/li>\n<li>biosconf (konfigurimi i BIOS\/UEFI)<\/li>\n<li>clockfix (konfigurimi i koh\u00ebs n\u00eb pllak\u00ebn e n\u00ebn\u00ebs)<\/li>\n<li>srmconf (konfigurimi i nd\u00ebrfaqes s\u00eb qasjes n\u00eb distanc\u00eb)<\/li>\n<li>raidconf (konfigurimi i volume-ve logjike)<\/li>\n<\/ul>\n<p>\nnj\u00eb nga:<\/p>\n<ul>\n<li>preinstall (kallimi i kontrollit te instaluesi i OS-s\u00eb ose hipervizorit, p\u00ebr shembull ESXi)<\/li>\n<li>merged-install (nisja e drejtp\u00ebrdrejt\u00eb e zhbllokimit t\u00eb imazhit)<\/li>\n<\/ul>\n<p>\n<b>Tani e dim\u00eb:<\/p>\n<ul>\n<li>si t\u00eb ngarkohet serveri p\u00ebrmes PXE;<\/li>\n<li>si t\u00eb transferohet kontrolli n\u00eb skenarin ton\u00eb.<\/li>\n<\/ul>\n<p><\/b><br \/>\nT\u00eb vazhdojm\u00eb. K\u00ebto pyetje jan\u00eb b\u00ebr\u00eb aktuale:<\/p>\n<ul>\n<li>Si t\u00eb identifikojm\u00eb serverin q\u00eb po p\u00ebrgatitim?<\/li>\n<li>Me cilat mjete dhe si ta konfigurojm\u00eb serverin?<\/li>\n<li>Si t\u00eb marrim konfigurimet p\u00ebr serverin specifik?<\/li>\n<\/ul>\n<p><\/p>\n<h3>Si t\u00eb identifikojm\u00eb serverin q\u00eb po p\u00ebrgatitim?<\/h3>\n<p>\nKjo \u00ebsht\u00eb e thjesht\u00eb \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>\nK\u00ebtu ka gjith\u00e7ka q\u00eb nevojitet: prodhuesi, modeli, numri serial. N\u00ebse nuk jeni t\u00eb sigurt se kjo informacion \u00ebsht\u00eb prezent n\u00eb t\u00eb gjitha serverat, mund t'i identifikoni ato me adres\u00ebn MAC. Ose, t\u00eb dy m\u00ebnyrat p\u00ebr nj\u00ebkoh\u00ebsisht, n\u00ebse prodhuesit e server\u00ebve jan\u00eb t\u00eb ndrysh\u00ebm dhe n\u00eb disa modele informacioni mbi numrin serial \u00ebsht\u00eb thjesht i munguar.<\/p>\n<p>N\u00eb baz\u00eb t\u00eb informacionit t\u00eb marr\u00eb, montohen dosjet rrjet\u00ebsore nga serveri i instalimeve dhe ngarkohet gjith\u00e7ka e nevojshme (mjete, firmware dhe t\u00eb tjera).<\/p>\n<h3>Me cilat mjete dhe si ta konfigurojm\u00eb serverin?<\/h3>\n<p>\nDo t\u00eb jap mjete p\u00ebr linux p\u00ebr disa prodhues. T\u00eb gjitha mjetet jan\u00eb t\u00eb disponueshme n\u00eb faqet zyrtare t\u00eb prodhuesve.<\/p>\n<p><img decoding=\"async\" alt=\"Bare-Metal Provisioning me forcat tuaja, ose P\u00ebrgatitja automatike e server\u00ebve nga e para\" src=\"\/wp-content\/uploads\/2020\/03\/fab53d1fa6e9a222ec69248439551ad7.jpg\" style=\"display:block;margin: 0 auto;\" \/><br \/>\n<br \/>\nMe firmware, mendoj se t\u00eb gjitha jan\u00eb t\u00eb qarta. Zakonisht, ato ofrohen si skedar\u00eb ekzekutiv\u00eb t\u00eb paketuar. Skedari ekzekutiv kontrollon procesin e p\u00ebrdit\u00ebsimit t\u00eb firmware dhe raporton kodin e kthimit.<\/p>\n<p>BIOS dhe IPMI zakonisht konfigurohen p\u00ebrmes shablloneve. N\u00ebse \u00ebsht\u00eb e nevojshme, shablloni mund t\u00eb redaktohet para ngarkimit t\u00eb vet\u00eb.<\/p>\n<p>Mjetet RAID nga disa prodhues gjithashtu mund t\u00eb konfigurohen n\u00eb baz\u00eb t\u00eb shablloneve. N\u00ebse kjo nuk \u00ebsht\u00eb k\u00ebshtu, at\u00ebher\u00eb do t\u00eb duhet t\u00eb shkruani nj\u00eb skenar konfigurimi.<\/p>\n<p>Renditja e konfigurimit t\u00eb RAID zakonisht \u00ebsht\u00eb si m\u00eb posht\u00eb:<\/p>\n<ul>\n<li>K\u00ebrkojm\u00eb konfigurimin aktual.<\/li>\n<li>N\u00ebse tashm\u00eb ekzistojn\u00eb volumet logjike \u2013 i fshijm\u00eb.<\/li>\n<li>Shikojm\u00eb se cilat disqe fizike jan\u00eb t\u00eb pranishme dhe sa jan\u00eb.<\/li>\n<li>Krijojm\u00eb nj\u00eb volum t\u00eb ri logjik. Nd\u00ebrpresim procesin n\u00eb rast t\u00eb gabimit.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Si t\u00eb marrim konfigurimet p\u00ebr serverin specifik?<\/h3>\n<p>\nSupozoni se konfigurimet e t\u00eb gjith\u00eb server\u00ebve do t\u00eb ruhen n\u00eb serverin e instalimeve. N\u00eb k\u00ebt\u00eb rast, p\u00ebr t\u00eb p\u00ebrgjigjur n\u00eb pyetjen ton\u00eb, f\u00f8rst duhet t\u00eb vendosim: si do t\u00eb kalojm\u00eb konfigurimet n\u00eb serverin e instalimeve.<\/p>\n<p>N\u00eb fillim, \u00ebsht\u00eb mjaft e mundur t\u00eb p\u00ebrballesh me skedar\u00ebt tekstual\u00eb. (N\u00eb t\u00eb ardhmen, mund t\u00eb p\u00ebrdor\u00ebsh skedarin tekst si nj\u00eb m\u00ebnyr\u00eb rezerv\u00eb p\u00ebr t\u00eb transferuar cil\u00ebsimet). <\/p>\n<p>Mund t\u00eb \"ndash\" nj\u00eb skedar tekstual n\u00eb serverin e instalimit. Dhe t\u00eb shtosh montimin e tij n\u00eb skenarin mount.sh.<\/p>\n<p>Radh\u00ebt do t\u00eb jen\u00eb, p\u00ebr shembull, t\u00eb k\u00ebtij lloji:<\/p>\n<p><\/p>\n<p>K\u00ebto radh\u00eb do t\u00eb d\u00ebrgohen n\u00eb skedar nga inxhinieri nga makina e tij e pun\u00ebs. Dhe m\u00eb pas, gjat\u00eb konfigurimit t\u00eb serverit, parametrat p\u00ebr serverin specifik do t\u00eb lexohen nga skedari.<\/p>\n<p>Por, n\u00eb perspektiv\u00eb, \u00ebsht\u00eb m\u00eb mir\u00eb t\u00eb p\u00ebrdoret nj\u00eb DB p\u00ebr ruajtjen e cil\u00ebsimeve, gjendjeve dhe regjistrimeve t\u00eb instalimeve t\u00eb server\u00ebve.<\/p>\n<p>Sigurisht, nuk mjafton nj\u00eb DB, dhe do t\u00eb nevojitet t\u00eb krijohet nj\u00eb pjes\u00eb klienti, me ndihm\u00ebn e t\u00eb cil\u00ebs do t\u00eb d\u00ebrgohen cil\u00ebsimet n\u00eb baz\u00eb. Zbatimi i k\u00ebsaj \u00ebsht\u00eb m\u00eb i komplikuar, n\u00eb krahasim me skedarin tekst, por, n\u00eb t\u00eb v\u00ebrtet\u00eb, gjith\u00e7ka nuk \u00ebsht\u00eb aq e v\u00ebshtir\u00eb sa duket. Nj\u00eb version minimal t\u00eb klientit, i cili do t\u00eb d\u00ebrgoj\u00eb thjesht t\u00eb dh\u00ebna n\u00eb DB, \u00ebsht\u00eb plot\u00ebsisht e mundur ta shkruash vet\u00eb. Dhe p\u00ebrmir\u00ebsimi i programit klient n\u00eb t\u00eb ardhmen mund t\u00eb b\u00ebhet gjithashtu n\u00eb nj\u00eb m\u00ebnyr\u00eb t\u00eb lir\u00eb (raporte, printimi i etiketimeve, d\u00ebrgimi i njoftimeve dhe gjith\u00e7ka tjet\u00ebr q\u00eb mund t\u00eb vij\u00eb n\u00eb mendje).<\/p>\n<p>Duke b\u00ebr\u00eb nj\u00eb k\u00ebrkes\u00eb t\u00eb caktuar n\u00eb baz\u00eb dhe duke treguar numrin e seris\u00eb s\u00eb serverit, do t\u00eb marrim parametrat e nevojsh\u00ebm p\u00ebr konfigurimin e serverit.<\/p>\n<p>Plus, nuk do t\u00eb na duhet t\u00eb gjejm\u00eb bllokime p\u00ebr qasje t\u00eb nj\u00ebkohshme, si n\u00eb rastin e skedarit tekst.<\/p>\n<p>Regjistri i konfigurimit mund ta shkruajm\u00eb n\u00eb \u00e7do hap n\u00eb DB dhe procesin e instalimit ta kontrollojm\u00eb p\u00ebrmes ngjarjeve dhe flamujve t\u00eb hapave t\u00eb p\u00ebrgatitjes.<\/p>\n<p><b>Tani dim\u00eb se si:<\/p>\n<ul>\n<li>t\u00eb ngarkojm\u00eb serverin p\u00ebrmes PXE;<\/li>\n<li>t\u00eb kalojm\u00eb kontrollin n\u00eb skenarin ton\u00eb;<\/li>\n<li>t\u00eb identifikojm\u00eb serverin q\u00eb duhet t\u00eb p\u00ebrgatitet, sipas numrit t\u00eb seris\u00eb;<\/li>\n<li>t\u00eb konfigurojm\u00eb serverin me mjete p\u00ebrkat\u00ebse;<\/li>\n<li>t\u00eb d\u00ebrgojm\u00eb cil\u00ebsimet n\u00eb DB t\u00eb serverit t\u00eb instalimit me ndihm\u00ebn e pjes\u00ebs klient.<\/li>\n<\/ul>\n<p>\nKemi zbuluar se si:<\/p>\n<ul>\n<li>serveri q\u00eb po instalohet merr cil\u00ebsimet e nevojshme nga DB;<\/li>\n<li>t\u00eb gjith\u00eb progresi i p\u00ebrgatitjes regjistrohet n\u00eb DB (log, ngjarje, flamuj t\u00eb hapave).<\/li>\n<\/ul>\n<p><\/b><\/p>\n<h3>\u00c7far\u00eb ndodh me llojet e ndryshme t\u00eb softuerit q\u00eb po instalohet? Si t\u00eb instalosh hypervisor, t\u00eb kopjosh VM dhe t\u00eb konfigurosh t\u00eb gjitha k\u00ebto?<\/h3>\n<p>\nN\u00eb rastin e shp\u00ebrndarjes s\u00eb imazhit t\u00eb skedarit t\u00eb sistemit (linux) n\u00eb harduer, gjith\u00e7ka \u00ebsht\u00eb mjaft e thjesht\u00eb:<\/p>\n<ul>\n<li>Pas konfigurimit t\u00eb t\u00eb gjith\u00eb komponent\u00ebve t\u00eb serverit, shp\u00ebrndajm\u00eb imazhin.<\/li>\n<li>Instalojm\u00eb bootloader-in grub.<\/li>\n<li>Krijojm\u00eb chroot dhe konfigurimin e gjith\u00e7kaje t\u00eb nevojshme.<\/li>\n<\/ul>\n<p>\n<b>Si t\u00eb transferoni kontrollin n\u00eb instaluesin e OS-s\u00eb (me shembullin e ESXi).<\/b><\/p>\n<ul>\n<li>Organizojm\u00eb transferimin e kontrollit nga skripti yn\u00eb n\u00eb instaluesin e hipervizorit p\u00ebrmes skedarit t\u00eb p\u00ebrgjigjeve automatike (kickstart):<\/li>\n<li>Fshijm\u00eb partitions aktuale n\u00eb disk.<\/li>\n<li>Krijojm\u00eb nj\u00eb partition me madh\u00ebsi 500MB.<\/li>\n<li>E sh\u00ebnojm\u00eb at\u00eb si t\u00eb ngarkuesh\u00ebm.<\/li>\n<li>E formatizojm\u00eb n\u00eb FAT32.<\/li>\n<li>Kopjojm\u00eb skedar\u00ebt instalues t\u00eb ESXi n\u00eb rr\u00ebnj\u00ebn e tij.<\/li>\n<li>Instalojm\u00eb syslinux.<\/li>\n<li>Kopjojm\u00eb syslinux.cfg n\u00eb \/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>Kopjojm\u00eb mboot.c32 n\u00eb \/syslinux.<\/li>\n<li>N\u00eb boot.cfg duhet t\u00eb jet\u00eb kernelopt=ks=ftp:\/\/\/ks_esxi.cfg<\/li>\n<li>Rinisni serverin.<\/li>\n<\/ul>\n<p>\nPasi serveri t\u00eb rinis\u00eb, instaluesi i ESXi do t\u00eb ngarkohet nga disku i tij i fort\u00eb. T\u00eb gjith\u00eb skedar\u00ebt e nevojsh\u00ebm t\u00eb instaluesit do t\u00eb ngarkohen n\u00eb kujtes\u00eb dhe m\u00eb pas do t\u00eb filloj\u00eb instalimi i ESXi, sipas skedarit t\u00eb specifikuar t\u00eb p\u00ebrgjigjeve automatike.<\/p>\n<p>Do t\u00eb paraqes disa rreshta nga skedari i p\u00ebrgjigjeve automatike ks_esxi.cfg:<\/p>\n<pre><code class=\"plaintext\">%firstboot --interpreter=busybox\n\u2026\n# marrim\u00eb numrin serial\n\nSYSSN=$(esxcli hardware platform get | grep Serial | awk -F \" \" '{print $3}')\n\n# marrim\u00eb IP-n\u00eb\n\nIPADDRT=$(esxcli network ip interface ipv4 get | grep vmk0 | awk -F \" \" '{print $2}')\nLAST_OCTET=$(echo $IPADDRT | awk -F'.' '{print $4}')\n\n# lidhim serverin NFS p\u00ebr instalim\n\nesxcli storage nfs add -H is -s \/srv\/nfs_share -v nfsshare1\n\n# kopjojm\u00eb konfigurimet e p\u00ebrkohshme t\u00eb ssh, p\u00ebr p\u00ebrdorim me klientin ssh\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# kopjojm\u00eb ovftool, p\u00ebr t\u00eb vendosur VM tani, ndoshta do t\u00eb nevojitet edhe m\u00eb von\u00eb\n\ncp -R \/vmfs\/volumes\/nfsshare1\/ovftool \/vmfs\/volumes\/datastore1\/\n\n# vendosim VM-n\u00eb\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# marrim\u00eb rreshtin me konfigurimet e serverit ton\u00eb\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# gjenerojm\u00eb skriptin e konfigurimit t\u00eb rrjetit\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# vendosim\u00eb parametrin guestinfo.esxihost.id, e cila tregon numrin serial\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# p\u00ebrdit\u00ebsojm\u00eb informacionin n\u00eb baz\u00eb\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# kthejm\u00eb konfigurimet e SSH\n\nrm -rf \/etc\/ssh\nmv \/etc\/ssh.tmp \/etc\/ssh\n\n# konfigurojm\u00eb rrjetin dhe riballojm\u00eb\n\nesxcli system hostname set --fqdn=esx-${G_NICK}.x5.ru\n\/vmfs\/volumes\/datastore1\/netconf.sh\nreboot\n<\/code><\/pre>\n<p>\nN\u00eb k\u00ebt\u00eb etap\u00eb, hipervizori \u00ebsht\u00eb instaluar dhe konfiguruar, virtualet jan\u00eb kopjuar.<\/p>\n<p>Si mund t\u00eb konfigurojm\u00eb tani virtualet?<\/p>\n<p>Ne kemi b\u00ebr\u00eb nj\u00eb truk t\u00eb vog\u00ebl: gjat\u00eb instalimit vendos\u00ebm parametrin guestinfo.esxihost.id = \"$SYSSN\" n\u00eb skedarin VM1.vmx, duke caktuar n\u00eb t\u00eb numrin serial t\u00eb serverit fizik.<\/p>\n<p>Tani, pas nisjes, makina virtuale (me paket\u00ebn vmware-tools t\u00eb instaluar) mund t\u00eb aksesoj\u00eb k\u00ebt\u00eb parametrin:<\/p>\n<pre><code class=\"plaintext\">ESXI_SN=$(vmtoolsd --cmd \"info-get guestinfo.esxihost.id\")<\/code><\/pre>\n<p>\nPra pas\u00eb mund\u00ebsin\u00eb t\u00eb identifikoj\u00eb veten (ajo e di numrin serial t\u00eb hostit fizik), b\u00ebn nj\u00eb k\u00ebrkes\u00eb n\u00eb baz\u00ebn e t\u00eb dh\u00ebnave t\u00eb serverit t\u00eb instalimit dhe merr parametrat q\u00eb duhet t\u00eb konfigurohen. T\u00eb gjith\u00eb k\u00ebt\u00eb e paraqet n\u00eb nj\u00eb skript, i cili duhet t\u00eb ekzekutohet automatikisht gjat\u00eb nisjes s\u00eb guestos vm (por nj\u00eb her\u00eb: RunOnce).<\/p>\n<p><b>Tani dim\u00eb se si:<\/p>\n<ul>\n<li>t\u00eb ngarkojm\u00eb serverin p\u00ebrmes PXE;<\/li>\n<li>t\u00eb kalojm\u00eb kontrollin n\u00eb skenarin ton\u00eb;<\/li>\n<li>t\u00eb identifikojm\u00eb serverin q\u00eb duhet t\u00eb p\u00ebrgatitet, sipas numrit t\u00eb seris\u00eb;<\/li>\n<li>t\u00eb konfiguroj\u00eb serverin me utilitetet p\u00ebrkat\u00ebse;<\/li>\n<li>t\u00eb ndaj\u00eb konfigurimet n\u00eb baz\u00ebn e t\u00eb dh\u00ebnave t\u00eb serverit t\u00eb instalimit p\u00ebrmes pjes\u00ebs klient;<\/li>\n<li>t\u00eb konfiguroj\u00eb lloje t\u00eb ndryshme t\u00eb softuerit, p\u00ebrfshir\u00eb implementimin e hipervizorit esxi dhe konfigurimin e makinave virtuale (dhe gjith\u00e7ka automatikisht).<\/li>\n<\/ul>\n<p>\nKemi zbuluar se si:<\/p>\n<ul>\n<li>serveri q\u00eb po instalohet merr cil\u00ebsimet e nevojshme nga DB;<\/li>\n<li>t\u00eb gjith\u00eb progresi i p\u00ebrgatitjes regjistrohet n\u00eb DB (log, ngjarje, flamuj t\u00eb hapave).<\/li>\n<\/ul>\n<p><\/b><br \/>\n<u><b>P\u00ebrfundimi:<\/b><\/u><\/p>\n<p>Mendoj se unikaliteti i k\u00ebsaj zgjidhjeje \u00ebsht\u00eb fleksibiliteti, thjesht\u00ebsia, mund\u00ebsit\u00eb e saj dhe universaliteti.<\/p>\n<p>Ju lutem, shkruani n\u00eb komentet \u00e7far\u00eb mendoni.<br \/>\n<br \/>Burimi: <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.2 - 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\/sq\/blog\/administrirovanie\/bare-metal-provisioning-svoimi-rukami-ili-avtomaticheskaya-podgotovka-serverov-s-nulya\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2\" \/>\n\t\t<meta property=\"og:locale\" content=\"sq_AL\" \/>\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\/sq\/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 me duar, ose P\u00ebrgatitja automatike e server\u00ebve nga zero | ProHoster","description":"P\u00ebrsh\u00ebndetje, un\u00eb jam Denis dhe nj\u00eb nga fushat e mia t\u00eb aktivitetit \u00ebsht\u00eb zhvillimi i zgjidhjeve infrastrukturore n\u00eb X5.","canonical_url":"https:\/\/prohoster.info\/sq\/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":"sq_AL","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\/sq\/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\/sq\/wp-json\/wp\/v2\/posts\/74905","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/comments?post=74905"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/74905\/revisions"}],"predecessor-version":[{"id":158713,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/posts\/74905\/revisions\/158713"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media\/74906"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/media?parent=74905"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/categories?post=74905"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/sq\/wp-json\/wp\/v2\/tags?post=74905"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}