{"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":"Provisionimi Bare-Metal me duar, 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 drejtimet e mia t\u00eb pun\u00ebs \u00ebsht\u00eb zhvillimi i zgjidhjeve infrastrukturore n\u00eb X5. Sot doja t\u00eb ndaj me ju se si mund t\u00eb krijoni nj\u00eb sistem automatizimi p\u00ebr p\u00ebrgatitjen e server\u00ebve duke p\u00ebrdorur mjete t\u00eb disponueshme publikisht. Sipas mendimit tim, kjo \u00ebsht\u00eb nj\u00eb zgjidhje interesante, e thjesht\u00eb dhe fleksibile.<\/p>\n<p><img decoding=\"async\" alt=\"Provisionimi Bare-Metal me duar, 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 \/>\nP\u00ebrgatitja n\u00ebnkupton: t\u00eb b\u00ebni nga nj\u00eb server t\u00eb ri nga kutia, nj\u00eb server t\u00eb plot\u00eb t\u00eb konfiguruar me sistemin operativ Linux ose me hipervizorin ESXi (instalimi i Windows n\u00eb k\u00ebt\u00eb artikull nuk trajtohet). <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/sq\/server\/\"   title=\"server\u00ebve\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1469\">server\u00ebve<\/a> Windows nuk diskutohet n\u00eb k\u00ebt\u00eb artikull).<\/p>\n<p><b>Terma<\/b>:<\/p>\n<ul>\n<li>server\u00ebt \u2013 server\u00ebt q\u00eb duhet t\u00eb konfigurohen.<\/li>\n<li>serveri i instalimit \u2013 serveri kryesor q\u00eb siguron t\u00ebr\u00eb procesin e p\u00ebrgatitjes p\u00ebrmes rrjetit.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Pse \u00ebsht\u00eb e nevojshme automatizimi?<\/h3>\n<p>\nSupozoni se ka nj\u00eb detyr\u00eb: t\u00eb p\u00ebrgatisni n\u00eb mas\u00eb server\u00eb nga e para, deri n\u00eb 30 n\u00eb dit\u00eb. Server\u00eb t\u00eb prodhuesve dhe modeleve t\u00eb ndryshme, mbi to mund t\u00eb instalohen sisteme operatives t\u00eb ndryshme, hipervizori mund t\u00eb jet\u00eb i pranish\u00ebm ose i munguar.<\/p>\n<p>Cilat jan\u00eb operacionet q\u00eb p\u00ebrfshihen n\u00eb procesin e konfigurimit (pa automatizim):<\/p>\n<ul>\n<li>t\u00eb lidhni tastier\u00ebn, mausin, monitorin me serverin;<\/li>\n<li>t\u00eb konfiguroni BIOS-in, RAID, IPMI;<\/li>\n<li>p\u00ebrdit\u00ebsoni firmware-in e komponenteve;<\/li>\n<li>shkarkoni imazhin e sistemit t\u00eb skedar\u00ebve (ose instaloni hipervizorin dhe kopjoni makinat virtuale);<\/li>\n<\/ul>\n<p>\nSh\u00ebnim. Si nj\u00eb opsion, deployimi i OS-s\u00eb \u00ebsht\u00eb i mundur p\u00ebrmes instalimit me nj\u00eb sked\u00eb p\u00ebrgjigjeje. Por kjo nuk do t\u00eb diskutohet n\u00eb artikull. Megjithat\u00eb, m\u00eb posht\u00eb do t\u00eb shihni se shtimi i k\u00ebsaj funksionaliteti nuk \u00ebsht\u00eb i v\u00ebshtir\u00eb.<\/p>\n<ul>\n<li>konfiguroni parametrat e OS-s\u00eb (hostname, IP, t\u00eb tjer\u00eb).<\/li>\n<\/ul>\n<p>\nMe k\u00ebt\u00eb qasje, konfigurimet e nj\u00ebjta kryhen nj\u00ebpasnj\u00ebrisht n\u00eb \u00e7do server. Efikasiteti i nj\u00eb pune t\u00eb till\u00eb \u00ebsht\u00eb shum\u00eb i ul\u00ebt.<\/p>\n<p>Shqet\u00ebsimi i automatizimit \u00ebsht\u00eb p\u00ebrjashtimi i p\u00ebrfshirjes s\u00eb njeriut nga procesi i p\u00ebrgatitjes s\u00eb serverit. Sa m\u00eb shum\u00eb t\u00eb jet\u00eb e mundur. <\/p>\n<p>Fal\u00eb automatizimit, koh\u00ebzgjatja e nd\u00ebrprerjeve midis operacioneve reduktohet dhe shfaqet mund\u00ebsia p\u00ebr t\u00eb p\u00ebrgatitur disa server\u00eb n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb. Gjithashtu, ndjesh\u00ebm ulet probabiliteti i shfaqjes s\u00eb gabimeve p\u00ebr shkak t\u00eb faktor\u00ebve njer\u00ebzor\u00eb.<\/p>\n<p><img decoding=\"async\" alt=\"Provisionimi Bare-Metal me duar, 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>\nLe t\u00eb shqyrtojm\u00eb t\u00eb gjitha fazat n\u00eb detaje.<\/p>\n<p>Keni nj\u00eb server linux q\u00eb e p\u00ebrdorni si server instalimi PXE. N\u00eb t\u00eb jan\u00eb instaluar dhe konfiguruar sh\u00ebrbimet: DHCP, TFTP.<\/p>\n<p>Pra ndaj, ngarkoni serverin (i cili duhet konfiguruar) p\u00ebrmes PXE. Le t\u00eb kujtojm\u00eb si funksionon:<\/p>\n<ul>\n<li>Serveri ka zgjedhur ngarkimin n\u00eb rrjet.<\/li>\n<li>Serveri ngarkon PXE-ROM-in e kart\u00ebs rrjetit dhe i drejtohet serverit t\u00eb instalimit p\u00ebrmes DHCP p\u00ebr t\u00eb marr\u00eb adres\u00ebn e rrjetit.<\/li>\n<li>DHCP i serverit t\u00eb instalimit jep adres\u00ebn, si dhe nj\u00eb udh\u00ebzim p\u00ebr ngarkimin e m\u00ebtejsh\u00ebm p\u00ebrmes PXE.<\/li>\n<li>Serveri ngarkon ngarkuesin rrjetit nga serveri i instalimit p\u00ebrmes PXE; ngarkimi i m\u00ebtejsh\u00ebm ndodh sipas skedarit konfiguruese PXE.<\/li>\n<li>Ngarkohet n\u00eb p\u00ebrputhje me parametrat e marra (b\u00ebrthama, initramfs, pikat e montimit, imazhi i squashfs dhe t\u00eb tjera).<\/li>\n<\/ul>\n<p>\nSh\u00ebnim. Artikulli ofron nj\u00eb p\u00ebrshkrim t\u00eb ngarkimit p\u00ebrmes PXE n\u00eb m\u00ebnyr\u00ebn BIOS. Aktualisht, prodhuesit po implementojn\u00eb aktivisht m\u00ebnyr\u00ebn e ngarkimit UEFI. Ndryshimi p\u00ebr PXE do t\u00eb jet\u00eb n\u00eb konfigurimin e serverit DHCP dhe pranin\u00eb e ngarkuesit shtes\u00eb.<\/p>\n<p>Le t'i hedhim nj\u00eb sy nj\u00eb shembulli t\u00eb konfigurimit t\u00eb serverit PXE (menyja pxelinux).<\/p>\n<p>Skedari 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 \/\/ menuja e paracaktuar\n\tMENU LABEL Linux Scripting Toolkits\n\tMENU default\n\tKERNEL menu.c32\n\tAPPEND pxelinux.cfg\/toolkit \/\/ kalimi n\u00eb menun\u00eb tjet\u00ebr<\/code><\/pre>\n<p>\nSkedha pxelinux.cfg\/toolkit:<\/p>\n<pre><code class=\"plaintext\">prompt 0\ntimeout 100\nmenu title X5 PXE Boot Menu\nlabel mainmenu\n    menu label ^Kthehu n\u00eb Menun Kryesore\n    kernel menu.c32\n    append pxelinux.cfg\/default\nlabel x5toolkit-auto \/\/ n\u00eb m\u00ebnyr\u00eb default \u2014 modu automatik\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 \/\/ p\u00ebr debuggim - konsola\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>\nB\u00ebrtham\u00eb dhe initramfs n\u00eb k\u00ebt\u00eb faz\u00eb \u2013 \u00ebsht\u00eb nj\u00eb imazh p\u00ebrkoh\u00ebsor linux, me ndihm\u00ebn e t\u00eb cilit do t\u00eb b\u00ebhet p\u00ebrgatitja dhe konfigurimi kryesor i serverit.<\/p>\n<p>Si\u00e7 shihni, bootloader-i kalon shum\u00eb parametra b\u00ebrtham\u00ebs. Nj\u00eb pjes\u00eb e k\u00ebtyre parametrave p\u00ebrdoret nga b\u00ebrthama vet\u00eb. Disa prej tyre mund t\u2019i p\u00ebrdorim p\u00ebr q\u00ebllimet tona. K\u00ebto do t\u00eb diskutohen m\u00eb von\u00eb, por tani mund ta mbani mend se t\u00eb gjith\u00eb parametrat e kaluar do t\u00eb jen\u00eb t\u00eb disponuesh\u00ebm n\u00eb imazhin p\u00ebrkoh\u00ebsor linux p\u00ebrmes \/proc\/cmdline.<\/p>\n<p>Ku t\u2019i gjejm\u00eb, b\u00ebrtham\u00ebn dhe initramfs?<br \/>\nSi baz\u00eb, mund t\u00eb zgjidhni \u00e7do distribucion linux. \u00c7far\u00eb duhen marr\u00eb parasysh kur b\u00ebni zgjedhjen:<\/p>\n<ul>\n<li>imazhi i ngarkes\u00ebs duhet t\u00eb jet\u00eb universal (prania e shofer\u00ebve, mund\u00ebsit\u00eb p\u00ebr instalimin e utilitareve shtes\u00eb);<\/li>\n<li>m\u00eb shum\u00eb gjasa, do t\u00eb k\u00ebrkohet personalizimi i initramfs.<\/li>\n<\/ul>\n<p>\nSi b\u00ebhet 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 hile: 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 yn\u00eb i sistemit t\u00eb skedar\u00ebve. Kur ngarkohet imazhi, arkivi do t\u00eb zb\u00ebrthehet n\u00eb ndarjen e krijuar tmpfs. K\u00ebshtu do t\u00eb kemi nj\u00eb imazh minimal, por t\u00eb plot\u00eb live linux me t\u00eb gjitha utilitar\u00ebt e nevojsh\u00ebm, i p\u00ebrb\u00ebr\u00eb vet\u00ebm nga dy skedar\u00eb: 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 kemi specifikuar b\u00ebrtham\u00ebn dhe initramfs, t\u00eb cilat duhet t\u00eb ngarkohen. Si rezultat n\u00eb k\u00ebt\u00eb faz\u00eb, duke ngarkuar imazhin p\u00ebrkoh\u00ebsor linux n\u00ebp\u00ebrmjet PXE, do t'i kemi konsol\u00ebn e OS.<\/p>\n<p>Shk\u00eblqyesh\u00ebm, por tani duhet t'i kalojm\u00eb kontrollin \u201cautomatik\u00ebs\u201d ton\u00eb.<\/p>\n<p>Kjo mund t\u00eb b\u00ebhet k\u00ebshtu.<\/p>\n<p>Le t\u00eb supozojm\u00eb, pas ngarkimit t\u00eb imazhit, planifikojm\u00eb t\u00eb kalojm\u00eb kontrollin n\u00eb skenarin mount.sh.<br \/>\nDo ta p\u00ebrfshijm\u00eb skriptin mount.sh n\u00eb autostart. P\u00ebr k\u00ebt\u00eb do t\u00eb k\u00ebrkohet modifikimi i initramfs:<\/p>\n<ul>\n<li>t\u00eb zb\u00ebrthehet initramfs (n\u00ebse p\u00ebrdorim variantin e lartp\u00ebrmendur t\u00eb initramfs, kjo nuk k\u00ebrkohet)<\/li>\n<li>aktivizoni kodin n\u00eb autoload q\u00eb do t\u00eb analizoj\u00eb parametrat e kaluar p\u00ebrmes \/proc\/cmdline dhe do t\u00eb kaloj\u00eb menaxhimin p\u00ebrpara;<\/li>\n<li>pakoni initramfs.<\/li>\n<\/ul>\n<p>\nSh\u00ebnim. N\u00eb rastin e X5 toolkit, menaxhimi i boot-it kalon n\u00eb scriptin <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 autoload fillon scripti mount.sh. M\u00eb pas, scripti mount.sh gjat\u00eb ekzekutimit analizon parametrat e kaluar (script_cmd=) dhe nis programin\/scriptin e nevojsh\u00ebm.<\/p>\n<p>etiketa toolkit-<b>auto<\/b><br \/>\nkernel \u2026<br \/>\nshtoni \u2026 nfs_toolkit_script=scripts\/mount.sh <b>script_cmd=master-install.sh<br \/>\n<\/b><br \/>\netiketa toolkit-<b>shell<\/b><br \/>\nkernel \u2026<br \/>\nshtoni \u2026 nfs_toolkit_script=scripts\/mount.sh <b>script_cmd=\/bin\/bash<\/b><\/p>\n<p><img decoding=\"async\" alt=\"Provisionimi Bare-Metal me duar, 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 \u00ebsht\u00eb menuja PXE, n\u00eb t\u00eb djatht\u00ebn \u2013 skema e kalimit t\u00eb menaxhimit.<\/p>\n<p>Ne e kuptuam kalimin e menaxhimit. N\u00eb var\u00ebsi t\u00eb zgjedhjes n\u00eb menu PXE, ekzekutohet ose scripti i konfigurimit automatik, ose konsola p\u00ebr debug.<\/p>\n<p>N\u00eb rastin e konfigurimit automatik, merren direktoret e nevojshme nga serveri instalues, t\u00eb cilat p\u00ebrmbajn\u00eb:<\/p>\n<ul>\n<li>scriptet;<\/li>\n<li>shabllonat e ruajtura BIOS\/UEFI t\u00eb serverave t\u00eb ndrysh\u00ebm;<\/li>\n<li>firmware;<\/li>\n<li>utilitat p\u00ebr serverat;<\/li>\n<li>loget.<\/li>\n<\/ul>\n<p>\nM\u00eb pas, scripti mount.sh kalon menaxhimin te scripti master-install.sh nga direktoria me scriptet.<\/p>\n<p>Struktura e script\u00ebve (rendin e ekzekutimit t\u00eb tyre) duket m\u00eb pak k\u00ebshtu:<\/p>\n<ul>\n<li>master-install<\/li>\n<li>sharefunctions (funksione t\u00eb p\u00ebrbashk\u00ebta)<\/li>\n<li>info (d\u00ebrgo informacionin)<\/li>\n<li>modelet (konfigurimi i parametrave t\u00eb instalimit bazuar n\u00eb modelin e serverit)<\/li>\n<li>prepare_utils (instalimi i utilitareve t\u00eb nevojshme)<\/li>\n<li>fwupdate (p\u00ebrdit\u00ebsimi i firmware)<\/li>\n<li>diag (diagnostika elementare)<\/li>\n<li>biosconf (konfigurimi i BIOS\/UEFI)<\/li>\n<li>clockfix (konfigurimi i koh\u00ebs n\u00eb pllak\u00ebn kryesore)<\/li>\n<li>srmconf (konfigurimi i nd\u00ebrfaqes s\u00eb distanc\u00ebs)<\/li>\n<li>raidconf (konfigurimi i volumeve logjik\u00eb)<\/li>\n<\/ul>\n<p>\nnj\u00eb nga:<\/p>\n<ul>\n<li>preinstall (transferimi i kontrollit te instaluesi i OS ose hipervizori, p\u00ebr shembull ESXi)<\/li>\n<li>merged-install (nisja e menj\u00ebhershme e nxjerrjes s\u00eb imazhit)<\/li>\n<\/ul>\n<p>\n<b>Tani e dim\u00eb:<\/p>\n<ul>\n<li>si t\u00eb ngarkojm\u00eb serverin p\u00ebrmes PXE;<\/li>\n<li>si t\u00eb transferojm\u00eb kontrollin n\u00eb skriptin ton\u00eb.<\/li>\n<\/ul>\n<p><\/b><br \/>\nLe t\u00eb vazhdojm\u00eb. K\u00ebto pyetje jan\u00eb b\u00ebr\u00eb aktuale:<\/p>\n<ul>\n<li>Si ta identifikojm\u00eb serverin q\u00eb po p\u00ebrgatitim?<\/li>\n<li>Me cilat utilitare dhe si ta konfiguroni serverin?<\/li>\n<li>Si t\u00eb marrim konfigurimet p\u00ebr nj\u00eb server t\u00eb caktuar?<\/li>\n<\/ul>\n<p><\/p>\n<h3>Si ta 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 ju nevojitet: furnizuesi, modeli, numri i seri. N\u00ebse nuk jeni t\u00eb sigurt se ky informacion \u00ebsht\u00eb i pranish\u00ebm n\u00eb t\u00eb gjitha serverat, mund t'i identifikoni ata p\u00ebrmes adres\u00ebs MAC. Ose me t\u00eb dyja m\u00ebnyrat n\u00eb t\u00eb nj\u00ebjt\u00ebn koh\u00eb, n\u00ebse furnizuesit e server\u00ebve jan\u00eb t\u00eb ndrysh\u00ebm dhe n\u00eb disa modele informacioni p\u00ebr numrin e seri thjesht mungon.<\/p>\n<p>N\u00eb baz\u00eb t\u00eb informacionit t\u00eb marr\u00eb, montohen dosjet rrjet\u00ebsore me serverin e instalimit dhe ngarkohet gjith\u00e7ka e nevojshme (utilitetet, firmware dhe t\u00eb tjera).<\/p>\n<h3>Me cilat utilitare dhe si ta konfiguroni serverin?<\/h3>\n<p>\nDo t\u00eb jap utilitete p\u00ebr Linux p\u00ebr disa prodhues. T\u00eb gjitha utilitetet jan\u00eb t\u00eb disponueshme n\u00eb faqet zyrtare t\u00eb furnizuesve.<\/p>\n<p><img decoding=\"async\" alt=\"Provisionimi Bare-Metal me duar, 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 gjith\u00e7ka \u00ebsht\u00eb e qart\u00eb. Zakonisht ato ofrohen si skedar\u00eb ekzekutiv t\u00eb paketuar. Skedari ekzekutiv kontrollon procesin e p\u00ebrdit\u00ebsimit t\u00eb firmware dhe raporton kodin e kthejes.<\/p>\n<p>BIOS dhe IPMI zakonisht konfigurohen p\u00ebrmes shablloneve. N\u00ebse \u00ebsht\u00eb e nevojshme, shablloni mund t\u00eb redaktohet para ngarkes\u00ebs.<\/p>\n<p>Utilitetet RAID t\u00eb disa furnizuesve gjithashtu mund t\u00eb konfigurohen sipas shabllonit. N\u00ebse kjo nuk \u00ebsht\u00eb e mundur, do t\u00eb duhet t\u00eb shkruani nj\u00eb skript konfigurimi.<\/p>\n<p>Rendi i konfigurimit t\u00eb RAID zakonisht \u00ebsht\u00eb si n\u00eb vijim:<\/p>\n<ul>\n<li>K\u00ebrkojm\u00eb konfigurimin aktual.<\/li>\n<li>N\u00ebse tashm\u00eb ka grupe logjik\u00eb \u2013 i fshijm\u00eb.<\/li>\n<li>Shikojm\u00eb se cil\u00ebt disqe fizik\u00eb jan\u00eb t\u00eb pranish\u00ebm dhe sa prej tyre jan\u00eb.<\/li>\n<li>Krijojm\u00eb nj\u00eb grup t\u00eb ri logjik. Nd\u00ebrpresim procesin n\u00eb rast t\u00eb nj\u00eb gabimi.<\/li>\n<\/ul>\n<p><\/p>\n<h3>Si t\u00eb marrim konfigurimet p\u00ebr nj\u00eb server t\u00eb caktuar?<\/h3>\n<p>\nLe t\u00eb supozojm\u00eb se konfigurimet e t\u00eb gjitha server\u00ebve do t\u00eb ruhen n\u00eb serverin e instalimit. N\u00eb k\u00ebt\u00eb rast, p\u00ebr t\u00eb p\u00ebrgjigjur mbi pyetjen ton\u00eb, duhet s\u00eb pari t\u00eb vendosim: si do t\u00eb transferojm\u00eb konfigurimet n\u00eb serverin e instalimit.<\/p>\n<p>N\u00eb fillim, mjafton t\u00eb p\u00ebrdoren skedar\u00eb tekstual\u00eb. (N\u00eb t\u00eb ardhmen, mund t\u00eb p\u00ebrdoret skedari tekstual si nj\u00eb m\u00ebnyr\u00eb rezerv\u00eb p\u00ebr transferimin e konfigurimeve). <\/p>\n<p>Mund t\u00eb \"ndajm\u00eb\" skedarin tekstual n\u00eb serverin e instalimit. Dhe ta shtojm\u00eb montimin e tij n\u00eb skenarin mount.sh.<\/p>\n<p>Rreshtat do t\u00eb jen\u00eb, p\u00ebr shembull, t\u00eb k\u00ebtij lloji:<\/p>\n<p><\/p>\n<p>K\u00ebta rreshta do t\u00eb transferohen n\u00eb skedarin nga inxhinieri nga makina e tij t\u00eb pun\u00ebs. Dhe m\u00eb tej, gjat\u00eb konfigurimit t\u00eb serverit, parametrat p\u00ebr serverin e caktuar do t\u00eb lexohen nga skedari.<\/p>\n<p>Por, n\u00eb perspektiv\u00eb, \u00ebsht\u00eb m\u00eb mir\u00eb t\u00eb angazhohet nj\u00eb Baza t\u00eb Dh\u00ebnash p\u00ebr ruajtjen e konfigurimeve, gjendjeve dhe regjistrave t\u00eb instalimeve t\u00eb server\u00ebve.<\/p>\n<p>Sigurisht, nuk mjafton vet\u00ebm nj\u00eb DB, dhe do t\u00eb jet\u00eb e nevojshme t\u00eb krijohet nj\u00eb pjes\u00eb klienti, me an\u00eb t\u00eb s\u00eb cil\u00ebs do t\u00eb transmetohen konfigurimet n\u00eb baz\u00ebn e t\u00eb dh\u00ebnave. T\u00eb realizosh k\u00ebt\u00eb \u00ebsht\u00eb m\u00eb e komplikuar n\u00eb krahasim me nj\u00eb skedar tekstual, por, n\u00eb t\u00eb v\u00ebrtet\u00eb, gjith\u00e7ka nuk \u00ebsht\u00eb aq e v\u00ebshtir\u00eb sa duket. Versioni minimal i klientit, i cili do t\u00eb transmetoj\u00eb thjesht t\u00eb dh\u00ebnat n\u00eb DB, \u00ebsht\u00eb plot\u00ebsisht e mundur t\u00eb shkruhet vet\u00eb. Dhe p\u00ebr t\u00eb p\u00ebrmir\u00ebsuar programin e klientit m\u00eb von\u00eb, mund t\u00eb punosh n\u00eb m\u00ebnyr\u00eb t\u00eb lir\u00eb (raportet, printimi i etiketa, d\u00ebrgimi i njoftimeve dhe \u00e7do gj\u00eb tjet\u00ebr q\u00eb t\u00eb vie n\u00eb mendje).<\/p>\n<p>Duke b\u00ebr\u00eb nj\u00eb k\u00ebrkes\u00eb t\u00eb caktuar n\u00eb baz\u00ebn e t\u00eb dh\u00ebnave dhe duke treguar numrin serial t\u00eb serverit, do t\u00eb marrim parametrat e nevojsh\u00ebm p\u00ebr konfigurimin e serverit.<\/p>\n<p>Plus, nuk do t\u00eb na nevojitet t\u00eb shpikim bllokime p\u00ebr aksesin e p\u00ebrbashk\u00ebt, si\u00e7 ndodh me skedarin tekstual.<\/p>\n<p>Revista e konfigurimit mund t\u00eb shkruhet n\u00eb DB n\u00eb t\u00eb gjitha fazat dhe procesi i instalimit t\u00eb kontrollohet p\u00ebrmes ngjarjeve dhe flagjeve t\u00eb fazave t\u00eb p\u00ebrgatitjes.<\/p>\n<p><b>Tani e dim\u00eb se si:<\/p>\n<ul>\n<li>t\u00eb ngarkojm\u00eb serverin p\u00ebrmes PXE;<\/li>\n<li>t\u00eb transmetojm\u00eb kontrollin n\u00eb skriptin ton\u00eb;<\/li>\n<li>t\u00eb identifikojm\u00eb serverin q\u00eb duhet p\u00ebrgatitur sipas numrit serial;<\/li>\n<li>t\u00eb konfigurojm\u00eb serverin me mjetet p\u00ebrkat\u00ebse;<\/li>\n<li>t\u00eb transmetoni cil\u00ebsimet n\u00eb DB t\u00eb serverit t\u00eb instalimit p\u00ebrmes pjes\u00ebs klient.<\/li>\n<\/ul>\n<p>\nE kuptuam se si:<\/p>\n<ul>\n<li>serveri i instaluar merr cil\u00ebsimet e nevojshme nga DB;<\/li>\n<li>t\u00eb gjith\u00eb p\u00ebrparimet e p\u00ebrgatitjes regjistrohen n\u00eb DB (loge, ngjarje, flamuj fazash).<\/li>\n<\/ul>\n<p><\/b><\/p>\n<h3>\u00c7far\u00eb ndodh me llojet e ndryshme t\u00eb softuerit q\u00eb instalohet? Si t\u00eb instaloni hipervizorin, t\u00eb kopjoni VM-n\u00eb dhe t\u00eb konfiguroni t\u00eb gjitha k\u00ebto?<\/h3>\n<p>\nN\u00eb rast t\u00eb shp\u00ebrndarjes s\u00eb imazhit t\u00eb sistemit t\u00eb skedar\u00ebve (linux) n\u00eb hardware, gjith\u00e7ka \u00ebsht\u00eb mjaft e thjesht\u00eb:<\/p>\n<ul>\n<li>Pas konfigurimit t\u00eb t\u00eb gjitha komponent\u00ebve t\u00eb serverit, shp\u00ebrndajm\u00eb imazhin.<\/li>\n<li>Instalojm\u00eb bootloader-in grub.<\/li>\n<li>Kryejm\u00eb chroot dhe konfigurojm\u00eb gjith\u00e7ka q\u00eb nevojitet.<\/li>\n<\/ul>\n<p>\n<b>Si t\u00eb kaloni kontrollin te instaluesi i OS (p\u00ebr shembull, ESXi).<\/b><\/p>\n<ul>\n<li>Organizojm\u00eb kalimin e kontrollit nga skenari yn\u00eb te instaluesi i hipervizorit p\u00ebrmes skedarit t\u00eb p\u00ebrgjigjeve automatike (kickstart):<\/li>\n<li>Fshijm\u00eb ndarjet aktuale n\u00eb disk.<\/li>\n<li>Krijojm\u00eb nj\u00eb ndarje prej 500MB.<\/li>\n<li>E sh\u00ebnojm\u00eb at\u00eb si ndarje boot.<\/li>\n<li>Formatojm\u00eb n\u00eb FAT32.<\/li>\n<li>Kopjojm\u00eb skedar\u00ebt instalues t\u00eb ESXi n\u00eb rr\u00ebnj\u00ebn e saj.<\/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>Rinisen serverin.<\/li>\n<\/ul>\n<p>\nPas rivendosjes s\u00eb serverit, instaluesi i ESXi do t\u00eb ngarkohet nga disku i tij i fort\u00eb. T\u00eb gjitha skedar\u00ebt e nevojsh\u00ebm t\u00eb instaluesit do t\u00eb ngarkohen n\u00eb memorie dhe m\u00eb pas do t\u00eb filloj\u00eb instalimi i ESXi, n\u00eb p\u00ebrputhje me skedarin e 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 numrin serial\n\nSYSSN=$(esxcli hardware platform get | grep Serial | awk -F \" \" '{print $3}')\n\n# marrim 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# lidhim NFS serverin e instalimit\n\nesxcli storage nfs add -H is -s \/srv\/nfs_share -v nfsshare1\n\n# kopjojm\u00eb parametrat e p\u00ebrkohshme ssh, p\u00ebr p\u00ebrdorimin e klientit 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 shp\u00ebrndarjen e VM-s\u00eb tani, plus mund t\u00eb na nevojitet m\u00eb von\u00eb\n\ncp -R \/vmfs\/volumes\/nfsshare1\/ovftool \/vmfs\/volumes\/datastore1\/\n\n# shp\u00ebrndajm\u00eb 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 rreshtin me parametrat 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 parametrin guestinfo.esxihost.id, me 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 informacionet 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# rikthej parametrat e SSH\n\nrm -rf \/etc\/ssh\nmv \/etc\/ssh.tmp \/etc\/ssh\n\n# konfigurim rrjeti dhe ri-bashkuar\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 faz\u00eb, \u00ebsht\u00eb vendosur dhe konfiguruar hipervizori, jan\u00eb kopjuar makinat virtuale.<\/p>\n<p>Si t\u00eb konfigurojm\u00eb tani makinat virtuale?<\/p>\n<p>Ne b\u00ebm\u00eb pak truk: gjat\u00eb instalimit vendos\u00ebm parametrin guestinfo.esxihost.id = \"$SYSSN\" n\u00eb skedarin VM1.vmx, duke treguar 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 ket\u00eb akses n\u00eb k\u00ebt\u00eb parameter:<\/p>\n<pre><code class=\"plaintext\">ESXI_SN=$(vmtoolsd --cmd \"info-get guestinfo.esxihost.id\")<\/code><\/pre>\n<p>\nDometh\u00ebn\u00eb, VM do t\u00eb jet\u00eb n\u00eb gjendje t\u00eb identifikoj\u00eb veten (e di numrin serial t\u00eb hostit fizik), t\u00eb b\u00ebj\u00eb nj\u00eb k\u00ebrkes\u00eb n\u00eb DB t\u00eb serverit t\u00eb instalimit dhe t\u00eb marr\u00eb parametrat q\u00eb duhet t\u00eb konfigurohen. T\u00eb gjitha k\u00ebto do t\u00eb formohen n\u00eb nj\u00eb skript, i cili duhet t\u00eb startohet automatikisht gjat\u00eb nisjes s\u00eb guestos vm (por vet\u00ebm nj\u00eb her\u00eb: RunOnce).<\/p>\n<p><b>Tani e dim\u00eb se si:<\/p>\n<ul>\n<li>t\u00eb ngarkojm\u00eb serverin p\u00ebrmes PXE;<\/li>\n<li>t\u00eb transmetojm\u00eb kontrollin n\u00eb skriptin ton\u00eb;<\/li>\n<li>t\u00eb identifikojm\u00eb serverin q\u00eb duhet p\u00ebrgatitur sipas numrit serial;<\/li>\n<li>konfigurojn\u00eb serverin me utilitetet p\u00ebrkat\u00ebse;<\/li>\n<li>t\u00eb transmetojn\u00eb konfigurimet n\u00eb DB t\u00eb serverit t\u00eb instalimit me an\u00eb t\u00eb pjes\u00ebs klient;<\/li>\n<li>t\u00eb konfigurojn\u00eb lloje t\u00eb ndryshme t\u00eb P.O., duke p\u00ebrfshir\u00eb shp\u00ebrndarjen e hipervizorit esxi dhe konfigurimin e makinave virtuale (dhe t\u00eb gjith\u00eb automatikisht).<\/li>\n<\/ul>\n<p>\nE kuptuam se si:<\/p>\n<ul>\n<li>serveri i instaluar merr cil\u00ebsimet e nevojshme nga DB;<\/li>\n<li>t\u00eb gjith\u00eb p\u00ebrparimet e p\u00ebrgatitjes regjistrohen n\u00eb DB (loge, ngjarje, flamuj fazash).<\/li>\n<\/ul>\n<p><\/b><br \/>\n<u><b>P\u00ebrfundimi:<\/b><\/u><\/p>\n<p>Mendoj se unik\u00ebsia e k\u00ebtij zgjidhjeje q\u00ebndron n\u00eb fleksibilitetin, thjesht\u00ebsin\u00eb, mund\u00ebsit\u00eb dhe universialitetin e saj.<\/p>\n<p>Ju lutem, shkruani n\u00eb komentet se \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 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\/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) 4.9.10\" \/>\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. \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\/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 Automatizimi i p\u00ebrgatitjes s\u00eb server\u00ebve nga fillimi | 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. Sot do t\u00eb doja t\u00eb ndaja me ju se si mund t\u00eb vendosni nj\u00eb sistem automatizimi t\u00eb p\u00ebrgatitjes s\u00eb server\u00ebve duke p\u00ebrdorur mjete t\u00eb hapura. N\u00eb mendimin tim, kjo \u00ebsht\u00eb nj\u00eb zgjidhje interesante, e thjesht\u00eb dhe fleksibile. Me p\u00ebrgatitjen kuptojm\u00eb: t\u00eb b\u00ebjm\u00eb nga nj\u00eb server i ri, nj\u00eb server t\u00eb plot\u00eb t\u00eb konfiguruar","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. \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\/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"},"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}]}}