ืขืฉื” ื–ืืช ื‘ืขืฆืžืš ื‘ืจ-ืžื˜ืืœ ืืกืคืงื”, ืื• ื”ื›ื ื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ืฉืจืชื™ื ืžืืคืก

ืฉืœื•ื, ืื ื™ ื“ื ื™ืก ื•ืื—ื“ ืžืชื—ื•ืžื™ ื”ืคืขื™ืœื•ืช ืฉืœื™ ื”ื•ื ืคื™ืชื•ื— ืคืชืจื•ื ื•ืช ืชืฉืชื™ืช ื‘-X5. ื”ื™ื•ื ืื ื™ ืจื•ืฆื” ืœืฉืชืฃ ืืชื›ื ื›ื™ืฆื“ ื ื™ืชืŸ ืœืคืจื•ืก ืžืขืจื›ืช ืื•ื˜ื•ืžื˜ื™ืช ืœื”ื›ื ืช ืฉืจืช ื”ืžื‘ื•ืกืกืช ืขืœ ื›ืœื™ื ื–ืžื™ื ื™ื ืœืฆื™ื‘ื•ืจ. ืœื“ืขืชื™ ืžื“ื•ื‘ืจ ื‘ืคืชืจื•ืŸ ืžืขื ื™ื™ืŸ, ืคืฉื•ื˜ ื•ื’ืžื™ืฉ.

ืขืฉื” ื–ืืช ื‘ืขืฆืžืš ื‘ืจ-ืžื˜ืืœ ืืกืคืงื”, ืื• ื”ื›ื ื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ืฉืจืชื™ื ืžืืคืก

ื‘ื”ื›ื ื” ืื ื• ืžืชื›ื•ื•ื ื™ื: ืœื”ืคื•ืš ืฉืจืช ื—ื“ืฉ ืžื”ืงื•ืคืกื” ืœืฉืจืช ืžื•ื’ื“ืจ ื‘ืžืœื•ืื• ืขื ืžืขืจื›ืช ื”ืคืขืœื”. ืœื™ื ื•ืงืก ืื• ืขื ื”ื™ืคืจื•ื•ื™ื–ืจ ESXi (ื”ืคืจื™ืกื” ืฉืœ ืฉืจืชื™ Windows ืื™ื ื” ื ื“ื•ื ื” ื‘ืžืืžืจ ื–ื”).

ืชื ืื™ื:

  • ืฉืจืชื™ื - ืฉืจืชื™ื ืฉืฆืจื™ืš ืœื”ื’ื“ื™ืจ.
  • ืฉืจืช ื”ื”ืชืงื ื” ื”ื•ื ื”ืฉืจืช ื”ืจืืฉื™ ื”ืžืกืคืง ืืช ื›ืœ ืชื”ืœื™ืš ื”ื”ื›ื ื” ื“ืจืš ื”ืจืฉืช.

ืžื“ื•ืข ื™ืฉ ืฆื•ืจืš ื‘ืื•ื˜ื•ืžืฆื™ื”?

ื ื ื™ื— ืฉื™ืฉ ืžืฉื™ืžื”: ืœื”ื›ื™ืŸ ืฉืจืชื™ื ืžืืคืก ืžืืคืก, ื‘ืฉื™ื - 30 ืœื™ื•ื. ืฉืจืชื™ื ืฉืœ ื™ืฆืจื ื™ื ื•ื“ื’ืžื™ื ืฉื•ื ื™ื, ืžืขืจื›ื•ืช ื”ืคืขืœื” ืฉื•ื ื•ืช ืขืฉื•ื™ื•ืช ืœื”ื™ื•ืช ืžื•ืชืงื ื•ืช ืขืœื™ื”ื, ื•ื™ื›ื•ืœ ืœื”ื™ื•ืช ืฉื™ืฉ ืœื• ื”ื™ืคืจื•ื•ื™ื–ืจ ืื• ืœื.

ืื™ืœื• ืคืขื•ืœื•ืช ื›ืœื•ืœื•ืช ื‘ืชื”ืœื™ืš ื”ื”ื’ื“ืจื” (ืœืœื ืื•ื˜ื•ืžืฆื™ื”):

  • ืœื—ื‘ืจ ืžืงืœื“ืช, ืขื›ื‘ืจ, ืฆื’ ืœืฉืจืช;
  • ืœื”ื’ื“ื™ืจ BIOS, RAID, IPMI;
  • ืขื“ื›ื•ืŸ ืงื•ืฉื—ื” ืฉืœ ืจื›ื™ื‘ื™ื;
  • ืœืคืจื•ืก ืชืžื•ื ืช ืžืขืจื›ืช ืงื‘ืฆื™ื (ืื• ืœื”ืชืงื™ืŸ hypervisor ื•ืœื”ืขืชื™ืง ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช);

ื”ืขืจื”. ืœื—ืœื•ืคื™ืŸ, ืคืจื™ืกืช ืžืขืจื›ืช ื”ื”ืคืขืœื” ืืคืฉืจื™ืช ื‘ืืžืฆืขื•ืช ื”ืชืงื ื” ืขื ืงื•ื‘ืฅ ืชื’ื•ื‘ื” ืื•ื˜ื•ืžื˜ื™ืช. ืื‘ืœ ื–ื” ืœื ื ื“ื•ืŸ ื‘ืžืืžืจ. ืœืžืจื•ืช ืฉืชืจืื” ืœื”ืœืŸ ืฉื”ื•ืกืคืช ืคื•ื ืงืฆื™ื•ื ืœื™ื•ืช ื–ื• ืื™ื ื” ืงืฉื”.

  • ื”ื’ื“ืจ ืคืจืžื˜ืจื™ื ืฉืœ ืžืขืจื›ืช ื”ื”ืคืขืœื” (ืฉื ืžืืจื—, IP ื•ื›ื•').

ื‘ื’ื™ืฉื” ื–ื•, ืื•ืชืŸ ื”ื’ื“ืจื•ืช ืžื‘ื•ืฆืขื•ืช ื‘ืจืฆืฃ ื‘ื›ืœ ืฉืจืช. ื”ื™ืขื™ืœื•ืช ืฉืœ ืขื‘ื•ื“ื” ื›ื–ื• ื ืžื•ื›ื” ืžืื•ื“.

ื”ืžื”ื•ืช ืฉืœ ืื•ื˜ื•ืžืฆื™ื” ื”ื™ื ื‘ื™ื˜ื•ืœ ื”ืฉืชืชืคื•ืช ืื ื•ืฉื™ืช ืžืชื”ืœื™ืš ื”ื›ื ืช ื”ืฉืจืช. ืขื“ ื›ืžื” ืฉืืคืฉืจ.

ืื•ื˜ื•ืžืฆื™ื” ืžืคื—ื™ืชื” ืืช ื–ืžืŸ ื”ื”ืฉื‘ืชื” ื‘ื™ืŸ ืคืขื•ืœื•ืช ื•ืžืืคืฉืจืช ืœืกืคืง ืžืกืคืจ ืฉืจืชื™ื ื‘ื• ื–ืžื ื™ืช. ื’ื ื”ืกื‘ื™ืจื•ืช ืœื˜ืขื•ื™ื•ืช ื›ืชื•ืฆืื” ืžื’ื•ืจืžื™ื ืื ื•ืฉื™ื™ื ืคื•ื—ืชืช ืžืื•ื“.

ืขืฉื” ื–ืืช ื‘ืขืฆืžืš ื‘ืจ-ืžื˜ืืœ ืืกืคืงื”, ืื• ื”ื›ื ื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ืฉืจืชื™ื ืžืืคืก

ื›ื™ืฆื“ ืžื•ื’ื“ืจื™ื ืฉืจืชื™ื ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™?

ื‘ื•ืื• ื ื ืชื— ืืช ื›ืœ ื”ืฉืœื‘ื™ื ื‘ืคื™ืจื•ื˜.

ื™ืฉ ืœืš ืฉืจืช ืœื™ื ื•ืงืก ืฉืืชื” ืžืฉืชืžืฉ ื‘ื• ื›ืฉืจืช ื”ืชืงื ื” ืฉืœ 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 ื‘ืฉืœื‘ ื–ื” ื”ื ืชืžื•ื ืช ืœื™ื ื•ืงืก ื‘ื™ื ื™ื™ื, ื‘ืขื–ืจืชื” ืชืชื‘ืฆืข ื”ื”ื›ื ื” ื•ื”ืงื•ื ืคื™ื’ื•ืจืฆื™ื” ื”ืขื™ืงืจื™ืช ืฉืœ ื”ืฉืจืช.

ื›ืคื™ ืฉืืชื” ื™ื›ื•ืœ ืœืจืื•ืช, ื˜ื•ืขืŸ ื”ืืชื—ื•ืœ ืžืขื‘ื™ืจ ืคืจืžื˜ืจื™ื ืจื‘ื™ื ืœืงืจื ืœ. ื—ืœืง ืžื”ืคืจืžื˜ืจื™ื ื”ืœืœื• ืžืฉืžืฉื™ื ืืช ื”ืงืจื ืœ ืขืฆืžื•. ื•ืื ื—ื ื• ื™ื›ื•ืœื™ื ืœื”ืฉืชืžืฉ ื‘ื—ืœืง ืœืžื˜ืจื•ืช ืฉืœื ื•. ื–ื” ื™ื™ื“ื•ืŸ ื‘ื”ืžืฉืš, ืื‘ืœ ืœืขืช ืขืชื” ืืชื” ื™ื›ื•ืœ ืคืฉื•ื˜ ืœื–ื›ื•ืจ ืฉื›ืœ ื”ืคืจืžื˜ืจื™ื ืฉืขื‘ืจื• ื™ื”ื™ื• ื–ืžื™ื ื™ื ื‘ืชืžื•ื ืช ืœื™ื ื•ืงืก ื”ื‘ื™ื ื™ื™ื ื“ืจืš /proc/cmdline.

ืื™ืคื” ืื ื™ ื™ื›ื•ืœ ืœื”ืฉื™ื’ ืื•ืชื, ืงืจื ืœ ื•-initramfs?
ื›ื‘ืกื™ืก, ืืชื” ื™ื›ื•ืœ ืœื‘ื—ื•ืจ ื›ืœ ื”ืคืฆืช ืœื™ื ื•ืงืก. ืœืžื” ืื ื—ื ื• ืฉืžื™ื ืœื‘ ื‘ื‘ื—ื™ืจื”:

  • ืชืžื•ื ืช ื”ืืชื—ื•ืœ ื—ื™ื™ื‘ืช ืœื”ื™ื•ืช ืื•ื ื™ื‘ืจืกืœื™ืช (ื–ืžื™ื ื•ืช ืžื ื”ืœื™ ื”ืชืงื ื™ื, ื™ื›ื•ืœืช ืœื”ืชืงื™ืŸ ื›ืœื™ ืขื–ืจ ื ื•ืกืคื™ื);
  • ืกื‘ื™ืจ ืœื”ื ื™ื— ืฉืชืฆื˜ืจืš ืœื”ืชืื™ื ืื™ืฉื™ืช ืืช initramfs.

ืื™ืš ื–ื” ื ืขืฉื” ื‘ืคืชืจื•ืŸ ืฉืœื ื• ืขื‘ื•ืจ X5? ื›ื‘ืกื™ืก ื ื‘ื—ืจ CentOS 7. ื‘ื•ืื• ื ื ืกื” ืืช ื”ื˜ืจื™ืง ื”ื‘ื: ื”ื›ื™ื ื• ืืช ืžื‘ื ื” ื”ืชืžื•ื ื” ื”ืขืชื™ื“ื™, ืืจื–ื• ืื•ืชื• ืœืืจื›ื™ื•ืŸ ื•ื™ืฆื™ืจืช initramfs ืฉื‘ืชื•ื›ื• ื™ื”ื™ื” ืืจื›ื™ื•ืŸ ืžืขืจื›ืช ื”ืงื‘ืฆื™ื ืฉืœื ื•. ื‘ืขืช ื˜ืขื™ื ืช ื”ืชืžื•ื ื”, ื”ืืจื›ื™ื•ืŸ ื™ื•ืจื—ื‘ ืœืžื—ื™ืฆืช 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

ืื– ืฆื™ื™ื ื• ืืช ื”ืœื™ื‘ื” ื•ื”-initramfs ืฉื™ืฉ ืœื˜ืขื•ืŸ. ื›ืชื•ืฆืื” ืžื›ืš, ื‘ืฉืœื‘ ื–ื”, ืขืœ ื™ื“ื™ ื˜ืขื™ื ืช ืชืžื•ื ืช ื”ืœื™ื ื•ืงืก ื”ื‘ื™ื ื™ื™ื ื“ืจืš PXE, ื ืงื‘ืœ ืืช ืงื•ื ืกื•ืœืช ืžืขืจื›ืช ื”ื”ืคืขืœื”.

ื ื”ื“ืจ, ืื‘ืœ ืขื›ืฉื™ื• ืื ื—ื ื• ืฆืจื™ื›ื™ื ืœื”ืขื‘ื™ืจ ืืช ื”ืฉืœื™ื˜ื” ืœ"ืื•ื˜ื•ืžืฆื™ื”" ืฉืœื ื•.

ืืคืฉืจ ืœืขืฉื•ืช ืืช ื–ื” ื›ื›ื”.

ื ื ื™ื— ืฉืœืื—ืจ ื˜ืขื™ื ืช ื”ืชืžื•ื ื” ืื ื• ืžืชื›ื ื ื™ื ืœื”ืขื‘ื™ืจ ืืช ื”ืฉืœื™ื˜ื” ืœืกืงืจื™ืคื˜ mount.sh.
ื‘ื•ืื• ื ื›ืœื•ืœ ืืช ื”ืกืงืจื™ืคื˜ mount.sh ื‘ื”ืคืขืœื” ืื•ื˜ื•ืžื˜ื™ืช. ื›ื“ื™ ืœืขืฉื•ืช ื–ืืช ืชืฆื˜ืจืš ืœืฉื ื•ืช ืืช initramfs:

  • ืคืจืง ืืช initramfs (ืื ืื ื• ืžืฉืชืžืฉื™ื ื‘ืืคืฉืจื•ืช initramfs ืœืขื™ืœ, ื–ื” ืœื ื ื“ืจืฉ)
  • ื›ืœื•ืœ ืงื•ื“ ื‘ื”ืคืขืœื” ืฉื™ื ืชื— ืืช ื”ืคืจืžื˜ืจื™ื ืฉื”ื•ืขื‘ืจื• ื“ืจืš /proc/cmdline ื•ื™ืขื‘ื™ืจ ืืช ื”ืฉืœื™ื˜ื” ื”ืœืื”;
  • ืœืืจื•ื– initramfs.

ื”ืขืจื”. ื‘ืžืงืจื” ืฉืœ ืขืจื›ืช ื”ื›ืœื™ื X5, ื‘ืงืจืช ื”ื˜ืขื™ื ื” ืžื•ืขื‘ืจืช ืœืกืงืจื™ืคื˜ /opt/x5/toolkit/bin/hook.sh ั ะฟะพะผะพั‰ัŒัŽ override.conf ะฒ getty tty1 (ExecStart=โ€ฆ)

ืื–, ื”ืชืžื•ื ื” ื ื˜ืขื ืช, ืฉื‘ื” ื”ืกืงืจื™ืคื˜ mount.sh ืžืชื—ื™ืœ ื‘ื”ืคืขืœื” ืื•ื˜ื•ืžื˜ื™ืช. ืœืื—ืจ ืžื›ืŸ, ื”ืกืงืจื™ืคื˜ mount.sh ืžื ืชื— ืืช ื”ืคืจืžื˜ืจื™ื ืฉืขื‘ืจื• (script_cmd=) ื‘ืžื”ืœืš ื”ื‘ื™ืฆื•ืข ื•ืžืคืขื™ืœ ืืช ื”ืชื•ื›ื ื™ืช/ื”ืกืงืจื™ืคื˜ ื”ื“ืจื•ืฉ.

ืขืจื›ืช ื›ืœื™ื ืœืชื•ื•ื™ืช-ื”ืžื›ื•ื ื™ืช
ื’ึทืจืขึดื™ืŸ...
append...nfs_toolkit_script=scripts/mount.sh script_cmd=master-install.sh

ืขืจื›ืช ื›ืœื™ื ืœืชื•ื•ื™ืช-ืคึผึธื’ึธื–
ื’ึทืจืขึดื™ืŸ...
append...nfs_toolkit_script=scripts/mount.sh script_cmd=/bin/bash

ืขืฉื” ื–ืืช ื‘ืขืฆืžืš ื‘ืจ-ืžื˜ืืœ ืืกืคืงื”, ืื• ื”ื›ื ื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ืฉืจืชื™ื ืžืืคืก

ื›ืืŸ ืžืฉืžืืœ ื ืžืฆื ืชืคืจื™ื˜ PXE, ืžื™ืžื™ืŸ ืชืจืฉื™ื ื”ืขื‘ืจืช ื”ื‘ืงืจื”.

ื”ื‘ื ื• ืืช ื”ืขื‘ืจืช ื”ืฉืœื™ื˜ื”. ื‘ื”ืชืื ืœื‘ื—ื™ืจืช ืชืคืจื™ื˜ ื”-PXE, ืžื•ืคืขืœ ืื• ืกืงืจื™ืคื˜ ื”ืชืฆื•ืจื” ื”ืื•ื˜ื•ืžื˜ื™ืช ืื• ืงื•ื ืกื•ืœืช ื ื™ืคื•ื™ ื”ื‘ืื’ื™ื.

ื‘ืžืงืจื” ืฉืœ ืชืฆื•ืจื” ืื•ื˜ื•ืžื˜ื™ืช, ื”ืกืคืจื™ื•ืช ื”ื“ืจื•ืฉื•ืช ื ื˜ืขื ื•ืช ืžืฉืจืช ื”ื”ืชืงื ื”, ื”ืžื›ื™ืœื•ืช:

  • ืชืกืจื™ื˜ื™ื;
  • ืชื‘ื ื™ื•ืช BIOS/UEFI ืฉืžื•ืจื•ืช ืขื‘ื•ืจ ืฉืจืชื™ื ืฉื•ื ื™ื;
  • ืงื•ืฉื—ื”;
  • ื›ืœื™ ืขื–ืจ ืœืฉืจืช;
  • ื™ื•ืžื ื™ื

ืœืื—ืจ ืžื›ืŸ, ื”ืกืงืจื™ืคื˜ mount.sh ืžืขื‘ื™ืจ ืืช ื”ืฉืœื™ื˜ื” ืœืกืงืจื™ืคื˜ master-install.sh ืžืกืคืจื™ื™ืช ื”ืกืงืจื™ืคื˜ื™ื.

ืขืฅ ื”ืกืงืจื™ืคื˜ื™ื (ื”ืกื“ืจ ืฉื‘ื• ื”ื ืžื•ืคืขืœื™ื) ื ืจืื” ื‘ืขืจืš ื›ืš:

  • ืžืืกื˜ืจ-ื”ืชืงื ื”
  • ืคื•ื ืงืฆื™ื•ืช ืฉื™ืชื•ืฃ (ืคื•ื ืงืฆื™ื•ืช ืžืฉื•ืชืคื•ืช)
  • ืžื™ื“ืข (ืคืœื˜ ืžื™ื“ืข)
  • ืžื•ื“ืœื™ื (ื”ื’ื“ืจืช ืคืจืžื˜ืจื™ ื”ืชืงื ื” ืขืœ ืกืžืš ื“ื’ื ื”ืฉืจืช)
  • prepare_utils (ื”ืชืงื ื” ืฉืœ ื›ืœื™ ืขื–ืจ ื ื—ื•ืฆื™ื)
  • fwupdate (ืขื“ื›ื•ืŸ ืงื•ืฉื—ื”)
  • diag (ืื‘ื—ื•ืŸ ื™ืกื•ื“ื™)
  • biosconf (ื”ื’ื“ืจื•ืช BIOS/UEFI)
  • ืชื™ืงื•ืŸ ืฉืขื•ืŸ (ื”ื’ื“ืจืช ื”ืฉืขื” ื‘ืœื•ื— ื”ืื)
  • srmconf (ืชืฆื•ืจืช ืžืžืฉืง ืžืจื•ื—ืง)
  • raidconf (ื”ื’ื“ืจืช ืืžืฆืขื™ ืื—ืกื•ืŸ ืœื•ื’ื™ื™ื)

ืื—ื“ ืž:

  • ื”ืชืงื ื” ืžื•ืงื“ืžืช (ื”ืขื‘ืจืช ืฉืœื™ื˜ื” ืœืžืขืจื›ืช ื”ื”ืคืขืœื” ืื• ืœืžืชืงื™ืŸ ื”-Hypervisor, ื›ื’ื•ืŸ ESXi)
  • ืžื™ื–ื•ื’-ื”ืชืงื ื” (ื”ืชื—ืœื” ืžื™ื™ื“ื™ืช ืฉืœ ืคื™ืจื•ืง ื”ืชืžื•ื ื”)

ืขื›ืฉื™ื• ืื ื—ื ื• ื™ื•ื“ืขื™ื:

  • ื›ื™ืฆื“ ืœืืชื—ืœ ืฉืจืช ื‘ืืžืฆืขื•ืช PXE;
  • ื›ื™ืฆื“ ืœื”ืขื‘ื™ืจ ืฉืœื™ื˜ื” ืœืชืกืจื™ื˜ ืžืฉืœืš.


ื‘ื•ื ื ืžืฉื™ืš. ื”ืฉืืœื•ืช ื”ื‘ืื•ืช ื”ืคื›ื• ืจืœื•ื•ื ื˜ื™ื•ืช:

  • ื›ื™ืฆื“ ืœื–ื”ื•ืช ืืช ื”ืฉืจืช ืฉืื ื• ืžื›ื™ื ื™ื?
  • ืื™ืœื• ื›ืœื™ ืขื–ืจ ื•ื›ื™ืฆื“ ืœื”ื’ื“ื™ืจ ืืช ื”ืฉืจืช?
  • ืื™ืš ืžืงื‘ืœื™ื ื”ื’ื“ืจื•ืช ืขื‘ื•ืจ ืฉืจืช ืกืคืฆื™ืคื™?

ื›ื™ืฆื“ ืœื–ื”ื•ืช ืืช ื”ืฉืจืช ืฉืื ื• ืžื›ื™ื ื™ื?

ื–ื” ืคืฉื•ื˜ - DMI:

dmidecode โ€“s system-product-name
dmidecode โ€“s system-manufacturer
dmidecode โ€“s system-serial-number

ื›ืœ ืžื” ืฉืืชื” ืฆืจื™ืš ื ืžืฆื ื›ืืŸ: ืกืคืง, ื“ื’ื, ืžืกืคืจ ืกื™ื“ื•ืจื™. ืื ืื™ื ืš ื‘ื˜ื•ื— ืฉืžื™ื“ืข ื–ื” ืงื™ื™ื ื‘ื›ืœ ื”ืฉืจืชื™ื, ืชื•ื›ืœ ืœื–ื”ื•ืช ืื•ืชื ืœืคื™ ื›ืชื•ื‘ืช ื”-MAC ืฉืœื”ื. ืื• ื‘ืฉืชื™ ื”ื“ืจื›ื™ื ื‘ื• ื–ืžื ื™ืช, ืื ืกืคืงื™ ื”ืฉืจืชื™ื ืฉื•ื ื™ื ื•ื‘ื“ื’ืžื™ื ืžืกื•ื™ืžื™ื ืคืฉื•ื˜ ืื™ืŸ ืžื™ื“ืข ืขืœ ื”ืžืกืคืจ ื”ืกื™ื“ื•ืจื™.

ื‘ื”ืชื‘ืกืก ืขืœ ื”ืžื™ื“ืข ื”ืžืชืงื‘ืœ, ืชื™ืงื™ื•ืช ืจืฉืช ืžื•ืชืงื ื•ืช ืžืฉืจืช ื”ื”ืชืงื ื” ื•ื›ืœ ื”ื“ืจื•ืฉ ื ื˜ืขืŸ (ื›ืœื™ ืขื–ืจ, ืงื•ืฉื—ื” ื•ื›ื•').

ืื™ืœื• ื›ืœื™ ืขื–ืจ ื•ื›ื™ืฆื“ ืœื”ื’ื“ื™ืจ ืืช ื”ืฉืจืช?

ืื ื™ ืืกืคืง ื›ืœื™ ืขื–ืจ ืขื‘ื•ืจ ืœื™ื ื•ืงืก ืขื‘ื•ืจ ื™ืฆืจื ื™ื ืžืกื•ื™ืžื™ื. ื›ืœ ื›ืœื™ ื”ืฉื™ืจื•ืช ื–ืžื™ื ื™ื ื‘ืืชืจื™ื ื”ืจืฉืžื™ื™ื ืฉืœ ื”ืกืคืงื™ื.

ืขืฉื” ื–ืืช ื‘ืขืฆืžืš ื‘ืจ-ืžื˜ืืœ ืืกืคืงื”, ืื• ื”ื›ื ื” ืื•ื˜ื•ืžื˜ื™ืช ืฉืœ ืฉืจืชื™ื ืžืืคืก

ืขื ื”ืงื•ืฉื—ื”, ืื ื™ ื—ื•ืฉื‘ ืฉื”ื›ืœ ื‘ืจื•ืจ. ื”ื ื‘ื“ืจืš ื›ืœืœ ืžื’ื™ืขื™ื ื‘ืฆื•ืจื” ืฉืœ ืงื‘ืฆื™ ื”ืคืขืœื” ืืจื•ื–ื™ื. ืงื•ื‘ืฅ ื”ื”ืคืขืœื” ืฉื•ืœื˜ ื‘ืชื”ืœื™ืš ืขื“ื›ื•ืŸ ื”ืงื•ืฉื—ื” ื•ืžื“ื•ื•ื— ืขืœ ืงื•ื“ ื”ื”ื—ื–ืจื”.

BIOS ื•-IPMI ืžื•ื’ื“ืจื™ื ื‘ื“ืจืš ื›ืœืœ ื‘ืืžืฆืขื•ืช ืชื‘ื ื™ื•ืช. ื‘ืžื™ื“ืช ื”ืฆื•ืจืš, ื ื™ืชืŸ ืœืขืจื•ืš ืืช ื”ืชื‘ื ื™ืช ืœืคื ื™ ื”ื”ื•ืจื“ื”.

ื ื™ืชืŸ ืœื”ื’ื“ื™ืจ ื›ืœื™ ืขื–ืจ ืœ-RAID ืžืกืคืงื™ื ืžืกื•ื™ืžื™ื ื’ื ื‘ืืžืฆืขื•ืช ืชื‘ื ื™ืช. ืื ื–ื” ืœื ื”ืžืงืจื”, ืชืฆื˜ืจืš ืœื›ืชื•ื‘ ืกืงืจื™ืคื˜ ืชืฆื•ืจื”.

ื”ื”ืœื™ืš ืœื”ื’ื“ืจืช RAID ื”ื•ื ืœืจื•ื‘ ื›ื“ืœืงืžืŸ:

  • ืื ื• ืžื‘ืงืฉื™ื ืืช ื”ืชืฆื•ืจื” ื”ื ื•ื›ื—ื™ืช.
  • ืื ื›ื‘ืจ ื™ืฉ ืžืขืจื›ื™ื ืœื•ื’ื™ื™ื, ืื ื—ื ื• ืžื•ื—ืงื™ื ืื•ืชื.
  • ื‘ื•ืื• ื ืกืชื›ืœ ืื™ืœื• ื“ื™ืกืงื™ื ืคื™ื–ื™ื™ื ืงื™ื™ืžื™ื ื•ื›ืžื” ื™ืฉ.
  • ืฆื•ืจ ืžืขืจืš ืœื•ื’ื™ ื—ื“ืฉ. ืื ื• ืžืคืกื™ืงื™ื ืืช ื”ืชื”ืœื™ืš ื‘ืžืงืจื” ืฉืœ ืฉื’ื™ืื”.

ืื™ืš ืžืงื‘ืœื™ื ื”ื’ื“ืจื•ืช ืขื‘ื•ืจ ืฉืจืช ืกืคืฆื™ืคื™?

ื ื ื™ื— ืฉื”ื”ื’ื“ืจื•ืช ืฉืœ ื›ืœ ื”ืฉืจืชื™ื ื™ืื•ื—ืกื ื• ื‘ืฉืจืช ื”ื”ืชืงื ื”. ื‘ืžืงืจื” ื–ื”, ื›ื“ื™ ืœืขื ื•ืช ืขืœ ื”ืฉืืœื” ืฉืœื ื•, ืจืืฉื™ืช ืขืœื™ื ื• ืœื”ื—ืœื™ื˜ ื›ื™ืฆื“ ืœื”ืขื‘ื™ืจ ืืช ื”ื”ื’ื“ืจื•ืช ืœืฉืจืช ื”ื”ืชืงื ื”.

ื‘ื”ืชื—ืœื”, ืืชื” ื™ื›ื•ืœ ืœื”ืกืชื“ืจ ืขื ืงื‘ืฆื™ ื˜ืงืกื˜. (ื‘ืขืชื™ื“, ื™ื™ืชื›ืŸ ืฉืชืจืฆื” ืœื”ืฉืชืžืฉ ื‘ืงื•ื‘ืฅ ื˜ืงืกื˜ ื›ืฉื™ื˜ื” ื—ื–ืจื” ืœื”ืขื‘ืจืช ื”ื’ื“ืจื•ืช.)

ืืชื” ื™ื›ื•ืœ "ืœืฉืชืฃ" ืงื•ื‘ืฅ ื˜ืงืกื˜ ื‘ืฉืจืช ื”ื”ืชืงื ื”. ื•ื”ื•ืกื™ืคื• ืืช ื”-mount ืฉืœื• ืœืกืงืจื™ืคื˜ mount.sh.

ื”ืฉื•ืจื•ืช, ืœืžืฉืœ, ื™ื™ืจืื• ื›ืš:

<ืžืกืคืจ ืกื™ื“ื•ืจื™> <ืฉื ืžืืจื—> <ืจืฉืช ืžืฉื ื”>

ืฉื•ืจื•ืช ืืœื• ื™ื•ืขื‘ืจื• ืœืชื™ืง ืขืœ ื™ื“ื™ ื”ืžื”ื ื“ืก ืžืžื›ื•ื ืช ื”ืขื‘ื•ื“ื” ืฉืœื•. ื•ืœืื—ืจ ืžื›ืŸ, ื‘ืขืช ื”ื’ื“ืจืช ืฉืจืช, ื”ืคืจืžื˜ืจื™ื ืฉืœ ืฉืจืช ืกืคืฆื™ืคื™ ื™ืงืจืื• ืžื”ืงื•ื‘ืฅ.

ืื‘ืœ, ื‘ื˜ื•ื•ื— ื”ืืจื•ืš, ืขื“ื™ืฃ ืœื”ืฉืชืžืฉ ื‘ืžืกื“ ื ืชื•ื ื™ื ื›ื“ื™ ืœืื—ืกืŸ ื”ื’ื“ืจื•ืช, ืžืฆื‘ื™ื ื•ื™ื•ืžื ื™ื ืฉืœ ื”ืชืงื ื•ืช ืฉืจืชื™ื.

ื›ืžื•ื‘ืŸ ืฉื‘ืกื™ืก ื ืชื•ื ื™ื ืœื‘ื“ื• ืœื ืžืกืคื™ืง, ื•ืชืฆื˜ืจื›ื• ืœื™ืฆื•ืจ ื—ืœืง ืœืงื•ื— ื‘ืขื–ืจืชื• ื™ื•ืขื‘ืจื• ื”ื’ื“ืจื•ืช ืœืžืกื“ ื”ื ืชื•ื ื™ื. ื–ื” ื™ื•ืชืจ ืงืฉื” ืœื™ื™ืฉื ื‘ื”ืฉื•ื•ืื” ืœืงื•ื‘ืฅ ื˜ืงืกื˜, ืื‘ืœ ืœืžืขืฉื”, ื”ื›ืœ ืœื ืงืฉื” ื›ืžื• ืฉื–ื” ื ืจืื”. ื–ื” ื‘ื”ื—ืœื˜ ืืคืฉืจื™ ืœื›ืชื•ื‘ ื’ืจืกื” ืžื™ื ื™ืžืœื™ืช ืฉืœ ืœืงื•ื— ืฉืคืฉื•ื˜ ืชืขื‘ื™ืจ ื ืชื•ื ื™ื ืœืžืกื“ ื”ื ืชื•ื ื™ื ื‘ืขืฆืžืš. ื•ื‘ืขืชื™ื“ ื ื™ืชืŸ ื™ื”ื™ื” ืœืฉืคืจ ืืช ืชื•ื›ื ืช ื”ืœืงื•ื— ื‘ืžืฆื‘ ื—ื™ื ืžื™ (ื“ื•ื—ื•ืช, ื”ื“ืคืกืช ืชื•ื•ื™ื•ืช, ืฉืœื™ื—ืช ื”ื•ื“ืขื•ืช ื•ื›ื•' ืฉืขื•ืœื” ืขืœ ื”ื“ืขืช).

ื‘ืืžืฆืขื•ืช ืคื ื™ื™ื” ืกืคืฆื™ืคื™ืช ืœืžืกื“ ื”ื ืชื•ื ื™ื ื•ืฆื™ื•ืŸ ื”ืžืกืคืจ ื”ืกื™ื“ื•ืจื™ ืฉืœ ื”ืฉืจืช, ื ืงื‘ืœ ืืช ื”ืคืจืžื˜ืจื™ื ื”ื“ืจื•ืฉื™ื ืœื”ื’ื“ืจืช ื”ืฉืจืช.

ื‘ื ื•ืกืฃ, ืœื ื ืฆื˜ืจืš ืœื”ืžืฆื™ื ืžื ืขื•ืœื™ื ืœื’ื™ืฉื” ื‘ื• ื–ืžื ื™ืช, ื›ืคื™ ืฉืงื•ืจื” ื‘ืงื•ื‘ืฅ ื˜ืงืกื˜.

ื ื•ื›ืœ ืœื›ืชื•ื‘ ืืช ื™ื•ืžืŸ ื”ืชืฆื•ืจื” ืœืžืื’ืจ ื‘ื›ืœ ื”ืฉืœื‘ื™ื ื•ืœืฉืœื•ื˜ ื‘ืชื”ืœื™ืš ื”ื”ืชืงื ื” ื‘ืืžืฆืขื•ืช ืื™ืจื•ืขื™ื ื•ื“ื’ืœื™ื ืฉืœ ืฉืœื‘ื™ ื”ื”ื›ื ื”.

ืขื›ืฉื™ื• ืื ื—ื ื• ื™ื•ื“ืขื™ื ืื™ืš:

  • ืืชื—ื•ืœ ื”ืฉืจืช ื‘ืืžืฆืขื•ืช PXE;
  • ืœื”ืขื‘ื™ืจ ืืช ื”ืฉืœื™ื˜ื” ืœืชืกืจื™ื˜ ืฉืœื ื•;
  • ืœื–ื”ื•ืช ืืช ื”ืฉืจืช ืฉื™ืฉ ืœื”ื›ื™ืŸ ืœืคื™ ื”ืžืกืคืจ ื”ืกื™ื“ื•ืจื™ ืฉืœื•;
  • ืœื”ื’ื“ื™ืจ ืืช ื”ืฉืจืช ื‘ืืžืฆืขื•ืช ื›ืœื™ ื”ืฉื™ืจื•ืช ื”ืžืชืื™ืžื™ื;
  • ื”ืขื‘ืจืช ื”ื’ื“ืจื•ืช ืœืžืกื“ ื”ื ืชื•ื ื™ื ืฉืœ ืฉืจืช ื”ื”ืชืงื ื” ื‘ืืžืฆืขื•ืช ื—ืœืง ื”ืœืงื•ื—.

ื’ื™ืœื™ื ื• ืื™ืš:

  • ื”ืฉืจืช ื”ืžื•ืชืงืŸ ืžืงื‘ืœ ืืช ื”ื”ื’ื“ืจื•ืช ื”ื“ืจื•ืฉื•ืช ืžืžืกื“ ื”ื ืชื•ื ื™ื;
  • ื›ืœ ื”ืชืงื“ืžื•ืช ื”ื”ื›ื ื” ืžืชื•ืขื“ืช ื‘ืžืกื“ ื”ื ืชื•ื ื™ื (ื™ื•ืžื ื™ื, ืื™ืจื•ืขื™ื, ื“ื’ืœื™ ื‘ืžื”).

ืžื” ืœื’ื‘ื™ ืกื•ื’ื™ ื”ืชื•ื›ื ื” ื”ืฉื•ื ื™ื ืฉืืชื” ืžืชืงื™ืŸ? ื›ื™ืฆื“ ืœื”ืชืงื™ืŸ hypervisor, ืœื”ืขืชื™ืง VM ื•ืœื”ื’ื“ื™ืจ ืืช ื”ื›ืœ?

ื‘ืžืงืจื” ืฉืœ ืคืจื™ืกืช ืชืžื•ื ืช ืžืขืจื›ืช ืงื‘ืฆื™ื (ืœื™ื ื•ืงืก) ืœื—ื•ืžืจื”, ื”ื›ืœ ื“ื™ ืคืฉื•ื˜:

  • ืœืื—ืจ ื”ื’ื“ืจืช ื›ืœ ืจื›ื™ื‘ื™ ื”ืฉืจืช, ืื ื• ืคื•ืจืกื™ื ืืช ื”ืชืžื•ื ื”.
  • ื”ืชืงืŸ ืืช ื˜ื•ืขืŸ ื”ืืชื—ื•ืœ grub.
  • ืื ื• ื›ื•ืจื˜ื™ื ื•ืžื’ื“ื™ืจื™ื ืืช ื›ืœ ืžื” ืฉืฆืจื™ืš.

ื›ื™ืฆื“ ืœื”ืขื‘ื™ืจ ืืช ื”ืฉืœื™ื˜ื” ืœืžืชืงื™ืŸ ืžืขืจื›ืช ื”ื”ืคืขืœื” (ื‘ืืžืฆืขื•ืช ESXi ื›ื“ื•ื’ืžื”).

  • ืื ื• ืžืืจื’ื ื™ื ืืช ื”ืขื‘ืจืช ื”ืฉืœื™ื˜ื” ืžื”ืกืงืจื™ืคื˜ ืฉืœื ื• ืœืžืชืงื™ืŸ ื”-Hypervisor ื‘ืืžืฆืขื•ืช ืงื•ื‘ืฅ ื”ืชื’ื•ื‘ื” ื”ืื•ื˜ื•ืžื˜ื™ืช (kickstart):
  • ืื ื• ืžื•ื—ืงื™ื ืืช ื”ืžื—ื™ืฆื•ืช ื”ื ื•ื›ื—ื™ื•ืช ื‘ื“ื™ืกืง.
  • ืฆื•ืจ ืžื—ื™ืฆื” ื‘ื’ื•ื“ืœ ืฉืœ 500MB.
  • ืื ื• ืžืกืžื ื™ื ืื•ืชื• ื›ื ื™ืชืŸ ืœืืชื—ื•ืœ.
  • ืคื•ืจืžื˜ ืœ-FAT32.
  • ืื ื• ืžืขืชื™ืงื™ื ืืช ืงื‘ืฆื™ ื”ื”ืชืงื ื” ืฉืœ ESXi ืœืฉื•ืจืฉ.
  • ื”ืชืงื ืช 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

ื‘ืฉืœื‘ ื–ื”, ื”-Hypervisor ืžื•ืชืงืŸ ื•ืžื•ื’ื“ืจ, ื•ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ืžื•ืขืชืงื•ืช.

ื›ื™ืฆื“ ืœื”ื’ื“ื™ืจ ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช ื›ืขืช?

ืจื™ืžื™ืชื ื• ืงืฆืช: ื‘ืžื”ืœืš ื”ื”ืชืงื ื” ื”ื’ื“ืจื ื• ืืช ื”ืคืจืžื˜ืจ guestinfo.esxihost.id = "$SYSSN" ื‘ืงื•ื‘ืฅ VM1.vmx ื•ืฆื™ื™ื ื• ืืช ื”ืžืกืคืจ ื”ืกื™ื“ื•ืจื™ ืฉืœ ื”ืฉืจืช ื”ืคื™ื–ื™ ืฉื‘ื•.

ื›ืขืช, ืœืื—ืจ ื”ื”ืคืขืœื”, ื”ืžื—ืฉื‘ ื”ื•ื™ืจื˜ื•ืืœื™ (ืขื ื—ื‘ื™ืœืช vmware-tools ืžื•ืชืงื ืช) ื™ื›ื•ืœ ืœื’ืฉืช ืœืคืจืžื˜ืจ ื–ื”:

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

ื›ืœื•ืžืจ, ื”-VM ื™ื•ื›ืœ ืœื–ื”ื•ืช ืืช ืขืฆืžื• (ื”ื•ื ื™ื•ื“ืข ืืช ื”ืžืกืคืจ ื”ืกื™ื“ื•ืจื™ ืฉืœ ื”ืžืืจื— ื”ืคื™ื–ื™), ืœื‘ืฆืข ื‘ืงืฉื” ืœืžืกื“ ื”ื ืชื•ื ื™ื ืฉืœ ืฉืจืช ื”ื”ืชืงื ื” ื•ืœืงื‘ืœ ืืช ื”ืคืจืžื˜ืจื™ื ืฉืฆืจื™ืš ืœื”ื’ื“ื™ืจ. ื›ืœ ื–ื” ืžื•ืจื›ื‘ ืœืชื•ืš ืกืงืจื™ืคื˜, ืฉืืžื•ืจ ืœื”ื™ื•ืช ืžื•ืคืขืœ ืื•ื˜ื•ืžื˜ื™ืช ื›ืืฉืจ guestos vm ืžืชื—ื™ืœ (ืื‘ืœ ืคืขื ืื—ืช: RunOnce).

ืขื›ืฉื™ื• ืื ื—ื ื• ื™ื•ื“ืขื™ื ืื™ืš:

  • ืืชื—ื•ืœ ื”ืฉืจืช ื‘ืืžืฆืขื•ืช PXE;
  • ืœื”ืขื‘ื™ืจ ืืช ื”ืฉืœื™ื˜ื” ืœืชืกืจื™ื˜ ืฉืœื ื•;
  • ืœื–ื”ื•ืช ืืช ื”ืฉืจืช ืฉื™ืฉ ืœื”ื›ื™ืŸ ืœืคื™ ื”ืžืกืคืจ ื”ืกื™ื“ื•ืจื™ ืฉืœื•;
  • ืœื”ื’ื“ื™ืจ ืืช ื”ืฉืจืช ื‘ืืžืฆืขื•ืช ื›ืœื™ ื”ืฉื™ืจื•ืช ื”ืžืชืื™ืžื™ื;
  • ื”ืขื‘ืจืช ื”ื’ื“ืจื•ืช ืœืžืกื“ ื”ื ืชื•ื ื™ื ืฉืœ ืฉืจืช ื”ื”ืชืงื ื” ื‘ืืžืฆืขื•ืช ื—ืœืง ื”ืœืงื•ื—;
  • ืœื”ื’ื“ื™ืจ ืกื•ื’ื™ื ืฉื•ื ื™ื ืฉืœ ืชื•ื›ื ื•ืช, ื›ื•ืœืœ ืคืจื™ืกืช ื”-esxi hypervisor ื•ื”ื’ื“ืจืช ืžื›ื•ื ื•ืช ื•ื™ืจื˜ื•ืืœื™ื•ืช (ื”ื›ืœ ื‘ืื•ืคืŸ ืื•ื˜ื•ืžื˜ื™).

ื’ื™ืœื™ื ื• ืื™ืš:

  • ื”ืฉืจืช ื”ืžื•ืชืงืŸ ืžืงื‘ืœ ืืช ื”ื”ื’ื“ืจื•ืช ื”ื“ืจื•ืฉื•ืช ืžืžืกื“ ื”ื ืชื•ื ื™ื;
  • ื›ืœ ื”ืชืงื“ืžื•ืช ื”ื”ื›ื ื” ืžืชื•ืขื“ืช ื‘ืžืกื“ ื”ื ืชื•ื ื™ื (ื™ื•ืžื ื™ื, ืื™ืจื•ืขื™ื, ื“ื’ืœื™ ื‘ืžื”).


ื”ืฉื•ืจื” ื”ืชื—ืชื•ื ื”:

ืื ื™ ืžืืžื™ืŸ ืฉื™ื™ื—ื•ื“ื• ืฉืœ ืคืชืจื•ืŸ ื–ื” ื˜ืžื•ืŸ ื‘ื’ืžื™ืฉื•ืช, ื‘ืคืฉื˜ื•ืช, ื‘ื™ื›ื•ืœื•ืช ื•ื‘ืจื‘ื’ื•ื ื™ื•ืช ืฉืœื•.

ืื ื ื›ืชื‘ื• ื‘ืชื’ื•ื‘ื•ืช ืžื” ื“ืขืชื›ื.

ืžืงื•ืจ: www.habr.com

ื”ื•ืกืคืช ืชื’ื•ื‘ื”