Bëje vetë Sigurimi me metal të zhveshur, ose përgatitja automatike e serverëve nga e para

Përshëndetje, unë jam Denis dhe një nga fushat e mia të aktivitetit është zhvillimi i zgjidhjeve të infrastrukturës në X5. Sot do të doja të ndaja me ju se si mund të vendosni një sistem automatik të përgatitjes së serverit bazuar në mjetet e disponueshme publikisht. Sipas mendimit tim, kjo është një zgjidhje interesante, e thjeshtë dhe fleksibël.

Bëje vetë Sigurimi me metal të zhveshur, ose përgatitja automatike e serverëve nga e para

Me përgatitje nënkuptojmë: shndërroni një server të ri jashtë kutisë në një server plotësisht të konfiguruar me OS. Linux ose me hipervizorin ESXi (vendosja e serverëve Windows nuk diskutohet në këtë artikull).

Kushtet:

  • serverë – serverë që duhet të konfigurohen.
  • serveri i instalimit është serveri kryesor që ofron të gjithë procesin e përgatitjes përmes rrjetit.

Pse nevojitet automatizimi?

Le të themi se ekziston një detyrë: përgatitja masive e serverëve nga e para, në kulmin - 30 në ditë. Serverë të prodhuesve dhe modeleve të ndryshëm, sisteme të ndryshme operative mund të instalohen në to dhe mund të kenë ose jo një hipervizor.

Cilat operacione përfshihen në procesin e konfigurimit (pa automatizim):

  • lidhni një tastierë, miun, monitorin me serverin;
  • konfiguroni BIOS, RAID, IPMI;
  • përditësoni firmware-in e komponentit;
  • vendosni një imazh të sistemit të skedarëve (ose instaloni një hipervizor dhe kopjoni makinat virtuale);

Shënim. Përndryshe, vendosja e OS është e mundur përmes instalimit me një skedar të përgjigjes automatike. Por kjo nuk do të diskutohet në artikull. Edhe pse do të shihni më poshtë se shtimi i këtij funksioni nuk është i vështirë.

  • konfiguroni parametrat e OS (emri i hostit, IP, etj.).

Me këtë qasje, të njëjtat cilësime kryhen në mënyrë sekuenciale në secilin server. Efikasiteti i një pune të tillë është shumë i ulët.

Thelbi i automatizimit është eliminimi i pjesëmarrjes njerëzore nga procesi i përgatitjes së serverit. Sa më shumë që të jetë e mundur.

Automatizimi redukton kohën e ndërprerjes ndërmjet operacioneve dhe bën të mundur ofrimin e serverëve të shumtë në të njëjtën kohë. Mundësia e gabimeve për shkak të faktorëve njerëzorë gjithashtu zvogëlohet shumë.

Bëje vetë Sigurimi me metal të zhveshur, ose përgatitja automatike e serverëve nga e para

Si konfigurohen automatikisht serverët?

Le të analizojmë të gjitha fazat në detaje.

Ju keni një server Linux që e përdorni si server instalimi PXE. Shërbimet janë instaluar dhe konfiguruar në të: DHCP, TFTP.

Pra, ne nisim serverin (i cili duhet të konfigurohet) përmes PXE. Le të kujtojmë se si funksionon:

  • Nisja e rrjetit zgjidhet në server.
  • Serveri ngarkon PXE-ROM-in e kartës së rrjetit dhe kontakton serverin e instalimit nëpërmjet DHCP për të marrë një adresë rrjeti.
  • Serveri i instalimit DHCP lëshon një adresë, si dhe udhëzime për shkarkim të mëtejshëm nëpërmjet PXE.
  • Serveri ngarkon ngarkuesin e rrjetit nga serveri i instalimit nëpërmjet PXE, ngarkimi i mëtejshëm ndodh sipas skedarit të konfigurimit PXE.
  • Nisja ndodh në bazë të parametrave të marrë (kerneli, initramfs, pikat e montimit, imazhi i squashfs, etj.).

Shënim. Artikulli përshkruan nisjen përmes PXE përmes modalitetit BIOS. Aktualisht, prodhuesit po zbatojnë në mënyrë aktive modalitetin e nisjes UEFI. Për PXE, ndryshimi do të jetë në konfigurimin e serverit DHCP dhe praninë e një ngarkuesi shtesë.

Le të shohim një shembull të një konfigurimi të serverit PXE (menuja pxelinux).

Skedari 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 // переход на следующее меню

Skedari 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=”…”

Kerneli dhe initramf-et në këtë fazë janë një imazh i ndërmjetëm Linux, me ndihmën e të cilit do të bëhet përgatitja dhe konfigurimi kryesor i serverit.

Siç mund ta shihni, bootloader kalon shumë parametra në kernel. Disa nga këto parametra përdoren nga vetë kerneli. Dhe ne mund t'i përdorim disa për qëllimet tona. Kjo do të diskutohet më vonë, por tani për tani ju thjesht mund të mbani mend se të gjithë parametrat e kaluar do të jenë të disponueshëm në imazhin e ndërmjetëm Linux nëpërmjet /proc/cmdline.

Ku mund t'i marr ato, kernel dhe initramfs?
Si bazë, ju mund të zgjidhni çdo shpërndarje Linux. Çfarë i kushtojmë vëmendje kur zgjedhim:

  • imazhi i nisjes duhet të jetë universal (disponueshmëria e drejtuesve, aftësia për të instaluar shërbime shtesë);
  • Me shumë mundësi, do t'ju duhet të personalizoni initramfs.

Si bëhet kjo në zgjidhjen tonë për X5? Si bazë u zgjodh CentOS 7. Le të provojmë trukun e mëposhtëm: përgatitni strukturën e ardhshme të imazhit, paketoni atë në një arkiv dhe krijoni një initramfs, brenda të cilit do të jetë arkivi ynë i sistemit të skedarëve. Kur ngarkoni imazhin, arkivi do të zgjerohet në ndarjen e krijuar tmpfs. Në këtë mënyrë do të marrim një imazh të drejtpërdrejtë linux minimal, por të plotë me të gjitha shërbimet e nevojshme, i përbërë nga vetëm dy skedarë: vmkernel dhe 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

Pra, ne kemi specifikuar kernelin dhe initramf-et që duhet të ngarkohen. Si rezultat, në këtë fazë, duke ngarkuar imazhin e ndërmjetëm linux përmes PXE, do të marrim konsolën e OS.

E shkëlqyeshme, por tani duhet ta transferojmë kontrollin në "automatizimin" tonë.

Mund të bëhet kështu.

Le të supozojmë se pas ngarkimit të imazhit planifikojmë të transferojmë kontrollin në skriptin mount.sh.
Le të përfshijmë skriptin mount.sh në autorun. Për ta bërë këtë, do t'ju duhet të modifikoni initramfs:

  • shpaketoni initramfs (nëse përdorim opsionin e mësipërm initramfs, kjo nuk kërkohet)
  • përfshini kodin në fillimin që do të analizojë parametrat e kaluar përmes /proc/cmdline dhe do të transferojë më tej kontrollin;
  • paketë initramfs.

Shënim. Në rastin e paketës së veglave X5, kontrolli i ngarkimit transferohet në skript /opt/x5/toolkit/bin/hook.sh с помощью override.conf в getty tty1 (ExecStart=…)

Pra, ngarkohet imazhi, në të cilin skripti mount.sh fillon në autorun. Më pas, skripti mount.sh analizon parametrat e kaluar (script_cmd=) gjatë ekzekutimit dhe nis programin/skriptin e nevojshëm.

paketa e etiketave-auto
bërthama...
shtoj...nfs_toolkit_script=skriptet/mount.sh script_cmd=master-install.sh

paketa e etiketave-predhë
bërthama...
shtoj...nfs_toolkit_script=skriptet/mount.sh script_cmd=/bin/bash

Bëje vetë Sigurimi me metal të zhveshur, ose përgatitja automatike e serverëve nga e para

Këtu në të majtë është menyja PXE, në të djathtë është diagrami i transferimit të kontrollit.

Ne kuptuam transferimin e kontrollit. Në varësi të zgjedhjes së menysë PXE, hapet ose skripti i konfigurimit automatik ose tastiera e korrigjimit.

Në rastin e konfigurimit automatik, nga serveri i instalimit montohen drejtoritë e nevojshme, të cilat përmbajnë:

  • skriptet;
  • shabllone të ruajtura BIOS/UEFI për serverë të ndryshëm;
  • firmware;
  • shërbimet e serverit;
  • trungje

Më pas, skripti mount.sh transferon kontrollin në skriptin master-install.sh nga drejtoria e skriptit.

Pema e skriptit (rendi në të cilin ato janë nisur) duket diçka si kjo:

  • master-instaloni
  • funksionet e përbashkëta (funksionet e përbashkëta)
  • informacion (dalje informacioni)
  • modelet (vendosja e parametrave të instalimit bazuar në modelin e serverit)
  • përgatit_utils (instalimi i shërbimeve të nevojshme)
  • fwupdate (përditësim i firmuerit)
  • diagnostifikimi (diagnostikimi elementar)
  • biosconf (Cilësimet BIOS/UEFI)
  • rregullim i orës (vendosja e orës në motherboard)
  • srmconf (konfigurimi i ndërfaqes në distancë)
  • raidconf (konfigurimi i vëllimeve logjike)

nje nga:

  • parainstalimi (transferimi i kontrollit te OS ose instaluesi i hipervizorit, si p.sh. ESXi)
  • bashkuar-install (fillimi i menjëhershëm i shpaketimit të imazhit)

Tani e dimë:

  • si të nisni një server përmes PXE;
  • si ta transferoni kontrollin në skriptin tuaj.


Le te vazhdojme. Pyetjet e mëposhtme u bënë të rëndësishme:

  • Si të identifikojmë serverin që po përgatisim?
  • Cilat shërbime dhe si të konfiguroni serverin?
  • Si të merrni cilësimet për një server specifik?

Si të identifikojmë serverin që po përgatisim?

Është e thjeshtë - DMI:

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

Gjithçka që ju nevojitet është këtu: shitësi, modeli, numri serial. Nëse nuk jeni të sigurt që ky informacion është i pranishëm në të gjithë serverët, mund t'i identifikoni ato me adresën e tyre MAC. Ose në të dyja mënyrat në të njëjtën kohë, nëse shitësit e serverëve janë të ndryshëm dhe në disa modele thjesht nuk ka informacion për numrin serial.

Bazuar në informacionin e marrë, dosjet e rrjetit montohen nga serveri i instalimit dhe ngarkohet gjithçka e nevojshme (shërbimet, firmware, etj.).

Cilat shërbime dhe si të konfiguroni serverin?

Unë do të ofroj shërbime për Linux për disa prodhues. Të gjitha shërbimet janë të disponueshme në faqet zyrtare të internetit të shitësve.

Bëje vetë Sigurimi me metal të zhveshur, ose përgatitja automatike e serverëve nga e para

Me firmware, mendoj se gjithçka është e qartë. Ato zakonisht vijnë në formën e skedarëve të paketuar të ekzekutueshëm. Skedari i ekzekutueshëm kontrollon procesin e përditësimit të firmuerit dhe raporton kodin e kthimit.

BIOS dhe IPMI zakonisht konfigurohen përmes shablloneve. Nëse është e nevojshme, shablloni mund të modifikohet përpara se të shkarkohet.

Shërbimet RAID nga disa shitës mund të konfigurohen gjithashtu duke përdorur një shabllon. Nëse nuk është kështu, atëherë do t'ju duhet të shkruani një skript konfigurimi.

Procedura për konfigurimin e RAID është më shpesh si më poshtë:

  • Ne kërkojmë konfigurimin aktual.
  • Nëse tashmë ka vargje logjike, ne i fshijmë ato.
  • Le të shohim se çfarë disqe fizikë janë të pranishëm dhe sa ka.
  • Krijo një grup të ri logjik. Ne e ndërpresim procesin në rast të një gabimi.

Si të merrni cilësimet për një server specifik?

Le të supozojmë se cilësimet e të gjithë serverëve do të ruhen në serverin e instalimit. Në këtë rast, për t'iu përgjigjur pyetjes sonë, së pari duhet të vendosim se si t'i transferojmë cilësimet në serverin e instalimit.

Në fillim, ju mund të kaloni me skedarë teksti. (Në të ardhmen, mund të dëshironi të përdorni një skedar teksti si një metodë alternative për transferimin e cilësimeve.)

Ju mund të "ndani" një skedar teksti në serverin e instalimit. Dhe shtoni montimin e tij në skriptin mount.sh.

Linjat, për shembull, do të duken kështu:

<numri serial> <emri i hostit> <nënrrjet>

Këto rreshta do të transferohen në dosje nga inxhinieri nga makina e tij e punës. Dhe më pas, kur vendosni një server, parametrat për një server specifik do të lexohen nga skedari.

Por, në terma afatgjatë, është më mirë të përdoret një bazë të dhënash për të ruajtur cilësimet, gjendjet dhe regjistrat e instalimeve të serverit.

Natyrisht, nuk mjafton vetëm një bazë të dhënash dhe do t'ju duhet të krijoni një pjesë klienti me ndihmën e së cilës cilësimet do të transferohen në bazën e të dhënave. Kjo është më e vështirë për t'u zbatuar në krahasim me një skedar teksti, por në fakt, gjithçka nuk është aq e vështirë sa duket. Është mjaft e mundur të shkruani një version minimal të një klienti që thjesht do të transferojë vetë të dhënat në bazën e të dhënave. Dhe në të ardhmen do të jetë e mundur të përmirësohet programi i klientit në modalitetin falas (raporte, printim etiketash, dërgim njoftimesh, etj. që ju vjen ndërmend).

Duke bërë një kërkesë specifike në bazën e të dhënave dhe duke specifikuar numrin serial të serverit, ne do të marrim parametrat e nevojshëm për konfigurimin e serverit.

Plus, nuk do të kemi nevojë të krijojmë bravë për akses të njëkohshëm, siç është rasti me një skedar teksti.

Ne mund të shkruajmë regjistrin e konfigurimit në bazën e të dhënave në të gjitha fazat dhe të kontrollojmë procesin e instalimit përmes ngjarjeve dhe flamujve të fazave të përgatitjes.

Tani ne e dimë se si:

  • nisni serverin përmes PXE;
  • transferimi i kontrollit në skenarin tonë;
  • identifikoni serverin që duhet të përgatitet me numrin e tij serial;
  • konfiguroni serverin duke përdorur shërbimet e duhura;
  • transferoni cilësimet në bazën e të dhënave të serverit të instalimit duke përdorur pjesën e klientit.

Ne zbuluam se si:

  • serveri i instaluar merr cilësimet e nevojshme nga baza e të dhënave;
  • i gjithë progresi i përgatitjes regjistrohet në bazën e të dhënave (regjistrat, ngjarjet, flamujt e skenës).

Po në lidhje me llojet e ndryshme të softuerit që instaloni? Si të instaloni një hipervisor, të kopjoni një VM dhe të konfiguroni të gjitha?

Në rastin e vendosjes së një imazhi të sistemit të skedarëve (linux) në harduer, gjithçka është mjaft e thjeshtë:

  • Pas konfigurimit të të gjithë komponentëve të serverit, ne vendosim imazhin.
  • Instaloni ngarkuesin grub.
  • Ne chroot dhe konfigurojmë gjithçka që nevojitet.

Si të transferoni kontrollin te instaluesi i OS (duke përdorur ESXi si shembull).

  • Ne organizojmë transferimin e kontrollit nga skripti ynë te instaluesi i hipervizorit duke përdorur skedarin e përgjigjes automatike (kickstart):
  • Ne fshijmë ndarjet aktuale në disk.
  • Krijoni një ndarje me një madhësi prej 500 MB.
  • Ne e shënojmë atë si bootable.
  • Formatoni në FAT32.
  • Ne kopjojmë skedarët e instalimit ESXi në rrënjë.
  • Instalimi i syslinux.
  • Kopjo syslinux.cfg në /syslinux/

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

  • Kopjo mboot.c32 në /syslinux.
  • Boot.cfg duhet të ketë kernelopt=ks=ftp:// /ks_esxi.cfg
  • Ne rinisim serverin.

Pasi serveri të rindizet, instaluesi ESXi do të shkarkohet nga hard disku i serverit. Të gjithë skedarët e nevojshëm të instaluesit do të ngarkohen në memorie dhe më pas do të fillojë instalimi ESXi, sipas skedarit të përgjigjes automatike të specifikuar.

Këtu janë disa rreshta nga skedari i përgjigjes autoriale 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:[email protected]
/vmfs/volumes/datastore1/ovftool/tools/ovftool --acceptAllEulas --noSSLVerify --datastore=datastore1 --name=VM2 /vmfs/volumes/nfsshare1/VM_T/VM2.ova vi://root:[email protected]

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

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

Në këtë fazë, hipervizori instalohet dhe konfigurohet, dhe makinat virtuale kopjohen.

Si të konfiguroni makinat virtuale tani?

Ne mashtruam pak: gjatë instalimit vendosëm parametrin guestinfo.esxihost.id = "$SYSSN" në skedarin VM1.vmx dhe treguam numrin serial të serverit fizik në të.

Tani, pas fillimit, makina virtuale (me paketën vmware-tools të instaluar) mund të hyjë në këtë parametër:

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

Kjo do të thotë, VM do të jetë në gjendje të identifikojë veten (ai e di numrin serial të hostit fizik), të bëjë një kërkesë në bazën e të dhënave të serverit të instalimit dhe të marrë parametrat që duhet të konfigurohen. E gjithë kjo përpilohet në një skript, i cili duhet të lansohet automatikisht kur të nisë guestos vm (por një herë: RunOnce).

Tani ne e dimë se si:

  • nisni serverin përmes PXE;
  • transferimi i kontrollit në skenarin tonë;
  • identifikoni serverin që duhet të përgatitet me numrin e tij serial;
  • konfiguroni serverin duke përdorur shërbimet e duhura;
  • transferoni cilësimet në bazën e të dhënave të serverit të instalimit duke përdorur pjesën e klientit;
  • konfiguroni lloje të ndryshme softuerësh, duke përfshirë vendosjen e hipervizorit esxi dhe konfigurimin e makinave virtuale (të gjitha automatikisht).

Ne zbuluam se si:

  • serveri i instaluar merr cilësimet e nevojshme nga baza e të dhënave;
  • i gjithë progresi i përgatitjes regjistrohet në bazën e të dhënave (regjistrat, ngjarjet, flamujt e skenës).


Bottom line:

Unë besoj se veçantia e kësaj zgjidhjeje qëndron në fleksibilitetin, thjeshtësinë, aftësitë dhe shkathtësinë e saj.

Ju lutemi shkruani në komente se çfarë mendoni.

Burimi: www.habr.com

Shto një koment