مقدمة
لقد مر يومين منذ إصدار الإصدار الجديد من نظام التشغيل CentOS ، وهو CentOS 8. وحتى الآن هناك عدد قليل من المقالات على الإنترنت حول كيفية القيام بشيء ما ، لذلك قررت ملء هذه الفجوة. علاوة على ذلك ، لن أخبرك فقط بكيفية تثبيت هذا الزوج من البرامج ، ولكن أيضًا حول كيفية رؤيتي بشكل عام تثبيت Linux في بيئة افتراضية في العالم الحديث للمهام الشائعة ، بما في ذلك تقسيم القرص والمزيد.
لكن في البداية أريد أن أتحدث بإيجاز عن سبب وجوب التبديل إلى هذا الإصدار من جميع الإصدارات السابقة ، وهناك سببان لذلك:
- php7! في الإصدار السابق من CentOS ، تم تثبيت php5.4 "Orthodox" ...
حسنًا ، إذا كان الأمر أكثر خطورة ، فقد قفزت الكثير من الحزم على العديد من الإصدارات بكميات كبيرة. لقد دخلنا أخيرًا (عشاق نظام التشغيل الشبيه بـ redhat) ، إن لم يكن المستقبل ، ثم على الأقل الحاضر. ولن يضحك أنصار أوبونتو علينا ويضعون أصابعنا علينا ، حسناً ... على الأقل لفترة من الوقت ؛). - الانتقال من yum إلى dnf. الفرق الرئيسي هو أن العمل الآن مع العديد من إصدارات الحزم معتمد رسميا. هنا في الشكل الثامن ، لم يأت لي هذا الأمر بعد ، لكنه يبدو واعداً.
إنشاء آلة افتراضية
تختلف برامج Hypervisors وليس لدي أي غرض لشحذ القارئ لواحد معين ، وسأخبرك بالمبادئ العامة.
الذاكرة
أولاً ... لتثبيت نظام CentOS الذي يبدأ من 7 بالتأكيد ، وفي رأيي في 6 كان هو نفسه ("ولكن هذا ليس دقيقًا") ، هناك حاجة إلى 2 غيغابايت
على الأقل من ذاكرة الوصول العشوائي. لذلك ، أنصحك أن تبدأ وتعطي الكثير.
ولكن إذا كان ذلك ، بعد التثبيت ، يمكن تقليل حجم الذاكرة. في 1 غيغابايت ، ونظام العارية يعمل بشكل جيد جدا ، راجعت.
أسطوانة
للتثبيت العادي ، قم بإنشاء قرص ظاهري 20-30 غيغابايت. هذا يكفي للنظام. والقرص الثاني للبيانات. يمكن إضافته في مرحلة إنشاء جهاز افتراضي ، وبعده. أنا عادة أضيف لاحقا.
معالج
على جوهر واحد ، لا يبطئ النظام العاري. ونظرًا لأن الموارد قابلة للتحجيم بحرية ، لا أرى أي فائدة في تقديم المزيد في مرحلة التثبيت (إلا إذا كنت تعرف المتطلبات بشكل مثالي وأنت كسول جدًا بحيث لا يمكنك الذهاب إلى مُعد التهيئة مرة أخرى)
يمكن ترك الباقي بشكل افتراضي.
التثبيت نفسه
لذا ... أطلقنا برنامج التثبيت ... شخصياً ، أضع هذه الخدمات لفترة طويلة فقط في شكل أجهزة افتراضية ، لذلك لن أصف جميع أنواع سجلات التوزيع على محرك أقراص فلاش USB - لقد قمت فقط بتثبيت ISO كقرص مضغوط في برنامج Hypervisor المفضل لدي ، وقمت بتنزيله وأخذته.
التثبيت الأساسي نموذجي تمامًا ، وسأركز فقط على بضع نقاط.
اختيار المصدر
منذ إصدار الإصدار الثامن ، كانت المرآة من Yandex تكذب طوال اليوم. حسنًا ، إنه يرتفع بشكل دوري ، ثم يبدأ مرة أخرى في إظهار الخطأ. أنا متأكد من أن الأمر يمثل عبئًا مفرطًا على الخدمة. لذلك ، للإشارة إلى المصدر ، كان علي شخصياً ، بدلاً من إدخال العنوان المعتاد ، أن أذهب
هنا ، واختر المرآة التي أحبها هناك وأدخل العنوان يدويًا في نافذة برنامج التثبيت. من المهم أن تتذكر أنه يجب عليك تحديد المسار إلى المجلد الذي يوجد به
دليل repodata . على سبيل المثال ،
mirror.corbina.net/pub/Linux/centos/8/BaseOS/x86_64/os .
انهيار القرص
هذا السؤال ديني إلى حد ما في رأيي. كل مشرف لديه موقفه الخاص في هذا الموضوع. لكنني ما زلت أشاطر وجهة نظري حول هذا السؤال.
نعم ، من حيث المبدأ ، يمكنك تخصيص المكان بالكامل للجذر والعمل ، وغالبًا ما يكون هذا جيدًا. لماذا إذن السياج في حديقة مع أقسام مختلفة؟ - الأسباب الرئيسية لذلك ، في رأيي 2: الحصص وقابلية.
على سبيل المثال ، إذا حدث خطأ ما ووقعت أخطاء في قسم البيانات الرئيسي ، أريد أن أكون قادرًا على تحميل النظام على أي حال وتنفيذ تدابير الإنعاش. لذلك ، أنا شخصيا تخصيص قسم منفصل تحت / التمهيد. هناك تكمن النواة ومحمل الإقلاع. عادةً ما يكون 500 ميجابايت كافيًا ، لكن في حالات نادرة قد يستغرق الأمر أكثر من ذلك ، ونظراً لأننا معتادون بالفعل على قياس المساحة باستخدام تيرابايت ، أخصص 2 غيغابايت لهذا القسم. وهنا من المهم أنه لا يمكن القيام به LVM.
التالي يأتي جذر النظام. للتثبيت العادي ، لم أكن بحاجة إلى أكثر من 4 جيجابايت لكل نظام ، لكن خلال الأحداث المجدولة ، غالبًا ما أستخدم الدليل / tmp لتفريغ التوزيعات ، ولا أرى نقطة تسليط الضوء عليه كقسم منفصل - في الأنظمة الحديثة يتم تنظيفه تلقائيًا ، وبالتالي لا يتم ملؤه . لذلك تحت الجذر أخصص 8GB.
المبادلة ... إلى حد كبير ، هناك فائدة عملية ضئيلة منه. إذا بدأت استخدام المبادلة على الخادم ، فإن هذا في العالم الحقيقي اليوم يعني فقط أن الخادم يحتاج إلى إضافة المزيد من ذاكرة الوصول العشوائي. خلاف ذلك ، يتم ضمان مشاكل الأداء (أو بعض البرامج لديها تسرب الذاكرة). لذلك ، هذا القسم هو لأغراض التشخيص فقط. لذلك ، 2 غيغابايت هو رقم كبير. نعم ، بغض النظر عن مقدار ذاكرة الخادم. نعم ، قرأت جميع المقالات التي كتبت فيها عن نسبة الذاكرة إلى حجم المبادلة ... IMHO ، لقد عفا عليها الزمن. لمدة 10 سنوات من الممارسة ، لم يكن هذا مفيدًا لي. قبل 15 سنة اعتدت عليها ، نعم.
يمكن للجميع تحديد ما إذا كان سيتم تخصيص / المنزل في قسم منفصل IMHO. إذا كان شخص ما يستخدم هذا الدليل بنشاط على الخادم ، فمن الأفضل تسليط الضوء عليه. إذا لم يكن هناك أحد - لا يوجد سبب.
التالي ، / فار. في رأيي ، من الضروري أن نفرد بها. بالنسبة للمبتدئين ، يمكنك قصر نفسك على عدد 4 غيغابايت ، ثم كيف تسير الأمور. ونعم ، بكلمة "كيف تسير الأمور" ، أعني ذلك
- أولاً ، يمكنك دائمًا تحميل قرص آخر في الدليل الفرعي / var (والذي سأعرضه لاحقًا مع مثال)
- ثانيا ، لدينا LVM - يمكنك دائما إضافة. وعادةً ما يتعين عليك إضافته عندما تبدأ سجلات كثيرة في التدفق هناك. لكنني لم أتمكن مطلقًا من التنبؤ بهذا الرقم مقدمًا ، لذلك أبدأ بسعة 2 غيغابايت ، ثم ابحث.
ستبقى المساحة غير المخصصة خالية في مجموعة الصوت ، ثم يمكنك دائمًا استخدامها لاحقًا.
LVM
فمن المنطقي أن تجعل
جميع الأقسام باستثناء / التمهيد في LVM. نعم ، بما في ذلك المبادلة. نعم ، يجب أن تكون مبادلة جميع النصائح في بداية القرص ، وفي حالة LVM ، لا يمكن تحديد موقعها من حيث المبدأ. ولكن كما كتبت أعلاه ،
لا ينبغي لنظامك استخدام المبادلة على الإطلاق. لذلك ، لا يهم أين هو. حسنًا ، ليس في عام 95 نحن نعيش بصدق!
علاوة على ذلك ، يوجد في LVM العديد من الكيانات الأساسية التي يجب أن تكون قادرًا على العيش بها:
- الحجم المادي
- مجموعة الحجم
- حجم منطقي
يتم تجميع وحدات التخزين الفعلية معًا ، مع وجود كل وحدة تخزين في مجموعة واحدة فقط ، ويمكن أن تكون المجموعة في مجلدات فعلية متعددة في نفس الوقت.
والمجلدات المنطقية موجودة في نفس المجموعة.
ولكن ... نحن ، لعنة ، مرة أخرى في القرن 21 في الفناء. والخوادم الافتراضية. ليس من المنطقي أن نطبق عليهم نفس الآليات التي تم تطبيقها على الآليات المادية. والافتراضية ، من المهم أن يكون لديك بيانات منفصلة عن النظام! هذا مهم جدًا بشكل خاص بالنسبة للقدرة على التبديل السريع للبيانات إلى جهاز ظاهري آخر (على سبيل المثال ، عند التبديل إلى نظام تشغيل جديد) وبوجه عام جميع أنواع الإيجابيات المفيدة (نسخ احتياطية منفصلة حسب الأقسام باستخدام برنامج hypervisor على سبيل المثال). لذلك ، يتم استخدام مجموعة وحدة تخزين واحدة للنظام ، ويستخدم بالضرورة مجموعة أخرى للبيانات! هذا الفصل المنطقي يساعد كثيرا في الحياة!
إذا قمت بإنشاء قرص ثابت ظاهري واحد فقط عند إنشاء جهاز ظاهري ، فهذه هي نهاية التكوين. وإذا كان اثنان ، ثم فقط لا بمناسبة الثانية بعد.
نبدأ التثبيت.بعد التثبيت
لذلك ، تم تمهيد النظام المثبت حديثًا. أول شيء يجب التحقق منه هو الإنترنت.
ping ya.ru
هل هناك إجابة؟ - جيد ، اضغط Ctrl-C.
إذا لم يكن الأمر كذلك ، فقم بإعداد الشبكة ، ولا توجد حياة بدون ذلك ، لكن مقالي لا يتعلق بذلك.
الآن ، إذا لم نكن بالفعل تحت الجذر ، فنحن نذهب إلى الجذر ، لأنه لكتابة العديد من الأوامر مع sudo شخصياً ، لقد كسرت (وسيغفر لي مدراء بجنون العظمة):
sudo -i
الآن أول شيء نكتبه
dnf -y update
وإذا قرأت هذا المقال في عام 2019 ، فعلى الأرجح لن يحدث شيء ، لكن الأمر يستحق المحاولة.
الآن تكوين محرك الأقراص المتبقية
لنفترض أن لدينا قسم xvda مع نظام ، فسيكون قرص البيانات هو xvdb. OK.
ستبدأ معظم النصائح بالكلمات "Launch fdisk وإنشاء قسم ..."
هذا
ليس صحيحا !
سأكرر فطيرة مرة أخرى ، لأنه من المهم! في هذه الحالة ، للعمل مع LVM ، التي تشغل واحدة كاملة ، حتى لو كان قرصًا افتراضيًا ، فإن إنشاء أقسام عليه أمر ضار! كل كلمة مهمة في هذه العبارة. إذا كنا نعمل دون LVM - فمن الضروري. إذا قلنا على نظام القرص والبيانات - من الضروري. إذا لسبب ما نحن بحاجة إلى ترك نصف القرص فارغ - ضروري أيضا. ولكن عادة ما تكون كل هذه الافتراضات نظرية بحتة. لأنه إذا قررنا إضافة أماكن إلى القسم الحالي ، فإن أسهل طريقة للقيام بذلك تتمثل في هذا التكوين. وسهولة الإدارة تفوق كثيرا أننا نتحرك عمدا نحو هذا التكوين.
والراحة هي أنه إذا كنت ترغب في توسيع قسم البيانات ، يمكنك فقط إضافة مساحة إلى القسم الظاهري ، ثم توسيع المجموعة باستخدام vgextend وهذا كل شيء! في حالات نادرة ، قد تكون هناك حاجة إلى شيء آخر ، لكن على الأقل لن تضطر إلى التوسع في البداية ، وهو أمر منطقي بالفعل. وبعد ذلك ، لتوسيع هذا المجلد نفسه ، يوصى بحذف المجلد الموجود في البداية ، ثم إنشاء مجلد جديد في الأعلى ... لا يبدو هذا جميلًا جدًا ولا يمكن القيام به مباشرةً ، ويمكن أن يتم الإضافة وفقًا للسيناريو الذي حددته سريعًا دون إلغاء تحميل القسم.
بشكل إجمالي ، نقوم بإنشاء وحدة تخزين فعلية ، ثم مجموعة من وحدات التخزين ، بما في ذلك ، ثم قسمًا لخادمنا:
pvcreate /dev/xvdb vgcreate data /dev/xvdb lvcreate -n www -L40G data mke2fs -t ext4 /dev/mapper/data-www
هنا ، بدلاً من الحرف الكبير "L" (والحجم بالجيجابايت) ، يمكنك تحديد حجم صغير ثم الإشارة إلى الحجم النسبي بدلاً من الحجم المطلق ، على سبيل المثال ، لاستخدام نصف المساحة المتوفرة حاليًا في مجموعة الصوت ، يجب عليك تحديد "-l + 50٪ مجانًا"
والأمر الأخير ينسق القسم في نظام الملفات ext4 (والذي يظهر حتى الآن ، في ممارستي ، أكبر قدر من الاستقرار في حالة تعطل كل شيء ، لذلك أفضل ذلك).
الآن تركيب القسم في المكان المناسب. للقيام بذلك ، أضف السطر الصحيح إلى / etc / fstab:
/dev/mapper/data-www /var/www ext4 defaults 1 2
ونحن اكتب
mount /var/www
إذا انبثق خطأ ما - فإننا ندق ناقوس الخطر! لأنه يعني أن لدينا خطأ في / etc / fstab. وعند إعادة التمهيد التالي ، سنواجه مشكلات كبيرة جدًا. قد لا يقوم النظام بالتمهيد على الإطلاق ، وهو أمر غالبًا ما يكون حزينًا جدًا للخدمات السحابية. لذلك ، يجب عليك إما تصحيح السطر الملحق الأخير بشكل عاجل ، أو حذفه تمامًا! هذا هو السبب في أننا لم نبدأ في كتابة الأمر mount يدويًا - فلن نحصل على مثل هذه الفرصة الممتازة للتحقق من تكوين الأجهزة المباشرة إلى المنزل.
نحن الآن نضع كل ما نريده ونفتح المنافذ تحت الويب:
dnf groupinstall "Development Tools" dnf -y install httpd @nodejs @redis php firewall-cmd --add-service http --permanent firewall-cmd --add-service https --permanent
اختياريًا ، يمكنك أيضًا وضع قاعدة البيانات هنا ، لكنني شخصياً أحاول أن أبقيها منفصلة عن خادم الويب. على الرغم من أن إبقائها قريبة بشكل أسرع ، نعم. عادة ما تكون سرعة محولات الشبكة الافتراضية في منطقة جيجابت ، وعند العمل على نفس الجهاز ، يحدث الوصول على الفور تقريبًا. لكن أقل أمانا. هنا لمن هو أكثر أهمية.
أضف الآن المعلمة إلى ملف التكوين (قم بإنشاء إيديولوجيا CentOS جديدة وحديثة مثل هذا)
echo "vm.overcommit_memory = 1"> /etc/sysctl.d/98-sysctl.conf
إعادة تشغيل الخادم.
في التعليقات ، تم تأنيبي لنصحك بإيقاف تشغيل SeLinux ، لذلك سوف أقوم بإصلاحه وأكتب عن حقيقة أنه بعد ذلك يجب أن تتذكر تكوين SeLinux.
في الواقع ، الربح! :)