استطراد صغير: هذا lr اصطناعي.
يمكن تنفيذ بعض المهام الموضحة هنا بسهولة أكبر ، ولكن نظرًا لأن مهمة l / r هي التعرف عليها
مع وظيفة الغارة ، lvm ، فإن بعض العمليات معقدة بشكل مصطنع.
متطلبات الأدوات اللازمة لأداء LR:
أدوات المحاكاة الافتراضية مثل Virtualbox
صورة تثبيت Linux ، على سبيل المثال دبيان 9
الوصول إلى الإنترنت لتنزيل حزم متعددة
الاتصال عبر ssh بجهاز VM المثبت (اختياري)
ВНИМАНИЕ
يرتبط هذا العمل المخبري بمسألة حساسة مثل أمن البيانات - وهذا مجال ،
مما يسمح لك بفقدان جميع بياناتك بسبب أصغر خطأ - حرف أو رقم واحد إضافي.
نظرًا لأنك تقوم بعمل معملي ، فأنت لست في خطر ، إلا إذا كان عليك البدء في القيام بذلك مرة أخرى.
في الحياة الواقعية ، كل شيء أكثر جدية ، لذا يجب عليك إدخال أسماء محركات الأقراص بعناية فائقة ، وتفهمها
ما الذي تقوم بتنفيذه بالضبط باستخدام الأمر الحالي والأقراص التي تعمل معها.
النقطة الثانية المهمة هي تسمية الأقراص والأقسام: اعتمادًا على الموقف ، قد تختلف أرقام القرص
من القيم المعروضة في الأوامر في المختبر.
لذلك ، على سبيل المثال ، إذا قمت بإزالة محرك أقراص sda من المصفوفة ثم أضفت محرك أقراص جديدًا ، فسيتم عرض محرك الأقراص الجديد
على نظام يسمى sda. إذا قمت بإعادة التشغيل قبل إضافة قرص جديد ، فإن ملف
سيطلق على القرص اسم sdb وسيطلق على القرص القديم sda
يجب تشغيل هذا المعمل كمستخدم متميز (جذر) لأن معظم الأوامر تتطلب
امتيازات مرتفعة وليس من المنطقي رفع الامتيازات باستمرار عبر sudo
مواد للدراسة
RAID
LVM
تسمية القرص في Linux OS
ما هو قسم
ما هو جدول الأقسام وأين يتم تخزينه
ما هو اليرقة
المرافق المستخدمة
1) عرض معلومات القرص
lsblk -o NAME ، SIZE ، FSTYPE ، TYPE ، MOUNTPOINT
fdisk -l
2) عرض المعلومات والعمل مع LVM
ص ف
com.pvextend
بولي كلوريد الفينيل
com.pvresize
إلخ
vgreduce
لفس
com.lvextend
3) عرض المعلومات والعمل مع RAID
قطة / بروك / mdstat
mdadm
4) نقاط التركيب
جبل
umount
القط / الخ / fstab
قطة / الخ / mtab
5) إعادة تقسيم القرص
fdisk / dev / XXX
6) نسخ الأقسام
dd if = / dev / xxx من = / dev / yyy
7) العمل مع جدول التقسيم
com.partx
sfdisk
mkfs.ext4
8) العمل مع محمل الإقلاع
نكش تثبيت / ديف / XXX
التحديث نكش
9) متفرقات
lsof
عرضة
رسينك
يتكون العمل المخبري من 3 أجزاء:
إنشاء نظام عمل باستخدام lvm ، raid
مضاهاة فشل أحد الأقراص
استبدال الأقراص أثناء التنقل ، مع إضافة أقراص جديدة ونقل الأقسام.
المهمة 1 (تثبيت نظام التشغيل وتكوين LVM و RAID)
1) إنشاء آلة افتراضية جديدة ، مع منحها الخصائص التالية:
1 GB RAM
1 وحدة المعالجة المركزية
2 hdd (قم بتسميتها ssd1، ssd2 وقم بتعيين حجم متساوٍ ، تحقق من التبديل السريع و ssd)
وحدة تحكم SATA مكونة من 4 منافذ
2) ابدأ في تثبيت Linux وعندما تصل إلى تحديد محركات الأقراص الثابتة ، قم بما يلي:
طريقة التقسيم: يدوي ، وبعد ذلك سترى هذه الصورة:
قم بإعداد قسم منفصل ضمن / boot: حدد القرص الأول وقم بإنشاء جدول قسم جديد عليه
حجم التقسيم: 512 م
نقطة التحميل: / التمهيد
كرر الإعداد للقرص الثاني ، ولكن نظرًا لأنه لا يمكنك التحميل / التمهيد مرتين في نفس الوقت ، حدد نقطة التحميل: لا شيء نتيجة لذلك ، ستحصل على ما يلي (صورة بها دعامة ، كسولة جدًا لإعادة ذلك):
إعداد RAID:
حدد مساحة خالية على القرص الأول واضبط نوع القسم على وحدة تخزين فعلية لـ RAID
حدد "تم إعداد القسم"
كرر نفس الإعداد تمامًا للقرص الثاني ، مما أدى إلى ما يلي:
حدد "تكوين برنامج RAID"
إنشاء جهاز MD
نوع جهاز RAID الخاص بالبرنامج: حدد مجموعة متطابقة
الأجهزة النشطة لصفيف RAID XXXX: حدد كلا محركي الأقراص
الأجهزة الاحتياطية: اترك القيمة 0 افتراضيًا
الأجهزة النشطة لمصفوفة RAID XX: حدد الأقسام التي قمت بإنشائها تحت الغارة
نهاية
نتيجة لذلك ، يجب أن تحصل على هذه الصورة:
تكوين LVM: حدد تكوين مدير وحدة التخزين المنطقية
احتفظ بتخطيط القسم الحالي وقم بتكوين LVM: نعم
إنشاء مجموعة الحجم
اسم مجموعة الحجم: النظام
أجهزة مجموعة التخزين الجديدة: حدد RAID الذي أنشأته
إنشاء وحدة تخزين منطقية
اسم المجلد المنطقي: الجذر
حجم وحدة التخزين المنطقي: 25 من حجم القرص الخاص بك
إنشاء وحدة تخزين منطقية
اسم المجلد المنطقي: var
حجم وحدة التخزين المنطقي: 25 من حجم القرص الخاص بك
إنشاء وحدة تخزين منطقية
اسم المجلد المنطقي: سجل
حجم وحدة التخزين المنطقي: 15 من حجم القرص الخاص بك
من خلال تحديد تفاصيل تكوين العرض ، يجب أن تحصل على الصورة التالية:
بمجرد الانتهاء من إعداد LVM ، يجب أن ترى ما يلي:
تخطيط القسم: حدد كل وحدة تخزين تم إنشاؤها في LVM على التوالي وقسمها ، على سبيل المثال ، للجذر مثل هذا:
استخدم كـ: ext4
نقطة التثبيت: /
يجب أن تبدو نتيجة تقسيم قسم الجذر كما يلي:
كرر عملية التقسيم لـ var وقم بتسجيل تحديد نقاط التحميل المناسبة (/ var و / var / log أدخل يدويًا) ، مما يؤدي إلى النتيجة التالية:
حدد إنهاء التقسيم
سيتم سؤالك بعض الأسئلة حول حقيقة أن لديك قسمًا غير مركّب ولم يتم تكوين تبديل. يجب الإجابة على كلا السؤالين بالنفي.
يجب أن تبدو النتيجة النهائية كما يلي:
3) الانتهاء من تثبيت نظام التشغيل عن طريق وضع اليرقة على الجهاز الأول (sda) وتشغيل النظام.
4) انسخ محتويات قسم التمهيد / من قرص sda (ssd1) إلى قرص sdb (ssd2)
ضع قائمة بجميع الأقراص التي أعطاك إياها الأمر السابق ووصف نوع القرص
ابحث عن القرص حيث لم يتم تثبيت اليرقة وقم بتثبيت هذا: grub-install /dev/sdb
اعرض معلومات حول الغارة الحالية باستخدام cat / proc / mdstat واكتب ما تراه.
انظر إلى إخراج الأوامر: pvs ، vgs ، lvs ، mount وكتابة ما رأيته بالضبط
صِف بكلماتك الخاصة ما فعلته والنتيجة التي حصلت عليها كنتيجة للمهمة المنجزة.
بعد الانتهاء من هذه المهمة ، يوصى بحفظ نسخة احتياطية من المجلد باستخدام الجهاز الظاهري ، أو إنشاء
المتشرد: https://t.me/bykvaadm/191
النتيجة: آلة افتراضية مع أقراص ssd1 ، ssd2
المهمة 2 (محاكاة فشل أحد الأقراص)
1) إذا قمت بتحديد مربع التبديل السريع ، فيمكنك حذف الأقراص أثناء التنقل
حذف القرص ssd1 في خصائص الجهاز
ابحث عن الدليل حيث يتم تخزين ملفات جهازك الظاهري واحذف ssd1.vmdk
2) تأكد من أن جهازك الظاهري لا يزال قيد التشغيل
3) أعد تشغيل الجهاز الظاهري وتأكد من أنه لا يزال يعمل
4) تحقق من حالة مجموعة RAID: cat / proc / mdstat
5) أضف قرصًا جديدًا من نفس الحجم في واجهة الجهاز الظاهري وقم بتسميته ssd3
6) متابعة العمليات:
تأكد من وصول قرص جديد إلى النظام باستخدام الأمر fdisk -l
انسخ جدول الأقسام من القرص القديم إلى القرص الجديد: sfdisk -d / dev / XXXX | sfdisk / dev / YYY
انظر النتيجة مع fdisk -l
أضف محرك أقراص جديدًا إلى مجموعة raid: mdadm --manage / dev / md0 --add / dev / YYY
انظر إلى الناتج: cat / proc / mdstat. يجب أن ترى أن المزامنة قد بدأت.
7) أنت الآن بحاجة إلى مزامنة الأقسام غير RAID يدويًا.
للقيام بذلك ، سنستخدم الأداة المساعدة dd ، للنسخ من قرص "مباشر" إلى قرص جديد قمت بتثبيته مؤخرًا
dd if=/dev/XXX of=/dev/YYY
8) بمجرد اكتمال المزامنة ، قم بتثبيت اليرقة على محرك الأقراص الجديد
9) أعد تشغيل الجهاز الظاهري للتأكد من أن كل شيء يعمل
صِف بكلماتك الخاصة ما فعلته والنتيجة التي حصلت عليها كنتيجة للمهمة المنجزة.
النتيجة: إزالة ssd1 ، الاحتفاظ ssd2 ، إضافة ssd3.
المهمة 3 (إضافة أقراص جديدة ونقل القسم)
هذه هي المهمة الأكثر صعوبة وضخامة لجميع المقدمة.
تحقق بعناية شديدة مما تفعله وما هي الأقراص والأقسام.
يوصى بعمل نسخة قبل تشغيلها.
هذه المهمة مستقلة عن المهمة رقم 2 ، ويمكن إجراؤها بعد المهمة رقم 1 مع تعديل أسماء الأقراص.
يجب أن يؤدي الجزء الثاني من مهمة هذا المختبر إلى نفس الحالة تمامًا التي كانت بعد الجزء الأول.
لتسهيل العمل ، يمكنني أن أوصيك بعدم إزالة الأقراص فعليًا من الجهاز المضيف ، ولكن فقط
افصلهم في خصائص الجهاز. من وجهة نظر نظام التشغيل في VM ، سيبدو هو نفسه تمامًا ، لكن يمكنك ذلك
في هذه الحالة ، قم بتوصيل القرص مرة أخرى واستمر في العمل عن طريق التراجع عن بضع نقاط ، إذا
كنت تواجه مشاكل. على سبيل المثال ، ربما تكون قد أساءت التعامل أو نسيت نسخ قسم / boot إلى محرك الأقراص الجديد.
لا يسعني إلا أن أنصحك بالتحقق مرة أخرى من الأقراص والأقسام التي تعمل عليها عدة مرات ، بل وأفضل
اكتب على قطعة من الورق مراسلات الأقراص والأقسام ورقم القرص "المادي". شجرة جميلة ومفهومة
يوجه الفريق lsblk، استخدمه كثيرًا قدر الإمكان لتحليل ما قمت به وما يجب القيام به.
إلى التاريخ ...
تخيل أن الخادم الخاص بك كان يعمل لفترة طويلة على محركي أقراص ssd ، عندما فجأة ...
1) محاكاة فشل القرص ssd2 عن طريق إزالة القرص من خصائص الجهاز الظاهري وإعادة التشغيل
2) عرض الوضع الحالي للأقراص و RAID:
5) بادئ ذي بدء ، يجب أن تهتم بسلامة بيانات القرص القديم.
هذه المرة سنقوم بنقل البيانات باستخدام LVM:
بادئ ذي بدء ، تحتاج إلى نسخ جدول الملفات من القرص القديم إلى القرص الجديد:
sfdisk -d /dev/XXX | sfdisk /dev/YYY
استبدل محركات الأقراص الصحيحة لـ x و y وانظر ما يفعله هذا الأمر.
قم بتشغيل الأمر lsblk -o NAME و SIZE و FSTYPE و TYPE و MOUNTPOINT وقارن إخراجها مع المكالمة السابقة.
ما الذي تغير؟
استخدم الأمر dd لنسخ بيانات التمهيد / إلى محرك الأقراص الجديد
dd if=/dev/XXX of=/dev/YYY
إذا كان / boot لا يزال مثبتًا على محرك الأقراص القديم ، فيجب إعادة تثبيته على محرك الأقراص المباشر:
mount | grep boot # смотрим куда смонтирован диск
lsblk # смотрим какие диски есть в системе и смотрим есть ли диск, полученный из предыдущего пункта
umount /boot # отмонтируем /boot
mount -a # выполним монтирование всех точек согласно /etc/fstab.
# Поскольку там указана точка монтирования /dev/sda, то будет выполнено корректное перемонтирование на живой диск
قم بتثبيت أداة تحميل التشغيل على محرك أقراص ssd جديد
grub-install /dev/YYY
لماذا نقوم بهذه العملية؟
قم بإنشاء مجموعة غارة جديدة مع وجود قرص SSd جديد واحد فقط متضمن:
لن يعمل الأمر أعلاه بدون تحديد مفتاح خاص.
اقرأ التعليمات وأضف هذا المفتاح إلى الأمر.
استخدم الأمر cat / proc / mdstat للتحقق من نتيجة عمليتك. ما الذي تغير؟
قم بتشغيل الأمر lsblk -o NAME و SIZE و FSTYPE و TYPE و MOUNTPOINT وقارن إخراجها مع المكالمة السابقة.
ما الذي تغير؟
6) الخطوة التالية هي تكوين LVM
قم بتشغيل الأمر pvs لعرض معلومات حول الأحجام المادية الحالية
إنشاء وحدة تخزين فعلية جديدة بما في ذلك مصفوفة RAID التي تم إنشاؤها مسبقًا:
pvcreate /dev/md63
قم بتشغيل الأمر lsblk -o NAME و SIZE و FSTYPE و TYPE و MOUNTPOINT وقارن إخراجها مع المكالمة السابقة.
ما الذي تغير؟
قم بتشغيل الأمر pvs مرة أخرى. ما الذي تغير؟
قم بزيادة حجم نظام مجموعة المجلد باستخدام الأمر التالي:
vgextend system /dev/md63
قم بتشغيل الأوامر واكتب ما رأيت وما تغير.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
على أي قرص فعلي يوجد LV var ، log ، root الموجود حاليًا؟
انقل البيانات من القرص القديم إلى القرص الجديد ، مع استبدال أسماء الأجهزة الصحيحة.
vgdisplay system -v
pvs
vgs
lvs -a -o+devices
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
دعنا نغير VG الخاص بنا عن طريق إزالة قرص الغارة القديمة منه. استبدل اسم الغارة الصحيح.
vgreduce system /dev/md0
قم بتشغيل الأوامر واكتب ما رأيت وما تغير.
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
pvs
vgs
من أجل الجمال ، أعد التحميل / التمهيد إلى محرك ssd الثاني (ssd4) وشغل lsblk. نتيجة لذلك ، فإن القرص ssd3 لا يفعل ذلك
لا شيء يجب أن يتم تركيبه. تحقق بعناية من أن قسم التمهيد / ليس فارغًا! ls /boot يجب أن تظهر
ملفات ومجلدات متعددة. افحص ما تم تخزينه في هذا القسم واكتب دليل الملفات المسؤول عن ماذا.
7) قم بإزالة قرص ssd3 وإضافة ssd5 و hdd1 و hdd2 وفقًا للمواصفات الفنية المذكورة أعلاه ، والحصول في النهاية على:
ssd4 - أول ssd جديد
ssd5 - ثانية ssd
hdd1 - أول محرك أقراص صلبة جديد
hdd2 - محرك الأقراص الصلبة الجديد الثاني
لاحظ أنه عندما قمنا بنسخ جدول الأقسام من محرك الأقراص القديم ، بدا الحجم الجديد كذلك
لا يستخدم كامل سعة القرص الصلب.
لذلك ، سنحتاج قريبًا إلى تغيير حجم هذا القسم وتوسيع الغارة.
انظر بنفسك عن طريق كتابة الأمر:
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
10) نسخ قسم التمهيد / التمهيد من ssd4 إلى ssd5
dd if=/dev/XXX of=/dev/YYY
11) تثبيت اليرقة على قرص جديد (ssd5)
12) قم بتغيير حجم القسم الثاني من القرص ssd5
قم بتشغيل الأداة المساعدة للعمل مع تقسيم القرص:
fdisk /dev/XXX
أدخل مفتاح d لحذف القسم الموجود (اختر 2)
أدخل المفتاح n لإنشاء قسم جديد
أدخل المفتاح p لتحديد نوع القسم "أساسي"
أدخل المفتاح 2 بحيث يحتوي القسم الجديد على رقم ثان
القطاع الأول: اضغط على Enter لقبول الحجم المحسوب تلقائيًا لبداية القسم
القطاع الأخير: اضغط على Enter لقبول الحجم المحسوب تلقائيًا لنهاية القسم
أدخل المفتاح l لرؤية قائمة بجميع أنواع الأقسام الممكنة وابحث عن Linux raid auto بداخله
أدخل المفتاح t لتغيير نوع القسم الذي تم إنشاؤه (2) وأدخل الرقم الموجود في الخطوة السابقة.
أدخل w لكتابة التغيير إلى القرص.
12) أعد قراءة جدول الأقسام وتحقق من النتيجة
أضف قرصًا جديدًا إلى مجموعة الغارة الحالية (لا تنس استبدال الأقراص الصحيحة)
mdadm --manage /dev/md63 --add /dev/sda2
دعنا نوسع عدد الأقراص في صفيفنا إلى قطعتين:
mdadm --grow /dev/md63 --raid-devices=2
انظر إلى النتيجة: لدينا صفيفتان تم ترميزهما ، لكن كلا القسمين المتضمنين في هذه المجموعة لهما أحجام مختلفة
lsblk -o NAME,SIZE,FSTYPE,TYPE,MOUNTPOINT
13) زيادة حجم القسم على القرص ssd4
قم بتشغيل الأداة المساعدة للعمل مع تقسيم القرص:
fdisk /dev/XXX
أدخل مفتاح d لحذف القسم الموجود (اختر 2)
أدخل المفتاح n لإنشاء قسم جديد
أدخل المفتاح p لتحديد نوع القسم "أساسي"
أدخل المفتاح 2 بحيث يحتوي القسم الجديد على رقم ثان
القطاع الأول: اضغط على Enter لقبول الحجم المحسوب تلقائيًا لبداية القسم
القطاع الأخير: اضغط على Enter لقبول الحجم المحسوب تلقائيًا لنهاية القسم
في نهاية الترميز ، اختر لا لترك توقيع القسم الذي ينتمي إلى المصفوفة.
أدخل w لكتابة التغيير إلى القرص.
12) أعد قراءة جدول الأقسام وتحقق من النتيجة
قم بإنشاء وحدة تخزين منطقية بحجم كل المساحة الخالية وقم بتسميتها val_log
lvcreate -l 100%FREE -n var_log data # lvs # посмотрим результат
تنسيق القسم الذي تم إنشاؤه في ext4
mkfs.ext4 /dev/mapper/data-var_log
دعنا نرى النتيجة
lsblk
17) نقل بيانات السجل من القسم القديم إلى القسم الجديد
تحميل مؤقت تخزين سجل جديد
mount /dev/mapper/data-var_log /mnt
أقسام المزامنة
apt install rsync
rsync -avzr /var/log/ /mnt/
اكتشف العمليات التي تعمل حاليًا مع / var / log
apt install lsof
lsof | grep '/var/log'
أوقف هذه العمليات
systemctl stop rsyslog.service syslog.socket
إجراء المزامنة النهائية للأقسام (تلك البيانات التي ربما تغيرت منذ آخر مزامنة)
rsync -avzr /var/log/ /mnt/
أقسام المبادلة
umount /mnt
umount /var/log
mount /dev/mapper/data-var_log /var/log
تحقق مما حدث
lsblk
18) تحرير / etc / fstab
fstab - ملف تتم فيه كتابة القواعد وفقًا للأقسام التي سيتم تركيبها عند التمهيد
مهمتنا هي العثور على السطر الذي تم تركيب / var / log فيه وإصلاح الجهاز system-log في data-var_log
19) أهم شيء في هذه المرحلة ألا تنسى تغيير جدول الأقسام (ext4 ، على سبيل المثال). نظرًا لأنه بغض النظر عن كيفية تغيير أي غارة ، lvm - حتى يتم إخطار FS على القسم بأن حجم القسم قد تغير الآن ، فلن نتمكن من استخدام المساحة الجديدة. استخدم الأمر resize2fs لتغيير FS.
20) الوتر النهائي
لنقم بإعادة التشغيل. إذا فعلت كل شيء بشكل صحيح ، فستدخل مرة أخرى إلى نظام التشغيل الخاص بك (هذا ضروري للتأكد من أن كل شيء يعمل. هذه الخطوة لا معنى لها باستثناء الاختبار الذاتي)
تأكد من أن كل ما أردنا القيام به قد تم بالفعل:
pvs
lvs
vgs
lsblk
cat /proc/mdstat
21) [اختياري] اتبع الخطوات
أعد التشغيل بالضغط على F12 للتشغيل على أقراص مختلفة للتأكد من أنه يمكنك التمهيد
من أي من محركات أقراص SSD ، حتى لا نخاف من فشل أحدها
لديك الآن سجل LV غير ضروري في نظام VG. خصص هذه المسافة بين الجذر أو var ، ولكن بدلاً من استخدام
تصميمات مجانية 100٪ تحديد الحجم يدويًا باستخدام مفتاح -L:
-L 500M
أصلح المشكلة التي / boot على قسمين بدون مزامنة ، لست بحاجة إلى القيام بذلك بشكل صحيح ،
تمت إضافته هنا كمثال. لا تنس نسخ محتويات / boot في مكان ما أولاً.
قم بإنشاء غارة جديدة وقم بتضمين sda1 و sda2 فيها
قم بتضمين هذه الأقسام في الغارة الحالية واستعادة / تمهيد في الغارة الرئيسية ، ولكن دون تركيبها.