You are on page 1of 11

‫السالم عليمك ورمحة هللا وبراكتة‬

‫انشاء هللا هانبدا نتكلم اكتر عن االوبنستاك في الفصل دة من الناحية العملية‪ ,‬وهانتعلم اكتر الـ‪Basic Operations‬‬

‫في حاجة مهمة هانركز عليها في الكام فصل الي جايين هو اننا هانتعامل مع االوبنستاك من خالل ‪ CLI‬لية هانعمل كدة باختصار علشان كل‬ ‫‪-‬‬
‫حاجة ماتقدرش تعملها من علي ‪ Web Interface‬لالوبنستاك تقدر تعملها وبسهولة من خالل ‪ CLI‬غير كدة الطريقة دي اسرع وتعتبر‬
‫ال ‪.Professional way‬‬
‫تنوية ‪ :‬عند استخدام ‪ CLI‬يمكن الضغط علي زر ‪ Tab‬علشان تكمل االمر علي سبيل المثال لو كتبت ‪ opens‬وضغطت ‪ Tab‬الكلمة هاتكمل‬
‫لوحدها الي ‪ openstack‬ولو ضغطت علي ‪ Tab‬مرتين هايظهر ليك كل االوامر المتاحة الي هاتيجي بعد االمر ‪ , openstack‬نفس المردو لو‬
‫استخدمت ‪ Tab‬في المسارات علي سبيل المثال لو كتبت ‪ /opt/s‬وضغط ‪ tab‬هايكملهالك ل ‪. /opt/stack‬‬
‫‪-: Using the OpenStack CLI ‬‬
‫علشان نستخدم ال ‪ CLI‬في االوبنستاك الزم نكتب امر االمر دة مسئول عن عملية تهيئة الـ‪ , Shell‬بمعني تاني االمر دة بيعرف االوبنستاك مين الي‬
‫بيتسخدم االونستاك من خالل ‪ , CLI‬وكل مرة نشتغل فيها علي ‪ CLI‬الزم نكتب االمر دة مع تغير المستخدم لو حابين ‪.‬‬

‫هانكتب االمرين دول علشان نتأكد ان تم عمل التهيئة بشكل صحيح االمر بيعرض ال ‪ Images‬و ال‪ Flavor‬الموجودة عندنا وحالتها‪ ,‬والمفروض‬
‫يظهر لينا‬
‫لو ظهر لينا الشكل دة يبقي احنا كدة لينا صالحية اننا نعمل ‪ vm‬باستخدام اليوزر ‪ demo‬في الـ)‪ tenant (project‬الي اسمها ‪ , demo‬وبامر‬
‫واحد نقدر نعمل ‪ vm‬علي االوبنستاك بامر واحد وهو دي قوة ال ‪ CLI‬انك بخطوة واحدة تقدر تعمل اكتر من عملية في نفس الوقت وبتقي اسهل‬
‫واسرع كمان من انك تعمل نفس العملية علي الـ‪.Dashboard‬‬

‫الصح في اقل من ‪ 10‬ثواني تظهر لينا رسالة بتوضح ان تم عمل ‪ Vm‬وهاتكون بالشكل دة ‪.‬‬

‫وعلشان نتاكد من انا كل حاجة صح هاندخل علي ال‪ dashboard‬والمفروض الشكل هايكون كدة ‪ ,‬لو فاكرين مع بعض اننا عملنا الحتة دي في‬
‫الفصل الي فات من ال‪. dashboard‬‬
‫** كدة عندنا فكرة بسيطة عن ان اي حاجة بتتعمل من الـ‪ Dashboard‬ممكن تتعمل من ال‪ CLI‬وهاتكون اسرع وفي امر واحد بس ‪ ,‬نفس االمر‬
‫ممكن يتعمل مع ‪ Keystone, Glance, Neutron‬وانشاء هللا هايتم شرح الكالم دة كلة بالتفاصيل في الفصول الي جاية وهايتكتب اوامر كتير وفيها‬
‫تفاصيل اكتر ‪ ,‬احنا لسة بناخد فكرة عن بعض االوامر الي ممكن من خاللها ننفذ اوامر علي ال‪openstack‬‬

‫‪-: Tenant(Projects) model operations ‬‬


‫يعني علشان نقرب المسافات هاقول مثال ان االوبنستاك عبارة عن اوتيل وان الـ‪ Tenant‬دي عبارة عن غرفة جوا االوتيل دة الطبيعي لما بتدخل‬
‫الغرفة بتالقي فيها سرير او سريرين وكمان هتالقي تليفزيون وساعات ‪ Wi-Fi‬كل دة حسب الطلب الي بتطلبة من الكول سنتر بتاع االوتيل لما بتيجي‬
‫تحجز الغرفة بتاعتك ‪ ,,,‬الـ‪ Tenant‬نفس الموضوع هي الغرفة بتاعتك جوا االوبنستاك الي انت بتحطلها ال‪ requirements‬زي ( ‪vCPU, RAM,‬‬
‫‪ )storage, and etc‬وكل مستخدم جديد ان بتعملة علي االوبنستاك بتديلة صالحية انة يستخدم ‪ Tenant‬معينة ‪.‬‬

‫علشان تعمل ‪ Tenant‬جديدة محتاجين نكتب االمر دة علشان نشوف ال‪ Tenants‬الي عندنا‬

‫بعد كدة هانكتب االمر دة ‪openstack project create –description ‘My New Project-Tenant’ EidTenant2342017‬‬

‫بعد كدة لو كتبت االمر ‪ openstack project list‬تاني هانشوف االختالف‬


‫وزي ما احنا عارفين ان اي حاجة بنعملها في ال‪ cli‬بتسمع علي طول في ‪ Cui‬وعلشان نتأكد هاندخل علي الصفحة دي ‪.‬‬

‫لو حبيت تعمل ‪ DeleteProject‬هاتكتب االمر دة وهاتكتب ال‪project ID‬‬ ‫‪-‬‬

‫طيب بعد ما عملنا الـ‪ , Tenant‬اكيد الزم نعمل ‪ user‬علشان نديلة صالحية يشتغل عليها ‪ ,‬هانكتب االمر دة علشان نعرف المستخدمين‬ ‫‪-‬‬
‫الموجدين عندنا علي االوبنستاك ‪.‬‬

‫علشان بقي نعمل يوزر جديد هانكتب االمر دة ‪openstack user create --project EidTenant2342017 –password‬‬ ‫‪-‬‬
‫‪admin@@@admin Eid‬‬
‫بعد ما عملنا ‪ project‬وعملنا ‪ user‬مش باقي لينا غير اننا نعمل ‪ role‬علشان نضفها للمستخدم الجديد الي عملناه وعلشان نعمل كدة‬ ‫‪-‬‬
‫هانكتب االمر دة‬

‫كدة عندنا ‪ project‬و ‪ user‬و ‪ , role‬نربط بقي كل حاجة ببعضها باالمر دة ‪.‬‬ ‫‪-‬‬

‫اكتب االمر دة علشان تتاكد ان كل حاجة اتربطت مع بعضها ‪ ,‬وبعد كدة ادخل علي االوبنستاك من خالل ‪ Web‬واكتب اسم المستخدم وكلمة‬ ‫‪-‬‬
‫المرور بتوع المستخدم الجديد الي لسة عملينة‬

‫‪-: Tenant networks ‬‬


‫في الجزء دة هانتكلم عن بعض المفاهيم المرتبطة بالنتورك مع ال ‪ Tenant‬وهانكتب وننفذ بعض االوامر البسيطة في الجزء دة علشان‬
‫ننشأ ‪ Network , Subnet and Router‬وهانعرف ازاي نربط كلة حاجة مع بعضها ‪.‬‬
‫في االول هانعمل نتورك ونسميها زي ما احنا حابين وهانربطها بال‪ Tenant‬الي عملنها مسبقا‪ ,‬وبعد كدة هانعمل ‪ Subnet‬ونسميها االسم‬ ‫‪-‬‬
‫الي حابينة وهانديها رينج ‪ IPs‬كل دة اسمة (‪ , )Private Network‬معني كدة ان فية ‪ Public Network‬اينعم في حاجة اسمها كدة‬
‫وهي تم انشأها اتوماتيكيا لما كنا بنعمل ‪ install‬لل ‪ DevStack‬علشان نستخدمها في عملية ال‪Test‬‬

‫علشان نعمل نتورك ونسميها زي ماحنا حابين هانكتب االمر دة وهانربطة بال‪ Tenant‬الي عملنها والمفروض يكون في ‪ output‬بالشكل‬ ‫‪-‬‬
‫الي في الصورة‬

‫بعد ما انشأنا النتورك وربطناها مع ال‪ Tenant‬هايتم انشأ ‪ Subnet‬ونسميها بردو وهانديها ‪ Range‬لل ‪IPs‬‬ ‫‪-‬‬
‫كدة احنا عملنا ‪ Privet Network‬وسمناها ‪Eid-Network‬‬ ‫‪-‬‬

‫وفي الخطوة الي جاية هانربطها بال ‪ ,,, Public Network‬الطبيعي علشان نقدر نربط اي اتنين نتورك مختلفين عن بعض بنحتاج لراوتر‬ ‫‪-‬‬
‫‪ ,,‬يبقي الخطوة الي جاية هانعمل راوتر علشان نربط االتنين نتورك ببعض‪.‬‬
‫علشان نعمل راوتر ونربطة مع ال‪ Tenant‬بتاعتنا هانكتب الكود دة (الراوتر يا شباب بنحتاجة علشان نقدر نوصل ل‪ Tenant‬واخدة‬ ‫‪-‬‬
‫نتورك غير النتورك بتاعتنا او نخرج برة النتورك خالص ) ‪ ,‬بعد كدة هاتكتب االمر ‪ openstack router list‬علشان نشوف الراوتر اتعمل‬
‫واتربط وال ال ‪.‬‬

‫كدة عندنا راوتر مربوط بالـ‪ Tenant‬بتاعتنا وعايزين نربطة بال‪ subnet‬بتاعتنا ‪ ,‬بطريقة ابسط هانضيف ‪ interface‬للراوتر بتاعنا‬ ‫‪-‬‬
‫علشان نقدر نشوف ال‪ Subnet‬وعلشان نعمل كدة هانكتب االمر دة‬
‫**** يبقي بالشكل دة وبشوية االوامر الي كتبناها يبقي عندي راوتر اسمة ‪ Eid-Router‬مربوط علية نتورك اسمها ‪ Eid-Network‬والنتورك دي‬
‫ادناها رينج ايبهات ‪ 192.168.10.0/24‬وسمناه‪ ,, EidSubnet‬وكل دة مربوط علي ال‪ Tenant‬الي اسمها ‪ EidTenant2342017‬الي علشان‬
‫تشوف شكلها عامل ازاي الزم تدخل من ال ‪ web‬باليوزر ‪ eid‬والباسورد ‪Admin@@@Admin‬‬

‫علشان بقي نربط ال‪ private‬مع ال‪ Public‬هانكتب االمر دة ‪.‬‬ ‫‪-‬‬
‫بكدة تقدر تعمل نتورك وتربطها باي نتورك تانية مختلفة في ال‪ Subnet‬من خالل الراوتر الي عملناه (حاول تجرب وتعمل اكتر من نتورك)‬ ‫‪-‬‬

‫‪-: Quotas ‬‬


‫الكوتا زي ما متعارف عليها في مجال ‪ IT‬هي عبارة عن حصتك من ال‪ resources‬بتاعتك‪ ,‬تقدر تطبق الكوتا علي مستوي المستخدم او علي‬
‫مستوي ال ‪ , Tenant‬الجزء بتاع الكوتا دة مهم انك تكون مركز وانت بتشتغل علية الن لو عملت اعدادات مش مزبوطة للكوتا ممكن قوي‬
‫تحصل مشاكل في كل ال‪Tenant‬‬

‫هانبدا بال ‪ Tenant Quota‬وعلشان نبدأ الزم تعرف حاجتين مهمين االولي هي اي ‪ Tenant‬هاتشتغل عليها واية هي اسمها او ال‪ID‬‬ ‫‪-‬‬
‫بتاعها تاني حاجة الزم تعرف المستخدمين الي علي ال‪ Tenant‬دي علشان لو عايز تحدد لكل واحد كوتا معينة علشان نعمل كدة هانكتب‬
‫االوامر دي ‪ .‬وفي حالتي هاشتغل علي ال‪ Tenant‬الي اسمها ‪EidTenant2342017‬‬

‫لو حابين علي سبيل المثال نغير في عدد ال‪ Cores‬والرامات ‪ ,‬هانكتب االمرين دول ‪ ,‬اي ‪ value‬عايز تغير القيمة بتاعتها اكتب االسم‬ ‫‪-‬‬
‫بتاعها وبعدها اكتب القيمة الي انت عايزها ) كدة احنا شغلين كوتا علي مستوي ال‪)Tenant‬‬
‫طيب لو حبينا نعمل كوتا لمستخدم معين جوا ‪ Tenant‬معينة ‪ ,‬هانكتب االمر دة ‪.‬‬ ‫‪-‬‬

‫بعد كدة اكتب االمر دة علشان نشوف الكوتا الجديدة للمستخدم علي ال‪Tenant‬‬ ‫‪-‬‬

‫الكوتا كمان تقدر تستخدمها علشان تعرف ال ‪ Storage‬المخصصة لل‪ Tenant‬دي اية وكمان تقدر تعرف ال‪ Network‬المخصصة الي‬ ‫‪-‬‬
‫‪ Tenant‬وكل دة تقدر تعدل فية زي ما تحب علي مستوي اليوزر او مستوي الـ‪Tenant‬‬
‫** احنا كدة مع بعض انتهينا من بعض االوامر البسيطة والي ممكن نعملها علي االوبنستاك من خالل ال‪ ,, CLI‬الموضوع يا شباب كبير ومليان‬
‫تفاصيل كل الي فات مجرد قشور وتقدر تقول اننا لسة بناخد فكرة عن االوبنستاك وبعض العمليات الي ممكن ننفذها علية ‪.‬‬
‫انشاء هللا هانبدا بقي الشغل الصح من الفصل الي جاي ‪ ...‬هايكون في كالم مفصل اكتر وصعب شوية محتاجين نركز مع بعض ونذاكر ونبحث ونقرا‬
‫كتير قوووي ‪ ,‬كل جزء في االوبنستاك هايتم شرحة بالتفصيل في فصل لوحدة ‪ ..‬هاندي كل حاجة حقها انشاء هللا ‪.‬‬

‫هللا الموفق والمستعان واتمني دعوة منكم ليا الدعوة الي بتمناها منكم هي (ربنا يجعلني انسان صالح وناجح في ديني ودنياي)‬

‫‪Designed by: - Mahmoud Eid Ahmed‬‬

‫‪Email: - Mahmoud_3id@hotmail.com‬‬

You might also like