Направи си сам Bare-Metal Provisioning ΠΈΠ»ΠΈ Автоматична ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°

Π—Π΄Ρ€Π°Π²Π΅ΠΉΡ‚Π΅, Π°Π· съм ДСнис ΠΈ Π΅Π΄Π½Π° ΠΎΡ‚ сфСритС ΠΌΠΈ Π½Π° дСйност Π΅ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π²Π°Π½Π΅Ρ‚ΠΎ Π½Π° инфраструктурни Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π² X5. ДнСс Π±ΠΈΡ… искал Π΄Π° сподСля с вас ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Ρ€Π°Π·ΠΏΠΎΠ»ΠΎΠΆΠΈΡ‚Π΅ систСма Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€, Π±Π°Π·ΠΈΡ€Π°Π½Π° Π½Π° ΠΏΡƒΠ±Π»ΠΈΡ‡Π½ΠΎ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ инструмСнти. Π‘ΠΏΠΎΡ€Π΅Π΄ ΠΌΠ΅Π½ Ρ‚ΠΎΠ²Π° Π΅ интСрСсно, просто ΠΈ гъвкаво Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅.

Направи си сам Bare-Metal Provisioning ΠΈΠ»ΠΈ Автоматична ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°

Под ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΈΠΌΠ°ΠΌΠ΅ ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄: ΠΏΡ€Π΅Π²ΡŠΡ€Π½Π΅Ρ‚Π΅ Π½ΠΎΠ² ΡΡŠΡ€Π²ΡŠΡ€ ΠΎΡ‚ кутията Π² напълно ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ ΡΡŠΡ€Π²ΡŠΡ€ с ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π° систСма. Linux ΠΈΠ»ΠΈ с ESXi Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€ (Ρ€Π°Π·Π³Ρ€ΡŠΡ‰Π°Π½Π΅Ρ‚ΠΎ Π½Π° Windows ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π½Π΅ сС обсъТда Π² Ρ‚Π°Π·ΠΈ статия).

Условията:

  • ΡΡŠΡ€Π²ΡŠΡ€ΠΈ – ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈ.
  • инсталационният ΡΡŠΡ€Π²ΡŠΡ€ Π΅ основният ΡΡŠΡ€Π²ΡŠΡ€, ΠΊΠΎΠΉΡ‚ΠΎ осигурява цСлия процСс Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΏΠΎ ΠΌΡ€Π΅ΠΆΠ°Ρ‚Π°.

Π—Π°Ρ‰ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ° автоматизация?

Π”Π° ΠΊΠ°ΠΆΠ΅ΠΌ, Ρ‡Π΅ ΠΈΠΌΠ° Π·Π°Π΄Π°Ρ‡Π°: масово Π΄Π° сС подготвят ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°, Π² ΠΏΠΈΠΊΠ° - 30 Π½Π° Π΄Π΅Π½. На тях ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ инсталирани ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΎΡ‚ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ ΠΈ ΠΌΠΎΠ΄Π΅Π»ΠΈ, Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½ΠΈ систСми ΠΈ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΈΠΌΠ°Ρ‚ ΠΈΠ»ΠΈ Π΄Π° нямат Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€.

Какви ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈ са Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈ Π² процСса Π½Π° настройка (Π±Π΅Π· автоматизация):

  • ΡΠ²ΡŠΡ€ΠΆΠ΅Ρ‚Π΅ ΠΊΠ»Π°Π²ΠΈΠ°Ρ‚ΡƒΡ€Π°, мишка, ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ към ΡΡŠΡ€Π²ΡŠΡ€Π°;
  • ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° BIOS, RAID, IPMI;
  • Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€Π° Π½Π° ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Π°;
  • Π²Π½Π΅Π΄Ρ€ΠΈΡ‚Π΅ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма (ΠΈΠ»ΠΈ инсталирайтС Ρ…ΠΈΠΏΠ΅Ρ€Π²ΠΈΠ·ΠΎΡ€ ΠΈ ΠΊΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Π΅ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини);

Π—Π°Π±Π΅Π»Π΅ΠΆΠΊΠ°. ΠšΠ°Ρ‚ΠΎ Π°Π»Ρ‚Π΅Ρ€Π½Π°Ρ‚ΠΈΠ²Π° внСдряванСто Π½Π° ОБ Π΅ възмоТно Ρ‡Ρ€Π΅Π· инсталиранС с Ρ„Π°ΠΉΠ» Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅Π½ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€. Но Ρ‚ΠΎΠ²Π° няма Π΄Π° бъдС обсъдСно Π² статията. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‡Π΅ ΠΏΠΎ-Π΄ΠΎΠ»Ρƒ Ρ‰Π΅ Π²ΠΈΠ΄ΠΈΡ‚Π΅, Ρ‡Π΅ добавянСто Π½Π° Ρ‚Π°Π·ΠΈ функционалност Π½Π΅ Π΅ Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ.

  • ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° ОБ (ΠΈΠΌΠ΅ Π½Π° хост, IP ΠΈ Ρ‚.Π½.).

ΠŸΡ€ΠΈ Ρ‚ΠΎΠ·ΠΈ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ Π΅Π΄Π½ΠΈ ΠΈ ΡΡŠΡ‰ΠΈ настройки сС ΠΈΠ·ΠΏΡŠΠ»Π½ΡΠ²Π°Ρ‚ послСдоватСлно Π½Π° всСки ΡΡŠΡ€Π²ΡŠΡ€. ЕфСктивността Π½Π° Ρ‚Π°ΠΊΠ°Π²Π° Ρ€Π°Π±ΠΎΡ‚Π° Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ниска.

Π‘ΡŠΡ‰Π½ΠΎΡΡ‚Ρ‚Π° Π½Π° автоматизацията Π΅ Π΄Π° сС Π΅Π»ΠΈΠΌΠΈΠ½ΠΈΡ€Π° Ρ‡ΠΎΠ²Π΅ΡˆΠΊΠΎΡ‚ΠΎ участиС Π² процСса Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°. ΠšΠΎΠ»ΠΊΠΎΡ‚ΠΎ сС ΠΌΠΎΠΆΠ΅ ΠΏΠΎΠ²Π΅Ρ‡Π΅.

Автоматизацията намалява Π²Ρ€Π΅ΠΌΠ΅Ρ‚ΠΎ Π·Π° прСстой ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΈΡ‚Π΅ ΠΈ ΠΏΡ€Π°Π²ΠΈ възмоТно прСдоставянСто Π½Π° мноТСство ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ. ВСроятността ΠΎΡ‚ Π³Ρ€Π΅ΡˆΠΊΠΈ ΠΏΠΎΡ€Π°Π΄ΠΈ Ρ‡ΠΎΠ²Π΅ΡˆΠΊΠΈ Ρ„Π°ΠΊΡ‚ΠΎΡ€ ΡΡŠΡ‰ΠΎ Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Π½Π°ΠΌΠ°Π»Π΅Π½Π°.

Направи си сам Bare-Metal Provisioning ΠΈΠ»ΠΈ Автоматична ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°

Как ΡΡŠΡ€Π²ΡŠΡ€ΠΈΡ‚Π΅ сС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ?

НСка Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ ΠΏΠΎΠ΄Ρ€ΠΎΠ±Π½ΠΎ всички Π΅Ρ‚Π°ΠΏΠΈ.

Π˜ΠΌΠ°Ρ‚Π΅ Linux ΡΡŠΡ€Π²ΡŠΡ€, ΠΊΠΎΠΉΡ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ ΠΊΠ°Ρ‚ΠΎ PXE инсталационСн ΡΡŠΡ€Π²ΡŠΡ€. На Π½Π΅Π³ΠΎ са инсталирани ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈ услуги: DHCP, TFTP.

И Ρ‚Π°ΠΊΠ°, Π·Π°Ρ€Π΅ΠΆΠ΄Π°ΠΌΠ΅ ΡΡŠΡ€Π²ΡŠΡ€Π° (ΠΊΠΎΠΉΡ‚ΠΎ трябва Π΄Π° бъдС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½) Ρ‡Ρ€Π΅Π· PXE. НСка си ΠΏΡ€ΠΈΠΏΠΎΠΌΠ½ΠΈΠΌ ΠΊΠ°ΠΊ Ρ€Π°Π±ΠΎΡ‚ΠΈ:

  • ΠœΡ€Π΅ΠΆΠΎΠ²ΠΎΡ‚ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π΅ ΠΈΠ·Π±Ρ€Π°Π½ΠΎ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°.
  • Π‘ΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π·Π°Ρ€Π΅ΠΆΠ΄Π° PXE-ROM Π½Π° ΠΌΡ€Π΅ΠΆΠΎΠ²Π°Ρ‚Π° ΠΊΠ°Ρ€Ρ‚Π° ΠΈ сС ΡΠ²ΡŠΡ€Π·Π²Π° с инсталационния ΡΡŠΡ€Π²ΡŠΡ€ Ρ‡Ρ€Π΅Π· DHCP, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠΌΡ€Π΅ΠΆΠΎΠ² адрСс.
  • DHCP инсталационният ΡΡŠΡ€Π²ΡŠΡ€ ΠΈΠ·Π΄Π°Π²Π° адрСс, ΠΊΠ°ΠΊΡ‚ΠΎ ΠΈ инструкции Π·Π° ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΡˆΠ½ΠΎ изтСглянС Ρ‡Ρ€Π΅Π· PXE.
  • Π‘ΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ Π·Π°Ρ€Π΅ΠΆΠ΄Π° мрСТовия Π±ΡƒΡƒΡ‚Π»ΠΎΡƒΠ΄ΡŠΡ€ ΠΎΡ‚ инсталационния ΡΡŠΡ€Π²ΡŠΡ€ Ρ‡Ρ€Π΅Π· PXE, ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΡˆΠ½ΠΎΡ‚ΠΎ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° спорСд PXE конфигурационния Ρ„Π°ΠΉΠ».
  • Π—Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠ²Π° въз основа Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ (ядро, initramfs, Ρ‚ΠΎΡ‡ΠΊΠΈ Π½Π° ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅, squashfs ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈ Π΄Ρ€.).

Π—Π°Π±Π΅Π»Π΅ΠΆΠΊΠ°. Бтатията описва Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Ρ‡Ρ€Π΅Π· PXE ΠΏΡ€Π΅Π· BIOS Ρ€Π΅ΠΆΠΈΠΌ. ΠŸΠΎΠ½Π°ΡΡ‚ΠΎΡΡ‰Π΅ΠΌ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈΡ‚Π΅ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ внСдряват UEFI Ρ€Π΅ΠΆΠΈΠΌ Π½Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅. Π—Π° PXE Ρ€Π°Π·Π»ΠΈΠΊΠ°Ρ‚Π° Ρ‰Π΅ бъдС Π² конфигурацията Π½Π° DHCP ΡΡŠΡ€Π²ΡŠΡ€Π° ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅Ρ‚ΠΎ Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π΅Π½ Π±ΡƒΡƒΡ‚Π»ΠΎΡƒΠ΄ΡŠΡ€.

НСка Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Π·Π° конфигурация Π½Π° PXE ΡΡŠΡ€Π²ΡŠΡ€ (pxelinux мСню).

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

Π€Π°ΠΉΠ» 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=”…”

Π―Π΄Ρ€ΠΎΡ‚ΠΎ ΠΈ initramfs Π½Π° Ρ‚ΠΎΠ·ΠΈ Π΅Ρ‚Π°ΠΏ са ΠΌΠ΅ΠΆΠ΄ΠΈΠ½Π΅Π½ Linux ΠΎΠ±Ρ€Π°Π·, с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ сС ΠΈΠ·Π²ΡŠΡ€ΡˆΠΈ основната ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° ΠΈ конфигурация Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°.

ΠšΠ°ΠΊΡ‚ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π²ΠΈΠ΄ΠΈΡ‚Π΅, Π±ΡƒΡƒΡ‚Π»ΠΎΡƒΠ΄ΡŠΡ€ΡŠΡ‚ ΠΏΡ€Π΅Π΄Π°Π²Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π½Π° ядрото. Някои ΠΎΡ‚ Ρ‚Π΅Π·ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ сС ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚ ΠΎΡ‚ самото ядро. И Π½ΠΈΠ΅ ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ някои Π·Π° Π½Π°ΡˆΠΈΡ‚Π΅ собствСни Ρ†Π΅Π»ΠΈ. Π’ΠΎΠ²Π° Ρ‰Π΅ бъдС обсъдСно ΠΏΠΎ-късно, Π½ΠΎ засСга ΠΌΠΎΠΆΠ΅Ρ‚Π΅ просто Π΄Π° Π·Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Π΅ всички ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π² мСТдинния Linux ΠΎΠ±Ρ€Π°Π· Ρ‡Ρ€Π΅Π· /proc/cmdline.

КъдС ΠΌΠΎΠ³Π° Π΄Π° Π³ΠΈ Π²Π·Π΅ΠΌΠ°, ядрото ΠΈ initramfs?
ΠšΠ°Ρ‚ΠΎ основа ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ всяка дистрибуция Π½Π° Linux. На ΠΊΠ°ΠΊΠ²ΠΎ ΠΎΠ±Ρ€ΡŠΡ‰Π°ΠΌΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ ΠΏΡ€ΠΈ ΠΈΠ·Π±ΠΎΡ€Π° си:

  • ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ трябва Π΄Π° Π΅ унивСрсално (Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ Π½Π° Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΈ, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ Π·Π° инсталиранС Π½Π° Π΄ΠΎΠΏΡŠΠ»Π½ΠΈΡ‚Π΅Π»Π½ΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ);
  • Най-вСроятно Ρ‰Π΅ трябва Π΄Π° пСрсонализиратС initramfs.

Как сС ΠΏΡ€Π°Π²ΠΈ Ρ‚ΠΎΠ²Π° Π² Π½Π°ΡˆΠ΅Ρ‚ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π° X5? Π—Π° основа бСшС ΠΈΠ·Π±Ρ€Π°Π½Π° CentOS 7. НСка ΠΎΠΏΠΈΡ‚Π°ΠΌΠ΅ слСдния Ρ‚Ρ€ΠΈΠΊ: ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Ρ‚Π΅ Π±ΡŠΠ΄Π΅Ρ‰Π°Ρ‚Π° структура Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ, ΠΎΠΏΠ°ΠΊΠΎΠ²Π°ΠΉΡ‚Π΅ Π³ΠΎ Π² Π°Ρ€Ρ…ΠΈΠ² ΠΈ ΡΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ initramfs, Π²ΡŠΡ‚Ρ€Π΅ Π² ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ ΠΈΠΌΠ° Π°Ρ€Ρ…ΠΈΠ² Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма. ΠŸΡ€ΠΈ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ Π°Ρ€Ρ…ΠΈΠ²ΡŠΡ‚ Ρ‰Π΅ бъдС Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ Π² създадСния tmpfs дял. По Ρ‚ΠΎΠ·ΠΈ Π½Π°Ρ‡ΠΈΠ½ Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½ΠΎ, Π½ΠΎ ΠΏΡŠΠ»Π½ΠΎΡ†Π΅Π½Π½ΠΎ ΠΆΠΈΠ²ΠΎ ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Linux с всички Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, ΡΡŠΡΡ‚ΠΎΡΡ‰ΠΎ сС само ΠΎΡ‚ Π΄Π²Π° Ρ„Π°ΠΉΠ»Π°: vmkernel ΠΈ 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

Π’Π°ΠΊΠ° Ρ‡Π΅ смС посочили ядрото ΠΈ initramfs, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ Π·Π°Ρ€Π΅Π΄Π΅Π½ΠΈ. Π’ Ρ€Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚ Π½Π° Ρ‚ΠΎΠ²Π° Π½Π° Ρ‚ΠΎΠ·ΠΈ Π΅Ρ‚Π°ΠΏ, ΠΊΠ°Ρ‚ΠΎ Π·Π°Ρ€Π΅Π΄ΠΈΠΌ мСТдинния линукс ΠΎΠ±Ρ€Π°Π· Ρ‡Ρ€Π΅Π· PXE, Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° Π½Π° ОБ.

Π‘Ρ‚Ρ€Π°Ρ…ΠΎΡ‚Π½ΠΎ, Π½ΠΎ сСга трябва Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΠΌ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° Π½Π°ΡˆΠ°Ρ‚Π° β€žΠ°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΡβ€œ.

МоТС Π΄Π° сС Π½Π°ΠΏΡ€Π°Π²ΠΈ Ρ‚Π°ΠΊΠ°.

Π”Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ΠΌ, Ρ‡Π΅ слСд Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ ΠΏΠ»Π°Π½ΠΈΡ€Π°ΠΌΠ΅ Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΠΌ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° скрипта mount.sh.
НСка Π²ΠΊΠ»ΡŽΡ‡ΠΈΠΌ скрипта mount.sh Π² autorun. Π—Π° Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ Ρ‚ΠΎΠ²Π°, Ρ‰Π΅ трябва Π΄Π° ΠΏΡ€ΠΎΠΌΠ΅Π½ΠΈΡ‚Π΅ initramfs:

  • Ρ€Π°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°ΠΉΡ‚Π΅ initramfs (Π°ΠΊΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ Π³ΠΎΡ€Π½Π°Ρ‚Π° опция initramfs, Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Π·Π°Π΄ΡŠΠ»ΠΆΠΈΡ‚Π΅Π»Π½ΠΎ)
  • Π²ΠΊΠ»ΡŽΡ‡Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ΄ ΠΏΡ€ΠΈ стартиранС, ΠΊΠΎΠΉΡ‚ΠΎ Ρ‰Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅, ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Π»ΠΈ ΠΏΡ€Π΅Π· /proc/cmdline ΠΈ Ρ‰Π΅ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° ΠΏΠΎ-Π½Π°Ρ‚Π°Ρ‚ΡŠΠΊ;
  • ΠΏΠ°ΠΊΠ΅Ρ‚ initramfs.

Π—Π°Π±Π΅Π»Π΅ΠΆΠΊΠ°. Π’ случая Π½Π° инструмСнтариума X5 ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŠΡ‚ Π²ΡŠΡ€Ρ…Ρƒ Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅Ρ‚ΠΎ сС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Ρ към скрипта /opt/x5/toolkit/bin/hook.sh с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ override.conf Π² getty tty1 (ExecStart=…)

И Ρ‚Π°ΠΊΠ°, ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ сС Π·Π°Ρ€Π΅ΠΆΠ΄Π°, Π² ΠΊΠΎΠ΅Ρ‚ΠΎ ΡΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ mount.sh стартира ΠΏΡ€ΠΈ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ стартиранС. Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΡΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ mount.sh Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€Π° ΠΏΡ€Π΅Π΄Π°Π΄Π΅Π½ΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ (script_cmd=) ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° изпълнСниС ΠΈ стартира Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠ°Ρ‚Π° ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°/скрипт.

инструмСнтариум Π·Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ-Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅Π½
ядрото...
Π΄ΠΎΠ±Π°Π²Π΅Ρ‚Π΅... nfs_toolkit_script=scripts/mount.sh script_cmd=master-install.sh

инструмСнтариум Π·Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ-Ρ‡Π΅Ρ€ΡƒΠΏΠΊΠ°
ядрото...
Π΄ΠΎΠ±Π°Π²Π΅Ρ‚Π΅... nfs_toolkit_script=scripts/mount.sh script_cmd=/bin/bash

Направи си сам Bare-Metal Provisioning ΠΈΠ»ΠΈ Автоматична ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°

Π’ΡƒΠΊ вляво Π΅ ΠΌΠ΅Π½ΡŽΡ‚ΠΎ PXE, вдясно Π΅ Π΄ΠΈΠ°Π³Ρ€Π°ΠΌΠ°Ρ‚Π° Π·Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅.

Π Π°Π·Π±Ρ€Π°Ρ…ΠΌΠ΅ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π°. Π’ зависимост ΠΎΡ‚ ΠΈΠ·Π±ΠΎΡ€Π° Π½Π° PXE ΠΌΠ΅Π½ΡŽΡ‚ΠΎ сС стартира ΠΈΠ»ΠΈ ΡΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅, ΠΈΠ»ΠΈ ΠΊΠΎΠ½Π·ΠΎΠ»Π°Ρ‚Π° Π·Π° отстраняванС Π½Π° Π³Ρ€Π΅ΡˆΠΊΠΈ.

Π’ случай Π½Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½Π° конфигурация, ΠΎΡ‚ инсталационния ΡΡŠΡ€Π²ΡŠΡ€ сС ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Ρ‚ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈ, ΠΊΠΎΠΈΡ‚ΠΎ ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Ρ‚:

  • скриптовС;
  • Π·Π°ΠΏΠ°Π·Π΅Π½ΠΈ BIOS/UEFI шаблони Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΡΡŠΡ€Π²ΡŠΡ€ΠΈ;
  • Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€;
  • ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ;
  • Ρ‚Ρ€ΡƒΠΏΠΈ

Π‘Π»Π΅Π΄ Ρ‚ΠΎΠ²Π° ΡΠΊΡ€ΠΈΠΏΡ‚ΡŠΡ‚ mount.sh ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Ρ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° скрипта master-install.sh ΠΎΡ‚ дирСкторията Π½Π° скрипта.

Π”ΡŠΡ€Π²ΠΎΡ‚ΠΎ Π½Π° скриптовСтС (Ρ€Π΅Π΄ΡŠΡ‚, Π² ΠΊΠΎΠΉΡ‚ΠΎ сС стартират) ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΠΏΠΎ слСдния Π½Π°Ρ‡ΠΈΠ½:

  • Π³Π»Π°Π²Π½Π° инсталация
  • sharefunctions (сподСлСни Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ)
  • информация (ΠΈΠ·Π²Π΅ΠΆΠ΄Π°Π½Π΅ Π½Π° информация)
  • ΠΌΠΎΠ΄Π΅Π»ΠΈ (Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° инсталационни ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ въз основа Π½Π° ΠΌΠΎΠ΄Π΅Π»Π° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°)
  • ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈ_utils (инсталиранС Π½Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ)
  • fwupdate (актуализация Π½Π° Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€Π°)
  • diag (Π΅Π»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ€Π½Π° диагностика)
  • biosconf (настройки Π½Π° BIOS/UEFI)
  • clockfix (Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° часа Π½Π° Π΄ΡŠΠ½Π½Π°Ρ‚Π° ΠΏΠ»Π°Ρ‚ΠΊΠ°)
  • srmconf (конфигурация Π½Π° интСрфСйс Π½Π° ΠΎΡ‚Π΄Π°Π»Π΅Ρ‡Π΅Π½ интСрфСйс)
  • raidconf (ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° логичСски Ρ‚ΠΎΠΌΠΎΠ²Π΅)

Π΅Π΄ΠΈΠ½ ΠΎΡ‚:

  • ΠΏΡ€Π΅Π΄Π²Π°Ρ€ΠΈΡ‚Π΅Π»Π½ΠΎ инсталиранС (ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ към инсталатора Π½Π° ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΎΠ½Π½Π°Ρ‚Π° систСма ΠΈΠ»ΠΈ Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€Π°, ΠΊΠ°Ρ‚ΠΎ ESXi)
  • ΠΎΠ±Π΅Π΄ΠΈΠ½Π΅Π½ΠΎ инсталиранС (Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π½Π°Ρ‡Π°Π»ΠΎ Π½Π° Ρ€Π°Π·ΠΎΠΏΠ°ΠΊΠΎΠ²Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ)

Π‘Π΅Π³Π° Π·Π½Π°Π΅ΠΌ:

  • ΠΊΠ°ΠΊ Π΄Π° стартиратС ΡΡŠΡ€Π²ΡŠΡ€ Ρ‡Ρ€Π΅Π· PXE;
  • ΠΊΠ°ΠΊ Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΡ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° собствСния си скрипт.


Π”Π° ΠΏΡ€ΠΎΠ΄ΡŠΠ»ΠΆΠΈΠΌ. Актуални станаха слСднитС Π²ΡŠΠΏΡ€ΠΎΡΠΈ:

  • Как Π΄Π° Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π΅ΠΌ ΡΡŠΡ€Π²ΡŠΡ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ подготвямС?
  • Какви ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€Π°?
  • Как Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π° настройки Π·Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€?

Как Π΄Π° Ρ€Π°Π·ΠΏΠΎΠ·Π½Π°Π΅ΠΌ ΡΡŠΡ€Π²ΡŠΡ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ подготвямС?

Π’ΠΎΠ²Π° Π΅ просто - DMI:

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

Всичко, ΠΎΡ‚ ΠΊΠΎΠ΅Ρ‚ΠΎ сС Π½ΡƒΠΆΠ΄Π°Π΅Ρ‚Π΅, Π΅ Ρ‚ΡƒΠΊ: доставчик, ΠΌΠΎΠ΄Π΅Π», сСриСн Π½ΠΎΠΌΠ΅Ρ€. Ако Π½Π΅ стС сигурни, Ρ‡Π΅ Ρ‚Π°Π·ΠΈ информация ΠΏΡ€ΠΈΡΡŠΡΡ‚Π²Π° във всички ΡΡŠΡ€Π²ΡŠΡ€ΠΈ, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΈ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°Ρ‚Π΅ ΠΏΠΎ тСхния MAC адрСс. Или ΠΏΠΎ Π΄Π²Π°Ρ‚Π° Π½Π°Ρ‡ΠΈΠ½Π° Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ, Π°ΠΊΠΎ доставчицитС Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° са Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ ΠΈ ΠΏΡ€ΠΈ някои ΠΌΠΎΠ΄Π΅Π»ΠΈ просто няма информация Π·Π° сСрийния Π½ΠΎΠΌΠ΅Ρ€.

Π’ΡŠΠ· основа Π½Π° ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½Π°Ρ‚Π° информация сС ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Ρ‚ ΠΌΡ€Π΅ΠΆΠΎΠ²ΠΈ ΠΏΠ°ΠΏΠΊΠΈ ΠΎΡ‚ инсталационния ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ сС Π·Π°Ρ€Π΅ΠΆΠ΄Π° всичко Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ (ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ, Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€ ΠΈ Π΄Ρ€.).

Какви ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ ΠΈ ΠΊΠ°ΠΊ Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€Π°?

Π©Π΅ прСдоставя ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° Linux Π·Π° някои ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΠΈ. Всички ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ са Π΄ΠΎΡΡ‚ΡŠΠΏΠ½ΠΈ Π½Π° ΠΎΡ„ΠΈΡ†ΠΈΠ°Π»Π½ΠΈΡ‚Π΅ уСбсайтовС Π½Π° доставчицитС.

Направи си сам Bare-Metal Provisioning ΠΈΠ»ΠΈ Автоматична ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ° Π½Π° ΡΡŠΡ€Π²ΡŠΡ€ΠΈ ΠΎΡ‚ Π½ΡƒΠ»Π°Ρ‚Π°

Π‘ Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€Π° мисля, Ρ‡Π΅ всичко Π΅ ясно. Π’Π΅ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΠΈΠ΄Π²Π°Ρ‚ ΠΏΠΎΠ΄ Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π° Π½Π° ΠΏΠ°ΠΊΠ΅Ρ‚ΠΈΡ€Π°Π½ΠΈ изпълними Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. Π˜Π·ΠΏΡŠΠ»Π½ΠΈΠΌΠΈΡΡ‚ Ρ„Π°ΠΉΠ» ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π° процСса Π½Π° Π°ΠΊΡ‚ΡƒΠ°Π»ΠΈΠ·ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ„ΡŠΡ€ΠΌΡƒΠ΅Ρ€Π° ΠΈ ΠΎΡ‚Ρ‡ΠΈΡ‚Π° ΠΊΠΎΠ΄Π° Π·Π° Π²Ρ€ΡŠΡ‰Π°Π½Π΅.

BIOS ΠΈ IPMI ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ сС ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚ Ρ‡Ρ€Π΅Π· шаблони. Ако Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ, ΡˆΠ°Π±Π»ΠΎΠ½ΡŠΡ‚ ΠΌΠΎΠΆΠ΅ Π΄Π° бъдС Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π½ ΠΏΡ€Π΅Π΄ΠΈ изтСглянС.

ΠŸΠΎΠΌΠΎΡ‰Π½ΠΈΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ Π·Π° RAID ΠΎΡ‚ някои доставчици ΡΡŠΡ‰ΠΎ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° шаблон. Ако Ρ‚ΠΎΠ²Π° Π½Π΅ Π΅ Ρ‚Π°ΠΊΠ°, Ρ‚ΠΎΠ³Π°Π²Π° Ρ‰Π΅ трябва Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΎΠ½Π΅Π½ скрипт.

ΠŸΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π°Ρ‚Π° Π·Π° настройка Π½Π° RAID Π½Π°ΠΉ-чСсто Π΅ слСдната:

  • ИскамС Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° конфигурация.
  • Ако Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ° логичСски масиви, Π³ΠΈ ΠΈΠ·Ρ‚Ρ€ΠΈΠ²Π°ΠΌΠ΅.
  • НСка Π΄Π° Ρ€Π°Π·Π³Π»Π΅Π΄Π°ΠΌΠ΅ ΠΊΠ°ΠΊΠ²ΠΈ физичСски дисковС ΠΈΠΌΠ° ΠΈ ΠΊΠΎΠ»ΠΊΠΎ са.
  • Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ Π½ΠΎΠ² логичСски масив. ΠŸΡ€Π΅ΠΊΡŠΡΠ²Π°ΠΌΠ΅ процСса Π² случай Π½Π° Π³Ρ€Π΅ΡˆΠΊΠ°.

Как Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡Π° настройки Π·Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€?

Π”Π° ΠΏΡ€ΠΈΠ΅ΠΌΠ΅ΠΌ, Ρ‡Π΅ настройкитС Π½Π° всички ΡΡŠΡ€Π²ΡŠΡ€ΠΈ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΡΡŠΡ…Ρ€Π°Π½Π΅Π½ΠΈ Π½Π° инсталационния ΡΡŠΡ€Π²ΡŠΡ€. Π’ Ρ‚ΠΎΠ·ΠΈ случай, Π·Π° Π΄Π° ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈΠΌ Π½Π° нашия Π²ΡŠΠΏΡ€ΠΎΡ, ΠΏΡŠΡ€Π²ΠΎ трябва Π΄Π° Ρ€Π΅ΡˆΠΈΠΌ ΠΊΠ°ΠΊ Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΠΌ настройкитС Π½Π° инсталационния ΡΡŠΡ€Π²ΡŠΡ€.

ΠžΡ‚Π½Π°Ρ‡Π°Π»ΠΎ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° сС справитС с тСкстови Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅. (Π’ Π±ΡŠΠ΄Π΅Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° искатС Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ тСкстов Ρ„Π°ΠΉΠ» ΠΊΠ°Ρ‚ΠΎ Ρ€Π΅Π·Π΅Ρ€Π²Π΅Π½ ΠΌΠ΅Ρ‚ΠΎΠ΄ Π·Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° настройки.)

ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° β€žΡΠΏΠΎΠ΄Π΅Π»ΠΈΡ‚Π΅β€œ тСкстов Ρ„Π°ΠΉΠ» Π½Π° инсталационния ΡΡŠΡ€Π²ΡŠΡ€. И Π΄ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ Π½Π΅Π³ΠΎΠ²ΠΎΡ‚ΠΎ ΠΌΠΎΠ½Ρ‚ΠΈΡ€Π°Π½Π΅ към скрипта mount.sh.

Π Π΅Π΄ΠΎΠ²Π΅Ρ‚Π΅ Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‰Π΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ‚ Ρ‚Π°ΠΊΠ°:

<сСриСн Π½ΠΎΠΌΠ΅Ρ€> <ΠΈΠΌΠ΅ Π½Π° хост> <ΠΏΠΎΠ΄ΠΌΡ€Π΅ΠΆΠ°>

Π’Π΅Π·ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Π½ΠΈ във Ρ„Π°ΠΉΠ»Π° ΠΎΡ‚ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π° ΠΎΡ‚ Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° Ρ€Π°Π±ΠΎΡ‚Π½Π° машина. И Ρ‚ΠΎΠ³Π°Π²Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ настройватС ΡΡŠΡ€Π²ΡŠΡ€, ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅ Π·Π° ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π΅Π½ ΡΡŠΡ€Π²ΡŠΡ€ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΡ€ΠΎΡ‡Π΅Ρ‚Π΅Π½ΠΈ ΠΎΡ‚ Ρ„Π°ΠΉΠ»Π°.

Но Π² Π΄ΡŠΠ»Π³ΠΎΡΡ€ΠΎΡ‡Π΅Π½ ΠΏΠ»Π°Π½ Π΅ ΠΏΠΎ-Π΄ΠΎΠ±Ρ€Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π·Π° ΡΡŠΡ…Ρ€Π°Π½ΡΠ²Π°Π½Π΅ Π½Π° настройки, ΡΡŠΡΡ‚ΠΎΡΠ½ΠΈΡ ΠΈ рСгистрационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ инсталации.

Π Π°Π·Π±ΠΈΡ€Π° сС, само Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ Π½Π΅ Π΅ Π΄ΠΎΡΡ‚Π°Ρ‚ΡŠΡ‡Π½Π°, Π° Ρ‰Π΅ трябва Π΄Π° ΡΡŠΠ·Π΄Π°Π΄Π΅Ρ‚Π΅ клиСнтска част, с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° която Π΄Π° сС ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΡ‚ настройкитС Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ. Π’ΠΎΠ²Π° Π΅ ΠΏΠΎ-Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ Π·Π° изпълнСниС Π² сравнСниС с тСкстов Ρ„Π°ΠΉΠ», Π½ΠΎ Π²ΡΡŠΡ‰Π½ΠΎΡΡ‚ всичко Π½Π΅ Π΅ Ρ‚ΠΎΠ»ΠΊΠΎΠ²Π° Ρ‚Ρ€ΡƒΠ΄Π½ΠΎ, ΠΊΠΎΠ»ΠΊΠΎΡ‚ΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°. Напълно възмоТно Π΅ Π΄Π° Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»Π½Π° вСрсия Π½Π° ΠΊΠ»ΠΈΠ΅Π½Ρ‚, ΠΊΠΎΠΉΡ‚ΠΎ просто Ρ‰Π΅ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Ρ Π΄Π°Π½Π½ΠΈ към Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ сами. И Π² Π±ΡŠΠ΄Π΅Ρ‰Π΅ Ρ‰Π΅ бъдС възмоТно Π΄Π° сС ΠΏΠΎΠ΄ΠΎΠ±Ρ€ΠΈ клиСнтската ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ° Π² Π±Π΅Π·ΠΏΠ»Π°Ρ‚Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ (ΠΎΡ‚Ρ‡Π΅Ρ‚ΠΈ, ΠΏΠ΅Ρ‡Π°Ρ‚ Π½Π° Π΅Ρ‚ΠΈΠΊΠ΅Ρ‚ΠΈ, ΠΈΠ·ΠΏΡ€Π°Ρ‰Π°Π½Π΅ Π½Π° извСстия ΠΈ Ρ‚.Π½., ΠΊΠΎΠ΅Ρ‚ΠΎ ΠΈΠ΄Π²Π° Π½Π° ΡƒΠΌ).

ΠšΠ°Ρ‚ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Π° заявка към Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ ΠΈ посочим сСрийния Π½ΠΎΠΌΠ΅Ρ€ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°, Ρ‰Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠΌ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈ Π·Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°.

ОсвСн Ρ‚ΠΎΠ²Π° няма Π΄Π° Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π΄Π° измислямС ΠΊΠ»ΡŽΡ‡Π°Π»ΠΊΠΈ Π·Π° Π΅Π΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π΅Π½ Π΄ΠΎΡΡ‚ΡŠΠΏ, ΠΊΠ°ΠΊΡ‚ΠΎ Π΅ Π² случая с тСкстов Ρ„Π°ΠΉΠ».

МоТСм Π΄Π° запишСм рСгистрационния Ρ„Π°ΠΉΠ» Π½Π° конфигурацията Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° всички Π΅Ρ‚Π°ΠΏΠΈ ΠΈ Π΄Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΠΈΡ€Π°ΠΌΠ΅ инсталационния процСс Ρ‡Ρ€Π΅Π· ΡΡŠΠ±ΠΈΡ‚ΠΈΡ ΠΈ Ρ„Π»Π°Π³ΠΎΠ²Π΅ Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²ΠΈΡ‚Π΅Π»Π½ΠΈΡ‚Π΅ Π΅Ρ‚Π°ΠΏΠΈ.

Π‘Π΅Π³Π° Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ:

  • стартиранС Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Ρ‡Ρ€Π΅Π· PXE;
  • ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° нашия скрипт;
  • ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°ΠΉΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ трябва Π΄Π° бъдС ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½, Ρ‡Ρ€Π΅Π· нСговия сСриСн Π½ΠΎΠΌΠ΅Ρ€;
  • ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΉΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° подходящитС ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ;
  • ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Ρ‚Π΅ настройкитС към Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° инсталационния ΡΡŠΡ€Π²ΡŠΡ€, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ‚Π΅ клиСнтската част.

Π Π°Π·Π±Ρ€Π°Ρ…ΠΌΠ΅ ΠΊΠ°ΠΊ:

  • инсталираният ΡΡŠΡ€Π²ΡŠΡ€ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ настройки ΠΎΡ‚ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ;
  • цСлият Π½Π°ΠΏΡ€Π΅Π΄ΡŠΠΊ Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°Ρ‚Π° сС записва Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ (Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ, ΡΡŠΠ±ΠΈΡ‚ΠΈΡ, Ρ„Π»Π°Π³ΠΎΠ²Π΅ Π½Π° Π΅Ρ‚Π°ΠΏΠ°).

Какво Ρ‰Π΅ ΠΊΠ°ΠΆΠ΅Ρ‚Π΅ Π·Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ Π²ΠΈΠ΄ΠΎΠ²Π΅ софтуСр, ΠΊΠΎΠΉΡ‚ΠΎ инсталиратС? Как Π΄Π° инсталиратС Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€, Π΄Π° ΠΊΠΎΠΏΠΈΡ€Π°Ρ‚Π΅ VM ΠΈ Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Ρ‚Π΅ всичко?

Π’ случай Π½Π° Ρ€Π°Π·ΠΏΠΎΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° Ρ„Π°ΠΉΠ»ΠΎΠ²Π° систСма (linux) към Ρ…Π°Ρ€Π΄ΡƒΠ΅Ρ€, всичко Π΅ съвсСм просто:

  • Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ настроим всички ΡΡŠΡ€Π²ΡŠΡ€Π½ΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚ΠΈ, внСдрявамС ΠΈΠ·ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅Ρ‚ΠΎ.
  • Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΉΡ‚Π΅ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠ°Ρ‚Π° Π·Π° Π·Π°Ρ€Π΅ΠΆΠ΄Π°Π½Π΅ grub.
  • НиС chroot ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΌΠ΅ всичко, ΠΊΠΎΠ΅Ρ‚ΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ.

Как Π΄Π° ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΠΈΡ‚Π΅ ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° инсталатора Π½Π° ОБ (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ESXi ΠΊΠ°Ρ‚ΠΎ ΠΏΡ€ΠΈΠΌΠ΅Ρ€).

  • НиС ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΈΡ€Π°ΠΌΠ΅ ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅Ρ‚ΠΎ Π½Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° ΠΎΡ‚ нашия скрипт към инсталатора Π½Π° Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€, ΠΊΠ°Ρ‚ΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΌΠ΅ автоматичния Ρ„Π°ΠΉΠ» с ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ΠΈ (kickstart):
  • Π˜Π·Ρ‚Ρ€ΠΈΠ²Π°ΠΌΠ΅ Ρ‚Π΅ΠΊΡƒΡ‰ΠΈΡ‚Π΅ дяловС Π½Π° диска.
  • Π‘ΡŠΠ·Π΄Π°ΠΉΡ‚Π΅ дял с Ρ€Π°Π·ΠΌΠ΅Ρ€ 500 MB.
  • ΠœΠ°Ρ€ΠΊΠΈΡ€Π°ΠΌΠ΅ Π³ΠΎ ΠΊΠ°Ρ‚ΠΎ стартиращ.
  • Π€ΠΎΡ€ΠΌΠ°Ρ‚ΠΈΡ€Π°ΠΉΡ‚Π΅ във FAT32.
  • ΠšΠΎΠΏΠΈΡ€Π°ΠΌΠ΅ инсталационнитС Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° ESXi Π² root.
  • Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°Π½Π΅ Π½Π° syslinux.
  • ΠšΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Π΅ syslinux.cfg Π² /syslinux/

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

  • ΠšΠΎΠΏΠΈΡ€Π°ΠΉΡ‚Π΅ mboot.c32 Π² /syslinux.
  • Boot.cfg трябва Π΄Π° ΠΈΠΌΠ° kernelopt=ks=ftp:// /ks_esxi.cfg
  • РСстартирайтС ΡΡŠΡ€Π²ΡŠΡ€Π°.

Π‘Π»Π΅Π΄ ΠΊΠ°Ρ‚ΠΎ ΡΡŠΡ€Π²ΡŠΡ€ΡŠΡ‚ сС рСстартира, ΠΈΠ½ΡΡ‚Π°Π»Π°Ρ‚ΠΎΡ€ΡŠΡ‚ Π½Π° ESXi Ρ‰Π΅ сС ΠΈΠ·Ρ‚Π΅Π³Π»ΠΈ ΠΎΡ‚ Ρ‚Π²ΡŠΡ€Π΄ΠΈΡ диск Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π°. Всички Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈ инсталационни Ρ„Π°ΠΉΠ»ΠΎΠ²Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ Π·Π°Ρ€Π΅Π΄Π΅Π½ΠΈ Π² ΠΏΠ°ΠΌΠ΅Ρ‚Ρ‚Π° ΠΈ слСд Ρ‚ΠΎΠ²Π° инсталацията Π½Π° ESXi Ρ‰Π΅ Π·Π°ΠΏΠΎΡ‡Π½Π΅, спорСд посочСния Ρ„Π°ΠΉΠ» Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅Π½ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€.

Π•Ρ‚ΠΎ няколко Ρ€Π΅Π΄Π° ΠΎΡ‚ Ρ„Π°ΠΉΠ»Π° Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π΅Π½ ΠΎΡ‚Π³ΠΎΠ²ΠΎΡ€ 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

На Ρ‚ΠΎΠ·ΠΈ Π΅Ρ‚Π°ΠΏ Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€ΡŠΡ‚ сС инсталира ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π° ΠΈ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈΡ‚Π΅ машини сС ΠΊΠΎΠΏΠΈΡ€Π°Ρ‚.

Как Π΄Π° ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΌ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини сСга?

Π˜Π·ΠΌΠ°ΠΌΠΈΡ…ΠΌΠ΅ ΠΌΠ°Π»ΠΊΠΎ: ΠΏΠΎ Π²Ρ€Π΅ΠΌΠ΅ Π½Π° инсталацията Π·Π°Π΄Π°Π΄ΠΎΡ…ΠΌΠ΅ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€Π° guestinfo.esxihost.id = "$SYSSN" във Ρ„Π°ΠΉΠ»Π° VM1.vmx ΠΈ посочихмС сСрийния Π½ΠΎΠΌΠ΅Ρ€ Π½Π° физичСския ΡΡŠΡ€Π²ΡŠΡ€ Π² Π½Π΅Π³ΠΎ.

Π‘Π΅Π³Π°, слСд стартиранС, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½Π°Ρ‚Π° машина (с инсталиран ΠΏΠ°ΠΊΠ΅Ρ‚ vmware-tools) ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ Π΄ΠΎΡΡ‚ΡŠΠΏ Π΄ΠΎ Ρ‚ΠΎΠ·ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚ΡŠΡ€:

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

ВоСст, VM Ρ‰Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° сС ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π° (Π·Π½Π°Π΅ сСрийния Π½ΠΎΠΌΠ΅Ρ€ Π½Π° физичСския хост), Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈ заявка към Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° инсталационния ΡΡŠΡ€Π²ΡŠΡ€ ΠΈ Π΄Π° ΠΏΠΎΠ»ΡƒΡ‡ΠΈ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΈΡ‚Π΅, ΠΊΠΎΠΈΡ‚ΠΎ трябва Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½ΠΈ. Всичко Ρ‚ΠΎΠ²Π° Π΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡ€Π°Π½ΠΎ Π² скрипт, ΠΊΠΎΠΉΡ‚ΠΎ трябва Π΄Π° сС стартира Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΏΡ€ΠΈ стартиранС Π½Π° guestos vm (Π½ΠΎ вСднъТ: RunOnce).

Π‘Π΅Π³Π° Π·Π½Π°Π΅ΠΌ ΠΊΠ°ΠΊ:

  • стартиранС Π½Π° ΡΡŠΡ€Π²ΡŠΡ€Π° Ρ‡Ρ€Π΅Π· PXE;
  • ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»Π΅Ρ‚Π΅ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° Π½Π° нашия скрипт;
  • ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€Π°ΠΉΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€Π°, ΠΊΠΎΠΉΡ‚ΠΎ трябва Π΄Π° бъдС ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½, Ρ‡Ρ€Π΅Π· нСговия сСриСн Π½ΠΎΠΌΠ΅Ρ€;
  • ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°ΠΉΡ‚Π΅ ΡΡŠΡ€Π²ΡŠΡ€Π° с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° подходящитС ΠΏΠΎΠΌΠΎΡ‰Π½ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΈ;
  • ΠΏΡ€Π΅Ρ…Π²ΡŠΡ€Π»ΡΠ½Π΅ Π½Π° настройки към Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ Π½Π° инсталационния ΡΡŠΡ€Π²ΡŠΡ€ с ΠΏΠΎΠΌΠΎΡ‰Ρ‚Π° Π½Π° клиСнтската част;
  • ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Π²ΠΈΠ΄ΠΎΠ²Π΅ софтуСр, Π²ΠΊΠ»ΡŽΡ‡ΠΈΡ‚Π΅Π»Π½ΠΎ внСдряванС Π½Π° Ρ…ΠΈΠΏΠ΅Ρ€Π²Π°ΠΉΠ·ΠΎΡ€Π° esxi ΠΈ ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€ΠΈΡ€Π°Π½Π΅ Π½Π° Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»Π½ΠΈ машини (всички Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ).

Π Π°Π·Π±Ρ€Π°Ρ…ΠΌΠ΅ ΠΊΠ°ΠΊ:

  • инсталираният ΡΡŠΡ€Π²ΡŠΡ€ ΠΏΠΎΠ»ΡƒΡ‡Π°Π²Π° Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΈΡ‚Π΅ настройки ΠΎΡ‚ Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ;
  • цСлият Π½Π°ΠΏΡ€Π΅Π΄ΡŠΠΊ Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡ‚ΠΎΠ²ΠΊΠ°Ρ‚Π° сС записва Π² Π±Π°Π·Π°Ρ‚Π° Π΄Π°Π½Π½ΠΈ (Π΄Π½Π΅Π²Π½ΠΈΡ†ΠΈ, ΡΡŠΠ±ΠΈΡ‚ΠΈΡ, Ρ„Π»Π°Π³ΠΎΠ²Π΅ Π½Π° Π΅Ρ‚Π°ΠΏΠ°).


Π’ ΠΊΡ€Π°ΠΉΠ½Π° смСтка:

Вярвам, Ρ‡Π΅ уникалността Π½Π° Ρ‚ΠΎΠ²Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ сС ΠΊΡ€ΠΈΠ΅ Π² Π½Π΅Π³ΠΎΠ²Π°Ρ‚Π° Π³ΡŠΠ²ΠΊΠ°Π²ΠΎΡΡ‚, простота, Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈ ΠΈ многофункционалност.

Моля, Π½Π°ΠΏΠΈΡˆΠ΅Ρ‚Π΅ Π² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎ мислитС.

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: www.habr.com

ДобавянС Π½Π° Π½ΠΎΠ² ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€