اذهب إلى المحتوى

البحث في الموقع

المحتوى عن 'virtual'.

  • ابحث بالكلمات المفتاحية

    أضف وسومًا وافصل بينها بفواصل ","
  • ابحث باسم الكاتب

نوع المحتوى


التصنيفات

  • الإدارة والقيادة
  • التخطيط وسير العمل
  • التمويل
  • فريق العمل
  • دراسة حالات
  • التعامل مع العملاء
  • التعهيد الخارجي
  • السلوك التنظيمي في المؤسسات
  • عالم الأعمال
  • التجارة والتجارة الإلكترونية
  • نصائح وإرشادات
  • مقالات ريادة أعمال عامة

التصنيفات

  • مقالات برمجة عامة
  • مقالات برمجة متقدمة
  • PHP
    • Laravel
    • ووردبريس
  • جافاسكربت
    • لغة TypeScript
    • Node.js
    • React
    • Vue.js
    • Angular
    • jQuery
    • Cordova
  • HTML
  • CSS
    • Sass
    • إطار عمل Bootstrap
  • SQL
  • لغة C#‎
    • ‎.NET
    • منصة Xamarin
  • لغة C++‎
  • لغة C
  • بايثون
    • Flask
    • Django
  • لغة روبي
    • إطار العمل Ruby on Rails
  • لغة Go
  • لغة جافا
  • لغة Kotlin
  • لغة Rust
  • برمجة أندرويد
  • لغة R
  • الذكاء الاصطناعي
  • صناعة الألعاب
  • سير العمل
    • Git
  • الأنظمة والأنظمة المدمجة

التصنيفات

  • تصميم تجربة المستخدم UX
  • تصميم واجهة المستخدم UI
  • الرسوميات
    • إنكسكيب
    • أدوبي إليستريتور
  • التصميم الجرافيكي
    • أدوبي فوتوشوب
    • أدوبي إن ديزاين
    • جيمب GIMP
    • كريتا Krita
  • التصميم ثلاثي الأبعاد
    • 3Ds Max
    • Blender
  • نصائح وإرشادات
  • مقالات تصميم عامة

التصنيفات

  • مقالات DevOps عامة
  • خوادم
    • الويب HTTP
    • البريد الإلكتروني
    • قواعد البيانات
    • DNS
    • Samba
  • الحوسبة السحابية
    • Docker
  • إدارة الإعدادات والنشر
    • Chef
    • Puppet
    • Ansible
  • لينكس
    • ريدهات (Red Hat)
  • خواديم ويندوز
  • FreeBSD
  • حماية
    • الجدران النارية
    • VPN
    • SSH
  • شبكات
    • سيسكو (Cisco)

التصنيفات

  • التسويق بالأداء
    • أدوات تحليل الزوار
  • تهيئة محركات البحث SEO
  • الشبكات الاجتماعية
  • التسويق بالبريد الالكتروني
  • التسويق الضمني
  • استسراع النمو
  • المبيعات
  • تجارب ونصائح
  • مبادئ علم التسويق

التصنيفات

  • مقالات عمل حر عامة
  • إدارة مالية
  • الإنتاجية
  • تجارب
  • مشاريع جانبية
  • التعامل مع العملاء
  • الحفاظ على الصحة
  • التسويق الذاتي
  • العمل الحر المهني
    • العمل بالترجمة
    • العمل كمساعد افتراضي
    • العمل بكتابة المحتوى

التصنيفات

  • الإنتاجية وسير العمل
    • مايكروسوفت أوفيس
    • ليبر أوفيس
    • جوجل درايف
    • شيربوينت
    • Evernote
    • Trello
  • تطبيقات الويب
    • ووردبريس
    • ماجنتو
    • بريستاشوب
    • أوبن كارت
    • دروبال
  • الترجمة بمساعدة الحاسوب
    • omegaT
    • memoQ
    • Trados
    • Memsource
  • برامج تخطيط موارد المؤسسات ERP
    • تطبيقات أودو odoo
  • أنظمة تشغيل الحواسيب والهواتف
    • ويندوز
    • لينكس
  • مقالات عامة

التصنيفات

  • آخر التحديثات

أسئلة وأجوبة

  • الأقسام
    • أسئلة البرمجة
    • أسئلة ريادة الأعمال
    • أسئلة العمل الحر
    • أسئلة التسويق والمبيعات
    • أسئلة التصميم
    • أسئلة DevOps
    • أسئلة البرامج والتطبيقات

التصنيفات

  • كتب ريادة الأعمال
  • كتب العمل الحر
  • كتب تسويق ومبيعات
  • كتب برمجة
  • كتب تصميم
  • كتب DevOps

ابحث في

ابحث عن


تاريخ الإنشاء

  • بداية

    نهاية


آخر تحديث

  • بداية

    نهاية


رشح النتائج حسب

تاريخ الانضمام

  • بداية

    نهاية


المجموعة


النبذة الشخصية

تم العثور على 2 نتائج

  1. رأينا في الدرسين السابقين من هذه السلسلة ( تثبيت KVM وإنشاء آلات افتراضية Virtual machines باستخدامه على أوبونتو و إنشاء آلات افتراضية في بيئة KVM بوسائط تثبيت شبكية) كيفية استخدام virt-manager لإنشاء آلات افتراضيّة وتثبيت أنظمة تشغيل (ضيفة) عليها، انطلاقا من وسيط تخزين محلي أو عبر الشبكة. سنتابع في هذا الدرس مع virt-manager ونرى كيفية إدارة وسائط تخزين افتراضيّة Virtual storage devices. تستخدَم أنظمة التشغيل يوميا وسائط تخزين بنظم ملفات File systems مختلفة، بعضها محلّي Local وآخر يعمل عبر الشبكة. لا توجد عموما اختلافات كبيرة بين مبادئ عمل وسائط التخزين الافتراضية وتلك الملموسة Physical. تُنشأ الأقراص الخاصّة بالآلات الافتراضية في بيئة KVM اعتمادا على أقراص التخزين الملموسة التي يتخاطب معها النظام المُضيف. يتعامل نظام التشغيل مع أقراص التخزين حسب تجزئات Partitions (أو Volumes)، ويتكوّن كل قرص صلب من تجزئة أو أكثر. بالنسبة لبيئة KVM فإنها تتعامل مع التجزئات الافتراضية ضمن مجموعات تُسمّى مجامع (أو أحواض) التخزين Storage pools. يجب أولا إنشاء مَجمع تخزين ثم ننشئ به تجزئة جديدة لقرص افتراضي. إنشاء مجامع تخزين Storage pools في بيئة KVM نبدأ أولا بعرض مجامع التخزين المتوفّرة بالنقر على قائمة Edit (تعديل) ضمن برنامج virt-manager، ثم Connection Details (تفاصيل الاتصال) ونختار تبويب Storage (تخزين). يوجد مبدئيًّا مجمع تخزين باسم default يحفظ التجزئات الافتراضية على المسار var/lib/libvirt/images/. ستلاحظ وجودَ التجزئة الخاصة بنظام التشغيل الضيف الذي أنشأناه في الدرس الأول (اخترنا عند إعداد التخزين في الخطوة 4 مساحة تخزين افتراضية موجودة سلفا). سننشئ في الخطوات التاليّة مجمع تخزين جديدا، بالنقر على زر + في الجانب السفلي الأيسر من النافذة. تظهر نافذة جديدة لإعطاء اسم لمجمع التخزين واختيار نوعه. يدعم KVM ثمانية أنواع لمجامع التخزين: dir: يحفظ التجزئات الافتراضية ضمن مجلد يوجد في نظام الملفات الذي يستخدمه نظام التشغيل . disk: يستخدم أقراصا صلبة ملموسة لحفظ التجزئات الافتراضية بداخلها. fs: يستخدم تجزئات تخزين مهيّأة سلفا لتخزين التجزئات الافتراضية. netfs: يستخدم وسائط تخزين متشاركة عبر الشبكة، مثل NFS، من أجل حفظ التجزئات الافتراضية. gluster: يحتفظ بالتجزئات الافتراضية ضمن وسيط تخزين ملموس يعمل بنظام الملفات GlusterFS. iscsi: يحفظ التجزئات الافتراضية في وسائط تخزين متوفّرة على الشبكة ببروتوكول ISCSI. scsi: يستخدم وسيط تخزين محلي يعمل بنظام SCSI. lvm: يعتمد على مدير التجزئات المنطقية لتخزين التجزئات الافتراضية. سنختار في هذه الخطوة استخدام مجمع تخزين من نوع dir (مجلد في نظام التشغيل المُضيف)؛ فهو النوع الأكثر شيوعا ولا يحتاج للتعديل على بنية نظام الملفات المحلية. لا توجد تقييدات على مكان وجود المجلد الخاص بمجمع التخزين، ولكن من المستحسَن أن يكون على تجزئة منفصلة؛ مع التأكد من الأذون والملكية الخاصة بالمجلّد حتى يمكن ل KVM التعامل معه. تأكد من أن التجزئة التي تريد إنشاء المجمع عليها فارغة، ثم ركّبها على النحو التالي: sudo mount -t ext4 /dev/sdb4 /mnt/spools/SPool1 تحذير: يمكن أن يؤدي استخدام تجزئة غير فارغة إلى مسح محتوياتها. حيث dev/sdb4/ التجزئة الملموسة وmnt/spools/SPool1/ مجلد التركيب. استخدم الأمر lsblk لعرض التجزئات المتوفرة لديك (أو الموجودة على قرص خارجي)؛ كما يمكنك استخدام الأداة الرسومية GParted لنفس الغرض. يظهر في النافذة التالية المسار الذي تريد حفظ تجزئة التخزين الافتراضية فيه. إن كنت تستخدم تجزئة منفصلة فتأكد من ذكر مسار مجلد التركيب (مثلا mnt/spools/SPool1/) هنا. يظهر مجمع التخزين SPool1 بعد إنشائه في القائمة ضمن تبويب Storage السابق. أنشأنا مجمع تخزين ويمكننا الآن إنشاء تجزئة تخزين افتراضية عليه؛ ولكن قبل ذلك سنرى نوعا آخر من أنواع مجامع التخزين، وهو fs. يشير النوع fs إلى أننا نريد استخدام تجزئة قرص ملموسة كاملة، بدلا من مجلد فقط. ستحتاج لإعداد تجزئة قرص ملموس جديدة. تأكد من اسم التجزئة الجديدة (وأنها فارغة) ثم أعدّها لاستخدام نظام الملفات ext4 (على سبيل المثال) بالأمر التالي أو ببرنامج إدارة الأقراص المفضّل لديك: sudo mkfs.ext4 /dev/sdb6 أنشئ أيضا مجلدا جديدا (مثلا SPool2) في النظام المُضيف لتركيب القرص عليه. ملحوظة: اكتف بتهيئة التجزئة وإنشاء المجلد دون تركيبها عليه. سيتولى KVM هذه المهمة. يمكننا الآن إنشاء مجمع تخزين جديد وتسميته مع تحديد نوع المجمع بـfs. حدد في الخطوة التالية من إنشاء المجمع مسار مجلد التركيب (مثلا mnt/spools/SPool2/) في الخانة Target Path (المسار المستهدَف) ومسار التجزئة التي أعددناها سابقا (dev/sdb6/ في المثال) في الخانة Source Path (المسار المصدَر). يظهر مجمع التخزين الجديد في قائمة وسائط التخزين سنناقش في الدرس الموالي إنشاء نوع آخر من مجامع التخزين (عن طريق سطر الأوامر). ننتقل الآن لإنشاء تجزئة جديدة. إضافة تجزئة تخزين افتراضية إلى مجمع تخزين في بيئة KVM توجد صيغ عدّة لتجزئات التخزين. تمكّن هذه الصّيغ من استخدام التجزئة مع مراقبين Hypervisors مختلفين: QEMU، VMware، VirtualBox أو Hyper-V. حدّد مجمع التخزين الذي تريد إضافة التجزئة إليه (SPool2 مثلا) ثم انقر على زر + الموجود تحت بيانات مجمع التخزين أمام عبارة Volumes (التجزئات) لتظهر نافذة إضافة تجزئة. حدّد اسم التجزئة الجديدة والصيغة Format التي تريد استخدامها لإنشاء التجزئة ومساحتها ثم انقر على زر Finish (إنهاء). إن كنت تنوي استخدام التجزئة على مراقب آخر غير KVM في ما بعد فتأكد من اختيار صيغة يدعمها ذلك المراقب. تظهر التجزئة الجديدة ضمن قائمة التجزئات الموجودة في مجمع التخزين SPool2. ترجمة - بتصرّف - لمقال How to Manage KVM Storage Volumes and Pools for Virtual Machines – Part 3 لصاحبه.
  2. يتناول هذا المقال محاسن ومساوئ استخدام ذاكرة وهميّة (virtual memory)، أو كما يُطلق عليها بملفّ التبديل (swap file)، أو كما تُطلِق أنظمة ويندوز على هذه التقنيّة بالترقيم (paging)، أيضا سيتمّ التَّطَرُّق إلى كيفيّة تحديد فيما إذا كان النّظام المؤجّر (الخادوم) يستخدم هذه الذّاكرة الوهميّة أم لا، كما سيتمّ التَّطَرُّق إلى الاختلاف بين ملفّ التبديل (swap file)، وقسم التبديل (swap partition)، وكما سيتمّ تناول آلية إنشاء ملفّ تبديل، وكيفيّة إعداد ملفّات “swappiness”، والّتي تسمح لمُدير النظام بتحديد مدى الاعتماد على الذّاكرة الوهميّة، والحجم المُناسب للاستخدام. يمكن الاستزادة والقراءة عن التبديل (Swap)، والذّاكرة الوهميّة على موسوعة ويكبيديا، والّتي ستجيب على الكثير من الأسئلة الّتي لن يتطرّق لها هذا الشرح. سيتمّ اقتباس أحد الأجزاء المهمّة: الذّاكرة الوهميّة ومُتطلّباتُهاماهي الذّاكرة الوهميّة ولماذا يجب استخدامها؟ليس المهم إن كان النظام يَملك ذاكرة وصول عشوائي من الحجم 512mb، أو حتّى 8mb، وليس مُهمًا إن كان نظام التشغيل هو Arch أو Fedora أو CentOS أو Debian، أو حتّى Ubuntu، فإن التطبيقات أوالخواديم ستحتاج إلى المزيد من الذّاكرة العشوائيّة الفيزيائيّة، أو الذّاكرة المُحدّدة (memory allocated) الوهميّة عندما يكون الخادوم خادومًا وهميًّا، كما هو حال الخادوم المُستخدم في هذا الدليل. إنّ معرفة فيما إذا كانت الذّاكرة الوهميّة غير مفعّلة على النّظام لأمرٌ ضروريٌ يجب على مُدير النظام أن يُدركه، حيثُ أنّ النّظام في حال وصوله إلى نقطةٍ ما لا يتوفّر به أي ذاكرة حرّة، وطلبت خدمةٌ ما، أو برنامجٌ ما، أو ربما خادم الوب نفسه إلى المزيد من الذّاكرة، سيؤدي ذلك إلى فشل هذه الخدمة أو البرنامج عن العمل، وبناءً على نظام التشغيل وإعداداته، فمن المُمكن جدًا أنّ يسبب ذلك إلى مشاكلٍ لا تُحمد عُقباها، أو على الأقل ستصبح البرامج في حالة من عدم الاستقرار، وأيضًا قد تُجبر بعض التطبيقات على التوقف عن العمل لتحرير مساحة الذّاكرة المطلوبة، الأمر الّذي يزيد من تعقيد الأمور، خاصّة عندما يكون هذا الخادوم خادومًا يعمل في البيئة الحقيقية (production server)، وليست البيئة التّطويريّة (development server). يَنصح الخبراء، وبسبب الاحتماليّة السابقة، مُدراء الأنظمة، وحتّى الأشخاص غير المتخصّصين، وعلى أي نظام تشغيل، سواء Windows، أو OSX، أو حتّى الأجهزة اللّوحيّة الخاصّة الّتي تعمل بنظام التشغيل Android، بوجوب تفعيل الذّاكرة الوهميّة، حتّى ولو بحجمٍ صغيرٍ. آلية عمل الذّاكرة الوهميّةتُقدّم الذّاكرة الوهميّة للنظام، وبطبيعة الحال للتطبيقات الخاصّة به، ذاكرة RAM وهميّة إضافية، بالإضافة إلى ما يقدمه النّظام من ذاكرة فيزيائيّة – في حالة الخادوم الوهميّ ستكون الذّاكرة هي الذّاكرة المُحدّدة (allocated memory)، وليست الذّاكرة الفيزيائيّة – تعمل الذّاكرة الوهميّة عملها بالاستعانة بأقراص التخزين (disks) في سبيل تقديم هذه المساحة الإضافيّة، وذلك عن طريق تبادل المعطيات ذهابًا وإيابًا بين ذاكرة النّظام، والذّاكرة الوهميّة، وعلى حسب الحاجة. يجب أنّ يعي مُدراء الأنظمة أنّ عمليّة الكتابة والقراءة على الأقراص (disks) – حتّى السريع منها SSD – هي أبطأ بكثير من الكتابة على ذاكرة النّظام الحقيقيّة، فعلى الرغم من أنّ الذّاكرة الوهميّة ستقدّم مساحة تخزين لتنقذ بها موارد النّظام، من تطبيقات وخدمات لتعمل بشكلٍ ملائم، وتجنيبها الخروج عن العمليّة التشغيليّة المخصّصة لها (وذلك عن طريق عدم الوقوع في شرك “امتلاء الذّاكرة“) فإن الذّاكرة الوهميّة ليست بالبديل عن الذّاكرة الفيزيائيّة، وليست بالحلّ العمليّ الذي يُمكن الاعتماد عليه، ولا يُمكن بأي حالٍ من الأحوال الاستغناء عن ترقية الذّاكرة الفعليّة الخاصّة بالنظام إنّ كان النظام يستعين بالذّاكرة الوهميّة بشكلٍ كبير. قد لا تبدو فكرة هذا الدليل بتلك الأهميّة لبعض خُبراء الأنظمة، ولكنها في حقيقة الأمر معلومات لا يُمكن تجاهلها، وخاصّةً لأي شخص يستخدم خدمات الاستضافة (hosting services)، وبالتحديد لهؤلاء الجُدد منهم على أنظمة VPS بشكلٍ عام، أو أي خادومٍ مهما كان. مُتطلّبات بيئة العملتتطلّب بيئة العمل إعدادًا بسيطًا للغاية، ومن المُفترض أنّ تعمل هذه التقنيّة على جميع التوزيعات باختلاف أشكالها ونكهاتها، أو مع الأنظمة الوهميّة أو الفيزيائيّة، حتّى أنها تعمل على أنظمة Android، سواءً أجهزة الهاتف المحمول، أو الأجهزة اللوحيّة ولكن بشرط توفّر صلاحيات وصول عالية (root). مُتطلّبات تطبيق هذا الدليلخادوم وهميّ يعمل بأحد أنظمة التشغيل المُعتمدة على Linuxصلاحيات وصول كاملة سواءً كان الخادوم محلي local أو يعتمد على تقنيّة الوصول عن بُعد vnc أو باستخدام تقنية ssh.الأوامر الّتي سيتمّ استخدامها هي: free, swapon, dd, mkswap، والّتي من المُفترض توفّرها على أي منصّة.تَقوم مُعظم المنصّات وبشكل آليّ بإنشاء إما قسم تبادل، أو ملفّ خاص داخل قسم النظام، وذلك خلال عمليّة إعداد النّظام، وبحجمٍ عادةً ما يكون مُعتمدًا على الذّاكرة الحقيقيّة للنظام RAM، فإما أنّ يكون نفس الحجم الذّاكرة أو ضعفها. المحاسن والمساوئتجدُر الإشارة قبل الدخول في التفاصيل، أنّ أقراص SSD: أسرع بكثير من الأقراص الصلبة العاديّة.لا تعاني من انخفاض أداء عند البحث (low seek times)، والذي يُسببه رأس القرص الصلب عند تنقله الفيزيائيّ لقراءة البيانات.معدّل طلبات إدخال وإخراج (IO) مُنخفض خلال الثانية الواحدة.تستطيع القراءة من أجزاء متعدّدة وفي نفس الوقت، بينما لا تستطيع الأقراص الصلبة العاديّة القراءة سوى من جزء مُحدّد في الوقت نفسه.تُقدم أقراص التخزين SSD قيمةً إضافيّة للذاكرة الوهميّة، وتُقلّل من المعاناة الّتي قد يُواجها مُدير النّظام مع الأقراص الصلبة، ومع ذلك فليس من المُستحسن الاعتماد عليها واستخدامها بدلًا من الذّاكرة RAM، خاصّةً مع الخواديم ذات الحِمل العالي: خواديم البريد الإلكتروني (web mail)، أو خواديم الوب (web server)، أو خواديم قواعد البيانات (database server). محاسن استخدام الذّاكرة الوهميّةحماية ضد أخطاء “امتلاء الذّاكرة” (out of memory)، أو ما يُشار إليها بالاختصارOOM، بالإضافة إلى الحماية من انهيار النّظام، والحماية من دخول الخادوم في حالة عدم استقرار.زيادة الذّاكرة المُتوفّرة للنظام، الأمر الّذي يسمح بتشغيل المزيد من البرامج والتطبيقات بنفس الوقت، مع توفّر أمان عالي أثناء عملها.تقوم أقراص التخزين من نوع SSD بالتقليل من الفتور (lag)، بالإضافة إلى التقليل من عدد النقرات (thrashing)، وذلك عن طريق زيادة وقت استجابة الترقيم (paging).مساوئ استخدام الذّاكرة الوهميّةتزداد معدّل النقرات (thrashing)، عندما يكون النّظام مشغولًا جدًا، ويطلب ذاكرة أكثر من المُعدّل الطّبيعيّ، وعندما لا تستطع الذّاكرة الفيزيائية تلبية حاجة النّظام، سيُجبر النّظام على الدخول في دوامة يقوم بها بنقل بيانات البرامج من وإلى القرص، ومن وإلى الذّاكرة العشوائيّة، وعلى مُقتضى الحاجة، ولرُبما تبدو هذه الحالة بالمألوفة لمُستخدمي أنظمة التشغيل ويندوز، عندما يتمّ تحميل النظام فوق طاقته، سيدخل القرص الصلب في قيلولة، قد لا يستيقظ منها قبل أنّ ينتهي فنجان القهوة، ولكن هذه الحالة من المُمكن تجنبها بالإعداد المُناسب، واستخدام أقراص من SSD استهلاك مساحة القرص الصلب، حيث تعتمد هذه المساحة على ذاكرة النّظام الرئيسية، فعند توفّر ذاكرة بسعة 512mb، فمن المُستحسن استخدام 512mb إلى 1.5g للتبديل، ولكن على صِغر هذه المساحة، ستبقى مساحةً ناقصةً من قرص الخادوم في جميع الأحوال. يُنصح بشكلٍ عام باستخدام قرص مُقسّم ومُخصّص لعمليّة التبديل، ولكن هذا الأمر قد لا يتوفّر في بعض الأنظمة المؤجّرة، ولذلك سيكون لا محالة من استخدام نظام ملفّ التبديل (swap file) أو صورة قرص (disk image) كيف يتمّ التأكد من تفعيل خدمة الذّاكرة الوهميّة على الخادوم الخاصّ الوهميّقد يكون الخادوم المؤجّر بالفعل يستخدم الذّاكرة الوهميّة، وللتأكّد من ذلك يُمكن الاستعانة بالأمر free، والّذي يَكشف لمُدير النّظام إن كانت خدمة التبديل مفعّلة أم لا، ويُظهر العديد من الخيارات الإضافيّة، والّتي تكون مُساعدة لمُدير النّظام، مع الانتباه أنّه يجب استخدام المُستخدِم root لتنفيذ الأمر، ولتحديد المُستخدِم الحاليّ يُمكن الاستعانة بالأمر whoami. bash-root@academy.hsoub:/# freeيُظهر الأمر free معلومات عن ذاكرة النّظام الوهميّة والذّاكرة الفيزيائيّة، وفيما إذا كانت الذّاكرة الوهميّة مُفعّلة أم لا، فالمُخرجات التّالية هي لخادوم قد تمّ تفعيل خدمة التبديل عليه: bash-root@academy.hsoub:/# free total used free shared buffers cached Mem: 361996 360392 1604 0 1988 54376 -/+ buffers/cache: 304028 57968 Swap: 249896 0 249896وفي حال كانت خدمة الذّاكرة الوهميّة مُعطّلة ستكون المُخرجات على الشكل التّالي: bash-root@academy.hsoub:/# free total used free shared buffers cached Mem: 361996 360392 1604 0 2320 54444 -/+ buffers/cache: 303628 58368 Swap: 0 0 0يُمكن استخدام الأمر free | grep Swap لعرض المُخرج المطلوب فقطّ، وهو السطر الخاصّ بالخاصيّة Swap. bash-root@academy.hsoub:/# free | grep Swap Swap: 249896 0 249896الفرق بين أقسام التبديل وملفّات التبديلملاحظة حول أقسام التبديل (Swap Partitions)يُفضل بشكلٍ عام استخدام قسم/تجزئة تبديل مُخصّص (dedicated swap partition) على القرص الصلب، وذلك للأنظمة الّتي تعتمد على لينكس في بُنيتها، مع العلم أنّ مُعظم الأنظمة تقوم بهذه العمليّة خلال عمليّة الإعداد (التنصيب)، وفي هذه الحالة ستكون الذّاكرة الوهميّة من نوع “قسم التبديل” (swap partition) في مُعظم الأحيان. ولكن يُمكن استخدام الطريقة الّتي سيتمّ شرحها في هذا الشرح لزيادة الذّاكرة الوهميّة المتاحة باستخدام ملفّ التبديل swap file، ليتمّ به زيادة مساحة قسم التبديل، مع العلم أنّه إنّ كان النّظام يدير عمليّة التبديل، فقد يكون إضافة ذاكرة وهميّة غير ضروريّ، وقد يكون من الأفضل الاعتماد على الإعداد الافتراضيّ. ما هو ملفّ التبديل (Swap File)تخزّن بعض الأنظمة (خاصّةً نظام التشغيل ويندوز) الذّاكرة الوهميّة في ملفّ مُحدّد، بدلًا من استخدام قرص كامل لذلك، وهذا الأسلوب هو المُستخدم دائمًا عندما لا يكون من المُمكن استخدام قسم كامل للذاكرة الوهميّة، وإن هذا النوع من الملفّات يقابله بما يُسمى صورة قرص disk image على أنظمة التشغيل لينكس. ما هو صورة القرص (Disk Image)يتضمّن هذا النوع عادةً ملفّات التبديل وبياناتها، بالإضافة إلى ملفّات النّظام المرتبطة معها، ويُستخدَم هذا النوع في بعض الأنظمة المؤجّرة لأخذ نسخة احتياطيّة كاملة عن النّظام، أو في تهجير النّظام (migration) من مكان إلى آخر، ومن الأمثلة الشائعة أيضًا عن هذا النوع من الملفات هو توزيعات لينكس كيف أنّها تأتي باللاحقة .iso، والّتي تستخدم في تنصيب النّظام كما هو معروف. إنشاء ملفّ تبديل (Creating the Swap File)لا تَسمح بعض الأنظمة المؤجّرة بتقسيم وتهيئة مساحة التخزين، لذلك يَتوجّب على مُدير النّظام استخدام صورة قرص (disk image)، ومع العلم أنّ أنظمة التشغيل المبنيّة على NIX* تستخدم نظامًا خاصًا ومكرّسًا لعمليّة التبديل (swap)، ولهذا السبب يُفضّل البعض قسم التبديل على ملفّ التبديل، ولإنشاء هذا النوع من الملفّات يجب إنشاء صورة قرص فارغة (empty disk image) بحجم مُتوافق مع الذّاكرة الوهميّة المطلوبة، وتهيئتها لبدء العمل. يجب أولًا تحديد مكان الملفّ، ويجب توفّر مساحة كافية على القرص، فعند الرغبة بإضافة ذاكرة وهميّة بحجم 512mb، سيكون عندها ملفّ التبديل تقريبًا بذلك الحجم. يُمكن استخدام الأمر df-h، لاستعراض التقسيمات المُدرجة (mounted partitions)، كما يُظهر هذا الأمر معلومات عن نظام الملفّات المُستخدَم وحجم كل تقسيم، والمساحة الحرّة الخاصّة بكل قسم. سيتمّ إضافة ملفّ التبديل في المسار /var، وبالاسم ”swap.img”، وبالصلاحيات 600، وذلك فقطّ لكي لا يستطيع أيًا كان من المُستخدمين قراءة مُحتويات ذاكرة النّظام (الوهميّة). bash-root@academy.hsoub:/# cd /var bash-root@academy.hsoub:/var# touch swap.img bash-root@academy.hsoub:/var# chmod 600 swap.imgاختيار حجم ملفّ التبديل (Sizing Swap File)سيتمّ في هذه الخطوة اختيار حجم الملفّ، وهو أمرٌ هامٌ جدًا، ويَختلف الحجم الأنسب على حسب نظام التشغيل وحسب الحالة، ولكن بشكلٍ عام، يُنصح دائمًا بأن تكون الذّاكرة الوهميّة أما بنفس حجم ذاكرة الوصول العشوائي (RAM)، وأو ضعف حجمها، ولكن عندما يتوفّر بالنظام ذاكرة فيزيائيّة كبيرة الحجم، فلا يُنصح بتكبير حجم ملفّ التبديل. سيتمّ استخدام الأمر dd لحشو ملفّ التبديل بمعطيات وهميّة، ليتوسع إلى الحجم المطلوب، في المثال التّالي سيكون 1024mb. bash-root@academy.hsoub:/var# dd if=/dev/zero of=/var/swap.img bs=1024k count=1000 1000+0 records in 1000+0 records out 1048576000 bytes (1.0 GB) copied, 4.0868896 s, 253 MB/sتحضير صورة القرص (Disk Image)سيتمّ تطبيق الأمر mkswap، وذلك لتحضير نظام الملفّات للملفّ swap.img، بعد ذلك سيكون الملفّ جاهزًا للاستخدام. bash-root@academy.hsoub:/var# mkswap /var/swap.img Setting up swapspace version 1, size = 1020 GiB no label, UUID=72761533-8xbe-436l-b07e-c0sabe9cedf3كيفيّة تفعيل وتعطيل ملفّ التبديل (Enabling and Disabling Swap)تفعيل ملفّ التبديلسيتمّ استخدام الأمر swapon لتفعيل ملفّ التبديل، مع الانتباه أنه في حال نجاح عمليّة التفعيل، فالأمر السابق لا يَعرض مُخرجات بنجاح العمليّة والحالة النهائيّة، ولذلك يُمكن استخدام الأمر free. bash-root@academy.hsoub:/var# swapon /var/swap.img bash-root@academy.hsoub:/var# free total used free shared buffers cached Mem: 503596 478928 24668 0 38832 102384 -/+ buffers/cache: 337712 165884 Swap: 1048572 1780 1046792ولتعطيل ملفّ التبديل يُمكن استخدام الأمر swapoff /var/swap.img. تفعيل ملفّ التبديل خلال عمليّة الإقلاعيقوم الأمر swapon بتفعيل ملفّ التبديل فقط للإقلاع الحاليّ للنظام، بمعنى أنّه عند إعادة إقلاع الخادوم، سيكون ملفّ التبديل معطلًا، إلا إذا تمّت برمجة الأمر ليتم تنفيذه عند الإقلاع، أو تمّ التعديل على الملفّ /etc/fstab، وهي الطريقة الأسهل والأكثر استخدامًا. ما يجب عمله هو إضافة سطر إلى الملفّ /etc/fstab، ليتمّ تفسيره عند الإقلاع، ولكن يجب الحذر في استخدام هذا الأمر، فالتعديل الخاطئ من شأنه أنّ يعطب النّظام. bash-root@academy.hsoub:/var# echo "/var/swap.img none swap sw 0 0" >> /etc/fstabيُستخدم الرمز >> للإضافة، ولو تمّ استخدام الرمز >، لتمّ الكتابة من جديد ومسح الإعدادات (مُحتويات الملفّ) السابقة. إعدادات إضافيّة ومعلومات تفصيليّةما أنّ يتمّ تفعيل ملفّ التبديل، لتصبح الذّاكرة الوهميّة على أتمّ الاستعداد لتعمل عملها، ولكن هناك بعض التفاصيل الّتي سيتمّ التّطرّق لها لفهم أفضل لعمل هذه التقنيّة. الأولَوِيّاتيجب تحديد أولَويّات عند استخدام أكثر من ملفّ تبديل، أو عند استخدام أقسام موزّعة عبر أجهزة عدّة، بمعنى أنه يجب تحديد ترتيب أولويّة لكل جزء من أجزاء التبديل، فالحاجة إلى توزيع الأولويات هو للتفضيل بين الجزء السريع على البطيء، أو للتفضيل بين قسم التخزين الخامل (idle) على القسم النشط، ولذلك يتمّ تمرير الأولويّة كمُعامل للأمر swapon، أو استخدام الملفّ /etc/fstab في ذلك. سيستخدم النّظام قسم التبديل ذو الأولويّة الأعلى على أقسام التبديل ذو الأولويّة المُنخفضة: ​bash-root@academy.hsoub:/var# swapon -p 100 /var/swap.img bash-root@academy.hsoub:/var# swapon -p 10 /mnt/SecondDrive/swap.imgولاستخدام الملفّ /etc/fstab لتحديد الأولويّة يُمكن كتابة السطور التّالية: /var/swap.img none swap defaults,pri=100 0 0 /mnt/SecondDrive/swap.img none swap defaults,pri=10 0 0خيارات الأمر sysctlسيتمّ استخدام الأمر sysctl، وذلك لتغيير الإعدادات المخصّصة بمُدير الذّاكرة الوهميّة (virtual memory manager) لنظام التشغيل لينكس. يُعتبر الإعداد الخاصّ بـ vm.swappiness هامًا جدًا، ومُهمته إخبار مُتولّي (handler) نواة النّظام كيف من المُفترض أنّ تُستخدَم الذّاكرة الوهميّة، وقيمة هذا الخيار تُحدّد بالنسبة المئويّة أي بين 0-100، والنسبة 60 هي الافتراضيّة في مُعظم التوزيعات، وعند الإعداد يجب الانتباه إلى التّالي: القيمة 0: بالكاد ستستخدم النواة أيًا من مساحة التبديل المتوفّرة، بل ستصب كافة الأحمال على ذاكرة النّظام المتوفّرة أولًا.القيمة 100: ستستخدم النّواة مُعظم مساحة التبديل المتوفّرة، وستُحاول إبقاء المساحة العُظمى من ذاكرة النّظام حرّة للاستخدام.لا يوجد قيمة مثاليّة هنا، أو قاعدة يجب الالتزام بها، بل تختلف الحالة، ولكن القيمة 30% مُناسبة بشكل عام، والّتي من شأنها الموازنة بين التبادل (swapping)، وذاكرة النّظام (system memory). bash-root@academy.hsoub:/var# sysctl -w vm.swappiness=30 vm.swappiness = 30كلمات أخيرةيجب أن يُدرك مُدير النّظام بعد هذا الشرح أهمّيّة ملفّات التبديل ومدى تأثيرها على استقرار النّظام في بيئة العمل الحقيقيّة (production environments)، وهذا من شأنه أيضًا أنّ يسمح لمُدير النّظام باستخدام هذا النوع من التقنيّة في بيئة التّطوير لتجربة بعض التّقنيّات الّتي يعمل عليها. ترجمة – وبتصرّف – للمقال How To Configure Virtual Memory (Swap File) on a VPS لصاحبه Jai Boudreau.
×
×
  • أضف...