هناك بشكل عام ثلاثة أنواع من الحوسبة السحابية نذكرها: البرنامج كخدمة (SaaS)، والمنصة كخدمة (PaaS)، والبنية التحتية كخدمة (IaaS). عندما ظهر مفهوم السحابة لأول مرة، قال الناس إنه كان مربكًا وغير واضح. والآن أصبحت تقنية السحابة متجذرة بعمق في قلوب الناس. ربما تستخدم السحابة دون أن تدرك ذلك . من أجل فهم هذه السحابات الثلاثة المختلفة بشكل أفضل، يمكننا أن نأخذ Google كمثال. تقدم هذه الشركة ثلاثة أشكال من الخدمات السحابية. أولاً، انظر إلى تطبيقات SaaS مثل Google Gmail/Docs/Gtalk/Maps التي تعمل جميعها على Google Cloud.، لذلك فهي توفر "البرمجيات كخدمة" للمستخدمين العاديين؛ كما توفر Google أيضًا AppEngine للمطورين، والذي يسمح للمطورين باستخدام Python وjava واللغات الأخرى وواجهات برمجة التطبيقات التي يقدمونها لتطوير البرامج والخدمات، لذلك إنهم يزودون المطورين بـ "النظام الأساسي كخدمة"؛ وقد قامت Google نفسها ببناء بنية تحتية سحابية أساسية ضخمة تعتمد على GFS وBigTable وMaPReduce لتزويد موظفيها الداخليين بـ "البنية التحتية كخدمة". .
OpenNebula عبارة عن مجموعة من أدوات الإدارة الأساسية للحوسبة السحابية مفتوحة المصدر والتي تسهل للمسؤولين نشر وإنشاء وتخصيص وإدارة عدد كبير من الأجهزة الافتراضية في مركز البيانات. ويمكن لمراكز بيانات المؤسسات استخدام هذه المجموعة من الأدوات لإنشاء سحاباتهم الخاصة وتوفير خدمات IaaS الداخلية، وتشمل المنتجات مفتوحة المصدر المماثلة Eucalyptus وopenQRM وما إلى ذلك. اكتملت عملية التثبيت التالية على خادمين من VPSee مزودين بنظام CentOS 5.5. يتم استخدام خادم واحد كواجهة أمامية لـ OpenNubula (node00)، ويتم استخدام الخادم الآخر كعقدة (node01) لإنشاء "سحابة" بسيطة. إذا كنت ترغب في توسيع هذه السحابة، فما عليك سوى إضافة العقد تدريجيًا (node02،node03، ...).
تثبيت وتكوين الواجهة الأمامية (الواجهة الأمامية)
إضافة مصدر CentOS Karan:
# القرص المضغوط /etc/yum.repos.d
# wget http://centos.karan.org/kbsingh-CentOS-Extras.repo
# تحديث يم
قم بتثبيت حزم البرامج التي يتطلبها OpenNebula والأدوات المطلوبة لتجميع كود مصدر OpenNebula:
# yum install gcc gcc-c++ اصنع opensl-devel flex bison
# يم تثبيت روبي روبي-ديفيل روبي-docs روبي-ري روبي-irb روبي-rdoc
# يم تثبيت Rubygems
# جوهرة تثبيت nokogiri rake xmlparser
# يم تثبيت scons
# يم تثبيت xmlrpc-c xmlrpc-c-devel
إصدار sqlite الذي يأتي مع CentOS لا يعمل. أنت بحاجة إلى تنزيل إصدار sqlite 3.6.17 وتجميعه:
# wget http://www.sqlite.org/sqlite-amalgamation-3.6.17.tar.gz
# tar xvzf sqlite-amalgamation-3.6.17.tar.gz
# سي دي سكليتي-3.6.17/
# ./تكوين؛ جعل التثبيت
بعد تنزيل وتجميع الحزمة المصدر opennebula 2.0.1، قم بفك الضغط والتجميع والتثبيت:
# القطران zxvf opennebula-2.0.1.tar.gz
# القرص المضغوط opennebula-2.0.1
#scons
# ./install.sh -d /srv/cloud/one
# ليرة سورية /srv/cloud/one/
bin وما إلى ذلك يتضمن lib share var
قبل بدء تشغيل OpenNebula، تحتاج إلى تكوين متغير البيئة ONE_AUTH، حيث تتم قراءة متغير البيئة هذا من الملف $HOME/.one/one_auth، لذا يجب عليك أولاً إنشاء ملف one_auth ثم تشغيل واحد (برنامج خدمة OpenNebula):
# مؤتمر نزع السلاح / الجذر /
#مكدير .واحد
#قرص واحد/
# القط "oneadmin:passWord" > one_auth
#بداية واحدة
يدعم OpenNebula ثلاث تقنيات افتراضية: KVM، وXen، وVMware. نحتاج أيضًا إلى إخبار OpenNebula بالتقنية التي نريد استخدامها، وإعادة تشغيل إحداها حتى يصبح التكوين ساري المفعول:
# السادس /etc/one/oned.conf
...
IM_MAD = [
الاسم = "im_xen"،
قابل للتنفيذ = "one_im_ssh"،
الوسائط = "xen" ]
VM_MAD = [
الاسم = "vmm_xen"،
قابل للتنفيذ = "one_vmm_ssh"،
الوسائط = "زين"،
الافتراضي = "vmm_ssh/vmm_ssh_xen.conf"،
اكتب = "زين" ]
...
#محطة واحدة
#بداية واحدة
تثبيت العقدة وتكوينها (عقدة الحساب)
يجب تثبيت بيئة Xen أو KVM الافتراضية على كل عقدة للحصول على التفاصيل، يرجى البحث عن مرجع: تثبيت وتكوين Xen على CentOS وتثبيت وتكوين KVM على CentOS مطلوب أيضًا:
# يم تثبيت روبي
تبادل مفتاح SSH
نظرًا لأن الاتصال بين OpenNebula Front وNodes يتم من خلال SSH، يجب إعداد تسجيل دخول بدون كلمة مرور SSH بين الواجهة والعقد لتجنب إدخال كلمة مرور عندما تقوم الواجهة بتشغيل البرامج النصية على العقد أو استنساخ الصور. قم أولاً بتكوين sshd على المقدمة والعقد :
# السادس /etc/ssh/sshd_config
مصادقة RSA نعم
مصادقة Pubkey نعم
# /etc/init.d/ssh إعادة التشغيل
أنشئ المفتاح في المقدمة (node00) وانسخه إلى العقدة (node01):
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub العقدة01
قم بإنشاء المفتاح على عقدة واحدة (node01) وانسخه إلى الأمام (node00):
# ssh-keygen -t rsa
# ssh-copy-id -i ~/.ssh/id_rsa.pub العقدة01
com.onehost
بعد أن تتمكن الواجهة من التواصل مع كل عقدة من خلال SSH بدون كلمة مرور، يمكنك استخدام أمر إنشاء onehost الموجود في المقدمة للانضمام إلى العقد واحدة تلو الأخرى، واستخدام قائمة onehost للتحقق من نجاح الإنشاء:
# onehost create العقدة01 im_xen vmm_xen tm_ssh
# قائمة مضيف واحد
معرف اسم المجموعة RVM TCPU FCPU ACPU TMEM FMEM STAT
1 العقدة01 الافتراضية 0 400 400 400 3.8G 383M على
إذا تم الإبلاغ عن خطأ عند تنفيذ إنشاء Onehost، فتحقق من سجل oned.log وابحث عن الكلمات sudo: آسف، يجب أن يكون لديك tty لتشغيل sudo والسبب هو أن OpenNebula يتطلب ssh/sudo عن بعد لتنفيذ الأوامر، وsudo الخاص بـ CentOS يتم تشغيل الخيار requiretty افتراضيًا. يلزم استخدام ssh A tty للتنفيذ، لذا فإن sudo عن بعد سوف يتسبب في حدوث خطأ:
# onehost create العقدة01 im_xen vmm_xen tm_ssh
# ذيل /var/log/one/oned.log
الثلاثاء 22 فبراير 11:08:58 2011 [InM] [I]: فشل تنفيذ الأمر: 'if [ -x "/var/tmp/one/im/run_probes" ]؛ ثم /var/tmp/one/im/run_probes زين 172.16.39.111؛
الثلاثاء 22 فبراير 11:08:58 2011 [InM] [I]: يتبع STDERR.
الثلاثاء 22 فبراير 11:08:58 2011 [InM] [I]: sudo: آسف، يجب أن يكون لديك tty لتشغيل sudo
الثلاثاء 22 فبراير 11:08:58 2011 [InM] [I]: حدث خطأ أثناء تنفيذ xen.rb
الحل هو إيقاف (التعليق) سطر المتطلبات:
# chmod 600 /etc/sudoers
# السادس /etc/sudoers
#الافتراضيات مطلوبة
نظرًا لأن خادمي VPSee يستخدمان وكيل HTTP للوصول إلى الإنترنت، فقد قرأ OpenNebula متغير بيئة http_proxy الخاص بالنظام ووجد خطأ في استجابة HTTP في سجل sched.log في هذا الوقت، يجب إغلاق http_proxy:
# القط /var/log/one/sched.log
الثلاثاء 22 فبراير 14:27:39 2011 [المضيف] [E]: تم رفع الاستثناء: غير قادر على نقل XML إلى الخادم والحصول على استجابة XML مرة أخرى: 504
الثلاثاء 22 فبراير 14:27:39 2011 [POOL] [E]: تعذر استرداد معلومات التجمع من ONE
# قم بإلغاء تعيين http_proxy
قم بإنشاء وتحرير ملف تكوين الشبكة الافتراضية، ثم قم بإنشاء شبكة OpenNebula الافتراضية:
# السادس Small_network.net
الاسم = "شبكة صغيرة"
النوع = ثابت
بريدج = br0
الإيجارات = [ip="192.168.0.5"]
الإيجارات = [IP = "192.168.0.6"]
الإيجارات = [IP = "192.168.0.7"]
# onevnet قم بإنشاء Small_network.net
# قائمة ونفنت
معرف اسم المستخدم نوع الجسر P #LEASES
0 oneadmin شبكة صغيرة ثابتة br0 N 0
com.onevm
قم بإنشاء وتحرير ملف تكوين بدء التشغيل للجهاز الظاهري. يمكن تنزيل ملف Centos.5.5.x86.img هنا من http://stacklet.com/ (مقابل رسوم) أو يمكنك إنشاء ملف بنفسك باستخدام أدوات Xen:
# wget http://stacklet.com/sites/default/files/centos/
Centos.5.5.x86.img.tar.bz2
# القطران jxvf Centos.5.5.x86.img.tar.bz2
# mv Centos.5.5.x86.img /srv/cloud/one/var/images/
# السادس سنتوس.واحد
الاسم = سنتوس
وحدة المعالجة المركزية = 1
الذاكرة = 256
القرص = [
المصدر = "/srv/cloud/one/var/images/centos.5.5.x86.img
الهدف = "sda1"،
استنساخ = "نعم"،
للقراءة فقط = "لا" ]
NIC = [ MAC = "00:16:3E:00:02:64"، الجسر = xenbr0 ]
نظام التشغيل = [ أداة تحميل التشغيل = "/usr/bin/pygrub" ]
استخدم أمر إنشاء onevm لبدء ملف تكوين VM أعلاه، وسيتم إنشاء جهاز افتراضي على العقدة 01. استخدم قائمة onevm للتحقق وسترى حالة prol، مما يشير إلى أن عملية الإنشاء قيد التقدم بعد اكتمال الإنشاء ، ستتغير الحالة للتشغيل:
# إنشاء onevm Centos.one
# قائمة Onevm
معرف اسم المستخدم STAT CPU MEM HOSTNAME TIME
1 oneadmin سنتوس برول 0 0K العقدة01 00 00:09:09
# قائمة Onevm
معرف اسم المستخدم STAT CPU MEM HOSTNAME TIME
1 oneadmin Centos runn 0 0K العقدة01 00 00:22:17
بهذه الطريقة، قمنا بنشر الحد الأدنى من السحابة على خادمين، العقدة 00 (الأمامية) والعقدة 01 (العقدة)، وقمنا بتشغيل مثيل جهاز ظاهري قائم على Xen على العقدة 01.
مصدر المقال: http://www.vpsee.com/2011/02/install-opennebula-on-centos/