تشغيل العديد من الأجهزة الظاهرية على مضيف واحد

StackOverflow https://stackoverflow.com/questions/154250

سؤال

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

للأسف الأرقام هي شيء من هذا القبيل 100 الأجهزة الظاهرية على 5 المادية المضيفين.كل مضيف غير لائق بما فيه الكفاية - core 2 مع 2 غيغابايت من ذاكرة الوصول العشوائي و 1tb القرص.ومع ذلك, أعرف فقط أخذ وير صورة من أوبونتو و رمي على أن الجهاز لن يحصل لي في أي مكان بالقرب من 100 الحالات سيكون شيئا أقرب إلى 20.

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

شكرا لكم مقدما على رؤى :)

ملاحظة:لقد انتهى الأمر باستخدام OpenVZ وانها عملت بشكل جيد.المعلمات الافتراضية على أوبونتو قالب دعونا تشغيل حوالي 40 حالات لكل آلة.

هل كانت مفيدة؟

المحلول

هناك ثلاث جبهات رئيسية لجعل أولئك صالح:

  1. انخفاض النفقات العامة.OpenVZ, Vserver, chroot, سيكون من المثالي إذا كان ذلك ممكنا.إذا كنت حقا بحاجة إلى كل حالة تكون حقيقية VM مع أنها تملك نواة محاولة KVM/Xen بدلا من VMWare.قد يكون أقل نضجا ، ولكن سيكون لديك الكثير من المرونة.

  2. أصغر الضيوف.محاولة أوبونتو JeOS ، أو لفة الخاص بك مع busybox

  3. حصة بقدر الإمكان بين الضيوف.محاولة تقاسم واحدة R/O صورة مع كل نظام التشغيل ، جبل صغير R/W صورة لكل ضيف في /فار /المنزل /الخ الخ

نصائح أخرى

زوجين من المشاكل مع هذا...

  1. ل Vmware server كنت حقا بحاجة إلى أجهزة الخادم إلا إذا كان فقط من أجل الاختبار.
  2. تذهب مع الافتراضية حل العارية المستوى مثل Xen Server أو VMware ESX أو ESXi (مجانا) أو Hyper-V وهي ليست عارية المستوى ولكن أقرب في الأداء.
  3. بالنسبة 20-1 سوف تحتاج المزيد من ذاكرة الوصول العشوائي.الرياضيات لا تضيف ما يصل.الحد الأدنى وظيفية آلات تحتاج 512 إلا أنها جردت تماما لينكس يجب أن يكون لديك على الأقل 256.20x256= 5gb + 5-10% من النفقات العامة.لن يحدث على تلك المواصفات.
  4. بالنسبة 20-1 سوف تحتاج المزيد من المعالج.كل جهاز سوف يكون vCPU.مشترك على core 2 يعني أن 10-1 في المعالج.ليست جيدة.نحن تشغيل ما يقرب من 20 في رباعية النواة ديل 1950 ، 16gb من ذاكرة الوصول العشوائي.يعمل كبيرة.
  5. كل ما اخترت أنت ستكون oversubscribing الذاكرة.لست متأكدا بالضبط تلك التي تسمح لك.سوف وير, ولكن يظهر التحذيرات.
  6. سمعت ولكن لا دليل على أن XenServer سوف نقدم أداء الفوائد ، ولكن لا أحد يدعي أكثر من 10-20%.

حظا سعيدا

هل تحتاج حقا 100 كامل وظيفية أنظمة التشغيل?

لماذا لا تأخذ نهج ملقمات ويب تستخدم بالفعل ؟ أعني الظاهري ملقمات ويب/hosts.

على سبيل المثال تأخذ أباتشي HTTPD مثبتا على واحد السيرفر استضافة العديد من الملقمات الظاهرية باستخدام واحد config.بالإضافة إلى أنك سوف تحتاج DNS تكوين و/أو العديد من واجهات شبكة الاتصال الظاهرية (eth0:0, eth0:1, ...,eth0:ن) مع عناوين IP مختلفة.

هذا يجب أن تعمل إذا كنت حقا بحاجة فقط عدة خدمات يتعرض العالم الحمل ليست عالية.

احتمال آخر هو استخدام خفيفة الوزن توزيعة لينكس التي يمكن تشغيلها في كميات صغيرة جدا من الذاكرة.شيء مثل DamnSmallLinux أو الاختلاف على DDWRT.يمكن تشغيلها في أقل من 16 ميغا بايت من الذاكرة مما يتيح لك تشغيل 20 أو أكثر على جهاز واحد.

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

تحقق قليلا عن "شفافة الصفحة مشاركة" في هذا بلوق الدخول, و تعليقا حول هذا الموضوع هنا أيضا.

من الواضح أنك لا تزال تدفع مع 20 من النزلاء في المضيف فقط 2Gb من ذاكرة الوصول العشوائي على كل ، ولكن إذا قمت بإزالة كل غريبة الخدمات و التطبيقات و بناء 1 ضيف صورة استنساخ ذلك قبل تثبيت التطبيق مخصص على كل, قد فقط الحصول على بعيدا معها ، خاصة وير الرابط يظهر 4Gb المضيف تشغيل 40 الضيوف!

أنا عندي واحد quadcore تشغيل الجهاز كامل سطح المكتب و 9 الأجهزة الظاهرية.لأن هذا هو آلة اختبار يمكنني استخدام جميع أنواع الضيوف.أفضل على استخدام ذاكرة الوصول العشوائي يبدو أن دبيان-kfreebsd و لينكس كور صغيرة.كور صغيرة لينكس يستخدم 10M من ذاكرة الوصول العشوائي القيام بأي شيء.إضافة إلى اثنين من خدمات و قد يكون 32M, حتى أتمكن من تشغيل 32 vm داخل 1GB من ذاكرة الوصول العشوائي!لديك 2GB بحيث يتيح لك تشغيل 48 الآلات بما في ذلك hypervisor و النفقات العامة(أنا باستخدام المربعة.) حتى مع 5 آلات سنكون تصل إلى 240 آلات :D

اعتقد انني ذاهب الى محاولة ذلك في لحظة :D

راجع للشغل.قلت vm وينبغي خفيفة الحمل ، لذا لم يعول على cpuload أو diskload.وتلك الأرقام بالضبط 0 التكرار.

إذا كنت يمكن أن ينحل إلى أسفل الضيف يكفي أنك يمكن أن تفعل ذلك ربما لا X, الحد الأدنى من الخدمات بدأ إلخ.ننظر في سلاكوير أو خادم أوبونتو.كسين يبدو شعبية بين شركات استضافة المواقع, لذلك قد يكون من المفيد النظر في.

استخدام وحدة المعالجة المركزية سوف تعتمد على التطبيقات ولكن قد ترغب في شراء المزيد من ذاكرة الوصول العشوائي!

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

على سبيل المثال تكوين ما يصل الظاهري واجهة تعيين عنوان IP.إنشاء httpd.الملف conf و/أو تنسخ.راجع الملف على سبيل المثال تريد إنشاء.في ملف التكوين ، حدد أن الشيطان يجب أن يكون منضما إلى الواجهة الظاهرية (إلا واحد).إطلاق الخفي.

كرر لكل من الحالات.سيكون لديك الكثير من عمليات التشغيل (مئات إن لم يكن الآلاف), مجموع من لهم استخدام ذاكرة أقل من العشرات من نظام رصد السفن.بالإضافة إلى, نظام التشغيل الخاص بك سوف تكون قادرة على مبادلة غير المستخدمة منها إلى القرص.

إذا كنت تفعل الرياضيات ، تحصل في المتوسط على 100 ميغابايت من ذاكرة الوصول العشوائي لكل آلة.هذا ليس كثيرا.النفقات العامة على VM كبيرة جدا ، الاضطرار إلى تشغيل كامل نظام التشغيل في كل حالة.

أما استخدام بعض بصمة صغيرة os (http://www.damnsmalllinux.org/?) وقضاء بعض الوقت لتجريد عليه أكثر أو يمكنك الحصول على أكبر آلات.

آلات رخيصة ، أنا أميل إلى الترقية إلى نظام التشغيل 64bit مع الكثير من ذاكرة الوصول العشوائي.

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

بل advertisey الرابط.

هل يقتصر على برنامج vmware ؟ هل تعتبر نظام التشغيل على مستوى الافتراضية? سوف تحصل على المزيد من VMs مع أقل النفقات العامة ، بالنظر إلى أن كل VM يمكن تشغيل نفس النواة.

العديد من الأفكار ...

1 - كما أشير إلى ذلك من قبل الآخرين ، الذاكرة الحساب لا يعمل, سوف تحتاج المزيد من ذاكرة الوصول العشوائي.

2 - اعتمادا على الخدمة ، قد تكون قادرة على العثور على ما قبل تكوين الأجهزة الظاهرية.فعلى سبيل المثال ، Astaro وقد VM الإعداد انها مجانية برامج جدار الحماية.قد تكون أيضا قادرة على العثور على مجموعة صغيرة جدا توزيعة لينكس التي يمكن أن تتكيف.

3 - ربما أنا في عداد المفقودين شيء ، ولكن يبدو أوبونتو هو قريب جدا بالفعل ...20 حالة لكل آلة على 5 آلات الحصول على 100 الحالات التي تحتاج.ليس هناك الكثير من الإرتفاع للنمو في المستقبل ، ومع ذلك ...

العناية, حظا سعيدا.

أنا لا أعرف إذا كان هذا ممكن, ولكن ماذا عن تشغيل كل خدمة في chroot البيئة ؟ ربما يمكن توفير مساحة على القرص الثابت ربط اللازمة مكتبة الملفات لإنشاء كل chroot الملفات.

مسألة أخرى مع تشغيل كل خدمة في VM هو أنها سوف تحتاج إلى عنوان IP الخاصة بهم.100 IPs قد لا يكون مشكلة على شبكة داخلية (مثل 172/8 أو 10/8 الإعداد) ، ولكن لو انهم جزء من الدرجة الأولى (على افتراض لديك أن الكثير من العامة), وأنت تسير أن ينفد بسرعة.

و كما الآخرين قد سألت لماذا كل خدمة تحتاج إلى أن تكون خاصة بها VM ؟ وكثير منهم يجب أن يكون بسهولة قادرة على تشغيل على نفس المضيف.

إذا كان هناك شيء يمكن القيام به على مستوى التطبيق - أود أن تذهب من دون أي virtualizatoin.يمكنك تشغيل مثيلات متعددة من التطبيق الخاص بك على منفذ مختلف أرقام مختلفة حتى IPs مع التعرج IP بسهولة.بهذه الطريقة يمكنك بسهولة تشغيل أكثر من 20 نسخة في كل من صناديق الخاصة بك.هيك, كنت قد تكون قادرة على القيام بكل شيء مع نصف الأجهزة الخاصة بك.

الافتراضية ليس هو الحل لكل شيء.:)

2c بلدي.

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top