ಡು-ಇಟ್-ನೀವೇ ಬೇರ್-ಮೆಟಲ್ ಪ್ರೊವಿಶನಿಂಗ್, ಅಥವಾ ಮೊದಲಿನಿಂದ ಸರ್ವರ್‌ಗಳ ಸ್ವಯಂಚಾಲಿತ ತಯಾರಿಕೆ

ಹಲೋ, ನಾನು ಡೆನಿಸ್ ಮತ್ತು ನನ್ನ ಚಟುವಟಿಕೆಯ ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ X5 ನಲ್ಲಿ ಮೂಲಸೌಕರ್ಯ ಪರಿಹಾರಗಳ ಅಭಿವೃದ್ಧಿ. ಸಾರ್ವಜನಿಕವಾಗಿ ಲಭ್ಯವಿರುವ ಪರಿಕರಗಳ ಆಧಾರದ ಮೇಲೆ ನೀವು ಸ್ವಯಂಚಾಲಿತ ಸರ್ವರ್ ತಯಾರಿ ವ್ಯವಸ್ಥೆಯನ್ನು ಹೇಗೆ ನಿಯೋಜಿಸಬಹುದು ಎಂಬುದನ್ನು ಇಂದು ನಾನು ನಿಮ್ಮೊಂದಿಗೆ ಹಂಚಿಕೊಳ್ಳಲು ಬಯಸುತ್ತೇನೆ. ನನ್ನ ಅಭಿಪ್ರಾಯದಲ್ಲಿ, ಇದು ಆಸಕ್ತಿದಾಯಕ, ಸರಳ ಮತ್ತು ಹೊಂದಿಕೊಳ್ಳುವ ಪರಿಹಾರವಾಗಿದೆ.

ಡು-ಇಟ್-ನೀವೇ ಬೇರ್-ಮೆಟಲ್ ಪ್ರೊವಿಶನಿಂಗ್, ಅಥವಾ ಮೊದಲಿನಿಂದ ಸರ್ವರ್‌ಗಳ ಸ್ವಯಂಚಾಲಿತ ತಯಾರಿಕೆ

ತಯಾರಿಕೆಯ ಮೂಲಕ ನಾವು ಅರ್ಥೈಸಿಕೊಳ್ಳುತ್ತೇವೆ: ಬಾಕ್ಸ್‌ನಿಂದ ಹೊಸ ಸರ್ವರ್ ಅನ್ನು OS ನೊಂದಿಗೆ ಸಂಪೂರ್ಣವಾಗಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಿದ ಸರ್ವರ್ ಆಗಿ ಪರಿವರ್ತಿಸಿ. Linux ಅಥವಾ ESXi ಹೈಪರ್‌ವೈಸರ್‌ನೊಂದಿಗೆ (ವಿಂಡೋಸ್ ಸರ್ವರ್‌ಗಳ ನಿಯೋಜನೆಯನ್ನು ಈ ಲೇಖನದಲ್ಲಿ ಚರ್ಚಿಸಲಾಗಿಲ್ಲ).

ನಿಯಮಗಳು:

  • ಸರ್ವರ್‌ಗಳು - ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾದ ಸರ್ವರ್‌ಗಳು.
  • ನೆಟ್‌ವರ್ಕ್‌ನಲ್ಲಿ ಸಂಪೂರ್ಣ ತಯಾರಿ ಪ್ರಕ್ರಿಯೆಯನ್ನು ಒದಗಿಸುವ ಮುಖ್ಯ ಸರ್ವರ್ ಅನುಸ್ಥಾಪನಾ ಸರ್ವರ್ ಆಗಿದೆ.

ಯಾಂತ್ರೀಕೃತಗೊಂಡ ಏಕೆ ಬೇಕು?

ಒಂದು ಕಾರ್ಯವಿದೆ ಎಂದು ಹೇಳೋಣ: ಮೊದಲಿನಿಂದಲೂ ಸರ್ವರ್‌ಗಳನ್ನು ಬೃಹತ್ ಪ್ರಮಾಣದಲ್ಲಿ ತಯಾರಿಸಲು, ಗರಿಷ್ಠ - ದಿನಕ್ಕೆ 30. ವಿಭಿನ್ನ ತಯಾರಕರು ಮತ್ತು ಮಾದರಿಗಳ ಸರ್ವರ್‌ಗಳು, ವಿಭಿನ್ನ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್‌ಗಳನ್ನು ಅವುಗಳ ಮೇಲೆ ಸ್ಥಾಪಿಸಬಹುದು ಮತ್ತು ಹೈಪರ್‌ವೈಸರ್ ಹೊಂದಿರಬಹುದು ಅಥವಾ ಇಲ್ಲದಿರಬಹುದು.

ಸೆಟಪ್ ಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ಯಾವ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಸೇರಿಸಲಾಗಿದೆ (ಯಾಂತ್ರೀಕೃತಗೊಂಡಿಲ್ಲದೆ):

  • ಕೀಬೋರ್ಡ್, ಮೌಸ್, ಮಾನಿಟರ್ ಅನ್ನು ಸರ್ವರ್‌ಗೆ ಸಂಪರ್ಕಿಸಿ;
  • BIOS, RAID, IPMI ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ;
  • ಘಟಕ ಫರ್ಮ್ವೇರ್ ಅನ್ನು ನವೀಕರಿಸಿ;
  • ಫೈಲ್ ಸಿಸ್ಟಮ್ ಇಮೇಜ್ ಅನ್ನು ನಿಯೋಜಿಸಿ (ಅಥವಾ ಹೈಪರ್ವೈಸರ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿ ಮತ್ತು ವರ್ಚುವಲ್ ಯಂತ್ರಗಳನ್ನು ನಕಲಿಸಿ);

ಸೂಚನೆ. ಪರ್ಯಾಯವಾಗಿ, ಸ್ವಯಂ-ಪ್ರತಿಕ್ರಿಯೆ ಫೈಲ್‌ನೊಂದಿಗೆ ಅನುಸ್ಥಾಪನೆಯ ಮೂಲಕ OS ನಿಯೋಜನೆಯು ಸಾಧ್ಯ. ಆದರೆ ಇದನ್ನು ಲೇಖನದಲ್ಲಿ ಚರ್ಚಿಸಲಾಗುವುದಿಲ್ಲ. ಈ ಕಾರ್ಯವನ್ನು ಸೇರಿಸುವುದು ಕಷ್ಟವೇನಲ್ಲ ಎಂದು ನೀವು ಕೆಳಗೆ ನೋಡುತ್ತೀರಿ.

  • OS ನಿಯತಾಂಕಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ (ಹೋಸ್ಟ್ ಹೆಸರು, IP, ಇತ್ಯಾದಿ).

ಈ ವಿಧಾನದೊಂದಿಗೆ, ಪ್ರತಿ ಸರ್ವರ್ನಲ್ಲಿ ಅದೇ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಅನುಕ್ರಮವಾಗಿ ನಿರ್ವಹಿಸಲಾಗುತ್ತದೆ. ಅಂತಹ ಕೆಲಸದ ದಕ್ಷತೆಯು ತುಂಬಾ ಕಡಿಮೆಯಾಗಿದೆ.

ಸರ್ವರ್ ತಯಾರಿಕೆಯ ಪ್ರಕ್ರಿಯೆಯಿಂದ ಮಾನವ ಭಾಗವಹಿಸುವಿಕೆಯನ್ನು ತೊಡೆದುಹಾಕುವುದು ಯಾಂತ್ರೀಕೃತಗೊಂಡ ಮೂಲತತ್ವವಾಗಿದೆ. ಸಾಧ್ಯವಾದಷ್ಟು.

ಆಟೊಮೇಷನ್ ಕಾರ್ಯಾಚರಣೆಗಳ ನಡುವಿನ ಅಲಭ್ಯತೆಯನ್ನು ಕಡಿಮೆ ಮಾಡುತ್ತದೆ ಮತ್ತು ಏಕಕಾಲದಲ್ಲಿ ಬಹು ಸರ್ವರ್‌ಗಳನ್ನು ಒದಗಿಸುವುದನ್ನು ಸಾಧ್ಯವಾಗಿಸುತ್ತದೆ. ಮಾನವ ಅಂಶಗಳಿಂದಾಗಿ ದೋಷಗಳ ಸಾಧ್ಯತೆಯು ಬಹಳ ಕಡಿಮೆಯಾಗಿದೆ.

ಡು-ಇಟ್-ನೀವೇ ಬೇರ್-ಮೆಟಲ್ ಪ್ರೊವಿಶನಿಂಗ್, ಅಥವಾ ಮೊದಲಿನಿಂದ ಸರ್ವರ್‌ಗಳ ಸ್ವಯಂಚಾಲಿತ ತಯಾರಿಕೆ

ಸರ್ವರ್‌ಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಹೇಗೆ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ?

ಎಲ್ಲಾ ಹಂತಗಳನ್ನು ವಿವರವಾಗಿ ವಿಶ್ಲೇಷಿಸೋಣ.

ನೀವು PXE ಅನುಸ್ಥಾಪನ ಸರ್ವರ್ ಆಗಿ ಬಳಸುವ Linux ಸರ್ವರ್ ಅನ್ನು ಹೊಂದಿರುವಿರಿ. ಸೇವೆಗಳನ್ನು ಸ್ಥಾಪಿಸಲಾಗಿದೆ ಮತ್ತು ಅದರ ಮೇಲೆ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ: DHCP, TFTP.

ಆದ್ದರಿಂದ, ನಾವು PXE ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು (ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾಗಿದೆ) ಬೂಟ್ ಮಾಡುತ್ತೇವೆ. ಇದು ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ ಎಂಬುದನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳೋಣ:

  • ನೆಟ್‌ವರ್ಕ್ ಬೂಟ್ ಅನ್ನು ಸರ್ವರ್‌ನಲ್ಲಿ ಆಯ್ಕೆಮಾಡಲಾಗಿದೆ.
  • ಸರ್ವರ್ ನೆಟ್ವರ್ಕ್ ಕಾರ್ಡ್ನ PXE-ROM ಅನ್ನು ಲೋಡ್ ಮಾಡುತ್ತದೆ ಮತ್ತು ನೆಟ್ವರ್ಕ್ ವಿಳಾಸವನ್ನು ಪಡೆಯಲು DHCP ಮೂಲಕ ಅನುಸ್ಥಾಪನಾ ಸರ್ವರ್ ಅನ್ನು ಸಂಪರ್ಕಿಸುತ್ತದೆ.
  • DHCP ಅನುಸ್ಥಾಪನಾ ಸರ್ವರ್ ವಿಳಾಸವನ್ನು ನೀಡುತ್ತದೆ, ಜೊತೆಗೆ PXE ಮೂಲಕ ಮತ್ತಷ್ಟು ಡೌನ್‌ಲೋಡ್ ಮಾಡಲು ಸೂಚನೆಗಳನ್ನು ನೀಡುತ್ತದೆ.
  • PXE ಮೂಲಕ ಅನುಸ್ಥಾಪನಾ ಪರಿಚಾರಕದಿಂದ ನೆಟ್‌ವರ್ಕ್ ಬೂಟ್‌ಲೋಡರ್ ಅನ್ನು ಸರ್ವರ್ ಲೋಡ್ ಮಾಡುತ್ತದೆ, PXE ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್ ಪ್ರಕಾರ ಮತ್ತಷ್ಟು ಲೋಡ್ ಆಗುತ್ತದೆ.
  • ಸ್ವೀಕರಿಸಿದ ನಿಯತಾಂಕಗಳನ್ನು ಆಧರಿಸಿ ಬೂಟ್ ಸಂಭವಿಸುತ್ತದೆ (ಕರ್ನಲ್, initramfs, ಮೌಂಟ್ ಪಾಯಿಂಟ್ಗಳು, ಸ್ಕ್ವಾಶ್ಫ್ಸ್ ಚಿತ್ರ, ಇತ್ಯಾದಿ.).

ಸೂಚನೆ. ಲೇಖನವು BIOS ಮೋಡ್ ಮೂಲಕ PXE ಮೂಲಕ ಬೂಟ್ ಮಾಡುವುದನ್ನು ವಿವರಿಸುತ್ತದೆ. ಪ್ರಸ್ತುತ, ತಯಾರಕರು 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=”…”

ಈ ಹಂತದಲ್ಲಿ ಕರ್ನಲ್ ಮತ್ತು initramf ಗಳು ಮಧ್ಯಂತರ ಲಿನಕ್ಸ್ ಚಿತ್ರವಾಗಿದ್ದು, ಇದರ ಸಹಾಯದಿಂದ ಸರ್ವರ್‌ನ ಮುಖ್ಯ ತಯಾರಿ ಮತ್ತು ಸಂರಚನೆಯು ನಡೆಯುತ್ತದೆ.

ನೀವು ನೋಡುವಂತೆ, ಬೂಟ್ಲೋಡರ್ ಅನೇಕ ನಿಯತಾಂಕಗಳನ್ನು ಕರ್ನಲ್ಗೆ ರವಾನಿಸುತ್ತದೆ. ಈ ಕೆಲವು ನಿಯತಾಂಕಗಳನ್ನು ಕರ್ನಲ್ ಸ್ವತಃ ಬಳಸುತ್ತದೆ. ಮತ್ತು ನಾವು ಕೆಲವು ನಮ್ಮ ಸ್ವಂತ ಉದ್ದೇಶಗಳಿಗಾಗಿ ಬಳಸಬಹುದು. ಇದನ್ನು ನಂತರ ಚರ್ಚಿಸಲಾಗುವುದು, ಆದರೆ ಈಗ ನೀವು ಎಲ್ಲಾ ಪಾಸ್ ಮಾಡಲಾದ ನಿಯತಾಂಕಗಳು ಮಧ್ಯಂತರ ಲಿನಕ್ಸ್ ಚಿತ್ರದಲ್ಲಿ /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

ಆದ್ದರಿಂದ ನಾವು ಲೋಡ್ ಮಾಡಬೇಕಾದ ಕರ್ನಲ್ ಮತ್ತು initramf ಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ್ದೇವೆ. ಪರಿಣಾಮವಾಗಿ, ಈ ಹಂತದಲ್ಲಿ, ಮಧ್ಯಂತರ ಲಿನಕ್ಸ್ ಚಿತ್ರವನ್ನು PXE ಮೂಲಕ ಲೋಡ್ ಮಾಡುವ ಮೂಲಕ, ನಾವು OS ಕನ್ಸೋಲ್ ಅನ್ನು ಸ್ವೀಕರಿಸುತ್ತೇವೆ.

ಅದ್ಭುತವಾಗಿದೆ, ಆದರೆ ಈಗ ನಾವು ನಿಯಂತ್ರಣವನ್ನು ನಮ್ಮ "ಯಾಂತ್ರೀಕೃತಗೊಳಿಸುವಿಕೆ" ಗೆ ವರ್ಗಾಯಿಸಬೇಕಾಗಿದೆ.

ಇದನ್ನು ಈ ರೀತಿ ಮಾಡಬಹುದು.

ಚಿತ್ರವನ್ನು ಲೋಡ್ ಮಾಡಿದ ನಂತರ ನಾವು ನಿಯಂತ್ರಣವನ್ನು 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 ಸ್ಕ್ರಿಪ್ಟ್‌ಗೆ ವರ್ಗಾಯಿಸುತ್ತದೆ.

ಸ್ಕ್ರಿಪ್ಟ್ ಟ್ರೀ (ಅವುಗಳನ್ನು ಪ್ರಾರಂಭಿಸುವ ಕ್ರಮ) ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

  • ಮಾಸ್ಟರ್-ಸ್ಥಾಪನೆ
  • ಹಂಚಿಕೆ ಕಾರ್ಯಗಳು (ಹಂಚಿದ ಕಾರ್ಯಗಳು)
  • ಮಾಹಿತಿ (ಮಾಹಿತಿ ಔಟ್ಪುಟ್)
  • ಮಾದರಿಗಳು (ಸರ್ವರ್ ಮಾದರಿಯ ಆಧಾರದ ಮೇಲೆ ಅನುಸ್ಥಾಪನಾ ನಿಯತಾಂಕಗಳನ್ನು ಹೊಂದಿಸುವುದು)
  • ತಯಾರಿ_ಯುಟಿಲ್ಸ್ (ಅಗತ್ಯ ಉಪಯುಕ್ತತೆಗಳ ಸ್ಥಾಪನೆ)
  • fwupdate (ಫರ್ಮ್‌ವೇರ್ ಅಪ್‌ಡೇಟ್)
  • ಡಯಾಗ್ (ಪ್ರಾಥಮಿಕ ರೋಗನಿರ್ಣಯ)
  • biosconf (BIOS/UEFI ಸೆಟ್ಟಿಂಗ್‌ಗಳು)
  • ಕ್ಲಾಕ್ಫಿಕ್ಸ್ (ಮದರ್ಬೋರ್ಡ್ನಲ್ಲಿ ಸಮಯವನ್ನು ಹೊಂದಿಸುವುದು)
  • srmconf (ರಿಮೋಟ್ ಇಂಟರ್ಫೇಸ್ ಇಂಟರ್ಫೇಸ್ ಕಾನ್ಫಿಗರೇಶನ್)
  • raidconf (ತಾರ್ಕಿಕ ಸಂಪುಟಗಳನ್ನು ಸಂರಚಿಸುವುದು)

ಅವುಗಳಲ್ಲಿ ಒಂದು:

  • ಪೂರ್ವಸ್ಥಾಪನೆ (ESXi ನಂತಹ OS ಅಥವಾ ಹೈಪರ್ವೈಸರ್ ಅನುಸ್ಥಾಪಕಕ್ಕೆ ನಿಯಂತ್ರಣವನ್ನು ವರ್ಗಾಯಿಸುವುದು)
  • ವಿಲೀನ-ಸ್ಥಾಪನೆ (ಚಿತ್ರವನ್ನು ಅನ್ಪ್ಯಾಕ್ ಮಾಡುವ ತಕ್ಷಣದ ಪ್ರಾರಂಭ)

ಈಗ ನಮಗೆ ತಿಳಿದಿದೆ:

  • PXE ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಬೂಟ್ ಮಾಡುವುದು ಹೇಗೆ;
  • ನಿಮ್ಮ ಸ್ವಂತ ಸ್ಕ್ರಿಪ್ಟ್‌ಗೆ ನಿಯಂತ್ರಣವನ್ನು ಹೇಗೆ ವರ್ಗಾಯಿಸುವುದು.


ಮುಂದುವರೆಸೋಣ. ಕೆಳಗಿನ ಪ್ರಶ್ನೆಗಳು ಪ್ರಸ್ತುತವಾಗಿವೆ:

  • ನಾವು ಸಿದ್ಧಪಡಿಸುತ್ತಿರುವ ಸರ್ವರ್ ಅನ್ನು ಹೇಗೆ ಗುರುತಿಸುವುದು?
  • ಯಾವ ಉಪಯುಕ್ತತೆಗಳು ಮತ್ತು ಸರ್ವರ್ ಅನ್ನು ಹೇಗೆ ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು?
  • ನಿರ್ದಿಷ್ಟ ಸರ್ವರ್‌ಗಾಗಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಹೇಗೆ ಪಡೆಯುವುದು?

ನಾವು ಸಿದ್ಧಪಡಿಸುತ್ತಿರುವ ಸರ್ವರ್ ಅನ್ನು ಹೇಗೆ ಗುರುತಿಸುವುದು?

ಇದು ಸರಳವಾಗಿದೆ - DMI:

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

ನಿಮಗೆ ಬೇಕಾದ ಎಲ್ಲವೂ ಇಲ್ಲಿದೆ: ಮಾರಾಟಗಾರ, ಮಾದರಿ, ಸರಣಿ ಸಂಖ್ಯೆ. ಈ ಮಾಹಿತಿಯು ಎಲ್ಲಾ ಸರ್ವರ್‌ಗಳಲ್ಲಿದೆ ಎಂದು ನಿಮಗೆ ಖಚಿತವಿಲ್ಲದಿದ್ದರೆ, ನೀವು ಅವರ MAC ವಿಳಾಸದಿಂದ ಅವುಗಳನ್ನು ಗುರುತಿಸಬಹುದು. ಅಥವಾ ಅದೇ ಸಮಯದಲ್ಲಿ ಎರಡೂ ರೀತಿಯಲ್ಲಿ, ಸರ್ವರ್ ಮಾರಾಟಗಾರರು ವಿಭಿನ್ನವಾಗಿದ್ದರೆ ಮತ್ತು ಕೆಲವು ಮಾದರಿಗಳಲ್ಲಿ ಸರಣಿ ಸಂಖ್ಯೆಯ ಬಗ್ಗೆ ಯಾವುದೇ ಮಾಹಿತಿಯಿಲ್ಲ.

ಸ್ವೀಕರಿಸಿದ ಮಾಹಿತಿಯ ಆಧಾರದ ಮೇಲೆ, ನೆಟ್ವರ್ಕ್ ಫೋಲ್ಡರ್ಗಳನ್ನು ಅನುಸ್ಥಾಪನಾ ಸರ್ವರ್ನಿಂದ ಜೋಡಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಅಗತ್ಯವಿರುವ ಎಲ್ಲವನ್ನೂ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ (ಉಪಯುಕ್ತತೆಗಳು, ಫರ್ಮ್ವೇರ್, ಇತ್ಯಾದಿ).

ಯಾವ ಉಪಯುಕ್ತತೆಗಳು ಮತ್ತು ಸರ್ವರ್ ಅನ್ನು ಹೇಗೆ ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು?

ನಾನು ಕೆಲವು ತಯಾರಕರಿಗೆ Linux ಗಾಗಿ ಉಪಯುಕ್ತತೆಗಳನ್ನು ಒದಗಿಸುತ್ತೇನೆ. ಎಲ್ಲಾ ಉಪಯುಕ್ತತೆಗಳು ಮಾರಾಟಗಾರರ ಅಧಿಕೃತ ವೆಬ್‌ಸೈಟ್‌ಗಳಲ್ಲಿ ಲಭ್ಯವಿದೆ.

ಡು-ಇಟ್-ನೀವೇ ಬೇರ್-ಮೆಟಲ್ ಪ್ರೊವಿಶನಿಂಗ್, ಅಥವಾ ಮೊದಲಿನಿಂದ ಸರ್ವರ್‌ಗಳ ಸ್ವಯಂಚಾಲಿತ ತಯಾರಿಕೆ

ಫರ್ಮ್ವೇರ್ನೊಂದಿಗೆ, ಎಲ್ಲವೂ ಸ್ಪಷ್ಟವಾಗಿದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ. ಅವು ಸಾಮಾನ್ಯವಾಗಿ ಪ್ಯಾಕೇಜ್ ಮಾಡಲಾದ ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್‌ಗಳ ರೂಪದಲ್ಲಿ ಬರುತ್ತವೆ. ಕಾರ್ಯಗತಗೊಳಿಸಬಹುದಾದ ಫೈಲ್ ಫರ್ಮ್‌ವೇರ್ ನವೀಕರಣ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಿಯಂತ್ರಿಸುತ್ತದೆ ಮತ್ತು ರಿಟರ್ನ್ ಕೋಡ್ ಅನ್ನು ವರದಿ ಮಾಡುತ್ತದೆ.

BIOS ಮತ್ತು IPMI ಅನ್ನು ಸಾಮಾನ್ಯವಾಗಿ ಟೆಂಪ್ಲೇಟ್‌ಗಳ ಮೂಲಕ ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗುತ್ತದೆ. ಅಗತ್ಯವಿದ್ದರೆ, ಡೌನ್‌ಲೋಡ್ ಮಾಡುವ ಮೊದಲು ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಸಂಪಾದಿಸಬಹುದು.

ಕೆಲವು ಮಾರಾಟಗಾರರಿಂದ RAID ಉಪಯುಕ್ತತೆಗಳನ್ನು ಸಹ ಟೆಂಪ್ಲೇಟ್ ಬಳಸಿ ಕಾನ್ಫಿಗರ್ ಮಾಡಬಹುದು. ಇದು ಹಾಗಲ್ಲದಿದ್ದರೆ, ನೀವು ಕಾನ್ಫಿಗರೇಶನ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಬರೆಯಬೇಕಾಗುತ್ತದೆ.

RAID ಅನ್ನು ಹೊಂದಿಸುವ ವಿಧಾನವು ಹೆಚ್ಚಾಗಿ ಈ ಕೆಳಗಿನಂತಿರುತ್ತದೆ:

  • ನಾವು ಪ್ರಸ್ತುತ ಸಂರಚನೆಯನ್ನು ವಿನಂತಿಸುತ್ತೇವೆ.
  • ಈಗಾಗಲೇ ತಾರ್ಕಿಕ ಅರೇಗಳು ಇದ್ದರೆ, ನಾವು ಅವುಗಳನ್ನು ಅಳಿಸುತ್ತೇವೆ.
  • ಯಾವ ಭೌತಿಕ ಡಿಸ್ಕ್ಗಳಿವೆ ಮತ್ತು ಎಷ್ಟು ಇವೆ ಎಂದು ನೋಡೋಣ.
  • ಹೊಸ ತಾರ್ಕಿಕ ಶ್ರೇಣಿಯನ್ನು ರಚಿಸಿ. ದೋಷದ ಸಂದರ್ಭದಲ್ಲಿ ನಾವು ಪ್ರಕ್ರಿಯೆಯನ್ನು ಅಡ್ಡಿಪಡಿಸುತ್ತೇವೆ.

ನಿರ್ದಿಷ್ಟ ಸರ್ವರ್‌ಗಾಗಿ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಹೇಗೆ ಪಡೆಯುವುದು?

ಎಲ್ಲಾ ಸರ್ವರ್‌ಗಳ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಅನುಸ್ಥಾಪನಾ ಸರ್ವರ್‌ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲಾಗುತ್ತದೆ ಎಂದು ಭಾವಿಸೋಣ. ಈ ಸಂದರ್ಭದಲ್ಲಿ, ನಮ್ಮ ಪ್ರಶ್ನೆಗೆ ಉತ್ತರಿಸಲು, ಅನುಸ್ಥಾಪನಾ ಸರ್ವರ್ಗೆ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ಹೇಗೆ ವರ್ಗಾಯಿಸಬೇಕು ಎಂಬುದನ್ನು ನಾವು ಮೊದಲು ನಿರ್ಧರಿಸಬೇಕು.

ಮೊದಲಿಗೆ, ನೀವು ಪಠ್ಯ ಫೈಲ್ಗಳೊಂದಿಗೆ ಪಡೆಯಬಹುದು. (ಭವಿಷ್ಯದಲ್ಲಿ, ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ವರ್ಗಾಯಿಸಲು ನೀವು ಪಠ್ಯ ಫೈಲ್ ಅನ್ನು ಫಾಲ್‌ಬ್ಯಾಕ್ ವಿಧಾನವಾಗಿ ಬಳಸಲು ಬಯಸಬಹುದು.)

ನೀವು ಅನುಸ್ಥಾಪನಾ ಸರ್ವರ್‌ನಲ್ಲಿ ಪಠ್ಯ ಫೈಲ್ ಅನ್ನು "ಹಂಚಿಕೊಳ್ಳಬಹುದು". ಮತ್ತು ಅದರ ಮೌಂಟ್ ಅನ್ನು mount.sh ಸ್ಕ್ರಿಪ್ಟ್‌ಗೆ ಸೇರಿಸಿ.

ಸಾಲುಗಳು, ಉದಾಹರಣೆಗೆ, ಈ ರೀತಿ ಕಾಣುತ್ತವೆ:

<ಸರಣಿ ಸಂಖ್ಯೆ> <ಹೋಸ್ಟ್ ಹೆಸರು> <ಉಪನೆಟ್>

ಈ ಸಾಲುಗಳನ್ನು ಎಂಜಿನಿಯರ್ ತನ್ನ ಕೆಲಸದ ಯಂತ್ರದಿಂದ ಫೈಲ್‌ಗೆ ವರ್ಗಾಯಿಸುತ್ತಾರೆ. ತದನಂತರ, ಸರ್ವರ್ ಅನ್ನು ಹೊಂದಿಸುವಾಗ, ನಿರ್ದಿಷ್ಟ ಸರ್ವರ್‌ನ ನಿಯತಾಂಕಗಳನ್ನು ಫೈಲ್‌ನಿಂದ ಓದಲಾಗುತ್ತದೆ.

ಆದರೆ, ದೀರ್ಘಾವಧಿಯಲ್ಲಿ, ಸೆಟ್ಟಿಂಗ್‌ಗಳು, ರಾಜ್ಯಗಳು ಮತ್ತು ಸರ್ವರ್ ಸ್ಥಾಪನೆಗಳ ಲಾಗ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು ಡೇಟಾಬೇಸ್ ಅನ್ನು ಬಳಸುವುದು ಉತ್ತಮ.

ಸಹಜವಾಗಿ, ಡೇಟಾಬೇಸ್ ಮಾತ್ರ ಸಾಕಾಗುವುದಿಲ್ಲ, ಮತ್ತು ಡೇಟಾಬೇಸ್‌ಗೆ ಯಾವ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ವರ್ಗಾಯಿಸಲಾಗುತ್ತದೆ ಎಂಬುದರ ಸಹಾಯದಿಂದ ನೀವು ಕ್ಲೈಂಟ್ ಭಾಗವನ್ನು ರಚಿಸಬೇಕಾಗುತ್ತದೆ. ಪಠ್ಯ ಫೈಲ್‌ಗೆ ಹೋಲಿಸಿದರೆ ಇದನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ಹೆಚ್ಚು ಕಷ್ಟ, ಆದರೆ ವಾಸ್ತವವಾಗಿ, ಎಲ್ಲವೂ ತೋರುತ್ತಿರುವಷ್ಟು ಕಷ್ಟವಲ್ಲ. ಕ್ಲೈಂಟ್‌ನ ಕನಿಷ್ಠ ಆವೃತ್ತಿಯನ್ನು ಬರೆಯಲು ಸಾಕಷ್ಟು ಸಾಧ್ಯವಿದೆ, ಅದು ಡೇಟಾವನ್ನು ನೀವೇ ಡೇಟಾಬೇಸ್‌ಗೆ ವರ್ಗಾಯಿಸುತ್ತದೆ. ಮತ್ತು ಭವಿಷ್ಯದಲ್ಲಿ ಕ್ಲೈಂಟ್ ಪ್ರೋಗ್ರಾಂ ಅನ್ನು ಉಚಿತ ಮೋಡ್‌ನಲ್ಲಿ ಸುಧಾರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ (ವರದಿಗಳು, ಮುದ್ರಣ ಲೇಬಲ್‌ಗಳು, ಅಧಿಸೂಚನೆಗಳನ್ನು ಕಳುಹಿಸುವುದು, ಇತ್ಯಾದಿ. ಮನಸ್ಸಿಗೆ ಬರುತ್ತದೆ).

ಡೇಟಾಬೇಸ್‌ಗೆ ನಿರ್ದಿಷ್ಟ ವಿನಂತಿಯನ್ನು ಮಾಡುವ ಮೂಲಕ ಮತ್ತು ಸರ್ವರ್ ಸರಣಿ ಸಂಖ್ಯೆಯನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸುವ ಮೂಲಕ, ಸರ್ವರ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ನಾವು ಅಗತ್ಯವಾದ ನಿಯತಾಂಕಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತೇವೆ.

ಜೊತೆಗೆ, ಪಠ್ಯ ಫೈಲ್‌ನಂತೆ ಏಕಕಾಲಿಕ ಪ್ರವೇಶಕ್ಕಾಗಿ ನಾವು ಲಾಕ್‌ಗಳೊಂದಿಗೆ ಬರುವ ಅಗತ್ಯವಿಲ್ಲ.

ನಾವು ಎಲ್ಲಾ ಹಂತಗಳಲ್ಲಿ ಡೇಟಾಬೇಸ್‌ಗೆ ಕಾನ್ಫಿಗರೇಶನ್ ಲಾಗ್ ಅನ್ನು ಬರೆಯಬಹುದು ಮತ್ತು ತಯಾರಿ ಹಂತಗಳ ಘಟನೆಗಳು ಮತ್ತು ಧ್ವಜಗಳ ಮೂಲಕ ಅನುಸ್ಥಾಪನ ಪ್ರಕ್ರಿಯೆಯನ್ನು ನಿಯಂತ್ರಿಸಬಹುದು.

ಹೇಗೆ ಎಂದು ಈಗ ನಮಗೆ ತಿಳಿದಿದೆ:

  • PXE ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಬೂಟ್ ಮಾಡಿ;
  • ನಿಯಂತ್ರಣವನ್ನು ನಮ್ಮ ಲಿಪಿಗೆ ವರ್ಗಾಯಿಸಿ;
  • ಅದರ ಸರಣಿ ಸಂಖ್ಯೆಯಿಂದ ಸಿದ್ಧಪಡಿಸಬೇಕಾದ ಸರ್ವರ್ ಅನ್ನು ಗುರುತಿಸಿ;
  • ಸೂಕ್ತವಾದ ಉಪಯುಕ್ತತೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸರ್ವರ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ;
  • ಕ್ಲೈಂಟ್ ಭಾಗವನ್ನು ಬಳಸಿಕೊಂಡು ಅನುಸ್ಥಾಪನಾ ಸರ್ವರ್ ಡೇಟಾಬೇಸ್ಗೆ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ವರ್ಗಾಯಿಸಿ.

ಹೇಗೆ ಎಂದು ನಾವು ಕಂಡುಕೊಂಡಿದ್ದೇವೆ:

  • ಸ್ಥಾಪಿಸಲಾದ ಸರ್ವರ್ ಡೇಟಾಬೇಸ್‌ನಿಂದ ಅಗತ್ಯ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಪಡೆಯುತ್ತದೆ;
  • ಎಲ್ಲಾ ತಯಾರಿಕೆಯ ಪ್ರಗತಿಯನ್ನು ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ದಾಖಲಿಸಲಾಗಿದೆ (ಲಾಗ್‌ಗಳು, ಘಟನೆಗಳು, ವೇದಿಕೆ ಧ್ವಜಗಳು).

ನೀವು ಸ್ಥಾಪಿಸಿದ ವಿವಿಧ ರೀತಿಯ ಸಾಫ್ಟ್‌ವೇರ್‌ಗಳ ಬಗ್ಗೆ ಏನು? ಹೈಪರ್ವೈಸರ್ ಅನ್ನು ಹೇಗೆ ಸ್ಥಾಪಿಸುವುದು, VM ಅನ್ನು ನಕಲಿಸುವುದು ಮತ್ತು ಎಲ್ಲವನ್ನೂ ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು ಹೇಗೆ?

ಹಾರ್ಡ್‌ವೇರ್‌ಗೆ ಫೈಲ್ ಸಿಸ್ಟಮ್ ಇಮೇಜ್ (ಲಿನಕ್ಸ್) ಅನ್ನು ನಿಯೋಜಿಸುವ ಸಂದರ್ಭದಲ್ಲಿ, ಎಲ್ಲವೂ ತುಂಬಾ ಸರಳವಾಗಿದೆ:

  • ಎಲ್ಲಾ ಸರ್ವರ್ ಘಟಕಗಳನ್ನು ಹೊಂದಿಸಿದ ನಂತರ, ನಾವು ಚಿತ್ರವನ್ನು ನಿಯೋಜಿಸುತ್ತೇವೆ.
  • ಗ್ರಬ್ ಬೂಟ್ಲೋಡರ್ ಅನ್ನು ಸ್ಥಾಪಿಸಿ.
  • ನಾವು ಅಗತ್ಯವಿರುವ ಎಲ್ಲವನ್ನೂ ಕ್ರೂಟ್ ಮಾಡುತ್ತೇವೆ ಮತ್ತು ಕಾನ್ಫಿಗರ್ ಮಾಡುತ್ತೇವೆ.

OS ಸ್ಥಾಪಕಕ್ಕೆ ನಿಯಂತ್ರಣವನ್ನು ಹೇಗೆ ವರ್ಗಾಯಿಸುವುದು (ESXi ಅನ್ನು ಉದಾಹರಣೆಯಾಗಿ ಬಳಸುವುದು).

  • ಸ್ವಯಂಚಾಲಿತ ಪ್ರತಿಕ್ರಿಯೆ ಫೈಲ್ (ಕಿಕ್‌ಸ್ಟಾರ್ಟ್) ಅನ್ನು ಬಳಸಿಕೊಂಡು ನಮ್ಮ ಸ್ಕ್ರಿಪ್ಟ್‌ನಿಂದ ಹೈಪರ್‌ವೈಸರ್ ಸ್ಥಾಪಕಕ್ಕೆ ನಿಯಂತ್ರಣದ ವರ್ಗಾವಣೆಯನ್ನು ನಾವು ಆಯೋಜಿಸುತ್ತೇವೆ:
  • ನಾವು ಡಿಸ್ಕ್ನಲ್ಲಿನ ಪ್ರಸ್ತುತ ವಿಭಾಗಗಳನ್ನು ಅಳಿಸುತ್ತೇವೆ.
  • 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

ಈ ಹಂತದಲ್ಲಿ, ಹೈಪರ್ವೈಸರ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲಾಗಿದೆ ಮತ್ತು ಕಾನ್ಫಿಗರ್ ಮಾಡಲಾಗಿದೆ, ಮತ್ತು ವರ್ಚುವಲ್ ಯಂತ್ರಗಳನ್ನು ನಕಲಿಸಲಾಗುತ್ತದೆ.

ಈಗ ವರ್ಚುವಲ್ ಯಂತ್ರಗಳನ್ನು ಹೇಗೆ ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು?

ನಾವು ಸ್ವಲ್ಪ ಮೋಸ ಮಾಡಿದ್ದೇವೆ: ಅನುಸ್ಥಾಪನೆಯ ಸಮಯದಲ್ಲಿ ನಾವು VM1.vmx ಫೈಲ್‌ನಲ್ಲಿ ಅತಿಥಿinfo.esxihost.id = "$SYSSN" ನಿಯತಾಂಕವನ್ನು ಹೊಂದಿಸಿದ್ದೇವೆ ಮತ್ತು ಅದರಲ್ಲಿ ಭೌತಿಕ ಸರ್ವರ್‌ನ ಸರಣಿ ಸಂಖ್ಯೆಯನ್ನು ಸೂಚಿಸಿದ್ದೇವೆ.

ಈಗ, ಪ್ರಾರಂಭಿಸಿದ ನಂತರ, ವರ್ಚುವಲ್ ಯಂತ್ರ (vmware-ಟೂಲ್ಸ್ ಪ್ಯಾಕೇಜ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲಾಗಿದೆ) ಈ ನಿಯತಾಂಕವನ್ನು ಪ್ರವೇಶಿಸಬಹುದು:

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

ಅಂದರೆ, VM ತನ್ನನ್ನು ಗುರುತಿಸಿಕೊಳ್ಳಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ (ಇದು ಭೌತಿಕ ಹೋಸ್ಟ್‌ನ ಸರಣಿ ಸಂಖ್ಯೆಯನ್ನು ತಿಳಿದಿದೆ), ಅನುಸ್ಥಾಪನಾ ಸರ್ವರ್ ಡೇಟಾಬೇಸ್‌ಗೆ ವಿನಂತಿಯನ್ನು ಮಾಡಿ ಮತ್ತು ಕಾನ್ಫಿಗರ್ ಮಾಡಬೇಕಾದ ನಿಯತಾಂಕಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ. ಇದೆಲ್ಲವನ್ನೂ ಸ್ಕ್ರಿಪ್ಟ್‌ಗೆ ಸಂಕಲಿಸಲಾಗಿದೆ, ಅತಿಥಿಗಳು vm ಪ್ರಾರಂಭವಾದಾಗ ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಾರಂಭಿಸಬೇಕು (ಆದರೆ ಒಮ್ಮೆ: RunOnce).

ಹೇಗೆ ಎಂದು ಈಗ ನಮಗೆ ತಿಳಿದಿದೆ:

  • PXE ಮೂಲಕ ಸರ್ವರ್ ಅನ್ನು ಬೂಟ್ ಮಾಡಿ;
  • ನಿಯಂತ್ರಣವನ್ನು ನಮ್ಮ ಲಿಪಿಗೆ ವರ್ಗಾಯಿಸಿ;
  • ಅದರ ಸರಣಿ ಸಂಖ್ಯೆಯಿಂದ ಸಿದ್ಧಪಡಿಸಬೇಕಾದ ಸರ್ವರ್ ಅನ್ನು ಗುರುತಿಸಿ;
  • ಸೂಕ್ತವಾದ ಉಪಯುಕ್ತತೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಸರ್ವರ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ;
  • ಕ್ಲೈಂಟ್ ಭಾಗವನ್ನು ಬಳಸಿಕೊಂಡು ಅನುಸ್ಥಾಪನಾ ಸರ್ವರ್ ಡೇಟಾಬೇಸ್ಗೆ ಸೆಟ್ಟಿಂಗ್ಗಳನ್ನು ವರ್ಗಾಯಿಸಿ;
  • esxi ಹೈಪರ್‌ವೈಸರ್ ಅನ್ನು ನಿಯೋಜಿಸುವುದು ಮತ್ತು ವರ್ಚುವಲ್ ಯಂತ್ರಗಳನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡುವುದು ಸೇರಿದಂತೆ ವಿವಿಧ ರೀತಿಯ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ (ಎಲ್ಲಾ ಸ್ವಯಂಚಾಲಿತವಾಗಿ).

ಹೇಗೆ ಎಂದು ನಾವು ಕಂಡುಕೊಂಡಿದ್ದೇವೆ:

  • ಸ್ಥಾಪಿಸಲಾದ ಸರ್ವರ್ ಡೇಟಾಬೇಸ್‌ನಿಂದ ಅಗತ್ಯ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಪಡೆಯುತ್ತದೆ;
  • ಎಲ್ಲಾ ತಯಾರಿಕೆಯ ಪ್ರಗತಿಯನ್ನು ಡೇಟಾಬೇಸ್‌ನಲ್ಲಿ ದಾಖಲಿಸಲಾಗಿದೆ (ಲಾಗ್‌ಗಳು, ಘಟನೆಗಳು, ವೇದಿಕೆ ಧ್ವಜಗಳು).


ಬಾಟಮ್ ಲೈನ್:

ಈ ಪರಿಹಾರದ ವಿಶಿಷ್ಟತೆಯು ಅದರ ನಮ್ಯತೆ, ಸರಳತೆ, ಸಾಮರ್ಥ್ಯಗಳು ಮತ್ತು ಬಹುಮುಖತೆಯಲ್ಲಿದೆ ಎಂದು ನಾನು ನಂಬುತ್ತೇನೆ.

ದಯವಿಟ್ಟು ನಿಮ್ಮ ಅನಿಸಿಕೆಗಳನ್ನು ಕಾಮೆಂಟ್‌ಗಳಲ್ಲಿ ಬರೆಯಿರಿ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ