تثبيت CentOS 8 على VDS 256

في النهاية ، رأى CentOS 8 النور ، سواء أحببنا ذلك أم لا ، في المستقبل القريب ، سيتعين على أتباع نظام تشغيل الشركات من المجتمع تكوين صداقات معه.

بعد أن قررت تجربة الثمانية في "wild" ، وجدت أن مزودي الاستضافة ليسوا في عجلة من أمرهم لإنشاء صورة خادم افتراضي على CentOS 8. وأن فكرة "ISO ISO" و "VNC console" لم تلهم الثقة بسبب الخصائص المتواضعة لنظام VDS والشراهة اناكوندا الحديثة (اناكوندا).

بقي لنسخ الصورة المنشورة من CentOS الجديدة مباشرة إلى محرك الأقراص الصلبة VDS ، وتنزيل الخادم "عبر الشبكة". لا تتألق الطريقة مع الجدة ، ومع ذلك ، على سبيل المثال ، لم أجد تعليمات مفصلة وكاملة لتنفيذها. لذلك ، أردت ملء هذه الفجوة بسرعة والتحدث عن تثبيت CentOS 8 على مثل هذه VDS:
KVM ، ذاكرة وصول عشوائي سعتها 256 ميجابايت ، محرك أقراص صلبة سعة 2 جيجابايت ، بدون وحدة تحكم و ISO



بالمناسبة ، بهذه الطريقة يمكنك تثبيت أو إعادة تثبيت ليس فقط CentOS وليس بالضرورة في بيئة افتراضية.

0. خصائص VDS


كما قيل في بداية المقال:


بالمناسبة ، فإن مزودي الاستضافة الآن في معظم تعريفة الميزانية يقدمون VDS بميزات أكثر قوة. دع CentOS 7 هو نظام التشغيل المثبت مسبقًا ، وأعتقد أنه من الممكن الآن لجميع موفري المحاكاة الافتراضية تقريبًا.

1. ثلاثة ملفات عزيزة


بادئ ذي بدء ، ستحتاج إلى "متبرع" - خادم إضافي مثبت عليه CentOS 8. على الرغم من أن هذا ليس مهمًا ، ولكن إذا كانت الخصائص التقنية للمتبرع تتوافق مع خصائص VDS ، فستكون هناك مشكلة أقل بكثير في الإعداد.

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

نظرًا لوجود KVM VDS في هذه الحالة ، يمكن خبز المتبرع في المنزل - على أي توزيع Linux باستخدام libvirt . أنا أفضل الإعداد الأولي الحد الأدنى ، والتي في سياق المهمة ستكون مساعدة كبيرة. في هذا المقال ، تحدثت عن الطريقة المعتادة لصنع صورة CentOS صغيرة الحجم. تحت المفسد ، ملف kickstart المقابل وكيفية استخدامه:

CentOS 8 Tiny
install text url --url="https://mirror.yandex.ru/centos/8/BaseOS/x86_64/os/" eula --agreed firstboot --disable keyboard --vckeymap=us --xlayouts='us' lang en_US.UTF-8 timezone Africa/Abidjan auth --enableshadow --passalgo=sha512 rootpw --plaintext very-strong-password-see-below #ignoredisk --only-use=vda zerombr bootloader --location=mbr clearpart --all --initlabel part / --fstype="ext4" --size=1 --grow network --bootproto=dhcp --hostname=localhost --onboot=on --activate #reboot poweroff %packages --nocore dnf NetworkManager openssh-server %end %addon com_redhat_kdump --disable %end 

يمكنك وضع هذا الملف على أي مورد ويب متاح وتحديده في بداية التثبيت:

صورة

إنني أنتبه إلى كلمة مرور الجذر: أوصي بشدة أن تجعل الأمر صعبًا بحيث لا تواجه مشاكل مع مثيري الشغب الذين يقومون بمسح الإنترنت في المراحل التالية بحثًا عن الترفيه.

بعد إجراء المتبرع ، تحتاج إلى نقل جميع الملفات من القرص إلى أرشيف واحد ، على سبيل المثال centos8.tgz . يمكنك القيام بذلك بطرق مختلفة: قم بتوصيل قرص المانح بجهاز ظاهري آخر ، أو قم بتثبيته إلى برنامج hypervisor ، أو حزم جميع ملفاته في الجهة المانحة نفسها ، باستثناء الدلائل الافتراضية (/ dev ، / proc ، إلخ)

علاوة على ذلك ، ستكون هناك حاجة إلى ملفين آخرين من الجهة المانحة: النواة ( vmlinuz ) و ramdrive المعدلة ( initrd ). يمكن أخذ kernel في دليل / boot الخاص بالمانح (vmlinuz-something-there) ، ويجب أن يكون ramdrive خاصًا من خلال تضمين القدرة على التمهيد عبر الشبكة من خادم NFS. للقيام بذلك ، في نظام تشغيل متبرع عامل ، تحتاج إلى القيام بما يلي:

 # dnf install dracut-network nfs-utils # echo 'add_dracutmodules+="nfs"' >> /etc/dracut.conf # dracut -f /initrd 

والتقاط initrd اللازمة من جذر القرص.

نتيجة لذلك ، هناك ثلاثة ملفات ستكون مطلوبة في المستقبل:

  • centos8.tgz - الأرشيف مع جميع ملفات تثبيت CentOS 8
  • initrd - نظام ملفات مؤقت مع دعم NFS
  • vmlinuz - نواة OS

 # ls -l | awk '{print $9,$5}' centos8.tgz 320712609 initrd 21916741 vmlinuz 7876856 

لم تعد هناك حاجة إلى المتبرع ، على الرغم من أنه قد يكون في متناول اليد (انظر أدناه)

2. خادم NFS


لتنزيل VDS عبر شبكة دون استخدام قرص محلي ، ستحتاج إلى خادم مزود بمورد NFS. مثل هذا الخادم يمكن أن يكون أي شيء ، الشيء الرئيسي هو توفر شبكته من عنوان IP الخاص بـ VDS. يمكنك تجربة المعدات المنزلية (مع إمكانية "إعادة توجيه المنفذ على جهاز التوجيه") أو أي VDS أخرى ، على سبيل المثال ، لإجراء اختبار. أخيرًا ، استخدم "المتبرع" إذا كنت تستطيع إدارته باستخدام NFS (مجرد مزاح). بعد تثبيت CentOS 8 ، لن تكون هناك حاجة إلى خادم NFS ، مثل الجهة المانحة.

يجب أن يحتوي مورد NFS الذي تم تصديره على الملف centos8.tgz ومحتوياته غير المعبأة في جذره. فيما يلي دليل إنتاج سريع يستخدم CentOS 7 كمثال:

 # mkdir /nfsroot # cp .../centos8.tgz /nfsroot # tar xzf /nfsroot/centos8.tgz -C /nfsroot # yum install nfs-utils # systemctl enable rpcbind nfs-server # echo '/nfsroot 100.100.100.100/32(rw,sync,no_root_squash,no_all_squash)'>/etc/exports # systemctl restart rpcbind nfs-server 

100.100.100.100 ، بالطبع ، هو عنوان IP VDS مع CentOS 8 في المستقبل.

3. قم بتنزيل VDS "عبر الشبكة" (NFSroot)


بادئ ذي بدء ، تحتاج إلى نسخ ملفات ramdrive ( initrd ) و kernel ( vmlinuz ) التي تم الحصول عليها في الخطوة الأولى إلى جذر VDS. ثم ، قم بتكوين GRUB:

/etc/grub.d/40_custom

 #!/bin/sh exec tail -n +3 $0 # This file provides an easy way to add custom menu entries. Simply type the # menu entries you want to add after this comment. Be careful not to change # the 'exec tail' line above. menuentry "NFSRoot" { linux /vmlinuz root=/dev/nfs rw nfsroot=200.200.200.200:/nfsroot \ ip=100.100.100.100::100.100.100.1:255.255.255.0:::off initrd /initrd } 

200.200.200.200 - عنوان IP لخادم NFS.

/ الخ / الافتراضي / اليرقة

 . . . GRUB_TIMEOUT=0 . . . GRUB_DEFAULT="NFSRoot" . . . 

وإعادة تشغيل VDS:

 # grub2-mkconfig --output=/boot/grub2/grub.cfg # reboot 

إذا سارت الأمور على نحو سلس ، فسوف يقوم VDS بتحميل متبرع CentOS 8 ، وسيتم إلغاء تثبيت محرك الأقراص المحلي تمامًا:



4. "التثبيت" CentOS 8


يمكنك الآن إعادة تهيئة وتهيئة قرص VDS المحلي ، ونسخ ملفات نظام التشغيل عليه ، وتثبيت أداة تحميل التشغيل وتكوين الشبكة. وصف موجز للإجراءات اللازمة:

 # dnf install parted tar # parted /dev/vda unit s print free Model: Virtio Block Device (virtblk) Disk /dev/vda: 4194304s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 63s 2047s 1985s Free Space 1 2048s 526335s 524288s primary linux-swap(v1) 2 526336s 4194303s 3667968s primary xfs boot # dd if=/dev/zero of=/dev/vda count=3000 

على VDS الصغير ، أفضل تكوين هذا القرص:

 # parted /dev/vda unit s print free Model: Virtio Block Device (virtblk) Disk /dev/vda: 4194304s Sector size (logical/physical): 512B/512B Partition Table: msdos Disk Flags: Number Start End Size Type File system Flags 2s 2047s 2046s Free Space 1 2048s 4194303s 4192256s primary boot 

التنسيق وحذف حجز وتحديد قيمة UUID على "الجهة المانحة":

 # mkfs.ext4 /dev/vda1 # cat /etc/fstab | grep UUID UUID=1f944e86-c590-4af7-b651-3c1783c15d79 / ext4 defaults 1 1 # tune2fs -m 0 -U 1f944e86-c590-4af7-b651-3c1783c15d79 /dev/vda1 tune2fs 1.44.3 (10-July-2018) Setting reserved blocks percentage to 0% (0 blocks) Setting UUID on a checksummed filesystem could take some time. Proceed anyway (or wait 5 seconds to proceed) ? (y,N) y 

نسخ ملفات نظام التشغيل وتثبيت أداة تحميل التشغيل:

 # mount /dev/vda1 /mnt # tar xzf /centos8.tgz -C /mnt # grub2-install --boot-directory=/mnt/boot /dev/vda Installing for i386-pc platform. Installation finished. No error reported. 

نظرًا لأن Network Manager يفهم الإرث القديم ، يمكنك إنشاء ملف ifcfg مناسب لتكوين الشبكة. يمكن العثور على اسم الواجهة:

 # ls /sys/class/net/ enp1s0 lo 

 # cat > /etc/sysconfig/network-scripts/ifcfg-enp1s0 << EOF > DEVICE=enp1s0 > NAME=enp1s0 > TYPE=Ethernet > ONBOOT=y > BOOTPROTO=none > IPADDR=100.100.100.100 > NETMASK=255.255.255.0 > GATEWAY=100.100.100.1 > EOF 

هذا كل شيء ، يمكنك إعادة تشغيل VDS من محرك الأقراص المحلي.

5. الخاتمة


VDS مع تثبيت الحد الأدنى من CentOS 8:



روابط مفيدة:

www.kernel.org/doc/Documentation/filesystems/nfs/nfsroot.txt
access.redhat.com/documentation

Source: https://habr.com/ru/post/ar474392/


All Articles