Ua-nws-koj tus kheej Bare-Metal Provisioning, los yog Tsis siv neeg kev npaj ntawm servers los ntawm kos

Nyob zoo, Kuv yog Denis thiab ib qho ntawm kuv thaj chaw ntawm kev ua si yog kev txhim kho cov kev daws teeb meem ntawm X5. Hnub no kuv xav qhia rau koj seb koj tuaj yeem siv lub tshuab ua haujlwm tsis siv neeg ua haujlwm li cas raws li cov cuab yeej siv rau pej xeem. Hauv kuv lub tswv yim, qhov no yog qhov nthuav, yooj yim thiab hloov tau yooj yim.

Ua-nws-koj tus kheej Bare-Metal Provisioning, los yog Tsis siv neeg kev npaj ntawm servers los ntawm kos

Los ntawm kev npaj peb txhais tau tias: tig lub server tshiab tawm ntawm lub thawv rau hauv lub server uas tau teeb tsa tag nrho nrog OS. Linux lossis nrog ESXi hypervisor (kev xa tawm ntawm Windows servers tsis tau tham hauv kab lus no).

Cov ntsiab lus uas:

  • servers - servers uas yuav tsum tau teeb tsa.
  • installation server yog lub ntsiab server uas muab tag nrho cov txheej txheem kev npaj hla lub network.

Vim li cas automation xav tau?

Cia peb hais tias muaj ib txoj haujlwm: txhawm rau npaj cov servers loj heev los ntawm kos, ntawm qhov siab tshaj - 30 ib hnub. Cov servers ntawm cov chaw tsim khoom sib txawv thiab cov qauv, cov kev khiav hauj lwm sib txawv tuaj yeem raug ntsia rau ntawm lawv, thiab tej zaum yuav tsis muaj tus hypervisor.

Dab tsi ua haujlwm suav nrog hauv cov txheej txheem teeb tsa (tsis muaj automation):

  • txuas lub keyboard, nas, saib rau lub server;
  • configure BIOS, RAID, IPMI;
  • hloov kho cov khoom firmware;
  • xa cov duab kab ntawv (los yog nruab ib lub hypervisor thiab luam cov tshuab virtual);

Nco tseg. Xwb, OS xa tawm yog ua tau los ntawm kev teeb tsa nrog cov ntaub ntawv pib teb. Tab sis qhov no yuav tsis tau tham hauv tsab xov xwm. Txawm hais tias koj yuav pom hauv qab no tias ntxiv cov haujlwm no tsis yooj yim.

  • configure OS parameters (hostname, IP, thiab lwm yam).

Nrog rau txoj hauv kev no, tib qhov kev teeb tsa tau ua ntu ntu ntawm txhua tus server. Lub efficiency ntawm xws li kev ua hauj lwm yog tsawg heev.

Lub ntsiab lus ntawm automation yog tshem tawm tib neeg kev koom tes los ntawm cov txheej txheem npaj server. Ntau li ntau tau.

Automation txo qis sijhawm ntawm kev ua haujlwm thiab ua rau nws muaj peev xwm muab ntau lub servers ib txhij. Qhov tshwm sim ntawm kev ua yuam kev vim tib neeg yam tseem ceeb kuj txo qis heev.

Ua-nws-koj tus kheej Bare-Metal Provisioning, los yog Tsis siv neeg kev npaj ntawm servers los ntawm kos

Cov servers tau teeb tsa li cas?

Cia peb txheeb xyuas txhua theem hauv kev nthuav dav.

Koj muaj Linux server uas koj siv ua PXE installation server. Cov kev pabcuam raug teeb tsa thiab teeb tsa ntawm nws: DHCP, TFTP.

Yog li, peb khau raj lub server (uas yuav tsum tau teeb tsa) ntawm PXE. Cia peb nco ntsoov nws ua haujlwm li cas:

  • Network khau raj raug xaiv ntawm lub server.
  • Tus neeg rau zaub mov thauj khoom PXE-ROM ntawm daim npav network thiab hu rau lub chaw teeb tsa ntawm DHCP kom tau txais qhov chaw nyob hauv network.
  • DHCP installation server teeb meem qhov chaw nyob, nrog rau cov lus qhia rau kev rub tawm ntxiv ntawm PXE.
  • Tus neeg rau zaub mov thauj lub network bootloader los ntawm kev teeb tsa server ntawm PXE, kev thauj khoom ntxiv tshwm sim raws li PXE teeb tsa cov ntaub ntawv.
  • Lub khau raj tshwm sim raws li qhov tau txais tsis tau (kernel, initramfs, mount ntsiab lus, squashfs duab, thiab lwm yam).

Nco tseg. Kab lus piav qhia txog kev pib ntawm PXE ntawm BIOS hom. Tam sim no, cov tuam txhab lag luam tau nquag siv UEFI bootmode. Rau PXE, qhov sib txawv yuav nyob rau hauv kev teeb tsa ntawm DHCP neeg rau zaub mov thiab muaj lub bootloader ntxiv.

Cia peb saib ib qho piv txwv ntawm PXE server configuration (pxelinux menu).

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

Cov ntaub ntawv 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=”…”

Cov ntsiav thiab initramfs nyob rau theem no yog cov duab nruab nrab ntawm Linux, nrog kev pab los ntawm qhov kev npaj tseem ceeb thiab kev teeb tsa ntawm lub server yuav tshwm sim.

Raws li koj tuaj yeem pom, bootloader hla ntau yam tsis tau mus rau lub ntsiav. Qee qhov kev txwv no yog siv los ntawm cov ntsiav nws tus kheej. Thiab peb tuaj yeem siv qee yam rau peb tus kheej lub hom phiaj. Qhov no yuav tau tham tom qab, tab sis tam sim no koj tuaj yeem nco ntsoov tias tag nrho cov kev ntsuas dhau los yuav muaj nyob rau hauv nruab nrab Linux duab ntawm /proc/cmdline.

Kuv tuaj yeem tau txais lawv qhov twg, kernel thiab initramfs?
Raws li lub hauv paus, koj tuaj yeem xaiv ib qho Linux faib. Dab tsi peb them rau thaum xaiv:

  • cov duab khau raj yuav tsum yog universal (muaj cov tsav tsheb, muaj peev xwm rau nruab cov khoom siv ntxiv);
  • Feem ntau, koj yuav tsum tau kho cov initramfs.

Qhov no ua li cas hauv peb cov tshuaj rau X5? CentOS 7 tau raug xaiv los ua lub hauv paus. Cia peb sim ua kom yuam kev hauv qab no: npaj cov duab yav tom ntej, ntim rau hauv ib qho archive thiab tsim ib qho initramfs, uas yuav muaj peb cov ntaub ntawv kaw lus. Thaum thauj cov duab, cov ntaub ntawv yuav nthuav dav rau hauv qhov tsim tmpfs muab faib. Txoj kev no peb yuav tau txais qhov tsawg kawg nkaus, tab sis tag nrho cov duab nyob hauv linux nrog tag nrho cov khoom siv tsim nyog, suav nrog tsuas yog ob cov ntaub ntawv: vmkernel thiab 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

Yog li peb tau teev cov kernel thiab initramfs uas yuav tsum tau thauj khoom. Yog li ntawd, nyob rau theem no, los ntawm kev thauj khoom nruab nrab ntawm linux duab ntawm PXE, peb yuav tau txais OS console.

Zoo heev, tab sis tam sim no peb yuav tsum hloov kev tswj rau peb "automation".

Nws tuaj yeem ua tau li no.

Cia peb xav tias tom qab thauj cov duab peb npaj hloov kev tswj mus rau mount.sh tsab ntawv.
Cia peb suav nrog mount.sh tsab ntawv hauv autorun. Txhawm rau ua qhov no koj yuav tsum hloov kho cov initramfs:

  • unpack initramfs (yog tias peb siv cov kev xaiv initramfs saum toj no, qhov no tsis tas yuav tsum tau)
  • suav nrog cov lej hauv kev pib uas yuav txheeb xyuas qhov tsis dhau los ntawm /proc/cmdline thiab hloov chaw tswj ntxiv;
  • pob initramfs.

Nco tseg. Nyob rau hauv cov ntaub ntawv ntawm X5 toolkit, loading tswj yog pauv mus rau tsab ntawv /opt/x5/toolkit/bin/hook.sh с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ override.conf Π² getty tty1 (ExecStart=…)

Yog li, cov duab yog loaded, nyob rau hauv uas mount.sh tsab ntawv pib ntawm autorun. Tom ntej no, tsab ntawv mount.sh txheeb xyuas cov tsis dhau (script_cmd=) thaum ua tiav thiab tso tawm qhov program tsim nyog / tsab ntawv.

tag toolkit-pib
kernel...
append...nfs_toolkit_script=scripts/mount.sh script_cmd=master-install.sh

tag toolkit-plhaub
kernel...
append...nfs_toolkit_script=scripts/mount.sh script_cmd=/bin/bash

Ua-nws-koj tus kheej Bare-Metal Provisioning, los yog Tsis siv neeg kev npaj ntawm servers los ntawm kos

Ntawm no ntawm sab laug yog PXE ntawv qhia zaub mov, ntawm sab xis yog daim duab tswj kev hloov pauv.

Peb xam pom qhov hloov ntawm kev tswj. Nyob ntawm qhov kev xaiv ntawm PXE cov ntawv qhia zaub mov, ob qho tib si nws pib-configuration tsab ntawv lossis lub debugging console tau pib.

Nyob rau hauv cov ntaub ntawv ntawm tsis siv neeg configuration, cov ntaub ntawv tsim nyog yog mounted los ntawm lub installation server, uas muaj:

  • ntawv;
  • khaws cia BIOS / UEFI templates rau ntau lub servers;
  • firmware;
  • server kev pab cuam;
  • cov ntaub ntawv

Tom ntej no, mount.sh tsab ntawv hloov chaw tswj mus rau tus tswv-install.sh tsab ntawv los ntawm tsab ntawv teev npe.

Cov ntawv ntoo (qhov kev txiav txim uas lawv tau pib) zoo li no:

  • master-install
  • sharefunctions (kev sib koom ua haujlwm)
  • info (cov ntaub ntawv tso zis)
  • cov qauv (teeb kev teeb tsa tsis raws li tus qauv server)
  • Npaj_utils (kev teeb tsa cov khoom siv tsim nyog)
  • fwupdate (firmware hloov tshiab)
  • diagnostics (thaum pib)
  • biosconf (BIOS/UEFI nqis)
  • clockfix (teeb lub sijhawm ntawm lub motherboard)
  • srmconf (qhov chaw taws teeb interface interface configuration)
  • raidconf (configuring logical ntim)

ib qho ntawm:

  • preinstall (hloov tswj mus rau OS lossis hypervisor installer, xws li ESXi)
  • merged-install (tam sim ntawd pib ntawm unpacking daim duab)

Tam sim no peb paub:

  • yuav ua li cas khau raj lub server ntawm PXE;
  • yuav ua li cas hloov kev tswj rau koj tus kheej tsab ntawv.


Cia peb mus ntxiv. Cov lus nug hauv qab no tau tsim nyog:

  • Yuav ua li cas txheeb xyuas lub server peb tab tom npaj?
  • Cov khoom siv hluav taws xob dab tsi thiab yuav teeb tsa lub server li cas?
  • Yuav ua li cas kom tau txais kev teeb tsa rau ib lub server tshwj xeeb?

Yuav ua li cas txheeb xyuas lub server peb tab tom npaj?

Nws yooj yim - DMI:

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

Txhua yam koj xav tau nyob ntawm no: tus neeg muag khoom, qauv, tus lej xov tooj. Yog tias koj tsis paub tseeb tias cov ntaub ntawv no muaj nyob hauv txhua lub servers, koj tuaj yeem txheeb xyuas lawv los ntawm lawv qhov chaw nyob MAC. Los yog nyob rau hauv ob qho tib si tib lub sijhawm, yog tias cov neeg muag khoom server txawv thiab ntawm qee cov qauv tsuas yog tsis muaj ntaub ntawv hais txog tus lej xov tooj.

Raws li cov ntaub ntawv tau txais, network folders yog mounted los ntawm lub installation server thiab txhua yam tsim nyog yog loaded (utilities, firmware, thiab lwm yam).

Cov khoom siv hluav taws xob dab tsi thiab yuav teeb tsa lub server li cas?

Kuv yuav muab cov khoom siv rau Linux rau qee tus neeg tsim khoom. Tag nrho cov khoom siv hluav taws xob muaj nyob rau ntawm lub vev xaib official ntawm cov neeg muag khoom.

Ua-nws-koj tus kheej Bare-Metal Provisioning, los yog Tsis siv neeg kev npaj ntawm servers los ntawm kos

Nrog lub firmware, kuv xav tias txhua yam yog qhov tseeb. Lawv feem ntau tuaj nyob rau hauv daim ntawv ntawm pob executable ntaub ntawv. Cov ntaub ntawv executable tswj cov txheej txheem hloov kho firmware thiab tshaj tawm cov lej rov qab.

BIOS thiab IPMI feem ntau yog teeb tsa los ntawm cov qauv. Yog tias tsim nyog, tus qauv tuaj yeem hloov kho ua ntej rub tawm.

RAID cov khoom siv hluav taws xob los ntawm qee tus neeg muag khoom kuj tuaj yeem teeb tsa siv tus qauv. Yog hais tias qhov no tsis yog li ntawd, ces koj yuav tau sau ib tug configuration tsab ntawv.

Cov txheej txheem rau kev teeb tsa RAID feem ntau yog raws li hauv qab no:

  • Peb thov qhov kev teeb tsa tam sim no.
  • Yog tias muaj cov logical arrays lawm, peb tshem tawm lawv.
  • Cia peb saib seb lub cev disks muaj dab tsi thiab muaj pes tsawg.
  • Tsim ib lub logic array tshiab. Peb cuam tshuam cov txheej txheem thaum muaj kev ua yuam kev.

Yuav ua li cas kom tau txais kev teeb tsa rau ib lub server tshwj xeeb?

Cia peb xav tias qhov chaw ntawm tag nrho cov servers yuav muab khaws cia rau ntawm lub server installation. Hauv qhov no, txhawm rau teb peb cov lus nug, peb yuav tsum ua ntej txiav txim siab yuav hloov cov chaw mus rau lub installation server.

Thaum xub thawj, koj tuaj yeem tau txais los ntawm cov ntawv nyeem. (Nyob rau yav tom ntej, tej zaum koj yuav xav siv cov ntawv sau ua ib txoj kev poob rov qab rau kev hloov chaw.)

Koj tuaj yeem "sib qhia" cov ntawv nyeem ntawm lub server installation. Thiab ntxiv nws mount rau mount.sh tsab ntawv.

Cov kab yuav, piv txwv li, zoo li no:

<serial tooj> <hostname> <subnet>

Cov kab no yuav raug xa mus rau cov ntaub ntawv los ntawm tus engineer los ntawm nws lub tshuab ua haujlwm. Thiab tom qab ntawd, thaum teeb tsa lub server, cov kev txwv rau ib lub server tshwj xeeb yuav raug nyeem los ntawm cov ntaub ntawv.

Tab sis, nyob rau lub sij hawm ntev, nws yog qhov zoo dua los siv cov ntaub ntawv khaws cia cov chaw, cov xeev thiab cov ntawv teev cov servers.

Tau kawg, database ib leeg tsis txaus, thiab koj yuav tsum tau tsim ib tus neeg siv khoom nrog kev pab cuam ntawm qhov chaw yuav raug xa mus rau lub database. Qhov no yog qhov nyuaj dua los siv piv rau cov ntawv nyeem, tab sis qhov tseeb, txhua yam tsis nyuaj li nws zoo li. Nws yog qhov ua tau los sau qhov tsawg kawg nkaus ntawm tus neeg siv khoom uas yuav yooj yim hloov cov ntaub ntawv rau hauv cov ntaub ntawv koj tus kheej. Thiab nyob rau hauv lub neej yav tom ntej nws yuav muaj peev xwm los txhim kho cov neeg siv kev pab cuam hauv hom dawb (cov ntawv qhia, luam ntawv, xa ntawv, thiab lwm yam uas los rau hauv siab).

Los ntawm kev ua ib qho kev thov tshwj xeeb rau cov ntaub ntawv thiab qhia tus naj npawb ntawm cov neeg rau zaub mov, peb yuav tau txais cov khoom tsim nyog rau kev teeb tsa lub server.

Ntxiv rau, peb yuav tsis tas yuav tuaj nrog xauv rau tib lub sijhawm nkag, ib yam li cov ntaub ntawv ntawv.

Peb tuaj yeem sau cov ntawv teev cia rau hauv cov ntaub ntawv ntawm txhua theem thiab tswj cov txheej txheem kev teeb tsa los ntawm cov xwm txheej thiab cov chij ntawm cov theem npaj.

Tam sim no peb paub li cas:

  • khau raj lub server ntawm PXE;
  • hloov kev tswj rau peb tsab ntawv;
  • txheeb xyuas tus neeg rau zaub mov uas yuav tsum tau npaj los ntawm nws tus lej xov tooj;
  • teeb tsa lub server siv cov khoom siv tsim nyog;
  • Hloov chaw mus rau lub installation server database siv tus neeg siv khoom.

Peb nrhiav tau li cas:

  • tus neeg rau zaub mov ntsia tau txais qhov tsim nyog nqis los ntawm cov ntaub ntawv;
  • tag nrho cov kev npaj ua tiav tau kaw rau hauv cov ntaub ntawv (cov ntaub ntawv, cov xwm txheej, cov chij theem).

Yuav ua li cas txog ntau hom software koj nruab? Yuav ua li cas rau nruab ib lub hypervisor, luam VM thiab teeb tsa nws tag nrho?

Nyob rau hauv cov ntaub ntawv ntawm deploying ib tug file system duab (linux) rau hardware, txhua yam yog heev yooj yim:

  • Tom qab teeb tsa tag nrho cov servers, peb xa cov duab.
  • Nruab tus grub bootloader.
  • Peb chroot thiab teeb tsa txhua yam uas xav tau.

Yuav ua li cas hloov kev tswj rau OS installer (siv ESXi ua piv txwv).

  • Peb teeb tsa kev hloov pauv ntawm kev tswj hwm los ntawm peb tsab ntawv mus rau lub khoos phis tawj hypervisor siv cov ntawv teb tsis siv neeg (kickstart):
  • Peb tshem tawm cov partitions tam sim no ntawm lub disk.
  • Tsim ib qho kev faib nrog qhov loj ntawm 500MB.
  • Peb cim nws li bootable.
  • Format rau FAT32.
  • Peb luam cov ntaub ntawv ESXi installation rau hauv paus.
  • Txhim kho syslinux.
  • Luam syslinux.cfg rau /syslinux/

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

  • Luam mboot.c32 rau /syslinux.
  • Boot.cfg yuav tsum muaj kernelopt=ks=ftp:// /ks_esxi.cfg
  • Peb reboot lub server.

Tom qab cov neeg rau zaub mov reboots, ESXi installer yuav rub tawm los ntawm server lub hard drive. Tag nrho cov ntaub ntawv tsim nyog installer yuav raug thauj mus rau hauv lub cim xeeb thiab tom qab ntawd ESXi kev teeb tsa yuav pib, raws li cov ntawv teev lus pib teb.

Nov yog ob peb kab los ntawm cov ntaub ntawv 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

Nyob rau theem no, lub hypervisor tau teeb tsa thiab teeb tsa, thiab cov tshuab virtual tau theej.

Yuav ua li cas rau configure virtual machines tam sim no?

Peb tau dag me ntsis: thaum lub sijhawm teeb tsa peb teeb tsa qhov parameter guestinfo.esxihost.id = "$SYSSN" hauv cov ntaub ntawv VM1.vmx thiab qhia tus lej xov tooj ntawm lub cev server hauv nws.

Tam sim no, tom qab pib, lub tshuab virtual (nrog vmware-tools pob ntsia) tuaj yeem nkag mus rau qhov ntsuas no:

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

Ntawd yog, VM yuav tuaj yeem txheeb xyuas nws tus kheej (nws paub tus lej xov tooj ntawm lub cev tus tswv), thov mus rau lub chaw teeb tsa server database thiab tau txais cov kev txwv uas yuav tsum tau teeb tsa. Qhov no yog tag nrho muab tso ua ke rau hauv ib tsab ntawv, uas yuav tsum tau launched cia li thaum qhua vm pib (tab sis ib zaug: RunOnce).

Tam sim no peb paub li cas:

  • khau raj lub server ntawm PXE;
  • hloov kev tswj rau peb tsab ntawv;
  • txheeb xyuas tus neeg rau zaub mov uas yuav tsum tau npaj los ntawm nws tus lej xov tooj;
  • teeb tsa lub server siv cov khoom siv tsim nyog;
  • hloov chaw mus rau lub installation server database siv tus neeg siv khoom;
  • teeb tsa ntau hom software, suav nrog kev xa tawm esxi hypervisor thiab teeb tsa cov tshuab virtual (txhua qhov tau txais).

Peb nrhiav tau li cas:

  • tus neeg rau zaub mov ntsia tau txais qhov tsim nyog nqis los ntawm cov ntaub ntawv;
  • tag nrho cov kev npaj ua tiav tau kaw rau hauv cov ntaub ntawv (cov ntaub ntawv, cov xwm txheej, cov chij theem).


Cov kab hauv qab:

Kuv ntseeg tias qhov tshwj xeeb ntawm qhov kev daws teeb meem no nyob ntawm nws qhov yooj yim, yooj yim, muaj peev xwm thiab ntau yam.

Thov sau rau hauv cov lus koj xav li cas.

Tau qhov twg los: www.hab.com

Ntxiv ib saib