•  untoreh الضوء

جبال الألب

باين ، جبال الألب لينكس على أساس OSTree

اختيار ماذا نظام التشغيل يعمل على الخوادم الخاصة بك هي مسألة راحة ومعرفة. الراحة تعني أنك تريد شيئًا يقلل من المتاعب قدر الإمكان ، والألفة تعني أنك تفضل ذلك ليس لتتعلم أشياء إضافية إذا لم تكن مضطرًا لذلك.

خوادمي هي حيوانات أليفةلذا فأنا على ما يرام بإصدار بعض الأوامر يدويًا بين الحين والآخر ، ولا تتطلب أتمتة كاملة.

بعد المحاولة CoreOS لمدة عام تحولت إلى بلدي مبسط توزيعة على أساس جبال الألب و أوستري.

الأهداف

هذا الإصدار من جبال الألب يأخذ إشارات من عربة مسطحة و مشروع الذرة ومن المفترض أن يتم تثبيته كنظام ملفات جذر للقراءة فقط مع حدوث تحديثات بشكل جزئي ، أي إما أنها تنجح أو يتم تبديل النظام إلى الحالة السابقة. لكي يكون هذا ممكنا للنظام يجب أن يكون دائما على الأقل لقطتان من إصدار نظام الملفات الذي تم إصداره ، والمتوفر على التخزين.

الأهداف

في أي بيئات سيعمل النظام؟ استهدفت OVZ و [KVM] ، ولكن بشكل عام يمكنك القول حاويات و الأجهزة الظاهرية مع الاختلاف الرئيسي هو أن الحاويات لا تشغل نواة خاصة بها ، ولا سيما أنها لا تحتوي على عملية تمهيد ، فهي تستدعي مباشرةً فيه النظام (والذي على سبيل المثال في ملفDockerfile سيتم تعريفه بواسطةCMD أوENTRYPOINT العبارات) ، وهي مسؤولة عن إدارة شجرة العمليات التي ستحافظ على تشغيل الحاوية (تمامًا مثل الجلسة العادية ، إذا ماتت عملية init ، تنتهي الحاوية). كما لا يمكن للحاويات تكوين مقابض النظام ، ويمكن أن يكون لها قيود إضافية على القدرات.

شطر عملية البناء

كيف يتم بناء الصورة؟

التبعيات

الprepare.sh يتعامل البرنامج النصي مع التبعيات ، ومعظمها عبارة عن حزم لتقديم أدوات cli الشائعة مثلcoreutils, util-linux, binutils ، والمرافق للعمل مع أجهزة كتلة مثلblkid, sfdisk, multipath-tools وأنظمة الملفات بامتدادxfsprogs وe2fsprogs . الsquashfs-tools تُستخدم الحزمة في النهاية لضغط نظام الملفات الجذر المدمج. أglib يتم تثبيت حزمة التوافق أيضًا بشكل افتراضي لأن جبال الألب تعتمد علىmusl، تعمل حزمة التوافق من خلال توفير بعض المكتبات المبنية على.

الشجرة

يتم إنشاء أشجار الملفات لكل من الأجهزة الظاهرية والحاويات على التواليmake.sh وmake_ovz.sh . هذا وصف مبسط للخطوات

بالنسبة للحاويات ، فإن التسلسل هو نفسه ، ولكن يتغير التكوين ، لأنه مع نظام لا يتم تمهيده من ملف محمل الإقلاع أوستري لديها مشاكل في التحقق من البيئة ، علينا تطبيق بعضها الحلول وإعداد بعض الأجهزة التي يتم التعامل معها عادةً بواسطة initramfs خطوة. هذه هي الطريقة OVZ أو LXC تم تكوين القوالب.

التعبئة والتغليف

بمجرد أن يكون لدينا شجرة ملفات ملتزمةbuild.sh أوbuild-update.sh يعتني بإنتاج القطع الأثرية التي سيتم توزيعها. الفرق بين البرامج النصية هو أن إصدار التحديث يبدأ من مستودع ostree سابق ، و أيضا تنتج قطعة أثرية دلتا يمكن لنظام قيد التشغيل تطبيقها على مثيله الأصلي لإجراء ترقيات. هذا وصف مبسط لخطوات البناء

يتم تطبيق تكوين الأقسام باستخدام fdisklayout.cfg ملف يحدد أحجام الأقسام ، لدينا قسم واحد للجذور (~430M ) ، قسم التمهيد (~40M ) وقسم تبديل (~40M ). مع حاويات مع تخطي فقط لتركيب البناء السابق على جهاز حلقة ، وما عليك سوى سحب ostree جديد الالتزام على مستودع ostree القديم (المستخرج).

التخصيصات

ما الذي أقوم بتجميعه في هذه الصورة (بصرف النظر عن الحزم المثبتة)؟

ما كان في السابق وما لم يعد كذلك

التركيب

لتثبيت الصورة ، يمكنك إما تحميلها إلى موفر الاستضافة والتثبيت من VNC ، في حالة الأجهزة الافتراضية ، لكنني عادةً ما أخطف تثبيتًا موجودًا ، لأنه ممكن دائمًا ، وطالما قمت باختبار البرنامج النصي للإعداد مقابل إصدار توزيع لينكس ، الذي أستخدمه بشكل عام debian-8 أو ubuntu-14 ، لم يختبر التوزيعات الأخرى منذ أن وجدت دائمًا أنها متاحة. تتبع خطوات الإعداد

الاستنتاجات

لقد صنعت صنوبر 5 years from time of writing and I am still using it, and I see no reasons to switch to anything else. Alpine as a linux distro is great, simple, and I have never experienced breakage. I can easily deploy on NATed الخوادم التي تميل إلى تقديم موارد منخفضة للغاية ، في الواقع لدي مربع يعمل فقط64M من ذاكرة الوصول العشوائي ، وما زلت أمتلك كل الميزات التي أحتاجها.

[1]نظام ملفات الجذر

نشر العلامات: