„Pasidaryk pats“ „Bare Metal“ aprūpinimas arba automatinis serverių paruošimas nuo nulio

Sveiki, esu Denisas ir viena iš mano veiklos sričių yra X5 infrastruktūros sprendimų kūrimas. Šiandien norėčiau su jumis pasidalinti, kaip galite įdiegti automatinę serverio paruošimo sistemą, pagrįstą viešai prieinamais įrankiais. Mano nuomone, tai įdomus, paprastas ir lankstus sprendimas.

„Pasidaryk pats“ „Bare Metal“ aprūpinimas arba automatinis serverių paruošimas nuo nulio

Pasiruošimas reiškia: naujo serverio pavertimą visiškai sukonfigūruotu serveriu su OS. Linux arba su ESXi hipervizoriumi (transliacija serveriai Windows (šiame straipsnyje neaptariama).

Sąlygos:

  • serveriai – serveriai, kuriuos reikia konfigūruoti.
  • diegimo serveris yra pagrindinis serveris, teikiantis visą parengimo procesą tinkle.

Kodėl reikalinga automatika?

Tarkime, yra užduotis: masiškai paruošti serverius nuo nulio, piko metu – 30 per dieną. Juose gali būti įdiegti skirtingų gamintojų ir modelių serveriai, skirtingos operacinės sistemos, gali turėti arba neturėti hipervizoriaus.

Kokios operacijos yra įtrauktos į sąrankos procesą (be automatizavimo):

  • prijungti prie serverio klaviatūrą, pelę, monitorių;
  • sukonfigūruoti BIOS, RAID, IPMI;
  • atnaujinti komponentų programinę-aparatinę įrangą;
  • įdiegti failų sistemos vaizdą (arba įdiegti hipervizorių ir nukopijuoti virtualias mašinas);

Pastaba. Arba OS diegimas galimas įdiegus naudojant automatinio atsako failą. Bet tai nebus aptariama straipsnyje. Nors toliau pamatysite, kad pridėti šią funkciją nėra sunku.

  • sukonfigūruoti OS parametrus (hostname, IP ir kt.).

Taikant šį metodą, tie patys nustatymai atliekami nuosekliai kiekviename serveryje. Tokio darbo efektyvumas yra labai mažas.

Automatizavimo esmė – eliminuoti žmogaus dalyvavimą serverio paruošimo procese. Kiek tik galima daugiau.

Automatizavimas sumažina prastovos laiką tarp operacijų ir leidžia vienu metu aprūpinti kelis serverius. Taip pat labai sumažėja klaidų tikimybė dėl žmogiškųjų veiksnių.

„Pasidaryk pats“ „Bare Metal“ aprūpinimas arba automatinis serverių paruošimas nuo nulio

Kaip automatiškai sukonfigūruojami serveriai?

Išsamiai išanalizuokime visus etapus.

Turite Linux serverį, kurį naudojate kaip PXE diegimo serverį. Jame įdiegiamos ir sukonfigūruotos paslaugos: DHCP, TFTP.

Taigi, paleidžiame serverį (kurį reikia sukonfigūruoti) per PXE. Prisiminkime, kaip tai veikia:

  • Serveryje pasirenkamas tinklo įkrovimas.
  • Serveris įkelia tinklo plokštės PXE-ROM ir per DHCP susisiekia su diegimo serveriu, kad gautų tinklo adresą.
  • DHCP diegimo serveris išduoda adresą ir tolesnio atsisiuntimo per PXE instrukcijas.
  • Serveris įkelia tinklo įkrovos programą iš diegimo serverio per PXE, toliau įkeliama pagal PXE konfigūracijos failą.
  • Įkrovimas įvyksta pagal gautus parametrus (branduolys, initramfs, prijungimo taškai, squashfs vaizdas ir kt.).

Pastaba. Straipsnyje aprašomas paleidimas per PXE naudojant BIOS režimą. Šiuo metu gamintojai aktyviai diegia UEFI įkrovos režimą. PXE atveju skirtumas bus DHCP serverio konfigūracija ir papildomo įkrovos įkroviklio buvimas.

Pažiūrėkime į PXE serverio konfigūracijos pavyzdį (pxelinux meniu).

Failas pxelinux.cfg/default:

default menu.c32
prompt 0
timeout 100
menu title X5 PXE Boot Menu
LABEL InstallServer Menu
	MENU LABEL InstallServer
	KERNEL menu.c32
	APPEND pxelinux.cfg/installserver
LABEL VMware Menu
	MENU LABEL VMware ESXi Install
	KERNEL menu.c32
	APPEND pxelinux.cfg/vmware
LABEL toolkit // меню по умолчанию
	MENU LABEL Linux Scripting Toolkits
	MENU default
	KERNEL menu.c32
	APPEND pxelinux.cfg/toolkit // переход на следующее меню

Failas pxelinux.cfg/toolkit:

prompt 0
timeout 100
menu title X5 PXE Boot Menu
label mainmenu
    menu label ^Return to Main Menu
    kernel menu.c32
    append pxelinux.cfg/default
label x5toolkit-auto // по умолчанию — автоматический режим
        menu label x5 toolkit autoinstall
        menu default
        kernel toolkit/tkcustom-kernel
        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=”…”
label x5toolkit-shell // для отладки - консоль
        menu label x5 toolkit shell
        kernel toolkit/tkcustom-kernel
        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=”…”

Branduolys ir initramfs šiame etape yra tarpinis Linux vaizdas, kurio pagalba vyks pagrindinis serverio paruošimas ir konfigūravimas.

Kaip matote, įkrovos įkroviklis perduoda daug parametrų branduoliui. Kai kuriuos iš šių parametrų naudoja pats branduolys. O kai kuriuos galime panaudoti savo reikmėms. Tai bus aptarta vėliau, bet kol kas galite tiesiog prisiminti, kad visi perduoti parametrai bus pasiekiami tarpiniame Linux atvaizde per /proc/cmdline.

Kur galiu juos gauti, branduolį ir initramfs?
Kaip pagrindą galite pasirinkti bet kurį Linux platinimą. Į ką atkreipiame dėmesį renkantis:

  • įkrovos vaizdas turi būti universalus (tvarkyklių prieinamumas, galimybė įdiegti papildomas komunalines paslaugas);
  • Labiausiai tikėtina, kad turėsite tinkinti initramfs.

Kaip tai daroma mūsų X5 sprendime? Kaip pagrindą pasirinkome CentOS 7. Pabandykime tokį triuką: paruoškite būsimą atvaizdo struktūrą, supakuokite jį į archyvą ir sukurkite „initramfs“, kuriame būtų mūsų failų sistemos archyvas. Paleidus atvaizdą, archyvas bus išpakuotas į naujai sukurtą „tmpfs“ skaidinį. Tokiu būdu gausime minimalų, tačiau pilnai veikiantį, gyvą „Linux“ atvaizdą su visomis reikalingomis programomis, kurį sudaro vos du failai: „vmkernel“ ir „initramfs“.

#создаем директории: 

mkdir -p /tftpboot/toolkit/CustomTK/rootfs /tftpboot/toolkit/CustomTK/initramfs/bin

#подготавливаем структуру:

yum groups -y install "Minimal Install" --installroot=/tftpboot/toolkit/CustomTK/rootfs/
yum -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/
yum -y remove biosdevname --installroot=/tftpboot/toolkit/CustomTK/rootfs/

# подготавливаем initramfs:

wget https://busybox.net/downloads/binaries/1.31.0-defconfig-multiarch-musl/busybox-x86_64 -O /tftpboot/toolkit/CustomTK/initramfs/bin/busybox
chmod a+x /tftpboot/toolkit/CustomTK/initramfs/bin/busybox
cp /tftpboot/toolkit/CustomTK/rootfs/boot/vmlinuz-3.10.0-957.el7.x86_64 /tftpboot/toolkit/tkcustom-kernel

# создаем /tftpboot/toolkit/CustomTK/initramfs/init (ниже содержание скрипта):

#!/bin/busybox sh
/bin/busybox --install /bin
mkdir -p /dev /proc /sys /var/run /newroot
mount -t proc proc /proc
mount -o mode=0755 -t devtmpfs devtmpfs /dev
mkdir -p /dev/pts /dev/shm /dev/mapper /dev/vc
mount -t devpts -o gid=5,mode=620 devpts /dev/pts
mount -t sysfs sysfs /sys
mount -t tmpfs -o size=4000m tmpfs /newroot
echo -n "Extracting rootfs... "
xz -d -c -f rootfs.tar.xz | tar -x -f - -C /newroot
echo "done"
mkdir -p /newroot/dev /newroot/proc /newroot/sys
mount --move /sys  /newroot/sys
mount --move /proc /newroot/proc
mount --move /dev  /newroot/dev
exec switch_root /newroot /sbin/init

# упаковываем rootfs и initramfs:

cd /tftpboot/toolkit/CustomTK/rootfs
tar cJf /tftpboot/toolkit/CustomTK/initramfs/rootfs.tar.xz --exclude ./proc --exclude ./sys --exclude ./dev .
cd /tftpboot/toolkit/CustomTK/initramfs
find . -print0 | cpio --null -ov --format=newc | gzip -9 > /tftpboot/toolkit/tkcustom-initramfs-new.gz

Taigi mes nurodėme branduolį ir initramfs, kuriuos reikia įkelti. Dėl to šiame etape įkeldami tarpinį linux vaizdą per PXE, gausime OS konsolę.

Puiku, bet dabar turime perkelti valdymą į mūsų „automatizaciją“.

Tai galima padaryti taip.

Tarkime, kad įkėlus vaizdą, valdymą planuojame perkelti į mount.sh scenarijų.
Įtraukime mount.sh scenarijų į automatinį paleidimą. Norėdami tai padaryti, turėsite pakeisti initramfs:

  • išpakuokite initramfs (jei naudojame aukščiau pateiktą initramfs parinktį, tai nėra būtina)
  • paleisties metu įtraukite kodą, kuris analizuos parametrus, perduodamus per /proc/cmdline, ir toliau perduos valdymą;
  • pakuotė initramfs.

Pastaba. X5 įrankių rinkinio atveju įkėlimo valdymas perkeliamas į scenarijų /opt/x5/toolkit/bin/hook.sh с помощью override.conf в getty tty1 (ExecStart=…)

Taigi, įkeliamas vaizdas, kuriame mount.sh scenarijus prasideda automatiškai. Toliau mount.sh scenarijus vykdymo metu analizuoja perduodamus parametrus (script_cmd=) ir paleidžia reikiamą programą/scenarijų.

etikečių įrankių rinkinys-automatinis
branduolys...
append...nfs_toolkit_script=scripts/mount.sh script_cmd=master-install.sh

etikečių įrankių rinkinys-apvalkalas
branduolys...
append...nfs_toolkit_script=scripts/mount.sh script_cmd=/bin/bash

„Pasidaryk pats“ „Bare Metal“ aprūpinimas arba automatinis serverių paruošimas nuo nulio

Čia kairėje yra PXE meniu, dešinėje - valdymo perdavimo schema.

Mes supratome valdymo perdavimą. Priklausomai nuo pasirinkto PXE meniu, paleidžiamas automatinio konfigūravimo scenarijus arba derinimo konsolė.

Automatinio konfigūravimo atveju iš diegimo serverio sujungiami reikalingi katalogai, kuriuose yra:

  • scenarijai;
  • išsaugoti BIOS/UEFI šablonai įvairiems serveriams;
  • programinė įranga;
  • serverio komunalinės paslaugos;
  • rąstų

Tada scenarijus mount.sh perkelia valdymą į master-install.sh scenarijų iš scenarijų katalogo.

Scenarijų medis (jų paleidimo tvarka) atrodo maždaug taip:

  • master-install
  • sharefunctions (bendrosios funkcijos)
  • informacija (informacijos išvestis)
  • modeliai (diegimo parametrų nustatymas pagal serverio modelį)
  • ready_utils (būtinų komunalinių paslaugų įdiegimas)
  • fwupdate (firmware atnaujinimas)
  • Diag (elementari diagnostika)
  • biosconf (BIOS / UEFI nustatymai)
  • laikrodis (laiko nustatymas pagrindinėje plokštėje)
  • srmconf (nuotolinės sąsajos sąsajos konfigūracija)
  • raidconf (loginių tomų konfigūravimas)

vienas iš:

  • išankstinis diegimas (valdymo perkėlimas į OS arba hipervizoriaus diegimo programą, pvz., ESXi)
  • merged-install (iš karto pradedama išpakuoti vaizdą)

Dabar mes žinome:

  • kaip paleisti serverį per PXE;
  • kaip perkelti valdymą į savo scenarijų.


Tęskime. Aktualūs tapo šie klausimai:

  • Kaip atpažinti serverį, kurį ruošiame?
  • Kokios komunalinės paslaugos ir kaip sukonfigūruoti serverį?
  • Kaip gauti konkretaus serverio nustatymus?

Kaip atpažinti serverį, kurį ruošiame?

Tai paprasta – DMI:

dmidecode –s system-product-name
dmidecode –s system-manufacturer
dmidecode –s system-serial-number

Čia yra viskas, ko jums reikia: pardavėjas, modelis, serijos numeris. Jei nesate tikri, kad ši informacija yra visuose serveriuose, galite juos atpažinti pagal jų MAC adresą. Arba abiem būdais vienu metu, jei serverio pardavėjai skiriasi ir kai kuriuose modeliuose tiesiog nėra informacijos apie serijos numerį.

Remiantis gauta informacija, iš diegimo serverio sumontuojami tinklo aplankai ir įkeliama viskas, ko reikia (komunalinės paslaugos, programinė įranga ir kt.).

Kokios komunalinės paslaugos ir kaip sukonfigūruoti serverį?

Kai kuriems gamintojams pateiksiu komunalines paslaugas Linux. Visas komunalines paslaugas galima rasti oficialiose pardavėjų svetainėse.

„Pasidaryk pats“ „Bare Metal“ aprūpinimas arba automatinis serverių paruošimas nuo nulio

Su firmware, manau, viskas aišku. Paprastai jie pateikiami supakuotų vykdomųjų failų pavidalu. Vykdomasis failas valdo programinės įrangos atnaujinimo procesą ir praneša grąžinimo kodą.

BIOS ir IPMI paprastai sukonfigūruojami naudojant šablonus. Jei reikia, šabloną galima redaguoti prieš atsisiunčiant.

Kai kurių tiekėjų RAID paslaugų programas taip pat galima konfigūruoti naudojant šabloną. Jei taip nėra, turėsite parašyti konfigūracijos scenarijų.

RAID nustatymo procedūra dažniausiai yra tokia:

  • Mes prašome dabartinės konfigūracijos.
  • Jei jau yra loginių masyvų, juos ištriname.
  • Pažiūrėkime, kokie fiziniai diskai yra ir kiek jų yra.
  • Sukurkite naują loginį masyvą. Klaidos atveju procesą nutraukiame.

Kaip gauti konkretaus serverio nustatymus?

Tarkime, kad visų serverių nustatymai bus saugomi diegimo serveryje. Šiuo atveju, norėdami atsakyti į mūsų klausimą, pirmiausia turime nuspręsti, kaip perkelti nustatymus į diegimo serverį.

Iš pradžių galite apsieiti su tekstiniais failais. (Ateityje galbūt norėsite naudoti tekstinį failą kaip atsarginį metodą nustatymams perkelti.)

Galite „dalytis“ tekstiniu failu diegimo serveryje. Ir pridėkite jo laikiklį prie mount.sh scenarijaus.

Pavyzdžiui, eilutės atrodys taip:

<serijos numeris> <prieglobos serverio pavadinimas> <potinklis>

Šias eilutes į failą perkels inžinierius iš savo darbo mašinos. Ir tada, nustatant serverį, iš failo bus nuskaitomi konkretaus serverio parametrai.

Tačiau ilgalaikėje perspektyvoje geriau naudoti duomenų bazę serverio diegimo parametrams, būsenoms ir žurnalams saugoti.

Žinoma, vien duomenų bazės neužtenka, reikės susikurti kliento dalį, kurios pagalba nustatymai bus perkelti į duomenų bazę. Tai sunkiau įgyvendinti, palyginti su tekstiniu failu, tačiau iš tikrųjų viskas nėra taip sunku, kaip atrodo. Visiškai įmanoma parašyti minimalią kliento versiją, kuri tiesiog pats perkels duomenis į duomenų bazę. O ateityje bus galima patobulinti kliento programą laisvuoju režimu (ataskaitos, etikečių spausdinimas, pranešimų siuntimas ir pan., kas ateina į galvą).

Pateikę konkrečią užklausą duomenų bazei ir nurodę serverio serijos numerį, gausime serverio konfigūravimui reikalingus parametrus.

Be to, mums nereikės sugalvoti užraktų, kad galėtume pasiekti tuo pačiu metu, kaip yra tekstinio failo atveju.

Mes galime įrašyti konfigūracijos žurnalą į duomenų bazę visuose etapuose ir valdyti diegimo procesą per rengimo etapų įvykius ir vėliavėles.

Dabar mes žinome, kaip:

  • paleiskite serverį per PXE;
  • perkelti valdymą į mūsų scenarijų;
  • identifikuoti serverį, kurį reikia paruošti pagal jo serijos numerį;
  • sukonfigūruokite serverį naudodami atitinkamas priemones;
  • perkelkite nustatymus į diegimo serverio duomenų bazę naudodami kliento dalį.

Sužinojome, kaip:

  • įdiegtas serveris gauna reikiamus nustatymus iš duomenų bazės;
  • visa pasiruošimo eiga fiksuojama duomenų bazėje (logai, įvykiai, scenos vėliavėlės).

O kaip dėl įvairių tipų programinės įrangos, kurią įdiegiate? Kaip įdiegti hipervizorių, nukopijuoti VM ir visa tai sukonfigūruoti?

Jei aparatinėje įrangoje diegiate failų sistemos vaizdą (Linux), viskas yra gana paprasta:

  • Sukūrę visus serverio komponentus, įdiegiame vaizdą.
  • Įdiekite grub įkrovos tvarkyklę.
  • Mes chroot ir sukonfigūruojame viską, ko reikia.

Kaip perkelti valdymą į OS diegimo programą (pavyzdžiui naudojant ESXi).

  • Mes organizuojame valdymo perkėlimą iš mūsų scenarijaus į hipervizoriaus diegimo programą naudodami automatinio atsakymo failą (kickstart):
  • Ištriname esamus disko skaidinius.
  • Sukurkite 500 MB skaidinį.
  • Mes pažymime jį kaip paleidžiamą.
  • Formatuoti į FAT32.
  • Nukopijuokite ESXi diegimo failus į jo šaknį.
  • Syslinux diegimas.
  • Nukopijuokite syslinux.cfg į /syslinux/

default esxi
prompt 1
timeout 50
label esxi
kernel mboot.c32
append -c boot.cfg

  • Nukopijuokite mboot.c32 į /syslinux.
  • Boot.cfg turi būti kernelopt=ks=ftp:// /ks_esxi.cfg
  • Perkrauname serverį.

Kai serveris bus paleistas iš naujo, ESXi diegimo programa atsisiųs iš serverio standžiojo disko. Visi reikalingi diegimo failai bus įkelti į atmintį ir prasidės ESXi diegimas pagal nurodytą automatinio atsako failą.

Štai kelios eilutės iš automatinio atsakymo failo ks_esxi.cfg:

%firstboot --interpreter=busybox
…
# получаем серийный номер

SYSSN=$(esxcli hardware platform get | grep Serial | awk -F " " '{print $3}')

# получаем IP

IPADDRT=$(esxcli network ip interface ipv4 get | grep vmk0 | awk -F " " '{print $2}')
LAST_OCTET=$(echo $IPADDRT | awk -F'.' '{print $4}')

# подключаем NFS инсталл-сервера

esxcli storage nfs add -H is -s /srv/nfs_share -v nfsshare1

# копируем временные настройки ssh, для использования ssh-клиента

mv /etc/ssh /etc/ssh.tmp
cp -R /vmfs/volumes/nfsshare1/ssh /etc/
chmod go-r /etc/ssh/ssh_host_rsa_key

# копируем ovftool, для развертывания ВМ сейчас, плюс возможно пригодится позже

cp -R /vmfs/volumes/nfsshare1/ovftool /vmfs/volumes/datastore1/

# развертываем ВМ

/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
/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

# получаем строку с настройками нашего сервера

ssh 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' > /tmp/servers
...
# генерируем скрипт настройки сети

echo '#!/bin/sh' > /vmfs/volumes/datastore1/netconf.sh
echo "esxcli network ip interface ipv4 set -i=vmk0 -t=static --ipv4=$IPADDR --netmask=$S_SUB || exit 1" >> /vmfs/volumes/datastore1/netconf.sh
echo "esxcli network ip route ipv4 add -g=$S_GW -n=default || exit 1" >> /vmfs/volumes/datastore1/netconf.sh
chmod a+x /vmfs/volumes/datastore1/netconf.sh

# задаем параметр guestinfo.esxihost.id, указываем в нем серийный номер

echo "guestinfo.esxihost.id = "$SYSSN"" >> /vmfs/volumes/datastore1/VM1/VM1.vmx
echo "guestinfo.esxihost.id = "$SYSSN"" >> /vmfs/volumes/datastore1/VM2/VM2.vmx
...
# обновляем информацию в базе

SYSNAME=$(esxcli hardware platform get | grep Product | sed 's/Product Name://' | sed 's/^ *//')
UUID=$(vim-cmd hostsvc/hostsummary | grep uuid | sed 's/ //g;s/,$//' | sed 's/^uuid="//;s/"$//')
ssh root@is "mysql -D'servers' -u'user' -p'secretpassword' -e "UPDATE servers ... SET ... WHERE servers.serial='$SYSSN'""
ssh root@is "mysql -D'servers' -u'user' -p'secretpassword' -e "INSERT INTO events ...""

# возвращаем настройки SSH

rm -rf /etc/ssh
mv /etc/ssh.tmp /etc/ssh

# настраиваем сеть и перезагружаемся

esxcli system hostname set --fqdn=esx-${G_NICK}.x5.ru
/vmfs/volumes/datastore1/netconf.sh
reboot

Šiame etape įdiegiamas ir sukonfigūruojamas hipervizorius, nukopijuojamos virtualios mašinos.

Kaip dabar sukonfigūruoti virtualias mašinas?

Šiek tiek apgaudinėjome: diegimo metu VM1.vmx faile nustatėme parametrą guestinfo.esxihost.id = "$SYSSN" ir jame nurodėme fizinio serverio serijos numerį.

Dabar, paleidus, virtualioji mašina (su įdiegtu vmware-tools paketu) gali pasiekti šį parametrą:

ESXI_SN=$(vmtoolsd --cmd "info-get guestinfo.esxihost.id")

Tai yra, VM galės identifikuoti save (žino fizinio pagrindinio kompiuterio serijos numerį), pateikti užklausą diegimo serverio duomenų bazei ir gauti parametrus, kuriuos reikia sukonfigūruoti. Visa tai yra sudaryta į scenarijų, kuris turėtų būti paleistas automatiškai, kai paleidžiama guestos vm (bet vieną kartą: RunOnce).

Dabar mes žinome, kaip:

  • paleiskite serverį per PXE;
  • perkelti valdymą į mūsų scenarijų;
  • identifikuoti serverį, kurį reikia paruošti pagal jo serijos numerį;
  • sukonfigūruokite serverį naudodami atitinkamas priemones;
  • perkelti nustatymus į diegimo serverio duomenų bazę naudojant kliento dalį;
  • konfigūruoti įvairių tipų programinę įrangą, įskaitant esxi hipervizoriaus diegimą ir virtualių mašinų konfigūravimą (visa tai automatiškai).

Sužinojome, kaip:

  • įdiegtas serveris gauna reikiamus nustatymus iš duomenų bazės;
  • visa pasiruošimo eiga fiksuojama duomenų bazėje (logai, įvykiai, scenos vėliavėlės).


Esmė:

Tikiu, kad šio sprendimo išskirtinumas slypi jo lankstumu, paprastumu, galimybėmis ir universalumu.

Komentaruose parašykite ką manote.

Šaltinis: www.habr.com

Pirkite patikimą prieglobą svetainėms su DDoS apsauga, VPS VDS serveriais 🔥 Įsigykite patikimą svetainių talpinimą su DDoS apsauga, VPS VDS serveriais | ProHoster