من المفترض أنه نتيجة لهذه الطريقة ، فإننا نحفظ التسلسل الذي يتم به إخراج الأقراص بواسطة الأمر ceph osd tree. إذا كانوا هناك بالترتيب ، فهو أكثر قابلية للقراءة والنظر ، إذا لزم الأمر.
الانحدار الغنائي حول الموضوع. تتضمن الطريقة الرسمية لاستبدال قرص في ceph إزالة جميع الكيانات المنطقية المرتبطة بهذا القرص من الكتلة بمزيد من إعادة الإنشاء. نتيجة لذلك ، يمكن لـ osd الذي تم إنشاؤه حديثًا (في بعض الحالات) تغيير رقمه (الرقم في اسم الكيان ، وهو osd. Digit) والموقع في خريطة التكسير وسيتم عرضه بشكل طبيعي في مكان آخر في الأمر ceph osd tree وغيرها. سيتغير الرقم التسلسلي.
فكرة هذه الطريقة هي أننا لن نغير أي كيانات منطقية ، ولكن ببساطة انزلاق قرص جديد إلى المكان "القديم" في الكتلة. للقيام بذلك ، على هذا القرص الجديد ، يجب عليك (إعادة) إنشاء بنيات البيانات الصحيحة: كل أنواع المعرفات ، والروابط ، والمفاتيح.
دعونا نحتفل قرص جديد.parted /dev/__ mklabel gpt
لنقم بإنشاء قسم جديد في قسمنا parted /dev/sdaa mkpart primary ext2 0% 100% /sbin/sgdisk --change-name=1:'ceph data' -- /dev/sda1
الحصول على UUID من OSD المتوفى ceph osd dump|grep 'osd.'
ضع PARTUUID على قرص البيانات /sbin/sgdisk --typecode=1:99886b14-7904-4396-acef-c031095d4b62 -- /dev/__
العثور على القسم مع المجلة ceph-disk list | grep for | sort
إنشاء نظام ملفات على قرص البيانات /sbin/mkfs -t xfs -f -i size=2048 -- /dev/sdaa1
جبل FS mount -o rw,noatime,attr2,inode64,noquota /dev/____ /var/lib/ceph/osd/ceph-_OSD
نسخ البيانات من OSD المجاورةفي الواقع ، هذا هو الجزء الأكثر شهرة من الإجراء ، يجب أن يتم كل شيء بعناية.عند النسخ ، تخطي الدليل / var / lib / ceph / osd / ceph-NUMBER / الحالي ، هذا هو دليل البيانات. Simlink في مجلة سننشئ في وقت لاحق
نسخ for i in activate.monmap active ceph_fsid fsid journal_uuid keyring magic ready store_version superblock systemd type whoami; do cp /var/lib/ceph/osd/ceph-_/${i} /var/lib/ceph/osd/ceph-; done
نحن نبحث عن مجلة ceph-disk list | grep for | sort
وفقا لذلك ، نجد القسم ، والقيام به
ls -l /dev/disk/by-partuuid | grep _
عمل رابط إلى UUID هذا ln -s /dev/disk/by-partuuid/UUID /var/lib/ceph/osd/ceph-/journal
املأ fsid بالقيمة الصحيحةهذا fsid هو في الواقع معرف فريد ، والذي بموجبه يظهر مربع osd في الكتلة ، من المهم ، لأنه إذا كنت لا تخمن مع المعرف ، فلن ترى مربع osd نفسه الكتلة وسيكون ذلك متبادلاً.
ويجب أن تؤخذ القيمة من قسم partuuid في سجل البيانات.
echo -n UUID >/var/lib/ceph/osd/ceph-/fsid
ملء كيرينغمع هذا ، فإن صندوق osd مخول في المجموعة.
ceph auth list|grep --after-context=1 'osd.'
هو مكتوب إلى ملف بالتنسيق
[osd.] key = __
ملء whoamiنكتب ببساطة رقم OSD لهذا الملف ، الذي نريد إحياءه.
التصفير المجلة dd bs=32M oflag=direct if=/dev/zero of=/var/lib/ceph/osd/ceph-/journal
إنشاء البيانات الأولية للمجلة و osd-shki ceph-osd --mkfs -i _OSD ceph-osd --mkjournal -i _OSD
تغيير مالك البيانات chown -R ceph:ceph /var/lib/ceph/osd/ceph-
تشغيل ceph-osdتنبيه: مباشرة بعد بدء تشغيل ceph-osd ، ستبدأ إعادة الإنشاء إذا لم يتم إصدار NUMBER من NUMBER قبل خروج القرص من الكتلة.
systemctl start ceph-osd.