تمتع بنفسك بنظام Bare-Metal Provisioning ، أو إعداد الخادم تلقائيًا من البداية

مرحبًا ، أنا دينيس وأحد مجالات نشاطي هو تطوير حلول البنية التحتية في X5. أود اليوم أن أطلعكم على كيفية نشر نظام آلي لإعداد الخادم استنادًا إلى الأدوات المتاحة للجمهور. في رأيي ، هذا حل مثير للاهتمام وبسيط ومرن.



من خلال التحضير ، يعني: من خادم جديد خارج الصندوق ، خادم تم تكوينه بالكامل بنظام تشغيل Linux أو مع ESXi Hypervisor (لم تتم مناقشة إرسال خادم Windows في هذه المقالة).

الشروط :

  • خوادم - خوادم تحتاج إلى تكوين.
  • خادم التثبيت - الخادم الرئيسي الذي يوفر عملية التحضير بأكملها عبر الشبكة.

لماذا تحتاج الأتمتة؟


لنفترض أن هناك مشكلة: يقوم الخادم بإعداد الخادم من الصفر ، في الذروة - 30 يوميًا. خوادم الشركات المصنعة والنماذج المختلفة ، يمكن تثبيت أنظمة تشغيل مختلفة عليها ، وقد يكون أو لا يوجد برنامج مراقبة الأجهزة الافتراضية.

العمليات التي يتم تضمينها في عملية الإعداد (بدون أتمتة):

  • توصيل لوحة المفاتيح والماوس والشاشة بالخادم ؛
  • تكوين BIOS ، RAID ، IPMI ؛
  • ترقية البرامج الثابتة للمكونات ؛
  • نشر صورة نظام الملفات (أو تثبيت برنامج مراقبة الأجهزة الافتراضية ونسخ الأجهزة الافتراضية) ؛

ملحوظة. بدلاً من ذلك ، يمكن نشر نظام التشغيل من خلال التثبيت باستخدام ملف الرد التلقائي. لكن هذا لن يتم مناقشته في المقالة. على الرغم من أنك سترى أدناه أن إضافة هذه الوظيفة أمر سهل.

  • تكوين معلمات نظام التشغيل (اسم المضيف ، IP ، إلخ.).

باستخدام هذا النهج ، يتم تنفيذ نفس الإعدادات بشكل تسلسلي على كل خادم. فعالية مثل هذا العمل منخفضة للغاية.

جوهر الأتمتة هو استبعاد المشاركة البشرية من عملية إعداد الخادم. بقدر المستطاع.

بفضل الأتمتة ، يتم تقليل وقت التوقف عن العمل ويصبح من الممكن إعداد عدة خوادم في نفس الوقت. يتم أيضًا تقليل احتمال حدوث أخطاء بسبب العامل البشري بشكل كبير.



كيف يتم تكوين الخوادم تلقائيًا؟


سنقوم بتحليل جميع الخطوات بالتفصيل.

لديك خادم لينكس تستخدمه كخادم تثبيت PXE. يتم تثبيت الخدمات وتكوينها عليها: DHCP و TFTP.

لذا ، نقوم بتحميل الخادم (الذي يحتاج إلى التهيئة) بواسطة PXE. تذكر كيف يعمل:

  • تم اختيار الخادم للتشغيل عبر الشبكة.
  • يقوم الخادم بتحميل PXE-ROM لبطاقة الشبكة ويتصل بخادم التثبيت عبر DHCP للحصول على عنوان الشبكة.
  • يعطي DHCP الخاص بخادم التثبيت العنوان ، بالإضافة إلى إرشادات لمزيد من التنزيل عبر PXE.
  • يقوم الخادم بتنزيل أداة تحميل الشبكة من خادم التثبيت عبر PXE ، ويتم التنزيل الإضافي وفقًا لملف تكوين PXE.
  • يتم التنزيل بناءً على المعلمات المستلمة (kernel و initramfs ونقاط التحميل وصورة squashfs وما إلى ذلك).

ملحوظة. توضح هذه المقالة التمهيد PXE عبر وضع BIOS. حاليًا ، يقدم المصنعون بنشاط وضع التمهيد UEFI. بالنسبة لـ PXE ، سيكون الفرق في تكوين خادم DHCP ووجود محمل إقلاع إضافي.

خذ بعين الاعتبار مثال تكوين خادم PXE (قائمة pxelinux).

ملف pxelinux.cfg / افتراضي:

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 / مجموعة الأدوات:

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.

كيف يتم ذلك في حل 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

لذا ، فقد حددنا نواة و initramfs التي يجب تحميلها. ونتيجة لذلك ، في هذه المرحلة ، عند تنزيل صورة لينكس الوسيطة عبر PXE ، نحصل على وحدة تحكم نظام التشغيل.

رائع ، ولكننا نحتاج الآن إلى نقل التحكم إلى "الأتمتة" لدينا.

يمكن القيام بذلك على هذا النحو.

لنفترض ، بعد تحميل الصورة ، نخطط لنقل التحكم إلى البرنامج النصي mount.sh.
نقوم بتضمين البرنامج النصي mount.sh في التشغيل التلقائي. للقيام بذلك ، تحتاج إلى تعديل initramfs:

  • فك حزم تمهيد (إذا استخدمنا الإصدار أعلاه من initramfs ، فهذا غير مطلوب)
  • تضمين في رمز بدء التشغيل الذي سيحلل المعلمات التي تم تمريرها من خلال / proc / cmdline والتحكم في النقل بشكل أكبر ؛
  • البادئات حزمة.

ملحوظة. في حالة مجموعة أدوات X5 ، يتم نقل عنصر تحكم التمهيد إلى البرنامج النصي. /opt/x5/toolkit/bin/hook.sh override.conf getty tty1 (ExecStart=…)

لذلك ، يتم تحميل الصورة ، حيث يبدأ البرنامج النصي mount.sh عند بدء التشغيل. بعد ذلك ، يحلل البرنامج النصي mount.sh في عملية التحليل المعلمات التي تم تمريرها (script_cmd =) ويطلق البرنامج / البرنامج النصي الضروري.

مجموعة أدوات التسمية- kernel التلقائي
...
إلحاق ... nfs_toolkit_script = scripts / mount.sh script_cmd = master-install.sh

تسمية مجموعة أدوات- shell
kernel ...
إلحاق ... nfs_toolkit_script = scripts / mount.sh script_cmd = / bin / bash



هنا على الجانب الأيسر قائمة PXE ، على اليمين هو مخطط نقل التحكم.

مع نقل السيطرة ، اكتشفنا ذلك. بناءً على اختيار قائمة PXE ، يتم تشغيل البرنامج النصي للضبط التلقائي أو وحدة التحكم في التصحيح.

في حالة التكوين التلقائي ، يتم تحميل الدلائل الضرورية من خادم التثبيت ، والتي توجد فيها:

  • نصوص؛
  • حفظ قوالب BIOS / UEFI لخوادم مختلفة ؛
  • البرامج الثابتة؛
  • المرافق للخوادم ؛
  • السجلات.

بعد ذلك ، ينقل البرنامج النصي mount.sh التحكم إلى البرنامج النصي master-install.sh من دليل البرامج النصية.

تبدو شجرة البرنامج النصي (ترتيب إطلاقها) شيئًا مثل هذا:

  • سيد تثبيت
  • وظائف (وظائف مشتركة)
  • معلومات (مخرجات المعلومات)
  • النماذج (إعداد معلمات التثبيت بناءً على طراز الخادم)
  • Prepar_utils (تركيب المرافق اللازمة)
  • fwupdate (تحديث البرامج الثابتة)
  • diag (التشخيص الأولي)
  • biosconf (إعداد BIOS / UEFI)
  • clockfix (ضبط الوقت على اللوحة الأم)
  • 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.sh.

ستبدو الأسطر ، على سبيل المثال ، كما يلي:

<الرقم التسلسلي> <اسم المضيف> <شبكة فرعية>

سيتم نقل هذه الخطوط إلى الملف من قبل المهندس من جهاز عمله. وبعد ذلك ، عند إعداد الخادم ، سيتم قراءة المعلمات لخادم معين من الملف.

ولكن في المستقبل ، من الأفضل استخدام قاعدة البيانات لتخزين الإعدادات والحالات وسجلات تثبيت الخادم.

بالطبع ، لا يمكن لقاعدة بيانات واحدة القيام بذلك ، وستحتاج إلى إنشاء جزء عميل ، سيتم من خلاله نقل الإعدادات إلى قاعدة البيانات. هذا أصعب في التنفيذ من ملف نصي ، ولكنه في الواقع ليس صعبًا كما يبدو. الحد الأدنى للإصدار من العميل ، والذي سوف ينقل البيانات ببساطة إلى قاعدة البيانات ، أمر مجدي تمامًا لكتابة نفسك. في المستقبل ، سيكون من الممكن تحسين برنامج العميل أيضًا في الوضع الحر (التقارير ، ملصقات الطباعة ، إرسال الإشعارات ، وما إلى ذلك ، أيا كان يتبادر إلى الذهن).

بعد تقديم طلب محدد لقاعدة البيانات والإشارة إلى الرقم التسلسلي للخادم ، نحصل على المعلمات اللازمة لتكوين الخادم.

بالإضافة إلى ذلك ، لسنا بحاجة إلى اختراع أقفال للوصول المتزامن ، كما هو الحال مع ملف نصي.

يمكننا كتابة سجل التكوين في جميع مراحل قاعدة البيانات والتحكم في عملية التثبيت من خلال أحداث وأعلام مراحل الإعداد.

الآن نعرف كيف:

  • تحميل الخادم عبر PXE ؛
  • نقل التحكم إلى برنامجنا النصي ؛
  • تحديد الخادم المراد إعداده برقم تسلسلي ؛
  • تكوين الخادم مع الأدوات المساعدة المناسبة ؛
  • نقل الإعدادات إلى قاعدة بيانات خادم التثبيت باستخدام جزء العميل.

اكتشف كيف:

  • يتلقى الخادم المثبت الإعدادات الضرورية من قاعدة البيانات ؛
  • يتم تسجيل كل تقدم في الإعداد في قاعدة البيانات (السجلات والأحداث وأعلام المرحلة).

ماذا عن الأنواع المختلفة من البرامج الجاري تثبيتها؟ كيفية تثبيت برنامج Hypervisor ، ونسخ VM وتكوين كل هذا؟


في حالة نشر صورة نظام ملفات (لينكس) على الأجهزة ، كل شيء بسيط للغاية:

  • بعد إعداد جميع مكونات الخادم ، انشر الصورة.
  • قم بتثبيت أداة تحميل الإقلاع.
  • نحن نقوم بجذر وتهيئة كل ما هو ضروري.

كيفية نقل التحكم إلى مثبت نظام التشغيل (باستخدام ESXi كمثال).

  • ننظم نقل التحكم من برنامجنا النصي إلى مثبت hypervisor باستخدام ملف الرد التلقائي (kickstart):
  • حذف الأقسام الحالية على القرص.
  • إنشاء قسم 500 ميجا بايت.
  • نضع عليها علامة التمهيد.
  • التنسيق في 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: // <IP لملقم التثبيت> /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:esxi_password@127.0.0.1
/vmfs/volumes/datastore1/ovftool/tools/ovftool --acceptAllEulas --noSSLVerify --datastore=datastore1 --name=VM2 /vmfs/volumes/nfsshare1/VM_T/VM2.ova vi://root:esxi_password@127.0.0.1

#      

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) الوصول إلى هذه المعلمة:

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

أي أن جهاز VM سيكون قادرًا على تعريف نفسه (يعرف الرقم التسلسلي للمضيف الفعلي) ، وتقديم طلب إلى قاعدة بيانات خادم التثبيت والحصول على المعلمات التي تحتاج إلى تكوين. يتم تنفيذ كل ذلك في برنامج نصي يجب تشغيله تلقائيًا عند بدء Guestos vm (ولكن مرة واحدة: RunOnce).

الآن نعرف كيف:

  • تحميل الخادم عبر PXE ؛
  • نقل التحكم إلى برنامجنا النصي ؛
  • تحديد الخادم المراد إعداده برقم تسلسلي ؛
  • تكوين الخادم مع الأدوات المساعدة المناسبة ؛
  • نقل الإعدادات إلى قاعدة بيانات خادم التثبيت باستخدام جزء العميل ؛
  • تكوين أنواع مختلفة من أوامر الشراء ، بما في ذلك نشر برنامج مراقبة الأجهزة الخارجية esxi وتكوين الأجهزة الافتراضية (وجميعها تلقائيًا).

اكتشف كيف:

  • يتلقى الخادم المثبت الإعدادات الضرورية من قاعدة البيانات ؛
  • يتم تسجيل كل تقدم في الإعداد في قاعدة البيانات (السجلات والأحداث وأعلام المرحلة).

خلاصة القول:

أعتقد أن تفرد هذا الحل يكمن في مرونته وبساطته وقدراته وتنوعه.

يرجى كتابة التعليقات في رأيك.

All Articles