Do-it-yourself Bare-Metal Provisioning, utawa nyiyapake server otomatis saka awal

Halo, aku Denis lan salah sawijining area kegiatanku yaiku pangembangan solusi infrastruktur ing X5. Dina iki aku pengin nuduhake karo sampeyan carane sampeyan bisa masang sistem persiapan server otomatis adhedhasar alat sing kasedhiya kanggo umum. Miturut pendapatku, iki minangka solusi sing menarik, prasaja lan fleksibel.

Do-it-yourself Bare-Metal Provisioning, utawa nyiyapake server otomatis saka awal

Miturut persiapan, tegese: nguripake server anyar metu saka kothak menyang server sing wis dikonfigurasi kanthi OS. Linux utawa nganggo hypervisor ESXi (penyebaran server Windows ora dibahas ing artikel iki).

Sarat:

  • server - server sing kudu dikonfigurasi.
  • server instalasi minangka server utama sing nyedhiyakake kabeh proses persiapan liwat jaringan.

Apa otomatisasi dibutuhake?

Ayo dadi ngomong ana tugas: kanggo massively nyiyapake server saka ngeruk, ing puncak - 30 saben dina. Server saka manufaktur lan model sing beda-beda, sistem operasi sing beda-beda bisa diinstal, lan bisa uga ora duwe hypervisor.

Operasi apa sing kalebu ing proses persiyapan (tanpa otomatisasi):

  • nyambungake keyboard, mouse, monitor menyang server;
  • ngatur BIOS, RAID, IPMI;
  • nganyari perangkat kukuh komponen;
  • masang gambar sistem file (utawa nginstal hypervisor lan nyalin mesin virtual);

Cathetan. Utawa, panyebaran OS bisa liwat instalasi kanthi file respon otomatis. Nanging iki ora bakal dibahas ing artikel kasebut. Sanajan sampeyan bakal weruh ing ngisor iki yen nambah fungsi iki ora angel.

  • ngatur paramΓ¨ter OS (jeneng host, IP, lsp).

Kanthi pendekatan iki, setelan sing padha ditindakake kanthi urutan ing saben server. Efisiensi karya kasebut sithik banget.

Inti otomatisasi yaiku ngilangi partisipasi manungsa saka proses persiapan server. Sabisane.

Otomatisasi nyuda downtime antarane operasi lan ndadekake iku bisa kanggo nyedhiyani sawetara server bebarengan. Kemungkinan kesalahan amarga faktor manungsa uga suda banget.

Do-it-yourself Bare-Metal Provisioning, utawa nyiyapake server otomatis saka awal

Kepiye server dikonfigurasi kanthi otomatis?

Ayo analisa kabeh tahapan kanthi rinci.

Sampeyan duwe server Linux sing digunakake minangka server instalasi PXE. Layanan diinstal lan dikonfigurasi ing: DHCP, TFTP.

Dadi, kita boot server (sing kudu dikonfigurasi) liwat PXE. Ayo elinga cara kerjane:

  • Boot jaringan dipilih ing server.
  • Server mbukak PXE-ROM kertu jaringan lan ngontak server instalasi liwat DHCP kanggo entuk alamat jaringan.
  • Server instalasi DHCP ngetokake alamat, uga instruksi kanggo ngundhuh luwih lanjut liwat PXE.
  • Server mbukak bootloader jaringan saka server instalasi liwat PXE, loading luwih ana miturut file konfigurasi PXE.
  • Boot dumadi adhedhasar paramΓ¨ter sing ditampa (kernel, initramfs, titik gunung, gambar squashfs, lsp.).

Cathetan. Artikel kasebut nerangake booting liwat PXE liwat mode BIOS. Saiki, manufaktur aktif ngetrapake mode boot UEFI. Kanggo PXE, prabΓ©dan bakal ana ing konfigurasi server DHCP lan ananΓ© bootloader tambahan.

Ayo goleki conto konfigurasi server PXE (menu pxelinux).

File 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 // ΠΏΠ΅Ρ€Π΅Ρ…ΠΎΠ΄ Π½Π° ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ мСню

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

Kernel lan initramfs ing tahap iki minangka gambar Linux penengah, kanthi bantuan persiapan lan konfigurasi utama server bakal ditindakake.

Kaya sing sampeyan ngerteni, bootloader ngirim akeh parameter menyang kernel. Sawetara paramèter iki digunakake dening kernel dhewe. Lan kita bisa nggunakake sawetara kanggo tujuan kita dhewe. Iki bakal dibahas mengko, nanging saiki sampeyan mung bisa ngelingi yen kabeh paramèter sing liwati bakal kasedhiya ing gambar Linux penengah liwat /proc/cmdline.

Ing endi aku bisa njaluk, kernel lan initramfs?
Minangka basis, sampeyan bisa milih distribusi Linux apa wae. Apa kita menehi perhatian nalika milih:

  • gambar boot kudu universal (kasedhiya driver, kemampuan kanggo nginstal keperluan tambahan);
  • Paling kamungkinan, sampeyan kudu ngatur initramfs.

Kepiye carane iki rampung ing solusi kanggo X5? CentOS 7 dipilih minangka basis. Ayo coba trik ing ngisor iki: nyiyapake struktur gambar ing mangsa ngarep, bungkus menyang arsip lan gawe initramfs, ing jerone bakal ana arsip sistem file. Nalika ngemot gambar, arsip bakal ditambahake menyang partisi tmpfs sing digawe. Kanthi cara iki, kita bakal entuk gambar linux urip sing paling tithik, nanging lengkap kanthi kabeh keperluan sing dibutuhake, mung kalebu rong file: vmkernel lan 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

Dadi, kita wis nemtokake kernel lan initramfs sing kudu dimuat. AkibatΓ©, ing tahap iki, kanthi ngemot gambar linux perantara liwat PXE, kita bakal nampa konsol OS.

Apik, nanging saiki kita kudu nransfer kontrol menyang "otomatisasi".

Bisa ditindakake kaya iki.

Ayo dadi nganggep yen sawise loading gambar kita rencana transfer kontrol kanggo script mount.sh.
Ayo kalebu skrip mount.sh ing autorun. Kanggo nindakake iki, sampeyan kudu ngowahi initramfs:

  • unpack initramfs (yen kita nggunakake opsi initramfs ndhuwur, iki ora dibutuhake)
  • kalebu kode ing wiwitan sing bakal nganalisa paramΓ¨ter liwat / proc / cmdline lan kontrol transfer luwih;
  • paket initramfs.

Cathetan. Ing kasus toolkit X5, kontrol loading ditransfer menyang script /opt/x5/toolkit/bin/hook.sh с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ override.conf Π² getty tty1 (ExecStart=…)

Dadi, gambar dimuat, ing endi skrip mount.sh diwiwiti ing autorun. Sabanjure, skrip mount.sh nganalisa parameter sing dilewati (script_cmd=) sajrone eksekusi lan miwiti program / skrip sing dibutuhake.

label toolkit-otomatis
kernel...
append... nfs_toolkit_script=scripts/mount.sh script_cmd=master-install.sh

label toolkit-Nihan
kernel...
append... nfs_toolkit_script=scripts/mount.sh script_cmd=/bin/bash

Do-it-yourself Bare-Metal Provisioning, utawa nyiyapake server otomatis saka awal

Ing sisih kiwa ana menu PXE, ing sisih tengen ana diagram transfer kontrol.

We figured metu transfer kontrol. Gumantung ing pilihan saka menu PXE, salah siji script konfigurasi otomatis utawa console debugging dibukak.

Ing kasus konfigurasi otomatis, direktori sing dibutuhake dipasang saka server instalasi, sing ngemot:

  • skrip;
  • disimpen BIOS / UEFI Cithakan kanggo macem-macem server;
  • perangkat kukuh;
  • utilitas server;
  • log

Sabanjure, skrip mount.sh nransfer kontrol menyang skrip master-install.sh saka direktori skrip.

Wit skrip (urutan sing diluncurake) katon kaya iki:

  • master-instal
  • fungsi bareng (share functions)
  • informasi (output informasi)
  • model (nyetel parameter instalasi adhedhasar model server)
  • prepare_utils (instalasi utilitas sing dibutuhake)
  • fwupdate (update firmware)
  • diag (diagnosa dhasar)
  • biosconf (setelan BIOS/UEFI)
  • clockfix (nyetel wektu ing motherboard)
  • srmconf (konfigurasi antarmuka antarmuka jarak jauh)
  • raidconf (konfigurasi volume logis)

salah siji saka:

  • prainstal (transfer kontrol menyang OS utawa installer hypervisor, kayata ESXi)
  • merged-install (wiwit langsung mbukak gambar)

Saiki kita ngerti:

  • carane boot server liwat PXE;
  • carane nransfer kontrol kanggo script dhewe.


Ayo diterusake. Pitakonan ing ngisor iki dadi relevan:

  • Kepiye cara ngenali server sing lagi disiapake?
  • Apa keperluan lan carane ngatur server?
  • Carane njaluk setelan kanggo server tartamtu?

Kepiye cara ngenali server sing lagi disiapake?

Iku prasaja - DMI:

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

Kabeh sing perlu kene: vendor, model, nomer seri. Yen sampeyan ora yakin manawa informasi iki ana ing kabeh server, sampeyan bisa ngenali kanthi alamat MAC. Utawa ing loro cara ing wektu sing padha, yen vendor server beda lan ing sawetara model mung ora ana informasi bab nomer serial.

Adhedhasar informasi sing ditampa, folder jaringan dipasang saka server instalasi lan kabeh sing perlu dimuat (utilitas, perangkat kukuh, lsp.).

Apa keperluan lan carane ngatur server?

Aku bakal nyedhiyani keperluan kanggo Linux kanggo sawetara manufaktur. Kabeh keperluan kasedhiya ing situs web resmi vendor.

Do-it-yourself Bare-Metal Provisioning, utawa nyiyapake server otomatis saka awal

Kanthi perangkat kukuh, aku kabeh wis jelas. Padha biasane teka ing wangun file eksekusi rangkep. File eksekusi ngontrol proses nganyari perangkat kukuh lan laporan kode bali.

BIOS lan IPMI biasane dikonfigurasi liwat cithakan. Yen perlu, cithakan bisa diowahi sadurunge diundhuh.

keperluan RAID saka sawetara vendor uga bisa diatur nggunakake cithakan. Yen ora, sampeyan kudu nulis skrip konfigurasi.

Prosedur kanggo nyetel RAID paling kerep kaya ing ngisor iki:

  • We njaluk konfigurasi saiki.
  • Yen wis ana array logis, kita mbusak.
  • Ayo goleki apa disk fisik sing ana lan jumlahe.
  • Nggawe array logis anyar. Kita ngganggu proses yen ana kesalahan.

Carane njaluk setelan kanggo server tartamtu?

Ayo nganggep yen setelan kabeh server bakal disimpen ing server instalasi. Ing kasus iki, kanggo njawab pitakonan kita, kita kudu mutusake carane nransfer setelan menyang server instalasi.

Ing kawitan, sampeyan bisa njaluk karo file teks. (Ing mangsa ngarep, sampeyan bisa uga pengin nggunakake file teks minangka cara mundur kanggo nransfer setelan.)

Sampeyan bisa "nuduhake" file teks ing server instalasi. Lan nambah gunung kanggo script mount.sh.

Garis bakal, contone, katon kaya iki:

<nomer seri> <jeneng host> <subnet>

Garis kasebut bakal ditransfer menyang file dening insinyur saka mesin kerjane. Banjur, nalika nyetel server, paramèter kanggo server tartamtu bakal diwaca saka file kasebut.

Nanging, ing jangka panjang, luwih becik nggunakake database kanggo nyimpen setelan, negara lan log instalasi server.

Mesthine, database mung ora cukup, lan sampeyan kudu nggawe bagean klien kanthi bantuan setelan sing bakal ditransfer menyang database. Iki luwih angel diimplementasikake dibandhingake karo file teks, nanging nyatane, kabeh ora angel kaya sing dikira. Sampeyan bisa uga nulis versi minimal saka klien sing mung bakal nransfer data menyang database dhewe. Lan ing mangsa ngarep bakal bisa nambah program klien ing mode gratis (laporan, label printing, ngirim kabar, lan liya-liyane sing ana ing pikirane).

Kanthi nggawe panjalukan tartamtu kanggo database lan nemtokake nomer serial server, kita bakal nampa paramèter sing perlu kanggo konfigurasi server.

Kajaba iku, kita ora perlu nggawe kunci kanggo akses simultan, kaya ing file teks.

Kita bisa nulis log konfigurasi kanggo database ing kabeh orane tumrap sekolah lan ngontrol proses instalasi liwat acara lan panji saka orane tumrap sekolah preparation.

Saiki kita ngerti carane:

  • boot server liwat PXE;
  • transfer kontrol kanggo script kita;
  • ngenali server sing kudu disiapake dening nomer serial sawijining;
  • ngatur server nggunakake utilitas sing cocog;
  • setelan transfer menyang database server instalasi nggunakake bagean klien.

Kita ngerti carane:

  • server sing diinstal nampa setelan sing dibutuhake saka database;
  • kabeh kemajuan preparation direkam ing database (log, acara, gendΓ©ra tataran).

Kepiye babagan macem-macem jinis piranti lunak sing sampeyan instal? Carane nginstal hypervisor, nyalin VM lan ngatur kabeh?

Ing kasus deploying gambar sistem file (linux) menyang hardware, kabeh iku cukup prasaja:

  • Sawise nyetel kabeh komponen server, kita nyebarake gambar kasebut.
  • Instal bootloader grub.
  • Kita chroot lan ngatur kabeh sing dibutuhake.

Cara nransfer kontrol menyang installer OS (nggunakake ESXi minangka conto).

  • Kita ngatur transfer kontrol saka skrip menyang installer hypervisor nggunakake file respon otomatis (kickstart):
  • Kita mbusak partisi saiki ing disk.
  • Gawe partisi kanthi ukuran 500MB.
  • Kita menehi tandha minangka bootable.
  • Format menyang FAT32.
  • Kita nyalin file instalasi ESXi menyang ROOT.
  • Nginstal syslinux.
  • Salin syslinux.cfg menyang /syslinux/

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

  • Nyalin mboot.c32 menyang /syslinux.
  • Boot.cfg kudu kernelopt=ks=ftp:// /ks_esxi.cfg
  • Kita urip maneh server.

Sawise reboots server, installer ESXi bakal ngundhuh saka hard drive server. Kabeh file installer sing dibutuhake bakal dimuat ing memori banjur instalasi ESXi bakal diwiwiti, miturut file respon otomatis sing ditemtokake.

Ing ngisor iki sawetara baris saka file autoresponse 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

Ing tahap iki, hypervisor diinstal lan dikonfigurasi, lan mesin virtual disalin.

Kepiye carane ngatur mesin virtual saiki?

We ngapusi sethitik: sak instalasi kita nyetel parameter guestinfo.esxihost.id = "$SYSSN" ing file VM1.vmx lan dituduhake nomer serial saka server fisik ing.

Saiki, sawise miwiti, mesin virtual (kanthi paket vmware-tools diinstal) bisa ngakses parameter iki:

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

Sing, VM bakal bisa kanggo ngenali dhewe (ngerti nomer serial saka inang fisik), nggawe panjalukan kanggo database server instalasi lan nampa paramèter sing kudu diatur. Iki kabeh dikompilasi dadi skrip, sing kudu diluncurake kanthi otomatis nalika guestos vm diwiwiti (nanging sapisan: RunOnce).

Saiki kita ngerti carane:

  • boot server liwat PXE;
  • transfer kontrol kanggo script kita;
  • ngenali server sing kudu disiapake dening nomer serial sawijining;
  • ngatur server nggunakake utilitas sing cocog;
  • transfer setelan menyang database server instalasi nggunakake bagean klien;
  • ngatur macem-macem jinis piranti lunak, kalebu deploying hypervisor esxi lan konfigurasi mesin virtual (kabeh kanthi otomatis).

Kita ngerti carane:

  • server sing diinstal nampa setelan sing dibutuhake saka database;
  • kabeh kemajuan preparation direkam ing database (log, acara, gendΓ©ra tataran).


Ngisor garis:

Aku pracaya yen uniqueness saka solusi iki dumunung ing keluwesan, gamblang, Kapabilitas lan versatility.

Mangga nulis ing komentar apa sampeyan mikir.

Source: www.habr.com

Add a comment