á¤á ááľáĽáá áĽá á´ááľ áá áĽá á¨á°ááŁáŹááź á ááą á X5 áá á¨áá á¨á° áááľ áááľááá˝á áááááľ ááᢠáᏠá áá á ááá ááłáŞáŤáá˝ áá á áááľá¨áľ á ááśáá˛á á¨á áááá ááá áľ áľáááľ áĽáá´áľ áá°ááŤáľ áĽáá°áá˝á ááŤááá˝á áĽáááááᢠá áĽá á áľá°áŤá¨áľ, áá á áľá°áłá˝, ááá áĽá á°áááá áááľá áá.
ááá
áľ áľáááĄ- á á˛áľ á ááááá á¨áłáĽá ááľáĽ áá° áá á áá á¨á°ááᨠáŚá¤áľ (OS) ááľá¨á ááᢠááááľ ááá ᨠESXi hypervisor áá (á¨áááśááľ á ááááŽá˝ áááááľ á áá
á˝áá ááľáĽ á áá°áĽáŤáŤá).
ááá˝:
- á ááááŽá˝ - áááá á¨ááŤáľáááá¸á á ááááŽá˝.
- á¨ááŤá á áááá á á ááá á¨ááá áľ áá°áąá á ááľááአáá á¨ááŤááá á áá á áááá ááá˘
á ááśáá˛á ááá áŤáľáááá?
á ááľ á°ááŁá á á áĽáá á-á ááááŽá˝á á¨áŁáś áááááᾠᣠá á¨áá°á á°á¨á - á áá 30ᢠá¨á°ááŤáŠ á ááŤážá˝ áĽá áá´áá˝ á ááááŽá˝áŁ á¨á°ááŤáŠ áľááá° ááááá˝ á áĽááą áá ááŤá áá˝ááᣠáĽá áááááŤááá ááááŤá¸á áá˝ááá˘
á áááá áá°áľ ááľáĽ áá ááááľ ááááá˝ ááŤá°áłá (áŤá á ááśááľáľ)
- á¨ááá á°ááł, ááłááľ, áááŁá áŞáŤá á¨á áááአáá áŤááá;
- áŁáŽáľ, RAID, IPMI á áá á;
- á áŤá firmware á ááá;
- á¨ááá áľáááľ ááľáá áá°ááŤáľ (ááá áááááŤáááá ááŤá áĽá áááŁá áá˝áá˝á áá áą);
ááľáłááť. á á ááŤáᣠá¨áľááá° ááá áááááľ á¨ááťáá á áŤáľ-ááá˝ ááá á ááŤá ááᢠááá áá áá á á˝áá ááľáĽ á ááĽáŤáŤá. ááá áĽááłá áá á á°ááŁá áá¨á á áľá¸á᪠áĽááłááá á¨áá á áłá˝ áŤáŤá.
- á¨áľááá° ááá áááŞáŤáá˝á (á¨á áľá°ááá áľá ᣠá áá ᣠááá°) áŤáá áŠá˘
á áá á ááŤá¨áĽ, á áĽáŤááłááą á áááá áá á°ááłáłá á áá áśá˝ á á á°á á°á¨á°á áá¨áááá. á¨áĽáá°áá á áááľ áľáŤ áá¤áłáááľ á áŁá áá á°á áá.
á¨á ááśáá˝á áááľ á¨á°áá á°áłáľá á¨á áááá ááá áľ áá°áľ ááľáááľ ááᢠá á°áťá áá á.
á ááśáá˝á á áŚááŹá˝áá˝ ááŤá¨á áŤááá áá ááááłá áĽá áĽá á ááááŽá˝á á á ááľ áá ááá á¨áĽ áŤáľá˝ááᢠá á°áá˝ ááááŤáśá˝ á¨á°ááł áľá á°áśá˝ á¨áá¨á°áą á ááŁáá á áĽá á ááááłá.
á°áá¨áŽá˝ á áŤáľ á°á áĽáá´áľ ááááŤá?
áááá á°á¨ááá˝ á áááá áĽááááá.
áĽáá° PXE ááŤá á áááá á¨áá ááá áľ á¨ááááľ á áááá á áááľá˘ á áááááśáš á áአáá á°áááá áĽá á°áá á¨ááᥠDHCPᣠTFTPá˘
áľááá á ááááŠá (áááá áŤáá áľá) á PXE á áŠá áĽááľááłááᢠáĽáá´áľ áĽáá°áá°áŤ áĽááľáłááľáĄ-
- á¨á ááłá¨ áá¨áĽ ááľááť á á áááአáá á°ááá§á.
- á áááአá¨ááľááá áŤááąá PXE-ROMá áááá áĽá á¨ááľááá á áľáŤáť áááááľ á¨ááŤá á ááááŠá á DHCP á áŠá áŤááááŤáá˘
- á¨DHCP ááŤá á áááአá áľáŤáť áĽá áĽáá˛áá á°á¨á᪠á PXE áááá¨áľ áááŞáŤáá˝á áá°áŁáá˘
- á áááአá¨ááľááá áĄáľ áŤááá á¨ááŤá á áááአá PXE á áŠá ááááᣠá PXE áá á ááá áá°á¨áľ á°á¨á᪠áááľ áá¨á°áłáá˘
- áĄáľ á¨áá¨á°á°á á á°áá ááľ áááááá˝ (á¨áááᣠá˘ááľáŤáááľáŁ á°áŤáŤ ááĽáŚá˝áŁ á¨áľáłáłááľ ááľáᣠááá°) áá á áááľá¨áľ ááá˘
ááľáłááť. á˝áá á PXE á BIOS áááł áááłáľá ááááťá. á á áá áá á ááŤážá˝ ᨠUEFI bootmode á á áááľ á áá°áá á áá áá¸áᢠá PXE, ááŠááą á DHCP á áááá áá á áĽá á°á¨á᪠áĄáľ áŤá ááá áá áááá.
á¨PXE á áááá áá á (pxelinux menu) ááłáá áĽáááá¨áľá˘
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=ââŚâ
á áá á°á¨á áá áŤáá á¨ááá áĽá á˘ááľáŤáááľ ááŤá¨áá á¨ááááľ ááľá áá¸á, á áĽáą áĽááłáł á¨á áááአáá ááá áľ áĽá áá á áá¨áááá.
áĽáá°áááá¨áąáľ, áĄáľ áŤáá áĽá áááŞáŤáá˝á áá° á¨ááá áŤáľá°áááá. á¨áĽááá áááááá˝ ááľáĽ á ááłááśáš á á¨ááá á áŤáą áĽá á áá áááá. á ááłááśášá á°áá ááŤáłá˝á ááá ááá ááá áľ áĽáá˝áááᢠáá á áá áá ááĽáŤáŤáᣠá áá áá ááá áŤáá áááŞáŤáá˝ á ááŤá¨ááá ááááľ ááľá á /proc/cmdline áĽáá°ááá ááľáłááľ áá˝ááá˘
á¨áľ áá á¨áááá¸áᣠá¨ááá áĽá á˘ááľáŤáááľ?
áĽáá° áá°á¨áľ, áááááá á¨ááááľ áľáááľ ááá¨áĽ áá˝áá. á áááááĽá áľ áá áľáŠá¨áľ á¨ááá°á á:
- á¨ááľááť ááľá áááá°áá ááá á áá áľ (á¨á á˝á¨ááŤáŞáá˝ ááááľ, á°á¨á᪠áááááŤáá˝á á¨ááŤá á˝ááł);
- ááááŁáľá ᣠá˘ááľáŤáááľá áá ááľ áŤáľáááááłáá˘
á áĽá áááľá á X5 áá áĽáá´áľ áá¨áááá? CentOS 7 áĽáá° áá°á¨áľ á°áá¨á ᢠáĽáľá˛ á¨áá¨á°ááá áĽáááľ áĽááááᥠá¨áá°ááąá á¨ááľá ááá á á ááá á°á áá° áá á°á á á˝áá áĽá ââá˘ááľáŤáááľ áĽááá á á ááľáĄ á¨ááá áľáááłá˝á áá á°á áááŤáᢠááľáá á ááŤáá áľ áá áá á°áŠ áá° á°áá ᨠtmpfs ááááá áá°ááᢠá áá ááááľ áááá á áľááá áááááŤáá˝á á¨áŤá á ááľá°á ᣠáá áá á¨á°áá á¨ááĽáł ááááľ ááľá áĽááááá ᣠáááľ áááá˝á áĽáť áŤáá-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
áľááá ááŤá áŤáá áľá á¨ááá áĽá á˘ááľáŤáááľ ááá¸ááᢠá áá¤áąá, á áá á°á¨á, ááŤá¨áááá á¨ááááľ ááľá á PXE á áŠá á ááŤá, á¨áľááá° ááááá áŽááśá áĽááá ááá.
á áŁá áĽáŠ, á áá áá áááŁá áŞáŤáá áá° "áŤáľ-á°á" ááľá°ááá áŤáľááááá.
áĽáá°áá ááľá¨á ááťáá.
ááľáá á¨áŤáá á áá áááŁá áŞáŤáá áá° mount.sh áľááŞááľ áááľá°ááá áĽá
áľ áĽááłáá áĽááľáĽá˘
ᨠmount.sh áľááŞááľ á autorun ááľáĽ áĽááŤá°áľá˘ áá
áá áááľá¨á á˘ááľáŤáááľá ááľá°áŤá¨á áŤáľáááááłá:
- initramfs ááá (á¨áá áŤááá ᨠinitramfs á ááŤá á¨á°á ááá áá á áŤáľáááá)
- á /proc/cmdline á áŠá á¨á°ááááľá áááŞáŤáá˝ á¨ááá¨áá áĽá á°á¨á᪠ááĽáĽáá á¨ááŤáľá°ááá áŽáľ á á áá ááľáĽ áŤáŤáľáąá˘
- á˘ááľáŤáááľ áŤá¸á.
ááľáłááť. á X5 á¨ááłáŞáŤ áľáĽáľáĽ ááľáĽ, á¨ááŤá áááŁá áŞáŤ áá° áľááŞááą á°áááá /opt/x5/toolkit/bin/hook.sh Ń ĐżĐžĐźĐžŃŃŃ override.conf в getty tty1 (ExecStart=âŚ)
áľááá , ááľá á°ááá, á ááľáĄá á¨mount.sh áľááŞááľ á áŤáľ-á°á ááááŤá. á ááá á ᨠmount.sh áľááŞááľ á á áááá áá áŤáááľá áááŞáŤáá˝ (script_cmd=) áá°ááľáá áĽá á áľááááá ááŽááŤá/áľááŞááľ ááááŤáá˘
áá፠ááŁáŞáŤ áľáĽáľáĽ -ááŞá
á¨ááá...
á áŁáŞ... nfs_toolkit_script=áľááŞááśá˝/mount.sh script_cmd=master-install.sh
áá፠ááŁáŞáŤ áľáĽáľáĽ -ááá
á¨ááá...
á áŁáŞ... nfs_toolkit_script=áľááŞááśá˝/mount.sh script_cmd=/á˘á/áŁá˝
áĽáá
á á፠á áŠá ᨠPXE áá áá ᣠá áá á áŠá á¨ááĽáĽá ááľá°ááá፠á˛áŤááŤá á áá˘
á¨ááĽáĽá á˝áááá á áááá. á PXE áá áá፠áá á áááľá¨áľ á¨áŤáľ-áááá áľááŞááľ ááá á¨áá¨á፠áŽááśá á°áááŻáá˘
á áŤáľ-á°á áá á ááľáĽ ᣠá áľáááááš áááŤáá˝ á¨ááŤá á áááአá°áááá ᣠáĽááąá-
- áľááŞááśá˝;
- áá°ááŤáŠ á ááááŽá˝ á¨á°ááá áŁáŽáľ / UEFI á áĽááśá˝;
- firmware;
- á¨á áááá áááááŤáá˝;
- ááááŚá˝
á ááá á á¨mount.sh áľááŞááľ áááŁá áŞáŤá á¨áľááŞááľ áá፠áá° master-install.sh áľááŞááľ áŤáľá°ááááá˘
á¨áľááŞááľ áá (á¨á°áááŠá áľ á á°á á°á¨á°á) áá á áááľááá˘
- áá-áŤá
- á¨á°áአá°ááŁáŤáľ (á¨á°áአá°ááŁáŤáľ)
- áá¨á (á¨áá¨á áá¤áľ)
- áá´áá˝ (á á áááአáá´á áá á áááľá¨áľ á¨ááŤá áááŞáŤáá˝á áááá á)
- ready_utils (á áľááá áááááŤáá˝á ááŤá)
- fwupdate (firmware update)
- ááá፠(á¨ááááŞáŤ á°á¨á ááááŤáá˝)
- áŁáŽáľáŽáá (BIOS/UEFI á ááĽáŽá˝)
- clockfix (á ááááŚááľ áá ááá áááááľ)
- srmconf (á¨áááľ á¨á áááá˝ áá á)
- raidconf (á ááááŽá á áá áá˝á á áááá)
á ááąáĄ-
- á áľá áŤá (ááĽáĽáá áá° OS ááá hypervisor áŤá á ááľá°ááá ááᣠáááłá ESXi)
- á¨á°ááá°-áááľ (ááľáá áá¸á áá˛áŤáá ááááŤá)
á áá áĽááááááĄ-
- á PXE á áŠá á áááá áĽáá´áľ áĽáá°áááł;
- áááŁá áŞáŤá áá° áĽáŤáľá áľááŞááľ áĽáá´áľ ááľá°ááá áĽáá°ááťá.
áĽáááĽáᢠá¨áá¨á°ááľ áĽáŤááá˝ á°áᢠááá˘
- áĽáŤáááá áŤáááá á áááá áĽáá´áľ ááá¨áľ ááťáá?
- áá áááááŤáá˝ áĽá á ááááŠá áĽáá´áľ áááá áĽáá°ááťá?
- áá ááľ á¨á°áá°á á áááá áĽáá´áľ á ááĽáŽá˝á ááááľ ááťáá?
áĽáŤáááá áŤáááá á áááá áĽáá´áľ ááá¨áľ ááťáá?
ááá áá - DMI:
dmidecode âs system-product-name
dmidecode âs system-manufacturer
dmidecode âs system-serial-number
á¨ááŤáľáááá ááá áá áĽáá á á: áťá, áá´á, á°á¨áłáłá ááĽá. áá áá¨á á ááá á ááááŽá˝ ááľáĽ áĽáá°ááá áĽááá á áŤáááᣠá MAC á áľáŤáťá¸á áááŠáá¸á áá˝ááᢠááá á áááąá ááááśá˝ á á°ááłáłá áá, á¨á áááá á á áŤá˘áá˝ á¨á°ááŤáŠ á¨áá áĽá á á ááłááľ áá´áá˝ á ááá áľá áá፠ááĽáŠ ááá áá¨á á¨áá.
á á°áá áá áá¨á áá á ááááŽá á¨á ááłá¨ áá¨áĽ á áááá˝ á¨ááŤá á áááአáá á°áááá áĽá ááá á áľááá áááŽá˝ ááŤáá (áááááŤáὠᣠfirmware ᣠááá°)á˘
áá áááááŤáá˝ áĽá á ááááŠá áĽáá´áľ áááá áĽáá°ááťá?
áá ááłááľ á ááŤážá˝ áááááľ áááááŤáá˝á á áááŁááᢠááá áááááŤáá˝ á á á áŤá˘áá˝ áŚáá´áá áľááŁá˘áŤáá˝ áá áááá.
á firmware ᣠááá ááá ááá
áá áĽáŹ á áľáŁááᢠáĽááá áá á¨áááĄáľ á áłá¸á áá°áá አá áá˝á áááá˝ ááá ááᢠá°áááá ááá á¨á˝á áľááá áááá áá°áąá áááŁá áŤá áĽá á¨ááááť áŽáąá áŞáááľ áŤá°áááá˘
áŁáŽáľ áĽá IPMI á áĽáááá áá á á áĽááľ áá á¨ááááŠáľá˘ á áľááá á¨áá, á áĽááľ á¨ááá¨áľá á ááľ ááľá°áŤá¨á áá˝áá.
á¨RAID áááááŤáá˝ á¨á ááłááľ á á áŤá˘áá˝ á á°á¨á᪠á áĽááľ á áá áá áááአáá˝ááᢠááłáŠ áá áŤááá áłá˛áŤ á¨áá á áľááŞááľ ááťá ááááĽááłáá˘
RAID á á¨áááá áá°áľ áĽááá áá áĽáá°áá¨á°áá áá-
- á¨á ááá áá á áĽáá ááááá˘
- ááľááá ááááŤáłá áľááľáŽá˝ áŤá, áĽáá°ááá¸ááá.
- áá ááááľ áááŤá á˛áľáŽá˝ áĽááłá áĽá áá áŤá á áĽááłá áĽáááá¨áľ.
- á á˛áľ ááááŤáłá áľááľá ááá áŠá˘ áľá á°áľ á¨á°áá ᨠáá°áąá áĽááááŁáá.
áá ááľ á¨á°áá°á á áááá áĽáá´áľ á ááĽáŽá˝á ááááľ ááťáá?
á¨ááá á ááááŽá˝ á áá áśá˝ á ááŤá á áááአáá áĽáá°áááᥠáĽááľáĽá˘ á áá ááłá áá áĽáŤááŤá˝áá áááááľ á ááááŞáŤ á ááĽáŽášá áá° ááŤá á áááá áĽáá´áľ ááľá°ááá áĽááłááĽá ááá°á á ááĽá.
ááááŞáŤ áá á á˝áá áááá˝ ááááľ áá˝ááᢠ(ááá°ááąáŁ ááźáśá˝á áááľá°ááá á¨á˝áá ááá áĽáá° ááááť áá´ ááľá áá áľá˝ááá á˘)
á ááŤá á áááአáá á¨á˝áá ááá "áááŤáľ" áá˝áá. áĽá á°áŤáŤáá áá° mount.sh áľááŞááľ áŤáááľá˘
ááľááŽáš áááłá áá á áááľááá˘
<á°á¨áłáłá ááĽá> <á¨á áľá°ááá áľá> <subnet>
áĽááá ááľááŽá˝ áááá˛áą á¨áĽáŤá áá˝á áá° ááá ááááŤá. áĽá á¨á፠á áááá á˛áŤáá አá¨á ááľ á¨á°áá°á á áááá áááŞáŤáá˝ á¨ááá ááľáĽ ááá áŁáá˘
ááá áá, á á¨á á áá ááľáĽ, á ááĽáŽá˝á, áááśá˝á áĽá á¨á áááá áááśá˝ áááἠááľáłááťáá˝á ááá¨áá¸áľ á¨ááἠááł áá áá á¨á°áťá áá.
á áĽááἠá¨ááἠááł áĽáťáá á á á áá°áá, áĽá á á¨áľáá ááźáśá˝ áá° á¨ááἠááł áĽáá°áá°ááá á ááá á¨á°áá á ááá ááá á áŤáľáááááłá. áá á¨á˝áá ááá áá á˛ááťá¸á á áŁá á áľá¸á᪠áá, áá á áĽáááą, ááá ááá á¨áááľááá áŤá á á áľá¸á᪠á áá°áá. á ááá áá¨áá áá° áłáłá¤á áĽáŤáľá á¨ááŤáľá°ááá á ááľá°ááá á¨á°áá á áľáŞáľ ááá á áŁá ááťááᢠáĽá ááá°ááą á¨á°áá ááá ááŽááŤá á ááť áááł (áŞáááśá˝, á¨á áľááľ áááŤáá˝, áá° á áĽáᎠá¨áááŁáá ááłáááŤáá˝á ááá, ááá°) ááťáťá ááťáá.
ááłáłá¤á á¨á°áá°á áĽáŤá á áá á¨áĽ áĽá á¨á ááááŠá áá፠ááĽá á áááá˝ á ááááŠá ááááá á áľááááášá áááŞáŤáá˝ áĽááá áááá˘
á á°á¨ááŞáᣠá á˝áá ááá áá áĽáá°áá°á¨áá á á ááľ áá áááłá¨áť áááá˝á áááŁáľ á áŤáľáááááá˘
á¨áá á¨áľ áááἠááľáłááťáá áá° áłáłá¤á á ááá á°á¨ááá˝ áĽáá˝ááá áĽá á¨ááŤá áá°áąá á ááá áśá˝ áĽá á¨ááá áľ á°á¨ááá˝ áŁáá˛áŤáá˝ áĽáááŁá áŤááá˘
á áá áĽáá´áľ áĽáá°áá áĽááááá-
- á PXE á áŠá á ááááŠá ááľááłáľ;
- áááŁá áŞáŤáá áá° áľááŞááłá˝á áŤáľá°ááá;
- á áĽáą á°á¨áłáłá ááĽá áááááľ áŤáá áľá á áááá ááá¨áľ;
- á°áá˘áá áááááŤáá˝ á áá áá á ááááŠá áááá;
- á¨á°áá ááá ááá á áá áá á ááĽáŽá˝á áá° ááŤá á áááá áłáłá¤á áŤáľá°áááá˘
áĽáá´áľ áĽáá°áá á áááááĄ-
- á¨á°áŤáá á áááá á¨áá¨á ááą ááľáĽ á áľááááá ááźáľ ááá áá;
- ááá á¨ááá áľ áá°áľ á áá¨á ááą ááľáĽ áááááŁá (áááἠááľáłááťáὠᣠááá áśá˝ ᣠá¨ááľá¨á áŁáá˛áŤáá˝)á˘
áľáá°áŤááľ á¨á°ááŤáŠ á¨áśááľáá á áááśá˝áľ? áááááŤáááá áĽáá´áľ áĽáá°ááá, áŞá¤á áá áą áĽá áááá áŤáá áŠáľ?
á¨ááá áľáááľ ááľáá (ááááľ) áá° áááľáá á áá°ááŤáľ á¨ááľ ááá ááá á áŁá ááá áá-
- áááá á¨á áááá áááá˝á áŤáááá á áá, ááľáá áĽáá°ááŤáá.
- grub bootloader áŤáá˘
- á¨áááááá ááá áá áá áá áĽááá áŤááá˘
áááŁá áŞáŤáá áá° OS áŤáá áĽáá´áľ ááľá°ááá áĽáá°ááťá (ESXi áĽáá° ááłá á áá áá)á˘
- á¨áááŁá áŞáŤáá á¨áľááŞááłá˝á áá° áááááŤááá áŤáá á ááśáá˛á ááá˝ ááá (kickstart) á áá áá áĽáá°áŤáááá˘
- á áá áŤááľá áááá˝ á á˛áľá áá áĽáá°áááá.
- 500MB áá á áŤáá ááááá ááá áŠá˘
- áĽáá° ááľááłáľ ááááľ áĽáá°áááá.
- áá° FAT32 á áá¸áľá˘
- ᨠESXi ááŤá áááá˝á áá° áĽáŠ áĽáááłáá.
- syslinux á ááŤá áá.
- syslinux.cfg áá° /syslinux/ áá áą
default esxi
prompt 1
timeout 50
label esxi
kernel mboot.c32
append -c boot.cfg
- áĄot.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 ááá ááľáĽ á ááá á°áá áĽá á ááľáĄ áŤááá á¨á áŤáá á áááá áá፠ááĽá á áááá°ááá˘
á ááᣠá¨á°ááᨠá ááᣠá¨áášáá áá˝á (á¨áŞááá-ááłáŞáŤáá˝ áĽá á áá á¨á°áŤá) áá áá áá¤áľ ááľá¨áľ áá˝ááá˘
ESXI_SN=$(vmtoolsd --cmd "info-get guestinfo.esxihost.id")
áááľá ᣠVM áĽáŤáąá ááá¨áľ áá˝áá (á¨á áŤáá á áľá°áááá á°á¨áłáłá ááĽá áŤááá) ᣠáááŤá á áááá áłáłá¤á áĽáŤá áŤá áᥠáĽá áááá áŤááŁá¸áá áááŞáŤáá˝ ááá ááᢠáá áá áá° áľááŞááľ á¨á°á ááᨠááᣠáá á ááľáśáľ áŞá¤á á˛ááá á áŤáľ á°á áááá á áá áľ (áá á ááľ ááᥠRunOnce)á˘
á áá áĽáá´áľ áĽáá°áá áĽááááá-
- á PXE á áŠá á ááááŠá ááľááłáľ;
- áááŁá áŞáŤáá áá° áľááŞááłá˝á áŤáľá°ááá;
- á áĽáą á°á¨áłáłá ááĽá áááááľ áŤáá áľá á áááá ááá¨áľ;
- á°áá˘áá áááááŤáá˝ á áá áá á ááááŠá áááá;
- á¨á°áá ááá ááá á áá áá á ááĽáŽá˝á áá° ááŤá á áááá áłáłá¤á áŤáľá°ááá;
- ᨠesxi hypervisor á áá°ááŤáľ áĽá áááŁá áá˝áá˝á (ááá á áŤáľ-á°á) ááááá á¨áᎠá¨á°ááŤáŠ á¨áśááľáá á áááśá˝á ááááá˘
áĽáá´áľ áĽáá°áá á áááááĄ-
- á¨á°áŤáá á áááá á¨áá¨á ááą ááľáĽ á áľááááá ááźáľ ááá áá;
- ááá á¨ááá áľ áá°áľ á áá¨á ááą ááľáĽ áááááŁá (áááἠááľáłááťáὠᣠááá áśá˝ ᣠá¨ááľá¨á áŁáá˛áŤáá˝)á˘
ááá ááĽáĽ:
á¨áá áááľá ááŠááą á á°ááááááąáŁ á áááááąáŁ á á˝ááłá áĽá á á°ááááááą áá áá áĽáŹ á ááááá˘
áĽáŁááá á¨ááŤáľáĄáľá á á áľá°áŤá¨áśáš ááľáĽ áááá˘
ááá: hab.com