مرحبا بالجميع. تحسبا لبدء مجموعة جديدة من دورة Linux Administrator ، فإننا ننشر مواد مفيدة كتبها طالبنا ، وكذلك معلم الدورة ، أخصائي الدعم الفني لمنتجات REG.RU في شركة REG.RU.في هذه المقالة ، سننظر في حالتين لاستبدال الأقراص ونقل المعلومات إلى أقراص جديدة ذات حجم أكبر مع مزيد من التوسع في الصفيف ونظام الملفات. تتعلق الحالة الأولى باستبدال الأقراص بنفس علامة MBR / MBR أو GPT / GPT ، أما الحالة الثانية فتتعلق باستبدال الأقراص بعلامة MBR على الأقراص بسعة تزيد عن 2 تيرابايت ، والتي ستكون عليها علامة GPT مع قسم biosboot. في كلتا الحالتين ، يتم بالفعل تثبيت الأقراص التي ننقل البيانات إليها على الخادم. نظام الملفات المستخدم للقسم الجذر هو ext4.
الحالة 1: استبدال محركات الأقراص الأصغر بمحركات أقراص أكبر (سعة تصل إلى 2 تيرابايت)
المهمة: استبدل الأقراص الحالية بأقراص أكبر (تصل إلى 2 تيرابايت) بنقل المعلومات. في هذه الحالة ، لدينا أقراص SSD (RAID-1) 2 × 240 جيجا بايت مع النظام المثبت وأقراص SATA 2 × 1 تيرابايت التي تحتاج إلى نقل النظام إليها.
النظر في تخطيط القرص الحالي.
[root@localhost ~]
تحقق من مساحة نظام الملفات الحالية المستخدمة.
[root@localhost ~]
حجم نظام الملفات قبل استبدال الأقراص هو 204 جيجا بايت ، يتم استخدام صفيفين md126 للبرامج ، والتي يتم تثبيتها في
/boot
و
md127
، والتي تستخدم كوحدة
تخزين فعلية لمجموعة
VG0 vg0 .
1. إزالة أقسام القرص من المصفوفات
تحقق من حالة المصفوفة
[root@localhost ~]
يستخدم النظام
md126
:
md126
(نقطة تحميل
/boot
) - يتكون من
md127
/dev/sda1
و
/dev/sdb1
،
md127
(LVM
md127
وجذر نظام الملفات) - يتكون من
/dev/sda2
و
/dev/sdb2
.
نحتفل على أقسام القرص الأول ، والتي يتم استخدامها في كل مجموعة ، بأنها سيئة.
mdadm /dev/md126 --fail /dev/sda1 mdadm /dev/md127 --fail /dev/sda2
نحن نزيل أجزاء من كتلة الجهاز / dev / sda من المصفوفات.
mdadm /dev/md126 --remove /dev/sda1 mdadm /dev/md127 --remove /dev/sda2
بعد أن أزلنا القرص من الصفيف ، ستبدو المعلومات المتعلقة بأجهزة الكتلة كما هي.
[root@localhost ~]
حالة الصفائف بعد إزالة الأقراص.
[root@localhost ~]
2. نسخ جدول القسم إلى قرص جديد
يمكنك التحقق من جدول القسم المستخدم على القرص باستخدام الأمر التالي.
fdisk -l /dev/sdb | grep 'Disk label type'
سيكون الإخراج MBR:
Disk label type: dos
بالنسبة إلى GPT:
Disk label type: gpt
نسخ جدول العلامات لـ MBR:
sfdisk -d /dev/sdb | sfdisk /dev/sdc
في هذا الأمر ،
الأول هو محرك الأقراص
الذي يتم نسخ العلامات منه ،
والثاني هو مكان النسخ.
تنبيه : بالنسبة إلى GPT ، فإن محرك الأقراص الذي يقوم بنسخ العلامة هو أول من تتم الإشارة إليه ، وهو محرك الأقراص الذي يقوم بنسخ العلامة إليه من محرك الأقراص الثاني . إذا قمت بخلط الأقراص ، فستتم الكتابة فوق العلامات الصحيحة في البداية وتدميرها.
نسخ جدول العلامات لـ GPT:
sgdisk -R /dev/sd /dev/sdb
بعد ذلك ، قم بتعيين UUID عشوائي على القرص (لـ GPT).
sgdisk -G /dev/sdc
بعد تنفيذ الأمر ، يجب أن تظهر الأقسام على القرص
/dev/sdc
.
[root@localhost ~]
إذا لم يتم تعريف الأقسام الموجودة في النظام على القرص
/dev/sdc
بعد الإجراء المنجز ، فإننا ننفذ الأمر لإعادة قراءة جدول القسم.
sfdisk -R /dev/sdc
إذا كانت الأقراص الحالية تستخدم جدول MBR وتحتاج المعلومات إلى نقلها إلى أقراص بسعة تزيد عن 2 تيرابايت ، فستحتاج الأقراص الجديدة إلى إنشاء ترميز GPT يدويًا باستخدام قسم التمهيد الحيوي. سيتم النظر في هذه الحالة في الجزء 2 من هذه المقالة.
3. إضافة أقسام من القرص الجديد إلى الصفيف
إضافة أقسام القرص إلى المصفوفات المقابلة.
mdadm /dev/md126 --add /dev/sdc1 mdadm /dev/md127 --add /dev/sdc2
تحقق من أنه تمت إضافة أقسام.
[root@localhost ~]
بعد ذلك ، ننتظر تزامن الصفائف.
[root@localhost ~]
يمكنك مراقبة عملية المزامنة باستمرار باستخدام أداة
watch
.
watch -n 2 cat /proc/mdstat
يحدد
-n
الفترات الزمنية بالثواني التي يجب تشغيل الأمر للتحقق من التقدم.
كرر الخطوات من 1 إلى 3 لمحرك الأقراص البديل التالي.نحتفل على أقسام القرص الثاني ، والتي تستخدم في كل مجموعة ، بأنها سيئة.
mdadm /dev/md126 --fail /dev/sdb1 mdadm /dev/md127 --fail /dev/sdb2
نحن نزيل أقسام كتلة الجهاز
/dev/sdb
من المصفوفات.
mdadm /dev/md126 --remove /dev/sdb1 mdadm /dev/md127 --remove /dev/sdb2
بعد أن أزلنا القرص من الصفيف ، ستبدو المعلومات المتعلقة بأجهزة الكتلة كما هي.
[root@localhost ~]
حالة الصفائف بعد إزالة الأقراص.
[root@localhost ~]
انسخ جدول ترميز MBR من محرك الأقراص
/dev/sd
إلى محرك الأقراص
/dev/sdd
.
sfdisk -d /dev/sd | sfdisk /dev/sdd
بعد تنفيذ الأمر ، يجب أن تظهر الأقسام على محرك الأقراص
/dev/sdd
.
[root@localhost ~]
إضافة أقسام القرص إلى المصفوفات.
mdadm /dev/md126 --add /dev/sdd1 mdadm /dev/md127 --add /dev/sdd2
تحقق من أنه تمت إضافة أقسام.
[root@localhost ~]
بعد ذلك ، ننتظر تزامن الصفائف.
[root@localhost ~]
5. تثبيت GRUB على محركات أقراص جديدة
بالنسبة إلى CentOS:
grub2-install /dev/sdX
بالنسبة إلى دبيان / أوبونتو:
grub-install /dev/sdX
حيث
X
هو حرف جهاز الكتلة. في هذه الحالة ، قم بتثبيت GRUB على
/dev/sdc
و
/dev/sdd
.
6. تمديد نظام الملفات (ext4) من قسم الجذر
تتوفر 931.5 جيجابايت على محركات الأقراص الجديدة
/dev/sdc
و
/dev/sdd
. نظرًا لنسخ جدول الأقسام من الأقراص الأصغر حجمًا ، يتوفر 222.5 جيجابايت على
/dev/sdc2
و
/dev/sdd2
.
sdc 8:32 0 931,5G 0 disk ├─sdc1 8:33 0 1G 0 part │ └─md126 9:126 0 1023M 0 raid1 /boot └─sdc2 8:34 0 222,5G 0 part └─md127 9:127 0 222,4G 0 raid1 ├─vg0-root 253:0 0 206,4G 0 lvm / └─vg0-swap 253:1 0 16G 0 lvm [SWAP] sdd 8:48 0 931,5G 0 disk ├─sdd1 8:49 0 1G 0 part │ └─md126 9:126 0 1023M 0 raid1 /boot └─sdd2 8:50 0 222,5G 0 part └─md127 9:127 0 222,4G 0 raid1 ├─vg0-root 253:0 0 206,4G 0 lvm / └─vg0-swap 253:1 0 16G 0 lvm [SWAP]
من الضروري:
- تمديد القسم 2 على كل محرك ،
- تمديد مجموعة md127 ،
- توسيع PV (الحجم الفعلي) ،
- تمديد LV (حجم منطقي) vg0 الجذر ،
- تمديد نظام الملفات.
باستخدام الأداة المساعدة
/dev/sdc2
، قم بتوسيع القسم
/dev/sdc2
إلى الحد الأقصى للقيمة.
parted /dev/sdc
(1) وعرض جدول القسم الحالي باستخدام الأمر
p
(2).

كما ترون ، ينتهي القسم الثاني بـ 240 جيجابايت. لنقم بتوسيع القسم باستخدام الأمر
resizepart
2
، حيث 2 هو رقم القسم (3). نشير إلى القيمة بالتنسيق الرقمي ، على سبيل المثال 1000 جيجابايت ، أو نستخدم إشارة مشاركة القرص - 100٪. مرة أخرى ، نتحقق من أن القسم له حجم جديد (4).
كرر الخطوات المذكورة أعلاه لمحرك الأقراص
/dev/sdd
. بعد توسيع الأقسام ، أصبح
/dev/sdc2
و
/dev/sdd2
مساويا 930.5 جيجابايت.
[root@localhost ~]
بعد ذلك ، نقوم بتوسيع مجموعة
md127 إلى الحد الأقصى.
mdadm --grow /dev/md127 --size=max
تحقق من توسيع الصفيف. الآن أصبح حجمها 930.4 جيجابايت.
[root@localhost ~]
نحن أداء التوسع في
الحجم المادي . قبل التوسع ، تحقق من الحالة الحالية لل PV.
[root@localhost ~]
كما ترون ، PV
/dev/md127
يستخدم 222.4 غيغابايت من المساحة.
قم بتوسيع PV باستخدام الأمر التالي.
pvresize /dev/md127
تحقق نتيجة التمديد الكهروضوئية.
[
root@localhost ~]
توسيع
حجم المنطقي . قبل التمديد ، تحقق من الحالة الحالية لل LV (1).
[root@localhost ~]
LV
/dev/vg0/root
يستخدم 206.41 جيجابايت.
نحن نوسع LV مع الأمر التالي (2).
lvextend -l +100%FREE /dev/mapper/vg0-root
تحقق من العمل المنجز (3).
[root@localhost ~]
كما ترون ، بعد توسيع LV ، أصبح حجم مساحة القرص المحتلة 914.39 جيجابايت.

زاد حجم وحدة التخزين ذات الجهد المنخفض (4) ، لكن نظام الملفات لا يزال يشغل 204 جيجابايت (5).
1. تنفيذ ملحق نظام الملفات. resize2fs /dev/mapper/vg0-root
نتحقق بعد الأمر المنفذ من حجم نظام الملفات.
[root@localhost ~]
سيزداد حجم نظام الملفات الجذرية إلى 900 جيجابايت. بعد الانتهاء من الخطوات ، يمكنك إزالة الأقراص القديمة.
الحالة 2: استبدال محركات أصغر مع محركات أقراص أكبر (أكثر من 2 تيرابايت)
المهمة: استبدل الأقراص الحالية بأقراص أكبر (2 × 3 تيرابايت) بحفظ المعلومات. في هذه الحالة ، لدينا أقراص SSD (RAID-1) بحجم 2 × 240 جيجا بايت مع النظام المثبت وأقراص SATA 2 × 3 تيرابايت التي تحتاج إلى نقل النظام عليها. تستخدم محركات الأقراص الحالية جدول قسم MBR. نظرًا لأن الأقراص الجديدة لديها سعة تزيد عن 2 تيرابايت ، فسوف تحتاج إلى استخدام جدول GPT ، نظرًا لأن MBR لا يمكنها العمل مع أقراص أكبر من 2 تيرابايت.
عرض تخطيط القرص الحالي.
[root@localhost ~]
تحقق من جدول القسم المستخدم على محرك الأقراص
/dev/sda
.
[root@localhost ~]
يستخدم محرك الأقراص
/dev/sdb
جدول قسم مماثل. تحقق من مساحة القرص المستخدمة في النظام.
[root@localhost ~]
كما ترون ، فإن جذر نظام الملفات هو 204 جيجابايت. تحقق من الحالة الحالية للبرنامج RAID.
1. تثبيت جدول تقسيم GPT وتقسيم القرص
تحقق تخطيط القرص حسب القطاع.
[root@localhost ~]
على محرك الأقراص الجديد 3 تيرابايت ، سنحتاج إلى إنشاء 3 أقسام:
- قسم
bios_grub
للتوافق مع GPT مع BIOS ، - القسم لصفيف RAID ليتم تحميله في
/boot
. - القسم الخاص بمصفوفة RAID والتي سيتم تبديل LV root و LV عليها .
قم بتثبيت الأداة المساعدة
المفصولة باستخدام الأمر
yum install -y parted
(لـ CentOS) ،
apt install -y parted
(لـ Debian / Ubuntu).
باستخدام
مفصولة ، قم بتنفيذ الأوامر التالية لتقسيم القرص.
parted /dev/sdc
إلى وضع تحرير تخطيط القرص.
إنشاء جدول قسم GPT.
(parted) mktable gpt
إنشاء قسم 1 قسم
bios_grub
وتعيين علامة لذلك.
(parted) mkpart primary 1MiB 3MiB (parted) set 1 bios_grub on
إنشاء قسم 2 وتعيين علامة لذلك. سيستخدم القسم ككتلة لصفيف RAID ويقوم بتثبيته في
/boot
.
(parted) mkpart primary ext2 3MiB 1028MiB (parted) set 2 boot on
نقوم بإنشاء قسم 3 ، والذي سيتم استخدامه أيضًا ككتلة صفيف سيكون فيها LVM.
(parted) mkpart primary 1028MiB 100%
في هذه الحالة ، ليس من الضروري تعيين العلامة ، ولكن إذا لزم الأمر ، فمن الممكن تعيينها باستخدام الأمر التالي.
(parted) set 3 raid on
تحقق من الجدول الذي تم إنشاؤه.
(parted) p : ATA TOSHIBA DT01ACA3 (scsi) /dev/sdc: 3001GB (./.): 512B/4096B : gpt Disk Flags: 1 1049kB 3146kB 2097kB primary bios_grub 2 3146kB 1077MB 1074MB primary 3 1077MB 3001GB 3000GB primary
عيّن محرك الأقراص GUID عشوائيًا جديدًا.
sgdisk -G /dev/sdd
2. إزالة أجزاء من القرص الأول من المصفوفات
تحقق من حالة المصفوفة
[root@localhost ~]
يستخدم النظام صفيفتين: md126 (نقطة تحميل / تمهيد) - يتكون من
/dev/sda1
و
/dev/sdb1
،
md127
(LVM
md127
وجذر نظام الملفات) - يتكون من
/dev/sda2
و
/dev/sdb2
.
نحتفل على أقسام القرص الأول ، والتي يتم استخدامها في كل مجموعة ، بأنها سيئة.
mdadm /dev/md126 --fail /dev/sda1 mdadm /dev/md127 --fail /dev/sda2
نحن نزيل أجزاء من كتلة الجهاز
/dev/sda
من المصفوفات.
mdadm /dev/md126 --remove /dev/sda1 mdadm /dev/md127 --remove /dev/sda2
تحقق من حالة الصفيف بعد إزالة القرص.
[root@localhost ~]
3. إضافة أقسام من القرص الجديد إلى الصفيف
الخطوة التالية هي إضافة أقسام القرص الجديد إلى المصفوفات للمزامنة. نحن ننظر إلى الوضع الحالي لتخطيط القرص.
[root@localhost ~]
القسم
/dev/sdc1
هو
/dev/sdc1
bios_grub
ولا يشارك في إنشاء المصفوفات. لن تستخدم
/dev/sdc2
سوى
/dev/sdc2
و
/dev/sdc3
. أضف هذه المقاطع إلى المصفوفات المقابلة.
mdadm /dev/md126 --add /dev/sdc2 mdadm /dev/md127 --add /dev/sdc3
ثم ننتظر تزامن الصفيف.
[root@localhost ~]
تقسيم الأقراص بعد إضافة أقسام إلى صفيف.
[root@localhost ~]
4. إزالة أجزاء من القرص الثاني من المصفوفات
نحتفل على أقسام القرص الثاني ، والتي تستخدم في كل مجموعة ، بأنها سيئة.
mdadm /dev/md126 --fail /dev/sdb1 mdadm /dev/md127 --fail /dev/sdb2
نحن نزيل أجزاء من كتلة الجهاز
/dev/sda
من المصفوفات.
mdadm /dev/md126 --remove /dev/sdb1 mdadm /dev/md127 --remove /dev/sdb2
5. انسخ جدول ترميز GPT ومزامنة الصفيف
لنسخ جدول ترميز GPT ، نستخدم الأداة المساعدة
sgdisk
، والتي يتم تضمينها في الحزمة للعمل مع أقسام القرص وجدول GPT -
gdisk
.
تثبيت
gdisk
لنظام CentOS:
yum install -y gdisk
تثبيت
gdisk
لـ Debian / Ubuntu:
apt install -y gdisk
تنبيه : بالنسبة إلى GPT ، يتم أولاً الإشارة إلى القرص الذي يتم نسخ العلامات إليه ، والثاني هو القرص الذي يتم نسخ العلامات منه. إذا قمت بخلط الأقراص ، فستتم الكتابة فوق العلامات الصحيحة في البداية وتدميرها.
انسخ جدول علامات GPT.
sgdisk -R /dev/sdd /dev/sdc
تقسيم الأقراص بعد نقل جدول إلى محرك الأقراص
/dev/sdd
.
[root@localhost ~]
بعد ذلك ، نضيف كل قسم من الأقسام المشاركة في صفيفات RAID الخاصة بالبرنامج.
mdadm /dev/md126 --add /dev/sdd2 mdadm /dev/md127 --add /dev/sdd3
نحن في انتظار تزامن الصفيف.
[root@localhost ~]
بعد نسخ علامة GPT إلى قرص جديد ثانٍ ، ستبدو العلامات هكذا.
[root@localhost ~]
بعد ذلك ، قم بتثبيت GRUB على محركات الأقراص الجديدة.
التثبيت ل CentOS:
grub2-install /dev/sdX
التثبيت لديبيان / أوبونتو:
grub-install /dev/sdX
حيث
X
هي حرف محرك الأقراص ، وفي حالتنا ، فإن
/dev/sdc
drives
/dev/sdc
و
/dev/sdd
.
تحديث المعلومات حول الصفيف.
بالنسبة إلى CentOS:
mdadm --detail --scan --verbose > /etc/mdadm.conf
بالنسبة إلى دبيان / أوبونتو:
echo "DEVICE partitions" > /etc/mdadm/mdadm.conf mdadm --detail --scan --verbose | awk '/ARRAY/ {print}' >> /etc/mdadm/mdadm.conf
تحديث الصورة
initrd
:
بالنسبة إلى CentOS:
dracut -f -v --regenerate-all
بالنسبة إلى دبيان / أوبونتو:
update-initramfs -u -k all
تحديث التكوين GRUB.
بالنسبة إلى CentOS:
grub2-mkconfig -o /boot/grub2/grub.cfg
بالنسبة إلى دبيان / أوبونتو:
update-grub
بعد الخطوات المكتملة ، يمكن إزالة الأقراص القديمة.
6. تمديد نظام الملفات (ext4) من قسم الجذر
تقسيم الأقراص قبل توسيع نظام الملفات بعد نقل النظام إلى 2 × 3 تيرابايت (RAID-1) الأقراص.
[root@localhost ~]
تحتل
/dev/sdd3
/dev/sdc3
و
/dev/sdd3
2.7 تيرابايت. منذ أن أنشأنا تقسيمًا جديدًا للأقراص مع جدول GPT ، تم تعيين حجم الأقسام الثلاثة على الفور إلى الحد الأقصى لمساحة القرص الممكنة ، وفي هذه الحالة ، لا يلزم توسيع القسم.
من الضروري:
- تمديد مجموعة md126 ،
- توسيع PV (الحجم الفعلي) ،
- تمديد LV (حجم منطقي) vg0 الجذر ،
- تمديد نظام الملفات.
1. md126
مجموعة md126
إلى الحد الأقصى. mdadm --grow /dev/md126 --size=max
بعد توسيع مجموعة
md126
حجم المساحة المشغولة إلى 2.7 تيرابايت.
[root@localhost ~]
توسيع حجم المادية .قبل التوسع ، نتحقق من القيمة الحالية للفضاء PV / dev/md126
. [root@localhost ~]
قم بتوسيع PV باستخدام الأمر التالي. pvresize /dev/md126
تحقق من العمل المنجز. [root@localhost ~]
توسيع الطبقة حجم منطقي vg0 الجذر .بعد توسيع PV ، نتحقق من المساحة المشغولة لـ VG. [root@localhost ~]
تحقق من المساحة التي تشغلها LV. [root@localhost ~]
حجم الجذر vg0 يستغرق 206.41 غيغابايت.توسيع LV إلى أقصى مساحة القرص. lvextend -l +100%FREE /dev/mapper/vg0-root
التحقق من مساحة الجهد المنخفض بعد التوسع. [root@localhost ~]
تمديد نظام الملفات (ext4).تحقق من حجم نظام الملفات الحالي. [root@localhost ~]
حجم / dev / mapper / vg0- الجذر يستغرق 204 غيغابايت بعد ملحق LV.توسيع نظام الملفات. resize2fs /dev/mapper/vg0-root
تحقق من حجم نظام الملفات بعد توسيعه. [root@localhost ~]
يتم زيادة حجم نظام الملفات من خلال وحدة التخزين بأكملها.