áááºá¹ááá¬áá«á áá»áœááºá¯ááºááẠDenis ááŒá áºááŒá®áž áá»áœááºá¯ááºá áá¯ááºáá±á¬ááºááŸá¯áááºáááºáá»á¬ážáá²á០áá áºáá¯ááŸá¬ X5 ááœáẠá¡ááŒá±áá¶á¡áá±á¬ááºá¡á¡á¯á¶ááá¯ááºáᬠááŒá±ááŸááºážáá»ááºáá»á¬áž ááœá¶á·ááŒáá¯ážááá¯ážáááºáá±ážááŒá áºáááºá ááá±á·ááœáẠá¡áá»á¬ážáá°ááŸá¬áááŸáááá¯ááºáá±á¬ áááááá¬áá»á¬ážááᯠá¡ááŒá±áá¶á á¡ááá¯á¡áá»á±á¬áẠáá¬áá¬ááŒááºáááºááŸá¯á áá áºááᯠáááºáááºáá²á·ááá¯á· á¡áá¯á¶ážáá»ááá¯ááºáá¯á¶ááᯠáá»áŸáá±ááá¯áá«áááºá áá»áœááºáá±á¬á·áºá¡ááŒááºá¡áá áá«á á áááºáááºá á¬ážá áá¬á ááá¯ážááŸááºážááŒá®áž ááá¯ááºáá»á±á¬áá®ááœá±ááŸááá²á· ááŒá±ááŸááºážáá»ááºáá áºáá¯áá«á
ááŒááºáááºááŸá¯ááŒáá·áº áá»áœááºá¯ááºááá¯á· ááá¯ááá¯áááºááŸá¬- áá¬áá¬á¡áá
áºááᯠáá±á¬ááºá
áºááŸááœááºá OS ááŒáá·áº á¡ááŒáá·áºá¡á á
á®á
ááºáááºááŸááºáá¬ážáá±á¬ áá¬áá¬áá
áºáá¯á¡ááŒá
áºááá¯á· ááŒá±á¬ááºážáá²áá«á Linux ááá¯á·ááá¯áẠESXi hypervisor ááŒáá·áº (Windows áá¬áá¬áá»á¬áž ááŒáá·áºáá»ááºááŒááºážá¡á¬áž á€áá±á¬ááºážáá«ážááœáẠááœá±ážááœá±ážáááºááá¯ááºáá«)á
á¡áá¯á¶ážá¡ááŸá¯ááºážáá»á¬áž:
- áá¬áá¬áá»á¬áž â ááŒááºáááºáááºááŸááºááẠááá¯á¡ááºáá±á¬ áá¬áá¬áá»á¬ážá
- áááºáááºááŒááºážáá¬áá¬ááẠááœááºáááºáá±á«áºááœáẠááŒááºáááºááŸá¯áá¯ááºáááºážá ááºáá áºáá¯áá¯á¶ážááᯠáá¶á·ááá¯ážáá±ážááá·áº áááºááá¬áá¬ááŒá áºáááºá
á¡áááºááŒá±á¬áá·áº á¡ááá¯á¡áá»á±á¬ááºá áá Ạááá¯á¡ááºááááºážá
á¡áá¯ááºáá áºáá¯ááŸááááºááá¯áá«á áá¯á·á á¡ááœááºá¡ááááºááŸá¬ - áá áºáá±á·áá»áŸáẠ30 áá¬áá¬áá»á¬ážááᯠá¡á ááŸáá±á á¡ááŒá®ážá¡áá»ááºááŒááºáááºáááºá ááá°áá®áá±á¬ áá¯ááºáá¯ááºáá°ááŸáá·áº áá±á¬áºáááºáá»á¬ážá ááá°áá®áá±á¬ áááºáááºááŸá¯á áá áºáá»á¬ážá áá¬áá¬áá»á¬ážááᯠáááºážááá¯á·ááœáẠááá·áºááœááºážááá¯ááºááŒá®ážá hypervisor ááŸáááá¯ááºááẠááá¯á·ááá¯áẠáááŸáááá¯ááºáá«á
á áá áºááá·áºááœááºážááŒááºáž áá¯ááºáááºážá ááºááœáẠáááºááá·áºáá¯ááºáá±á¬ááºáá»ááºáá»á¬áž áá«áááºáá«ááááºáž (á¡ááá¯á¡áá»á±á¬ááºá áá áºáááŸááá«)á
- áá®ážáá¯ááºá áá±á¬ááºá áºá áá±á¬áºáá®áᬠáá¬áá¬ááá¯á· áá»áááºáááºáá«á
- BIOSá RAIDá IPMI ááᯠá á®á ááºáááºááŸááºáá«á
- á¡á áááºá¡ááá¯ááºáž firmware ááᯠupdate áá¯ááºáá«á
- ááá¯ááºá áá áºáá¯á¶áá áºáá¯á¶ááᯠá¡áá¯á¶ážááŒá¯áá« (ááá¯á·ááá¯áẠhypervisor áá áºáá¯ááᯠááá·áºááœááºážááŒá®áž virtual machines áá»á¬ážááᯠáá°ážáá°áá«);
ááŸááºáá»ááºá ááááºážá¡á¬ážááŒáá·áºá á¡á±á¬áºááá¯áá¯á¶á·ááŒááºááŸá¯ááá¯ááºááŒáá·áº ááá·áºááœááºážááŒááºážááŒáá·áº OS ááŒáá·áºáá»ááºááŸá¯ááᯠáá¯ááºáá±á¬ááºááá¯ááºáááºá áá«áá±ááá·áº áá®áá±á¬ááºážáá«ážááŸá¬ ááœá±ážááœá±ážááŸá¬ ááá¯ááºáá«áá°ážá áá®áá¯ááºáá±á¬ááºáá»ááºááᯠáá±á«ááºážááá·áºáá¬á ááááºáá²áá°ážááá¯áá¬ááᯠá¡á±á¬ááºááŸá¬ááœá±á·áááŸá¬áá«á
- OS ááá·áºáááºáá»ááºáá»á¬áž (á¡áááºááŸááºá¡áááºá IP á áááºááŒáá·áº) ááᯠá á®á ááºáááºááŸááºáá«á
á€áááºážáááºážááŒáá·áºá áá¬áá¬áá áºáá¯á á®ááœáẠáá°áá®áá±á¬áááºáááºáá»á¬ážááᯠáááºááá¯ááºáá¯ááºáá±á¬ááºáááºá ááá¯áá²á·ááá¯á· áá¯ááºáá±á¬ááºááŸá¯á á áœááºážáá±á¬ááºáááºááŸá¬ á¡ááœááºáááá·áºáá«ážáááºá
á¡ááá¯á¡áá»á±á¬ááºá áá áºáá¡ááŸá áºáá¬áááŸá¬ áá¬áá¬ááŒááºáááºááŸá¯áá¯ááºáááºážá ááºá០áá°áá¬ážáá»á¬ážááá«áááºááŸá¯ááᯠáááºááŸá¬ážáá áºáááºááŒá áºáááºá áááºááá¯ááºááá»áŸá
á¡ááá¯á¡áá»á±á¬ááºá áá áºááẠáá¯ááºáááºážáá±á¬ááºááœááºááŸá¯áá»á¬ážááŒá¬ážááœáẠá ááºáááºáá»áááºááᯠáá»áŸá±á¬á·áá»áá±ážááŒá®áž áá¬áá¬áá»á¬ážá áœá¬ááᯠáá áºááŒáá¯ááºáááºáááºáž áá±á¬ááºáá¶á·áá±ážááá¯ááºá á±áááºá áá°á·á¡ááŒá±á¬ááºážá¡áá»ááºáá»á¬ážááŒá±á¬áá·áº á¡ááŸá¬ážá¡ááœááºážááŒá áºááá¯ááºááŒá±áááºáž á¡ááœááºáááºážáá«ážáá«áááºá
áá¬áá¬áá»á¬ážááᯠáááºááá¯á· á¡ááá¯á¡áá»á±á¬áẠá á®á ááºáááºááŸááºáá±ážááááºážá
á¡ááá·áºá¡á¬ážáá¯á¶ážááᯠá¡áá±ážá áááºááœá²ááŒááºážá áááºááŒá¬ááŒáá·áºáá¡á±á¬ááºá
ááá·áºááœáẠPXE áááºáááºááŸá¯áá¬áá¬á¡ááŒá Ạáááºá¡áá¯á¶ážááŒá¯ááá·áº Linux áá¬áá¬áá áºáá¯ááŸááááºá áááºáá±á¬ááºááŸá¯áá»á¬ážááᯠáááºážááœáẠááá·áºááœááºážááŒá®áž ááŒááºáááºáááºááŸááºáá¬ážáááº- DHCPá TFTPá
ááá¯á·ááŒá±á¬áá·áºá áá»áœááºá¯ááºááá¯á·ááẠPXE ááŸáá áºááá·áº áá¬áᬠ(ááŒááºáááºáááºááŸááºááẠááá¯á¡ááºáááº) ááᯠá áááºáá«á áááºááá¯á¡áá¯ááºáá¯ááºáááºááá¯áᬠááááááŒáá¡á±á¬ááºá
- ááœááºáááºá áááºááŒááºážááᯠáá¬áá¬áá±á«áºááœáẠááœá±ážáá»ááºáá¬ážáááºá
- áá¬áá¬ááẠááœááºáááºáááºá PXE-ROM ááᯠáááºááŒá®áž ááœááºáááºááááºá á¬áá áºáá¯áááŸáááẠDHCP ááŸáá áºááá·áº áááºáááºáá¬áá¬ááᯠáááºááœááºáááºá
- DHCP áááºáááºááŒááºážáá¬áá¬ááẠááááºá á¬áá áºáá¯á¡ááŒáẠPXE ááŸáá áºááá·áº áá±á¬ááºáááºáá±á«ááºážáá¯ááºáá¯ááºááẠááœáŸááºááŒá¬ážáá»ááºáá»á¬ážááᯠáá¯ááºáá±ážáá«áááºá
- áá¬áá¬ááẠPXE ááŸáá áºááá·áº áááºáááºááŸá¯áá¬áá¬á០ááœááºááẠbootloader ááᯠPXE ááŒáá·áº load áá¯ááºáááºá PXE configuration file á¡á áá±á¬ááºááẠloading ááẠááŒá áºáá±á«áºáá«áááºá
- boot ááẠáááºáá¶áááŸááá¬ážáá±á¬ áá±á¬ááºáá»á¬áž (kernelá initramfsá mount pointá squashfs áá¯á¶ á áááºááŒáá·áº) áá±á«áºááœáẠá¡ááŒá±áá¶á ááŒá áºáá±á«áºáá«áááºá
ááŸááºáá»ááºá áá±á¬ááºážáá«ážááœáẠBIOS áá¯ááºááŸáá áºááá·áº PXE ááŸáá áºááá·áº boot áááºááŒááºážááᯠáá±á¬áºááŒáááºá áááºááŸáááœáẠáá¯ááºáá¯ááºáá°áá»á¬ážááẠUEFI bootmode ááᯠáááºááŒáœá áœá¬ á¡áá±á¬ááºá¡áááºáá±á¬áºáá»ááºááŸááááºá PXE á¡ááœááºá ááœá¬ááŒá¬ážáá»ááºááŸá¬ DHCP áá¬áá¬á ááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááŸáá·áº á¡ááᯠbootloader áá áºáá¯á ááŸááá±ááŒááºážááœáẠááŒá áºáááá·áºáááºá
PXE server configuration (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=ââŠâ
á€á¡ááá·áºááŸá kernel ááŸáá·áº initramf áá»á¬ážááẠserver áá¡áááááŒááºáááºááŸá¯ááŸáá·áº configuration ááŒá¯áá¯ááºááá·áºá¡áá°á¡áá®ááŒáá·áº intermediate Linux áá¯á¶áá áºáá¯ááŒá áºáááºá
áááºááŒááºááá·áºá¡ááá¯ááºážá bootloader ááẠkernel ááá¯á· parameters áá»á¬ážá áœá¬ááá¯ááŒááºáááºážáááºá á€áááºááŸááºáá»ááºá¡áá»áá¯á·ááᯠkernel ááá¯ááºááá¯ááºáá¡áá¯á¶ážááŒá¯áááºá áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·áááá¯ááºááá¯ááºáááºááœááºáá»ááºá¡ááœáẠá¡áá»áá¯á·ááᯠá¡áá¯á¶ážááŒá¯ááá¯ááºáááºá áááºážááᯠáá±á¬ááºááá¯ááºážááœáẠááœá±ážááœá±ážááœá¬ážáááºááŒá áºááŒá®ážá ááá¯á·áá±á¬áº ááá¯á¡áá»áááºááœáẠááŒááºáááºážááœá¬ážáá±á¬ ááá·áºáááºáá±á¬ááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠ/proc/cmdline ááŸáá áºááá·áº á¡áááºá¡ááẠLinux áá¯á¶ááœáẠáááá¯ááºáááºááŒá áºááŒá±á¬ááºáž áááºááŸááºááááá¯ááºáá«áááºá
áááºážááá¯á·á kernel ááŸáá·áº initramf áá»á¬ážááᯠáááºááŸá¬áááá¯ááºááá²á
á¡ááŒá±áá¶á¡áá±ááŒáá·áº áááºááẠáááºááá·áº Linux ááŒáá·áºááŒá°ážááŸá¯ááá¯áááᯠááœá±ážáá»ááºááá¯ááºáááºá ááœá±ážáá»ááºáá¬ááœáẠáá»áœááºá¯ááºááá¯á· ááááá¬ážáááá·áºá¡áá¬-
- boot image ááẠuniversal ááŒá áºááá«áááºá
- ááŒá áºááá¯ááºáááºááŸá¬á áááºááẠinitramfs áá»á¬ážááᯠá áááºááŒáá¯ááºááŒááºáááºááẠááá¯á¡ááºáááºááŒá áºáááºá
X5 á¡ááœáẠáá»áœááºá¯ááºááá¯á·áááŒá±ááŸááºážáá»ááºááœáẠáááºážááᯠáááºááá¯á·áá¯ááºáá±á¬ááºááááºážá CentOS 7 ááᯠá¡ááŒá±áá¶á¡ááŒá Ạááœá±ážáá»ááºáá¬ážáá«áááºá á¡á±á¬ááºáá«ááŸáá·áºááœááºááᯠá ááºážááŒáá·áºááŒáá«á áá¯á·- á¡áá¬ááẠáá¯ááºáá¯á¶áááºáá±á¬ááºáá¯á¶ááᯠááŒááºáááºáá«á áááºážááᯠáá±á¬áºááœááºážááá¯ááºáá áºáá¯á¡ááŒá Ạáá¯ááºááá¯ážááŒá®áž áá»áœááºá¯ááºááá¯á·á ááá¯ááºá áá ẠááŸááºáááºážáá¬ážááŸáááá·áº á¡áá²ááŸá¬ initramfs áá áºáá¯ááᯠáááºáá®ážáá«á áá¯á¶á¡á¬áž áááºááá·áºá¡áá«á archive ááᯠáááºáá®ážáá¬ážáá±á¬ tmpfs á¡ááá¯ááºážááá¯á· ááá¯ážáá»á²á·ááœá¬ážáá«áááºá á€áááºážááŒáá·áº áá»áœááºá¯ááºááá¯á·ááẠvmkernel ááŸáá·áº initramfs ááá¯ááºááŸá áºáá¯áá¬áá«ááŸááá±á¬ ááá¯á¡ááºáá±á¬ á¡áá¯á¶ážá¡áá±á¬ááºáá»á¬áž á¡á¬ážáá¯á¶ážáá«áááºááá·áº á¡áááºážáá¯á¶ážá ááŒáá·áºá á¯á¶áá±á¬ ááá¯ááºááá¯áẠlinux áá¯ááºáá¯á¶áá áºáá¯á¶ááᯠáááŸááá«áááºá
#ÑПзЎаеЌ ЎОÑекÑПÑОО:
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
ááá¯á·ááŒá±á¬áá·áº áááºááá·áºáá±á¬ kernel ááŸáá·áº initramf áá»á¬ážááᯠáá»áœááºá¯ááºááá¯á· áááºááŸááºááá¯ááºáá«áááºá ááááºá¡áá±ááŒáá·áºá á€á¡ááá·áºááœááºá PXE ááŸáá áºááá·áº á¡áááºá¡ááẠlinux áá¯ááºáá¯á¶á¡á¬áž áááºááŒááºážááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠOS ááœááºááá¯ážááºááᯠáááºáá¶áááŸááááºááŒá áºáááºá
áá±á¬ááºážááœááºáá±á¬áºáááºáž ááá¯á¡áá« áá»áœááºá¯ááºááá¯á·á ááááºážáá»á¯ááºááŸá¯ááᯠáá»áœááºá¯ááºááá¯á·á âá¡ááá¯á¡áá»á±á¬ááºá áá áºâ ááá¯á· ááœáŸá²ááŒá±á¬ááºážááẠááá¯á¡ááºáá±ááŒá®ááŒá áºáááºá
á€áá²á·ááá¯á·áá¯ááºáá±á¬ááºááá¯ááºáááºá
áá¯á¶ááᯠáááºááŒá®ážáá±á¬áẠááááºážáá»á¯ááºááŸá¯ááᯠmount.sh script ááá¯á· ááœáŸá²ááŒá±á¬ááºážááẠáá»áœááºá¯ááºááá¯á· á
á®á
ááºáá¬ážáááºáᯠáá°áááŒáá«á
áá¯á·á
autorun ááœáẠmount.sh script ááá¯ááá·áºááŒáá«á
áá¯á·á áá®ááá¯áá¯ááºááá¯á·ááẠinitramfs ááá¯ááœááºážáá¶áááºááá¯á¡ááºáá«áááá·áºáááº:
- initramfs ááá¯áá¯ááºáá« (á¡áááºáá« initramfs option ááá¯á¡áá¯á¶ážááŒá¯áá«áá áááºážááá¯áááá¯á¡ááºáá«)
- /proc/cmdline ááŸáááá·áºááŒááºáááºážááœá¬ážáá±á¬ parameters áá»á¬ážááá¯ááœá²ááŒááºážá áááºááŒá¬ááŒá®ážáá±á¬ááºáááºááááºážáá»á¯ááºááŸá¯ááá¯ááœáŸá²ááŒá±á¬ááºážáá±ážááá·áº startup ááœááºáá¯ááºááá·áºááœááºážáá«á
- initramfs áá¯ááºááá¯ážáá«á
ááŸááºáá»ááºá X5 áááááá¬áááºáá¬ááá¬ááá
á¹á
ááœááºá loading control ááᯠscript ááá¯á· ááœáŸá²ááŒá±á¬ááºážáááºá /opt/x5/toolkit/bin/hook.sh Ñ Ð¿ÐŸÐŒÐŸÑÑÑ override.conf в getty tty1 (ExecStart=âŠ)
ááá¯á·ááŒá±á¬áá·áºá mount.sh script ááẠautorun ááœááºá áááºááá·áº image ááá¯áááºáá¬ážáááºá ááá¯á·áá±á¬ááºá mount.sh script ááẠáá¯ááºáá±á¬ááºáá±á ááºá¡ááœááºáž ááŒááºáááºážááœá¬ážáá±á¬ ááá·áºáááºáá±á¬ááºáá»á¬ážááᯠááá¯ááºážááŒá¬ážá áááºááŒá¬ááŒá®áž ááá¯á¡ááºáá±á¬ áááá¯ááááº/script ááᯠá áááºáááºá
áá¶ááááºáááááá¬á¡á
á¯á¶-á¡á±á¬áºááá¯
kernel...
áá±á¬ááºáááºááœá²...nfs_toolkit_script=scripts/mount.sh script_cmd=master-install.sh
áá¶ááááºáááááá¬á¡á
á¯á¶-á¡ááœá¶
kernel...
áá±á¬ááºáááºááœá²...nfs_toolkit_script=scripts/mount.sh script_cmd=/bin/bash
á€áá±áá¬ááœáẠáááºáááºááœáẠPXE áá®áá°ážááŒá
áºááŒá®ážá áá¬áááºááœáẠááááºážáá»á¯ááºááŸá¯ááœáŸá²ááŒá±á¬ááºážááŸá¯áá¯á¶á
á¶ááŒá
áºáááºá
áá»á¯ááºááá¯ááºááŸá¯ ááœáŸá²ááŒá±á¬ááºážááŸá¯ááᯠáá»áœááºá¯ááºááá¯á· ááœá±ážááá²á·áááºá PXE áá®áá°ážáááœá±ážáá»ááºááŸá¯á¡áá±á«áº áá°áááºá á¡ááá¯á¡áá»á±á¬ááºááœá²á·á ááºážááŸá¯ script ááá¯á·ááá¯áẠá¡ááŸá¬ážááŸá¬ááŒááºááŒááºáž ááœááºááá¯ážááºááᯠá áááºááá¯ááºáá«áááºá
á¡ááá¯á¡áá»á±á¬ááºááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááœááºá ááá¯á¡ááºáá±á¬áááºážááœáŸááºáá»ááºáá»á¬ážááᯠááá·áºááœááºážáá¬ážáá±á¬áá¬áá¬á០áááºáááºáá¬ážáááºá
- áá¬ááºááœáŸááºážáá»á¬áž
- áá¬áá¬á¡áá»áá¯ážáá»áá¯ážá¡ááœáẠááááºážáááºážáá¬ážáá±á¬ BIOS/UEFI ááá°áá¬áá»á¬ážá
- Firmware;
- áá¬áá¬á¡áá¯á¶ážá¡áá±á¬ááºáá»á¬áž;
- áá áºáá¯á¶ážáá»á¬áž
ááá¯á·áá±á¬ááºá mount.sh script ááẠscript directory á០master-install.sh script ááá¯ááááºážáá»á¯ááºáááºá
áá¬ááºááœáŸááºážáá Ạ(áááºážááá¯á·ááᯠá áááºáá¯ááºáá¯ááºááá·áº á¡á á®á¡á á¥áº) ááẠá€áá²á·ááá¯á· ááŒá áºáááº-
- master-install áá¯ááºáá«á
- áá»áŸáá±áá¯ááºáá±á¬ááºáá»ááºáá»á¬áž (áá»áŸáá±áá¬ážáá±á¬áá¯ááºáá±á¬ááºáá»ááºáá»á¬áž)
- ááááºážá¡áá»ááºá¡ááẠ(ááááºážá¡áá»ááºá¡áááºááœááºááŸáááŸá¯)
- áá±á¬áºáááºáá»á¬áž (áá¬áá¬áá±á¬áºáááºáá±á«áºá¡ááŒá±áá¶á áááºáááºááŸá¯áá±á¬ááºáá»á¬ážááᯠáááºááŸááºááŒááºáž)
- ááŒááºáááº_utils (ááá¯á¡ááºáá±á¬ á¡áá¯á¶ážá¡áá±á¬ááºáá á¹á ááºážáá»á¬áž áááºáááºááŒááºáž)
- fwupdate (firmware update)
- Diag (áá°ááááºážáá±á¬áá«ááŸá¬ááœá±áá±áž)
- biosconf (BIOS/UEFI áááºáááºáá»á¬áž)
- clockfix (áá¬ážáá¬ážáá¯ááºáá±á«áºááœááºá¡áá»áááºáááºááŸááºááŒááºáž)
- srmconf (á¡áá±ážááááºáž á¡ááºáá¬áá±á·á áºááœá²á·á ááºážáá¯á¶)
- raidconf (áá¯áá¹áááááºáá±á¬ volumes áá»á¬ážááᯠááŒááºáááºááŒááºáž)
áá²ááŸáá áºáá¯
- ááŒáá¯áááºááá·áºááœááºážááŒááºáž (ESXi áá²á·ááá¯á·áá±á¬ OS ááá¯á·ááá¯áẠhypervisor ááá·áºááœááºážááá·áºáááááá¬ááá¯á· ááááºážáá»á¯ááºááŸá¯ááœáŸá²ááŒá±á¬ááºážááŒááºáž)
- áá±á«ááºážá ááºááá·áºááœááºážááŒááºáž (áá¯á¶ááá¹áá¬ááºááᯠáá¯ááºááá¯ážááŒááºážá០áá»ááºáá»ááºážá áááºááŒááºáž)
ááᯠáá»áœááºá¯ááºááá¯á·áááá«áááº-
- PXE ááŸáááá·áºáá¬áá¬ááá¯ááœáá·áºáááºáž
- áááºáááá¯ááºááá¯áẠscript ááá¯á·ááááºážáá»á¯ááºááŸá¯ááœáŸá²ááŒá±á¬ááºážáááºážá
áááºááŒáá¡á±á¬ááºá á¡á±á¬ááºáá«áá±ážááœááºážáá»á¬ážááẠáááºá
ááºááŸá¯ááŒá
áºáá¬áááº-
- áá»áœááºá¯ááºááá¯á·ááŒááºáááºáá±áá±á¬áá¬áá¬ááᯠáááºááá¯á·ááœá²ááŒá¬ážáááºááŸááºááááºáááºážá
- áááºááá·áº utilities áá»á¬ážááŸáá·áº server ááá¯áááºááá¯á· configure áá¯ááºááá²á
- áá®ážááŒá¬ážáá¬áá¬áá áºáá¯á¡ááœáẠáááºáááºáá»á¬ážááᯠáááºááá¯á·ááá°ááááºáááºážá
áá»áœááºá¯ááºááá¯á·ááŒááºáááºáá±áá±á¬áá¬áá¬ááᯠáááºááá¯á·ááœá²ááŒá¬ážáááºááŸááºááááºáááºážá
ááá¯ážááŸááºážáá«ááẠ- DMI
dmidecode âs system-product-name
dmidecode âs system-manufacturer
dmidecode âs system-serial-number
áááºááá¯á¡ááºááá»áŸááẠá€áá±áá¬ááœááºááŒá áºáááº- áá±á¬ááºážáá»áá°á áá±á¬áºáááºá á¡ááŸááºá ááºáá¶áá«ááºá á€á¡áá»ááºá¡áááºááẠáá¬áá¬áá»á¬ážá¡á¬ážáá¯á¶ážááœáẠááŸááá±ááŒá±á¬ááºáž ááá±áá»á¬áá«áá áááºážááá¯á·ááᯠáááºážááá¯á·á MAC ááááºá á¬ááŒáá·áº ááœá²ááŒá¬ážáááºááŸááºááá¯ááºáá«áááºá ááá¯á·ááá¯áẠáá áºáá»áááºáááºážááœáẠáááºážáááºážááŸá áºáá¯á áá¯á¶ážááŒáá·áºá áá¬áá¬áá±á¬ááºážáá»áá°áá»á¬ážááẠááœá²ááŒá¬ážááŒá®áž á¡áá»áá¯á·áá±á¬áá±á¬áºáááºáá»á¬ážááœáẠáá¶áá«ááºá ááºááŸáá·áºáááºáááºááá·áº á¡áá»ááºá¡áááºáá»á¬áž ááá¯ážááŸááºážá áœá¬áááŸááá«á
áááºáá¶áááŸááá±á¬á¡áá»ááºá¡áááºáá»á¬ážá¡áá±á«áºá¡ááŒá±áá¶á ááœááºáááºááá¯ááºááœá²áá»á¬ážááᯠáááºáááºááŒááºážáá¬áá¬á០áááºáááºáá¬ážááŒá®áž ááá¯á¡ááºááá·áºá¡áá¬á¡á¬ážáá¯á¶áž (utilitiesá firmware á áááºááá¯á·) ááᯠáááºáá¬ážáááºá
áááºááá·áº utilities áá»á¬ážááŸáá·áº server ááá¯áááºááá¯á· configure áá¯ááºááá²á
á¡áá»áá¯á·áá±á¬áá¯ááºáá¯ááºáá°áá»á¬ážá¡ááœáẠLinux á¡ááœáẠá¡áá¯á¶ážáááºááŸá¯áá»á¬ážááᯠáá»áœááºá¯ááºáá±ážáá«áááºá á¡áá¯á¶ážáááºááŸá¯á¡á¬ážáá¯á¶ážááᯠáá±á¬ááºážáá»áá°áá»á¬ážáááá¬ážáááºáááºááá¯ááºáá»á¬ážááœáẠáááŸáááá¯ááºáá«áááºá
Firmware áá²á·ááᯠá¡á¬ážáá¯á¶ážááŸááºážááœá¬ážááŒá®áááºáá«áááºá áááºážááá¯á·ááẠáá¯ááºááá¯ážáá¬ážáá±á¬ executable ááá¯ááºáá»á¬ážáá¯á¶á
á¶ááŒáá·áº áá¬áá±á·ááŸááááºá executable file ááẠfirmware á¡ááºááááºáá¯ááºáááºážá
ááºááᯠááááºážáá»á¯ááºááŒá®áž ááŒááºáá±ážááá·áºáá¯ááºááᯠááááºážááá¯á·áááºá
BIOS ááŸáá·áº IPMI ááᯠáá¯á¶ááŸááºá¡á¬ážááŒáá·áº áá¯á¶á á¶ááœááºáá»á¬ážááŒáá·áº ááŒááºáááºáááºááŸááºáá¬ážáááºá ááá¯á¡ááºáá«áá ááá°áá¬áá¯á¶á á¶ááᯠáá±á«ááºážáá¯ááºááá¯ááºáá® áááºážááŒááºááá¯ááºáááºá
á¡áá»áá¯á·áá±á¬áá±á¬ááºážáá»áá°áá»á¬ážáá¶á០RAID utilities áá»á¬ážááá¯áááºáž áá¯á¶á á¶áááááºááᯠá¡áá¯á¶ážááŒá¯á ááŒááºáááºáááºááŸááºááá¯ááºáááºá ááá¯ááá¯á·ááá¯ááºáá«áá áááºááẠconfiguration script ááá¯áá±ážááááá·áºáááºá
RAID áááºááŸááºááŒááºážá¡ááœáẠáá¯ááºáá¯á¶ážáá¯ááºáááºáž á¡áá»á¬ážá á¯ááŸá¬ á¡á±á¬ááºáá«á¡ááá¯ááºážááŒá áºáááºá
- áá»áœááºá¯ááºááá¯á·ááẠáááºááŸáááœá²á·á ááºážáá¯á¶ááᯠáá±á¬ááºážááá¯áá«áááºá
- áá¯áá¹áááááºáá±á¬ á¡áááºážá¡áá»ááºážáá»á¬áž ááŸááá±áá«á áááºážááá¯á·ááᯠáá»ááºáá áºáá«áááºá
- Physical Disk ááœá± áááºáá±á¬ááºááŸáááá² ááá¯áá¬ááᯠáá±á·áá¬ááŒáá·áºáá¡á±á¬ááºá
- áá¯áá¹áááááºáá±á¬ áááºážáá»ááºážá¡áá áºáá áºáᯠáááºáá®ážáá«á á¡ááŸá¬ážá¡ááœááºážááŸááá«á áá¯ááºáááºážá ááºááᯠáá»áœááºá¯ááºááá¯á· ááŸá±á¬áá·áºááŸááºáá«áááºá
áá®ážááŒá¬ážáá¬áá¬áá áºáá¯á¡ááœáẠáááºáááºáá»á¬ážááᯠáááºááá¯á·ááá°ááááºáááºážá
áá¬áá¬á¡á¬ážáá¯á¶ážá áááºáááºáá»á¬ážááᯠáááºáááºáá¬áá¬ááœáẠááááºážáááºážáá¬ážáááºáᯠáá°áááŒáá«á áá¯á·á á€ááá á¹á ááœááºá áá»áœááºá¯ááºááá¯á·ááá±ážááœááºážááá¯ááŒá±ááá¯áááºá áááºáááºáá»á¬ážááᯠáááºáááºáá¬áá¬ááá¯á· áááºááá¯á·ááœáŸá²ááŒá±á¬ááºážááááºááᯠáŠážá áœá¬áá¯á¶ážááŒááºááá«áááºá
á¡á ááá¯ááºážááŸá¬áá±á¬á· á á¬áá¬ážááá¯ááºááœá±áá²á· ááŒááºáááºážááá¯ááºáá«áááºá (á¡áá¬áááºááœááºá áááºáááºáá»á¬ážááœáŸá²ááŒá±á¬ááºážááŒááºážá¡ááœáẠáá±á¬ááºáá¶áááºážáááºážá¡ááŒá Ạá á¬áá¬ážááá¯ááºááᯠáááºá¡áá¯á¶ážááŒá¯ááá¯ááá¯ááºáá«áááºá)
áááºáááºááŸá¯áá¬áá¬ááœáẠá á¬áá¬ážááá¯ááºáá áºáá¯ááᯠááẠâáá»áŸáá±â ááá¯ááºáááºá ááŒá®ážáá»áŸáẠáááºážá mount ááᯠmount.sh script ááœááºááá·áºáá«á
á¥ááá¬á¡á¬ážááŒáá·áº áá»ááºážáá»á¬ážááẠá€áá²á·ááá¯á· áá±á«áºáá¬áááá·áºáááº-
<serial number> <hostname> <subnet>
á€ááá¯ááºážáá»á¬ážááᯠáááºážáá¡áá¯ááºá ááºá០á¡ááºáá»ááºáá®áá¬á ááá¯ááºááá¯á· ááœáŸá²ááŒá±á¬ááºážáá±ážáááºááŒá áºáááºá ááá¯á·áá±á¬ááºá áá¬áá¬áá áºáá¯áááºáá±á¬ááºáá±á¬á¡áá«á áá®ážááŒá¬ážáá¬áá¬áá áºáá¯á¡ááœáẠááá·áºáááºáá»ááºáá»á¬ážááᯠááá¯ááºááŸáááºáááºááŒá áºáááºá
ááá¯á·áá±á¬áº áá±ááŸááºááœááºá áá¬áá¬áááºáááºááŸá¯áá»á¬ážá áááºáááºáá»á¬ážá ááŒááºáááºáá»á¬ážááŸáá·áº ááŸááºáááºážáá»á¬ážááᯠááááºážáááºážááẠáá±áá¬áá±á·á áºááᯠá¡áá¯á¶ážááŒá¯ááŒááºážááẠááá¯áá±á¬ááºážáá«áááºá
áá¯ááºáá«áááºá áá±áá¬áá±á·á áºáá áºáá¯áááºážáá²á· ááá¯á¶áá±á¬ááºáá«áá°ážá áá±áá¬áá±á·á áºááᯠááŒá±á¬ááºážááœáŸá±á·ááá·áº áááºáááºááœá±ááᯠá¡áá°á¡áá®áá²á· client á¡ááá¯ááºážááᯠáááºáá®ážááá¯á· ááá¯á¡ááºáá«áááá·áºáááºá áááºážááẠá á¬áá¬ážááá¯ááºáá áºáá¯ááŸáá·áº ááŸáá¯ááºážááŸááºáá«á á¡áá±á¬ááºá¡áááºáá±á¬áºááẠááá¯ááá¯áááºáá²áá±á¬áºáááºáž ááááºáááºážááœáẠá¡áá¬á¡á¬ážáá¯á¶ážááẠáááºááá±á¬ááºááááºáá²áá«á áá±áá¬áá±á·á áºááá¯á· áááºááá¯ááºááá¯áẠáá±áá¬ááœáŸá²ááŒá±á¬ááºážáá±ážááá·áº áááá¯ááºážááá·áºá á¡áááºážá¡áá»ááºážáá¬ážááŸááºážááᯠáá±ážáá¬ážáááºááŸá¬ ááŒá áºááá¯ááºáá»á±ááŸááááºá áá±á¬ááºááœáẠáááºážááẠáá¯á¶ážá áœá²áá°áááá¯ááááºá¡á¬áž á¡ááá²á·áá¯ááºááœáẠ(á¡á á®áááºáá¶á á¬áá»á¬ážá áá¯á¶ááŸáááºáá¶ááááºáá»á¬ážá á¡ááŒá±á¬ááºážááŒá¬ážáá»ááºáá»á¬áž áá±ážááá¯á·ááŒááºážá áááº) ááᯠáááááá¬áááºááŒá áºáááºá
áá±áá¬áá±á·á áºááá¯á· áá®ážááŒá¬ážáá±á¬ááºážááá¯áá»ááºáá áºáá¯ááŒá¯áá¯ááºááŒá®áž áá¬áá¬á¡ááŸááºá ááºáá¶áá«ááºááᯠáááºááŸááºááŒááºážááŒáá·áºá áá¬áá¬ááᯠáá¯á¶á á¶áááºááŸááºáááºá¡ááœáẠááá¯á¡ááºáá±á¬ áá±á¬ááºáá»á¬ážááᯠáá»áœááºá¯ááºááá¯á· áááºáá¶áááŸááááºááŒá áºáááºá
ááá¯á·á¡ááŒááºá áá»áœááºá¯ááºááá¯á·ááẠá á¬áá¬ážááá¯ááºáá²á·ááá¯á·ááẠáá áºááŒáá¯ááºáááºáááºáá±á¬ááºááœáá·áºá¡ááœáẠáá±á¬á·áááºáá¬ážááẠáááá¯á¡ááºáá«á
áá»áœááºá¯ááºááá¯á·ááẠá¡ááá·áºááá¯ááºážááœáẠáá±áá¬áá±á·á áºááœáẠááœá²á·á ááºážááŸá¯ááŸááºáááºážááᯠáá±ážáá¬ážááá¯ááºááŒá®áž ááŒááºáááºááŸá¯á¡ááá·áºáá»á¬ážá á¡ááŒá áºá¡áá»ááºáá»á¬ážááŸáá·áº á¡áá¶áá»á¬ážááŸáá áºááá·áº áááºáááºááŒááºážáá¯ááºáááºážá ááºááᯠááááºážáá»á¯ááºááá¯ááºáááºá
ááá¯áá»áœááºá¯ááºááá¯á·áááºááá¯á·ááááŒá®:
- PXE ááŸáááá·áºáá¬áá¬ááá¯ááœáá·áºáá«á
- ááááºážáá»á¯ááºááŸá¯ááᯠáá»áœááºá¯ááºááá¯á·á áá¬ááºááœáŸááºážááá¯á· ááœáŸá²ááŒá±á¬ááºážáá«á
- áááºážá áá¶áá«ááºá ááºá¡ááá¯áẠááŒááºáááºáááºááá¯á¡ááºáá±á¬ áá¬áá¬ááᯠááœá²ááŒá¬ážáááºááŸááºáá«á
- ááá·áºáá»á±á¬áºáá±á¬ utilities áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áá¬áá¬ááᯠconfigure áá¯ááºáá«á
- client á¡á áááºá¡ááá¯ááºážááᯠá¡áá¯á¶ážááŒá¯á áááºáááºááŸá¯áá¬áá¬áá±áá¬áá±á·á áºááá¯á· áááºáááºáá»á¬ážááᯠááœáŸá²ááŒá±á¬ááºážáá«á
áá»áœááºá¯ááºááá¯á· ááááŸááá¬ážáááº-
- ááá·áºááœááºážáá¬ážáá±á¬ áá¬áá¬ááẠáá±áá¬áá±á·á áºá០ááá¯á¡ááºáá±á¬ áááºáááºáá»á¬ážááᯠáááºáá¶áááŸááááºá
- ááŒááºáááºááŸá¯ááá¯ážáááºááŸá¯á¡á¬ážáá¯á¶ážááᯠáá±áá¬áá±á·á Ạ(ááŸááºáááºážáá»á¬ážá ááŒá áºáááºáá»á¬ážá á¡ááá·áºá¡áá¶áá»á¬áž) ááœáẠááŸááºáááºážáááºáá¬ážáááºá
áááºááá·áºááœááºážááá·áº áá±á¬á·ááºáá²áẠá¡áá»áá¯ážá¡á á¬ážáá»á¬ážáá±á¬ áááºááá¯á·áááºážá hypervisor áá áºáá¯ááᯠáááºááá¯áááºáááºáááá²á VM áá áºáá¯ááᯠáá°ážáá°ááŒá®áž á¡á¬ážáá¯á¶ážááᯠconfigure áá¯ááºááá²á
ááá¯ááºá áá áºáá¯ááºáá¯á¶ (linux) ááᯠáá¬á·ááºáá²ááá¯á· ááŒáá·áºáá»ááºá¡áá¯á¶ážááŒá¯ááá·áºááá á¹á ááœááºá á¡áá¬á¡á¬ážáá¯á¶ážááẠá¡ááœááºááá¯ážááŸááºážáá«áááºá
- áá¬áᬠá¡á áááºá¡ááá¯ááºážá¡á¬ážáá¯á¶ážááᯠáááºááŸááºááŒá®ážáá±á¬ááºá áá»áœááºá¯ááºááá¯á·ááẠáá¯ááºáá¯á¶ááᯠááŒáá·áºáá»ááºáááºá
- grub bootloader ááᯠinstall áá¯ááºáá«á
- áá»áœááºá¯ááºááá¯á·ááẠááá¯á¡ááºááá·áºá¡áá¬á¡á¬ážáá¯á¶ážááᯠchroot áá¯ááºááŒá®áž configure áá¯ááºáá«áááºá
ááááºážáá»á¯ááºááŸá¯ááᯠOS ááá·áºááœááºážáá°áᶠáááºááá¯á·ááœáŸá²ááŒá±á¬ááºážáááºáž (á¥ááᬠESXi ááᯠá¡áá¯á¶ážááŒá¯á)á
- áá»áœááºá¯ááºááá¯á·ááẠáá»áœááºá¯ááºááá¯á·á script á០ááááºážáá»á¯ááºááŸá¯ááᯠá¡ááá¯á¡áá»á±á¬ááºáá¯á¶á·ááŒááºááŸá¯ááá¯áẠ(kickstart) ááᯠá¡áá¯á¶ážááŒá¯á hypervisor installer ááá¯á· ááœáŸá²ááŒá±á¬ááºážááŒááºážááᯠá á¯á ááºážáá«áááºá
- áá»áœááºá¯ááºááá¯á·ááẠdisk áá±á«áºááŸááááºááŸá partitions áá»á¬ážááá¯áá»ááºáá áºáááºá
- 500MB á¡ááœááºá¡á á¬ážááŸááá±á¬ á¡ááá¯ááºážáá áºáá¯ááᯠáááºáá®ážáá«á
- áá»áœááºá¯ááºááá¯á·ááẠáááºážááᯠbootable á¡ááŒá áºáááºááŸááºáá¬ážáááºá
- FAT32 ááá¯á· Format áá»áá«á
- áá»áœááºá¯ááºááá¯á·ááẠ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 ááá·áºááœááºážáá°ááẠáá¬áá¬á hard drive ááŸáá±á«ááºážáá¯ááºáá¯ááºáááºááŒá áºáááºá ááá¯á¡ááºáá±á¬ installer ááá¯ááºá¡á¬ážáá¯á¶ážááᯠmemory áá²ááá¯á· load áá¯ááºááŒá®áž áááºááŸááºáá¬ážáá±á¬ á¡ááá¯á¡áá»á±á¬ááºáá¯á¶á·ááŒááºááŸá¯ááá¯ááºá¡ááá¯ááºáž 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
á€á¡ááá·áºááœááºá hypervisor ááᯠáááºáááºááŒá®áž configure ááŒá¯áá¯ááºááŒá®áž virtual machines áá»á¬ážááᯠáá°ážáá°áá«áááºá
virtual machines áá»á¬ážááᯠááá¯áááºááá¯á· configure áá¯ááºáááºáááºážá
áá»áœááºá¯ááºááá¯á· á¡áááºážáááºááááºáááºáá²á·áááº- ááá·áºááœááºážá ááºá¡ááœááºáž guestinfo.esxihost.id = "$SYSSN" ááᯠVM1.vmx ááá¯ááºááœáẠáááºááŸááºááŒá®áž áááºážááŸá áá¯ááºááá¯ááºážááá¯ááºáá¬áá¬áá¬á á¡ááŸááºá ááºáá¶áá«ááºááᯠááœáŸááºááŒáá«áááºá
ááᯠá áááºááŒá®ážáá±á¬ááºá virtual machine (vmware-tools áááºáá±á·ááºá»ááᯠááá·áºááœááºážááŒá®áž) ááẠá€ááá·áºáááºáá»ááºááᯠáááºáá±á¬ááºááá¯ááºáááº-
ESXI_SN=$(vmtoolsd --cmd "info-get guestinfo.esxihost.id")
ááá¯ááá¯áááºááŸá¬á VM ááẠáá°á·áá¬áá¬áá° ááœá²ááŒá¬ážáááºááŸááºááá¯ááºáááá·áºááẠ(áááºážááẠáá¯ááºááá¯ááºážááá¯ááºáᬠhost á á¡ááŸááºá ááºáá¶áá«ááºááᯠááááŸáááá¯ááºáááº)á áááºáááºááŸá¯áá¬áá¬áá±áá¬áá±á·á áºááá¯á· áá±á¬ááºážááá¯áá»ááºáá áºáá¯ááŒá¯áá¯ááºááŒá®áž ááŒááºáááºáááºááŸááºáááºááá¯á¡ááºááá·áº áá±á¬ááºáá»á¬ážááᯠáááºáá¶áááŸááááºááŒá áºáááºá á€á¡áá¬á¡á¬ážáá¯á¶ážááᯠguestos vm á áááºááá·áºá¡áá« á¡ááá¯á¡áá»á±á¬ááºá áááºááá·áºááẠ(ááá¯á·áá±á¬áº áá áºááŒáááº- RunOnce) ááᯠáá¬ááºááœáŸááºážáá áºáá¯á¡ááŒá Ạá á¯á ááºážáá¬ážáááºá
ááá¯áá»áœááºá¯ááºááá¯á·áááºááá¯á·ááááŒá®:
- PXE ááŸáááá·áºáá¬áá¬ááá¯ááœáá·áºáá«á
- ááááºážáá»á¯ááºááŸá¯ááᯠáá»áœááºá¯ááºááá¯á·á áá¬ááºááœáŸááºážááá¯á· ááœáŸá²ááŒá±á¬ááºážáá«á
- áááºážá áá¶áá«ááºá ááºá¡ááá¯áẠááŒááºáááºáááºááá¯á¡ááºáá±á¬ áá¬áá¬ááᯠááœá²ááŒá¬ážáááºááŸááºáá«á
- ááá·áºáá»á±á¬áºáá±á¬ utilities áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯á áá¬áá¬ááᯠconfigure áá¯ááºáá«á
- client á¡á áááºá¡ááá¯ááºážááᯠá¡áá¯á¶ážááŒá¯á áááºáááºááŸá¯áá¬áá¬áá±áá¬áá±á·á áºááá¯á· áááºáááºáá»á¬ážááᯠááœáŸá²ááŒá±á¬ááºážáá«á
- esxi hypervisor ááᯠááŒáá·áºáá»ááºááŒááºážááŸáá·áº virtual machines (á¡á¬ážáá¯á¶ážá¡ááá¯á¡áá»á±á¬ááº) ááŒááºáááºááŒááºáž á¡áá«á¡ááẠáá±á¬á·ááºáá² á¡áá»áá¯ážá¡á á¬áž á¡áá»áá¯ážáá»áá¯ážááᯠá á®á ááºáááºááŸááºáá«á
áá»áœááºá¯ááºááá¯á· ááááŸááá¬ážáááº-
- ááá·áºááœááºážáá¬ážáá±á¬ áá¬áá¬ááẠáá±áá¬áá±á·á áºá០ááá¯á¡ááºáá±á¬ áááºáááºáá»á¬ážááᯠáááºáá¶áááŸááááºá
- ááŒááºáááºááŸá¯ááá¯ážáááºááŸá¯á¡á¬ážáá¯á¶ážááᯠáá±áá¬áá±á·á Ạ(ááŸááºáááºážáá»á¬ážá ááŒá áºáááºáá»á¬ážá á¡ááá·áºá¡áá¶áá»á¬áž) ááœáẠááŸááºáááºážáááºáá¬ážáááºá
á¡á±á¬ááºáá¯á¶ážááá¯ááºáž:
á€ááŒá±ááŸááºážáá»ááºááá°ážááŒá¬ážááŸá¯ááŸá¬ áááºážáááŒá±á¬ááºážááœááºááŒááºááœááºá ááá¯ážááŸááºážááŸá¯á á áœááºážáá±á¬ááºááá¯ááºááŸá¯ááŸáá·áº áááºá á¯á¶áá¯á¶ážááá¯ááºááŸá¯ááá¯á·á áááºááŸááá±áááºáᯠáá»áœááºá¯ááºáá¯á¶ááŒááºáá«áááºá
áá»á±ážáá°ážááŒá¯ááŒá®áž áááºáááºááŒááºáá»ááºááœá±ááᯠcomment ááŸá¬ áá±ážáá±ážáá«á
source: www.habr.com