Dèan-e-fhèin Solarachadh meatailt lom, no ullachadh frithealaichean gu fèin-ghluasadach bhon fhìor thoiseach

Halo, is mise Denis agus is e aon de na raointean gnìomhachd agam leasachadh fuasglaidhean bun-structair aig X5. An-diugh bu mhath leam innse dhut mar as urrainn dhut siostam ullachaidh frithealaiche fèin-ghluasadach a chleachdadh stèidhichte air innealan a tha rim faighinn gu poblach. Nam bheachd-sa, is e fuasgladh inntinneach, sìmplidh agus sùbailte a tha seo.

Dèan-e-fhèin Solarachadh meatailt lom, no ullachadh frithealaichean gu fèin-ghluasadach bhon fhìor thoiseach

Le ullachadh tha sinn a’ ciallachadh: tionndaidh frithealaiche ùr a-mach às a’ bhogsa gu bhith na fhrithealaiche làn-rèiteachaidh le OS. Linux no leis an hypervisor ESXi (chan eilear a’ bruidhinn air cleachdadh frithealaichean Windows san artaigil seo).

Cumhachan:

  • frithealaichean - frithealaichean a dh’ fheumas a bhith air an rèiteachadh.
  • Is e frithealaiche stàlaidh am prìomh fhrithealaiche a bheir seachad am pròiseas ullachaidh gu lèir thairis air an lìonra.

Carson a tha feum air fèin-ghluasad?

Canaidh sinn gu bheil gnìomh ann: luchd-frithealaidh ullachadh gu mòr bhon fhìor thoiseach, aig àirde - 30 gach latha. Faodaidh luchd-frithealaidh de dhiofar luchd-saothrachaidh agus mhodalan, diofar shiostaman obrachaidh a bhith air an stàladh orra, agus is dòcha gu bheil no nach eil hypervisor.

Dè na h-obraichean a tha air an gabhail a-steach sa phròiseas rèiteachaidh (às aonais fèin-ghluasad):

  • ceangail meur-chlàr, luchag, monitor ris an fhrithealaiche;
  • rèiteachadh BIOS, RAID, IPMI;
  • ùrachadh firmware co-phàirtean;
  • cuir a-steach ìomhaigh siostam faidhle (no stàlaich hypervisor agus dèan lethbhreac de dh’ innealan brìgheil);

Thoir an aire. Air an làimh eile, tha e comasach cleachdadh OS tro stàladh le faidhle freagairt fèin-ghluasadach. Ach cha tèid seo a dheasbad san artaigil. Ged a chì thu gu h-ìosal nach eil e duilich an gnìomh seo a chuir ris.

  • rèiteachadh paramadairean OS (ainm aoigheachd, IP, msaa).

Leis an dòigh-obrach seo, thèid na h-aon shuidheachaidhean a dhèanamh ann an òrdugh air gach frithealaiche. Tha èifeachdas obair leithid seo glè ìosal.

Is e brìgh fèin-ghluasaid cuir às do chom-pàirteachadh daonna bhon phròiseas ullachaidh frithealaiche. Cho mòr 'sa ghabhas.

Bidh fèin-ghluasad a’ lughdachadh ùine downt eadar gnìomhachd agus ga dhèanamh comasach grunn luchd-frithealaidh a thoirt seachad aig an aon àm. Tha an coltas gum bi mearachdan ann mar thoradh air factaran daonna cuideachd air a lughdachadh gu mòr.

Dèan-e-fhèin Solarachadh meatailt lom, no ullachadh frithealaichean gu fèin-ghluasadach bhon fhìor thoiseach

Ciamar a tha frithealaichean air an rèiteachadh gu fèin-ghluasadach?

Nì sinn sgrùdadh mionaideach air a h-uile ìre.

Tha frithealaiche Linux agad a chleachdas tu mar fhrithealaiche stàlaidh PXE. Tha seirbheisean air an stàladh agus air an rèiteachadh air: DHCP, TFTP.

Mar sin, bidh sinn a 'putadh an fhrithealaiche (a dh'fheumas a bhith air a rèiteachadh) tro PXE. Cuimhnichidh sinn mar a tha e ag obair:

  • Tha bròg lìonra air a thaghadh air an fhrithealaiche.
  • Bidh am frithealaiche a’ luchdachadh PXE-ROM den chairt lìonraidh agus a’ cur fios chun t-seirbheisiche stàlaidh tro DHCP gus seòladh lìonra fhaighinn.
  • Bidh frithealaiche stàlaidh DHCP a’ toirt seachad seòladh, a bharrachd air stiùireadh airson tuilleadh luchdachadh sìos tro PXE.
  • Bidh am frithealaiche a’ luchdachadh bootloader an lìonra bhon t-seirbheisiche stàlaidh tro PXE, bidh tuilleadh luchdachadh a’ tachairt a rèir faidhle rèiteachaidh PXE.
  • Bidh am bròg a ’tachairt stèidhichte air na paramadairean a fhuaireadh (kernel, initramfs, puingean sreap, ìomhaigh squashfs, msaa).

Thoir an aire. Tha an artaigil a’ toirt cunntas air booting tro PXE tro mhodh BIOS. An-dràsta, tha luchd-saothrachaidh gu gnìomhach a’ cur an gnìomh modh boot UEFI. Airson PXE, bidh an eadar-dhealachadh ann an rèiteachadh an fhrithealaiche DHCP agus làthaireachd bootloader a bharrachd.

Bheir sinn sùil air eisimpleir de rèiteachadh frithealaiche PXE (clàr pxelinux).

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

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

Is e ìomhaigh Linux eadar-mheadhanach a th’ anns na kernel agus initramfs aig an ìre seo, le cuideachadh bhon tèid prìomh ullachadh agus rèiteachadh an fhrithealaiche a chumail.

Mar a chì thu, bidh an bootloader a ’dol seachad air mòran pharaimearan chun kernel. Tha cuid de na paramadairean sin air an cleachdadh leis an kernel fhèin. Agus faodaidh sinn cuid a chleachdadh airson ar n-adhbharan fhèin. Thèid seo a dheasbad nas fhaide air adhart, ach airson a-nis faodaidh tu cuimhneachadh gum bi a h-uile paramadair a chaidh seachad ri fhaighinn anns an ìomhaigh Linux eadar-mheadhanach tro / proc/cmdline.

Càite am faigh mi iad, kernel agus initramfs?
Mar bhunait, faodaidh tu cuairteachadh Linux sam bith a thaghadh. Na tha sinn a 'toirt aire nuair a bhios sinn a' taghadh:

  • feumaidh an ìomhaigh bròg a bhith uile-choitcheann (ri fhaighinn de dhraibhearan, comas goireasan a bharrachd a chuir a-steach);
  • Nas coltaiche, feumaidh tu na initramfs a ghnàthachadh.

Ciamar a tha seo air a dhèanamh nar fuasgladh airson X5? Chaidh CentOS 7 a thaghadh mar bhunait. Feuch sinn an cleas a leanas: ullaich an structar ìomhaigh san àm ri teachd, pacaich a-steach do thasglann agus cruthaich initramfs, agus am broinn sin bidh tasglann an t-siostam faidhle againn. Nuair a bhios tu a’ luchdachadh an ìomhaigh, thèid an tasglann a leudachadh a-steach don sgaradh tmpfs a chaidh a chruthachadh. San dòigh seo gheibh sinn ìomhaigh linux beò as ìsle, ach làn-chuimseach leis a h-uile goireas riatanach, anns nach eil ach dà fhaidhle: vmkernel agus 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

Mar sin tha sinn air an kernel agus initramfs a bu chòir a luchdachadh. Mar thoradh air an sin, aig an ìre seo, le bhith a’ luchdachadh an ìomhaigh linux eadar-mheadhanach tro PXE, gheibh sinn consol OS.

Sgoinneil, ach a-nis feumaidh sinn smachd a ghluasad gu ar “fèin-ghluasad”.

Faodar a dhèanamh mar seo.

Gabhamaid ris, às deidh dhuinn an ìomhaigh a luchdachadh, gu bheil sinn an dùil smachd a ghluasad chun sgriobt mount.sh.
Bheir sinn a-steach an sgriobt mount.sh ann an autorun. Gus seo a dhèanamh feumaidh tu na initramfs atharrachadh:

  • dì-phapadh initramfs (ma chleachdas sinn an roghainn initramfs gu h-àrd, chan eil seo riatanach)
  • cuir a-steach còd ann an toiseach tòiseachaidh a nì mion-sgrùdadh air na paramadairean a chaidh troimhe / proc / cmdline agus smachd a ghluasad tuilleadh;
  • pacaid initramfs.

Thoir an aire. Ann an cùis an inneal X5, tha smachd luchdachadh air a ghluasad chun sgriobt /opt/x5/toolkit/bin/hook.sh с помощью override.conf в getty tty1 (ExecStart=…)

Mar sin, tha an ìomhaigh air a luchdachadh, anns a bheil an sgriobt mount.sh a 'tòiseachadh aig autorun. An ath rud, bidh an sgriobt mount.sh a’ dèanamh anailis air na paramadairean a chaidh seachad (script_cmd =) aig àm cur gu bàs agus a’ cur air bhog am prògram/sgriobt riatanach.

inneal label-càr
kernel...
cuir ris...nfs_toolkit_script=scripts/mount.sh script_cmd=master-install.sh

inneal label-sligean
kernel...
cuir ris...nfs_toolkit_script=scripts/mount.sh script_cmd =/bin/bash

Dèan-e-fhèin Solarachadh meatailt lom, no ullachadh frithealaichean gu fèin-ghluasadach bhon fhìor thoiseach

An seo air an taobh chlì tha an clàr PXE, air an làimh dheis tha an diagram gluasad smachd.

Dh'obraich sinn a-mach an gluasad smachd. A rèir an roghainn de chlàr PXE, thèid an dàrna cuid an sgriobt fèin-rèiteachaidh no an consol deasbaid a chuir air bhog.

A thaobh rèiteachadh fèin-ghluasadach, tha na clàran riatanach air an cur suas bhon fhrithealaiche stàlaidh, anns a bheil:

  • sgriobtaichean;
  • teamplaidean BIOS / UEFI air an sàbhaladh airson diofar luchd-frithealaidh;
  • firmware;
  • goireasan frithealaiche;
  • logaichean

An uairsin, bidh an sgriobt mount.sh a’ gluasad smachd chun sgriobt master-install.sh bhon eòlaire sgriobt.

Tha craobh an sgriobt (an òrdugh anns a bheil iad air an cur air bhog) a 'coimhead rudeigin mar seo:

  • maighstir-stàladh
  • gnìomhan co-roinnte (gnìomh co-roinnte)
  • fiosrachadh (toradh fiosrachaidh)
  • modalan (suidheachadh crìochan stàlaidh stèidhichte air modail an fhrithealaiche)
  • ullachadh_utils (stàladh goireasan riatanach)
  • fwupdate (ùrachadh firmware)
  • Diag (bun-sgoile diagnosachd)
  • biosconf (roghainnean BIOS / UEFI)
  • clockfix (a 'suidheachadh an ùine air a' motherboard)
  • srmconf (rèiteachadh eadar-aghaidh eadar-aghaidh iomallach)
  • raidconf (a' rèiteachadh leabhraichean loidsigeach)

fear de:

  • ro-stàladh (a 'gluasad smachd chun an OS no an stàlaichear hypervisor, leithid ESXi)
  • merged-install (tòiseachadh sa bhad air dì-phapadh an ìomhaigh)

A-nis tha fios againn:

  • mar a thòisicheas tu frithealaiche tro PXE;
  • mar as urrainn dhut smachd a ghluasad chun sgriobt agad fhèin.


Leanaidh sinn. Thàinig na ceistean a leanas gu bhith buntainneach:

  • Ciamar a chomharrachadh am frithealaiche a tha sinn ag ullachadh?
  • Dè na goireasan agus mar a rèiticheas tu am frithealaiche?
  • Ciamar a gheibh thu roghainnean airson frithealaiche sònraichte?

Ciamar a chomharrachadh am frithealaiche a tha sinn ag ullachadh?

Tha e sìmplidh - DMI:

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

Tha a h-uile dad a dh ’fheumas tu an seo: reiceadair, modail, àireamh sreathach. Mura h-eil thu cinnteach gu bheil am fiosrachadh seo an làthair anns a h-uile frithealaiche, faodaidh tu an aithneachadh leis an t-seòladh MAC aca. No anns an dà dhòigh aig an aon àm, ma tha luchd-reic an fhrithealaiche eadar-dhealaichte agus air cuid de mhodalan chan eil ann ach fiosrachadh sam bith mun àireamh sreathach.

Stèidhichte air an fhiosrachadh a gheibhear, tha pasganan lìonra air an cur suas bhon t-seirbheisiche stàlaidh agus tha a h-uile dad riatanach air a luchdachadh (goireasan, firmware, msaa).

Dè na goireasan agus mar a rèiticheas tu am frithealaiche?

Bheir mi seachad goireasan airson Linux airson cuid de luchd-saothrachaidh. Tha a h-uile goireas ri fhaighinn air làraich-lìn oifigeil luchd-reic.

Dèan-e-fhèin Solarachadh meatailt lom, no ullachadh frithealaichean gu fèin-ghluasadach bhon fhìor thoiseach

Leis a’ firmware, tha mi a’ smaoineachadh gu bheil a h-uile dad soilleir. Mar as trice bidh iad a’ tighinn ann an cruth faidhlichean so-ghnìomhaichte pacaichte. Bidh am faidhle so-ghnìomhaichte a’ cumail smachd air a’ phròiseas ùrachadh firmware agus ag aithris air a’ chòd tilleadh.

Mar as trice bidh BIOS agus IPMI air an rèiteachadh tro theamplaidean. Ma tha feum air, faodar an teamplaid a dheasachadh mus luchdaich thu sìos e.

Faodar goireasan RAID bho chuid de luchd-reic a rèiteachadh cuideachd le bhith a’ cleachdadh teamplaid. Mura h-eil seo fìor, feumaidh tu sgriobt rèiteachaidh a sgrìobhadh.

Tha an dòigh-obrach airson RAID a stèidheachadh mar as trice mar a leanas:

  • Iarraidh sinn an rèiteachadh làithreach.
  • Ma tha arrays loidsigeach ann mu thràth, bidh sinn gan sguabadh às.
  • Bheir sinn sùil air dè na diosgan corporra a tha an làthair agus cia mheud a tha ann.
  • Cruthaich sreath loidsigeach ùr. Cuiridh sinn stad air a’ phròiseas ma bhios mearachd ann.

Ciamar a gheibh thu roghainnean airson frithealaiche sònraichte?

Gabhamaid ris gum bi roghainnean gach frithealaiche air an stòradh air an fhrithealaiche stàlaidh. Anns a 'chùis seo, gus ar ceist a fhreagairt, feumaidh sinn an-toiseach co-dhùnadh ciamar a ghluaiseas sinn na roghainnean chun an fhrithealaiche stàlaidh.

An toiseach, gheibh thu seachad le faidhlichean teacsa. (San àm ri teachd, is dòcha gum bi thu airson faidhle teacsa a chleachdadh mar dhòigh air ais airson roghainnean a ghluasad.)

Faodaidh tu faidhle teacsa a “roinneadh” air an fhrithealaiche stàlaidh. Agus cuir a bheinn ris an sgriobt mount.sh.

Bidh na loidhnichean, mar eisimpleir, a’ coimhead mar seo:

<shreath àireamh> <hostname> <subnet>

Thèid na loidhnichean sin a ghluasad chun fhaidhle leis an innleadair bhon inneal obrach aige. Agus an uairsin, nuair a bhios tu a’ stèidheachadh frithealaiche, thèid na paramadairean airson frithealaiche sònraichte a leughadh bhon fhaidhle.

Ach, san fhad-ùine, tha e nas fheàrr stòr-dàta a chleachdadh gus suidheachaidhean, stàitean agus logaichean de ionadan frithealaiche a stòradh.

Gu dearbh, chan eil stòr-dàta leis fhèin gu leòr, agus feumaidh tu pàirt teachdaiche a chruthachadh le cuideachadh bho na roghainnean a thèid a ghluasad chun stòr-dàta. Tha seo nas duilghe a chur an gnìomh an coimeas ri faidhle teacsa, ach gu dearbh, chan eil a h-uile dad cho doirbh 'sa tha e coltach. Tha e gu math comasach dreach beag de neach-dèiligidh a sgrìobhadh a ghluaiseas dàta chun stòr-dàta thu fhèin. Agus san àm ri teachd bidh e comasach am prògram teachdaiche a leasachadh ann am modh an-asgaidh (aithisgean, clò-bhualadh bileagan, cuir fiosan, msaa a thig gu inntinn).

Le bhith a’ dèanamh iarrtas sònraichte don stòr-dàta agus a’ sònrachadh àireamh sreathach an fhrithealaiche, gheibh sinn na paramadairean riatanach airson an fhrithealaiche a rèiteachadh.

A bharrachd air an sin, cha bhith feum againn air glasan a chruthachadh airson ruigsinneachd aig an aon àm, mar a tha fìor le faidhle teacsa.

Is urrainn dhuinn an log rèiteachaidh a sgrìobhadh chun stòr-dàta aig a h-uile ìre agus smachd a chumail air a’ phròiseas stàlaidh tro thachartasan agus brataichean nan ìrean ullachaidh.

A-nis tha fios againn ciamar:

  • bròg am frithealaiche tro PXE;
  • tarruing smachd do'n sgriobtuir ;
  • comharraich am frithealaiche a dh'fheumas a bhith air ullachadh leis an àireamh sreathach aige;
  • rèiteachadh an fhrithealaiche a 'cleachdadh nan goireasan iomchaidh;
  • gluais roghainnean gu stòr-dàta an fhrithealaiche stàlaidh a’ cleachdadh pàirt an neach-dèiligidh.

Fhuair sinn a-mach ciamar:

  • gheibh am frithealaiche stàlaichte na roghainnean riatanach bhon stòr-dàta;
  • tha a h-uile adhartas ullachaidh air a chlàradh san stòr-dàta (logaichean, tachartasan, brataichean àrd-ùrlair).

Dè mu dheidhinn na diofar sheòrsaichean bathar-bog a stàlaicheas tu? Mar a stàlaicheas tu hypervisor, dèan lethbhreac de VM agus rèiteachadh a h-uile càil?

A thaobh a bhith a’ cleachdadh ìomhaigh siostam faidhle (linux) gu bathar-cruaidh, tha a h-uile dad gu math sìmplidh:

  • Às deidh dhuinn na pàirtean frithealaiche gu lèir a stèidheachadh, bidh sinn a’ cleachdadh an ìomhaigh.
  • Stàlaich an grub bootloader.
  • Bidh sinn a 'crootadh agus a' rèiteachadh a h-uile dad a tha a dhìth.

Mar a ghluaiseas tu smachd gu stàlaichear OS (a’ cleachdadh ESXi mar eisimpleir).

  • Bidh sinn ag eagrachadh gluasad smachd bhon sgriobt againn chun an stàlaichear hypervisor a’ cleachdadh am faidhle freagairt fèin-ghluasadach (kickstart):
  • Sguabaidh sinn às na pàirtean gnàthaichte air an diosg.
  • Cruthaich sgaradh le meud 500MB.
  • Bidh sinn ga chomharrachadh mar bootable.
  • Luchdaich a-nuas an cruth-clò gu FAT32.
  • Bidh sinn a’ dèanamh lethbhreac de na faidhlichean stàlaidh ESXi chun freumh.
  • A stàladh syslinux.
  • Dèan lethbhreac de syslinux.cfg gu /syslinux/

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

  • Dèan lethbhreac de mboot.c32 gu /syslinux.
  • Bu chòir gum biodh kernelopt=ks=ftp: aig Boot.cfg /ks_esxi.cfg
  • Ath-thòisich am frithealaiche.

Às deidh don fhrithealaiche ath-thòiseachadh, luchdaichidh an stàlaichear ESXi sìos bho dhràibhear cruaidh an fhrithealaiche. Thèid a h-uile faidhle stàlaidh riatanach a luchdachadh a-steach don chuimhne agus an uairsin tòisichidh an stàladh ESXi, a rèir an fhaidhle fèin-fhreagairt ainmichte.

Seo beagan loidhnichean bhon fhaidhle 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

Aig an ìre seo, tha an hypervisor air a chuir a-steach agus air a rèiteachadh, agus tha innealan brìgheil air an lethbhreacadh.

Ciamar a chuireas tu innealan brìgheil air dòigh a-nis?

Rinn sinn mealladh beagan: rè an stàlaidh shuidhich sinn am paramadair guestinfo.esxihost.id = "$SYSSN" san fhaidhle VM1.vmx agus chomharraich sinn àireamh sreathach an fhrithealaiche fiosaigeach a tha ann.

A-nis, às deidh tòiseachadh, gheibh an inneal brìgheil (leis a’ phacaid vmware-tools air a chuir a-steach) am paramadair seo:

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

Is e sin, bidh an VM comasach air e fhèin aithneachadh (tha fios aige air àireamh sreathach an aoigh fiosaigeach), iarrtas a chuir gu stòr-dàta an t-seirbheisiche stàlaidh agus gheibh e na paramadairean a dh’ fheumar a rèiteachadh. Tha seo uile air a chur ri chèile ann an sgriobt, a bu chòir a chuir air bhog gu fèin-ghluasadach nuair a thòisicheas aoighean vm (ach aon uair: RunOnce).

A-nis tha fios againn ciamar:

  • bròg am frithealaiche tro PXE;
  • tarruing smachd do'n sgriobtuir ;
  • comharraich am frithealaiche a dh'fheumas a bhith air ullachadh leis an àireamh sreathach aige;
  • rèiteachadh an fhrithealaiche a 'cleachdadh nan goireasan iomchaidh;
  • gluais roghainnean gu stòr-dàta an fhrithealaiche stàlaidh a’ cleachdadh pàirt an neach-dèiligidh;
  • rèiteachadh diofar sheòrsaichean bathar-bog, a’ gabhail a-steach a bhith a’ cleachdadh an esxi hypervisor agus a’ rèiteachadh innealan brìgheil (uile gu fèin-ghluasadach).

Fhuair sinn a-mach ciamar:

  • gheibh am frithealaiche stàlaichte na roghainnean riatanach bhon stòr-dàta;
  • tha a h-uile adhartas ullachaidh air a chlàradh san stòr-dàta (logaichean, tachartasan, brataichean àrd-ùrlair).


Loidhne-ìosal:

Tha mi a’ creidsinn gu bheil cho sònraichte sa tha am fuasgladh seo na laighe anns an t-sùbailteachd, an sìmplidheachd, na comasan agus an sùbailteachd a th’ aige.

Feuch an sgrìobh thu anns na beachdan na tha thu a’ smaoineachadh.

Source: www.habr.com

Cuir beachd ann