English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
عرض المشكلة
خادم التطوير والاختبار للمؤسسة مثبت على أليكسا، وتقوم أليكسا بتقديم نماذج عادة ما تكون واحدة فقط مع مساحة واحدة، من 20G إلى 40G، ثم يتم شراء التخزين وتوصيله إلى مجلد آخر.
و ملف المشاريع المنزلية موجود في مسار الجذر الذي يبلغ 20G. مع زيادة عدد المطورين، يتم ملء مسار الجذر بسرعة.
بما أن هناك بحثًا متعدد المناطق، فإنه يتطلب خطة نقل غير مرئية للجميع لمنزل home.
النظام الأساسي
بعد أن تلقي هذا المهمة، أولاً ما يخطر ببالك هو طريقة bind mount:
mount --bind /some/where /else/where
يمكن تحقيق نقل home بدون إحساس.
يبدو أن البحث باللغة الصينية لم يوضح هذا الأمر بشكل واضح.هذا الأسئلة والأجوبة يوضح ذلك بشكل جيد، يمكن للطلاب الذين يفضلون اللغة الإنجليزية مراجعة ذلك.
بالطبع، يمكنك أيضًا السؤال "الرجل": man mount
الإجراءات المحددة
أولاً، اختر وقتًا عندما يكون هناك قليل من الناس، واستخدم الأمر who لمعرفة من هم الأطفال الذين لا يريدون مغادرة الخادم، واتصل بهم لتنظيفهم جميعًا:
$ who Frodo pts/0 2017-04-17 09:07 (xx.xxx.xxx.xx) Sam pts/1 2017-04-18 08:45 (xx.xxx.xxx.xx) Pippin pts/3 2017-04-18 09:06 (xx.xxx.xxx.xx) Merry pts/4 2017-04-18 09:07 (xx.xxx.xxx.xx)
بعد التأكد من عدم وجود أشخاص آخرين، يمكنك البدء في النقل (النسخ). عند استخدام الأمر cp لنسخ، تأكد من إضافة المعلمة -p للحفاظ على إعدادات الأذونات. استخدم الأذونات الجذرية، افتراضًا، أن يكون التمييز للقرص /new_disk:
# cp -p -r /home /new_disk/
لقد تم إنشاء المنزل الجديد، لذا دعونا نمنح المنزل القديم عنوان باب آخر، حتى لا نضيع عنوان الباب الجديد للمنزل الجديد. استخدم mount --bind لتحميل مجلد home الأصلي إلى مجلد جديد:
# mkdir /home_bkp # mount --bind /home /home_bkp
في هذه الحالة، يمكننا العثور على جميع الملفات القديمة في مجلد /home_bkp. يمكننا الآن منح عنوان الباب الجديد للمنزل الجديد:
# mount --bind /new_disk/home /home
النقل قد تم! يمكنك إبلاغ الأصدقاء بأنهم يمكنهم العمل بفرح. في الواقع، يمكنك عدم إبلاغ الجميع، لأن عملية النقل هذه ليست مرئية للجميع.
بالطبع، بعض الطلاب قد يسألون، المنزل الجديد والمنزل القديم لهما نفس العنوان البابي، كلاهما /home، كيف أعرف إذا كانت عملية النقل ناجحة؟ يمكنك استخدام الأمر df للتأكد:
# cd /home_bkp # df -h . Filesystem Size Used Avail Use% Mounted on /dev/xvda1 20G 17G 2.1G 90% / # cd /home # df -h . Filesystem Size Used Avail Use% Mounted on /dev/xvdb1 296G 42G 240G 15% /new_disk
-h هو human-readable، يمكن أيضًا عدم إضافته، ولكن الأعمدة التي يتم عرضها ستكون "بشريًا غير إنسانيًا".
الأمر السابق، أولاً نذهب إلى المنزل، نقطة الاتصال هي /؛ ثم نذهب إلى المنزل الجديد، نقطة الاتصال هي /new_disk. الآن يمكننا أن نكون مرتاحين.
الإبقاء
لم ينته العمل بعد. العمل الذي تم إجراؤه في السابق هو التأكد من أن عنوان IP الجديد قد تم تغييره. بعد إعادة التشغيل، سيتم فقدان هذه المعلومات، وسيتم عودة عنوان IP إلى القديم. نحتاج إلى إيجاد طريقة لحفظ هذه المعلومات.
لتحديث ملف /etc/fstab. افتح هذا الملف، وأضف السطرين التاليين في النهاية:
/home /home_bkp none bind 0 0 /new_disk/home /home none bind 0 0
بهذا، تم إكمال عمل تبديل منطقة home.
ملاحظات بعد
هذه الخطة كانت تأتي من فكرة عارضة، لم أجد مثالاً سابقًا، لا أعرف إذا كان هناك أي فخ... حاليًا، تم تشغيل الخطة على الخادم لمدة عام تقريبًا، لم يحدث أي مشكلة، يعمل الجميع بسرور، وحتى أن العديد من الناس لا يعلمون بوجود هذا الأمر.
مجلد المنزل /home_bkp في هذا النظام بعد تنفيذه لمدة شهر، لا يبدو هناك أي مشكلة، لذا تم إفراغه، لتوفير مساحة.
البيان: محتوى هذا المقال تم جمعه من الإنترنت، ملكية الحقوق لأصحابها، تم جمع المحتوى من قبل المستخدمين على الإنترنت بتحميلهم بأنفسهم، هذا الموقع لا يمتلك الحقوق، لم يتم تعديل المحتوى بشكل إنساني، ولا يتحمل أي مسؤولية قانونية. إذا كنت قد وجدت محتوى يشتبه في حقوق النسخ، فأنت مرحب بك في إرسال بريد إلكتروني إلى: notice#oldtoolbag.com (عند إرسال البريد الإلكتروني، يرجى استبدال '#' ب '@') لتقديم الشكوى، وتقديم الأدلة ذات الصلة، إذا تم التحقق من ذلك، سيتم حذف المحتوى المزعوم فورًا.