بایگانی

نصب OpenStack Grizzly در عرض ۱۰ دقیقه

همانطور که می دانید OpenStack روشی را برای تبدیل سرورهای فیزیکی به ابرهای خصوصی فراهم کرده است.در این مقاله قصد داریم ساده ترین و سریع ترین روش برای نصب OpenStack Grizzly را با هم مرور کنیم.

پیش نیازهای نصب:

اسکرپیت جدید برای نصب را می توانید از اینجا دانلود کنید.قبل از اینکه نصب را آغاز کنید باید مطمئن شوید که حداقل یک گره فیزیکی دارید که اوبونتو سرور ۱۲٫۰۴ را اجرا می کند. اگر در حال نصب بر روی بیش از یک گره هستید باید مطمئن شوید که همه گره ها بر روی بلوک آی پی یکسانی هستند و قادرند قبل از پیشرفت کار با یکدیگر ارتباط داشته باشند. همه گره ها باید از طریق NAT فراهم شده توسط DHCP یا روتر ،به اینترنت دسترسی داشته باشند. اگر هنوز Vagrant را بر روی رایانه خود نصب نکرده اید باید هر دو مورد Vagrant و ویرچوال باکس (VirtualBox) را نصب کنید:

  • ابتدا ویرچوال باکس ۴٫۲٫۱۶  را برای ویندوز یا OSX نصب کنید.
  • ۲٫۷ را برای ویندوز یا OSX نصب کنید.

روی هر کدام از بسته های دانلود شده دابل کلیک کنید تا فرایند نصب آغاز گردد.

اسکریپت را دانلود و نصب کنید:

بر روی دستگاه محلی خود ترمینال را آغاز کنید و مطمئن شوید که git را نصب کرده اید. اگر هنوز git را نصب نکرده اید می توانید از اینجا دانلود کنید. حالا به دایرکتوری openstack بروید:

mkdir openstack; cd openstack

اسکریپت را از مخزن کلون کنید:

git clone https://github.com/rackerlabs/vagrantstack.git

حالا به دایرکتوری اسکرپیت بروید و نگاهی به آن بیندازید:

cd vagrantstack; ls

فایل نصب را ایجاد کنید:

اسکریپت راه اندازی  که در مخزن وجود دارد متغیرهایی را در اختیار شما قرار می دهد . این متغیرها شامل تعداد گره ها برای کلاستر، آی پی گره  و شبکه ای است که برای این منظور مورد استفاده قرار می گیرد.  اسکریپت راه اندازی را با استفاده از دستور زیر  شروع کنید:

./openstack_setup.sh

بعد از اینکه اسکریپت راه اندازی به خوبی تکمیل شد، شما یک فایل setuprc خواهید داشت که شبیه موارد زیر است:

export NUMBER_NODES=3

export NODE_1_HOSTNAME=nero

export NODE_1_IP=10.0.1.73

export NODE_2_HOSTNAME=spartacus

export NODE_2_IP=10.0.1.93

export NODE_3_HOSTNAME=invictus

export NODE_3_IP=10.0.1.94

export ROOT_PASSWD=af5b015ab50472e2368cdef95dfda120

export PUBLIC_NETWORK=10.0.1.0

export PRIVATE_NETWORK=10.0.55.0

export BRIDGE_INTERFACE=eth0

قبل از اینکه فرآیند نصب را ادامه دهید،  نام رابط های شبکه بر روی گره ها را دوباره بررسی کنید.

kord@nero:~$ ifconfig -a |grep Ethernet

br100     Link encap:Ethernet  HWaddr d4:3d:7e:33:f7:31

eth0      Link encap:Ethernet  HWaddr d4:3d:7e:33:f7:31

اگر  نام رابط اولیه شما چیزی متفاوت از eth0 است باید مطمئن شوید که فایل  setuprc را ویرایش می کنید و مقدار BRIDGE_INTERFACE را به نام مناسب تغییر می دهید. اگر اینکار را انجام ندهید بعدا با مشکلات زیادی مواجه خواهید شد.

نکته: اگر از ویندوز باکس(Windows box) استفاده می کنید و نمی توانید اسکریپت ها را اجرا کنید ، می توانید فایل setuprc.example را به setuprc منتقل کنید و در صورت نیاز ویرایش کنید:

move setuprc.example setuprc

notepad setuprc

dos2unix setuprc

ارائه Chef Server:

همانطور که می دانید Chef Server، توسط Vagrant manager تولید و راه اندازی شد و باید ۵ الی ۱۰ دقیقه برای ساخت بر روی fast box و کانکشن زمان صرف شود. برای راه اندازی و شروع سرور می توانید از دستورات زیر استفاده کنید:

vagrant up

نکته: اگر رابط شبکه متعددی بر روی دسکتاپ یا لپ تاپ  خود دارید، باید از میان این موارد یکی را به عنوان بریج انتخاب کنید. بعد از راه اندازی سرور، دستور زیر را تایپ کنید:

vagrant ssh

بعد از اینکه وارد سرور شدید، روت شوید و دایرکتوری vagrantstack را به شکل زیر تغییر دهید:

sudo su

cd /root/vagrantstack

حالا اسکریپت نصب را برای چاپ تنظیمات و پیکربندی گره اجرا کنید:

./openstack_install.sh

پیکربندی گره ها:

حالا باید  به صورت دستی گره های خود را پیکربندی کنید. اسکریپت نصبی  که اجرا می کنید دستوراتی را نشان می دهد که می توانید از آن به عنوان راهنما استفاده کنید.

  1. برای هر گره یک پسورد روت موقتی تنظیم کنید:

root@chef-server# ssh user@hostname

user@hostname$ sudo passwd root

[sudo] password for user:

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

user@hostname$ exit

شما باید به جای User و Hostname ، موارد مناسب با گره خود را جایگزین کنید و این مراحل را برای هر گره تکرار کنید. برای هر گره، پسورد سوال می شود.

نکته: اسکریپت، مراقب غیر فعالسازی پسورد روت موقت بعد از نصب key خواهد بود.

  1. حالا کلید روت(root key) را برای هر گره از Chef server به دست آورید:

ssh-copy-id root@hostname

باز هم باید Hostname خود را با نام واقعی گره ها جایگزین کنید و این فرایند را برای هر کدام از گره های موجود در کلاستر خود تکرار نمایید.

توسعه گره ها:

اسکریپت توسعه ، Chef client را بر روی همه گره هایی که در فایل setuprc مشخص شده است  نصب می کند. بعد از انجام اینکار، به طور دستی دستورات مرتبط با chef-client را اجرا کنید. نصب کلاینت ها را با تایپ دستورات زیر در Chef server آغاز کنید:

./openstack_deploy.sh

بعد از اینکه اسکریپت توسعه تکمیل شد، وارد هر گره شوید و به طور دستی دستورات زیر را اجرا کنید:

root@chef-server# ssh root@hostname

root@hostname# chef-client

همانطور که در مراحل قبلی انجام دادید، Hostnameرا با نام واقعی هر گره  جایگزین کنید. اینکار را برای همه گره های موجود در کلاستر خود جایگزین نمایید. اگر می خواهید فرایند نصب را تسریع کنید، می توانید این دستورات را به طور همزمان بر روی همه گره ها اجرا کنید. اولین گرهی که در کلاستر شما وجود دارد به عنوان کنترلر همه کاره پیکربندی خواهد شد. این گره میزبان پایگاه داده OpenStack است . گره همه کاره به عنوان گره nova-compute عمل می کند. اگر در کلاستر خود بیش از یک گره داشته باشید، بقیه گره ها به عنوان گره nova-compute توسعه خواهند یافت.

شروعinstance:

بعد از اینکه گره همه کاره تنظیم شد، باید بتوانید برای OpenStack خود وارد رابط کاربری وب شوید. آی پی آدرس گره همه کاره را وارد کنید. این آی پی آدرس باید متغیر NODE1IP در محیط Chef server باشد:

http://10.0.1.73

کاربر پیش فرض برای رابط کاربری admin  و پسورد پیش فرض نیز secrete است.

ایجاد آی پی ادرس شناور:

اگر بخواهید instance های شما ای پی آدرس خارجی داشته باشند می توانید آی پی های شناوری را از طریق دستورات زیر ایجاد کنید:

root@nero# nova-manage floating create –pool=mylocalips –ip_range=10.0.1.225/27

عیب یابی:

اگر به هنگام نصب به مشکلاتی برخورد کردید، مطمئن شوید که از کمک یک فرد متخصص بهره مند می شوید. در ادامه  نیز پیشنهاداتی ارائه شده است که به هنگام بروز مشکل  می توانید از آن استفاده کنید:

  1. مطمئن شوید که می توانید گره های خود را از Chef server و با نام پینگ کنید:

root@chef-server# ping nero

۶۴ bytes from nero (10.0.1.100): icmp_req=1 ttl=64 time=0.463 ms

^C

— nero ping statistics —

۱ packets transmitted, 1 received, 0% packet loss, time 0ms

rtt min/avg/max/mdev = 0.463/0.463/0.463/0.000 ms

۲٫مطمئن شوید که می توانید Chef server خود را با استفاده از نام ا گره پینگ کنید:

root@chef-server# ssh nero

root@nero# ping chef-server

PING chef-server (10.0.1.57) 56(84) bytes of data.

۶۴ bytes from chef-server (10.0.1.57): icmp_req=1 ttl=64 time=0.455 ms

^C

— chef-server ping statistics —

۱ packets transmitted, 1 received, 0% packet loss, time 0ms

rtt min/avg/max/mdev = 0.455/0.455/0.455/0.000 ms

  1. بررسی کنید که می توانید به صورت ریموت دستورات را بر روی هر گره و از طریق Chef server اجرا کنید:

root@chef-server# ssh nero uptime

۰۹:۵۹:۰۴ up 12 days, 15:04,  ۰ users,  load average: 0.10, 0.14, 0.14

  1. باید ببینید که سرور چه چیزی در مورد گره ها می داند.

root@chef-server# knife node list

invictus

nero

spartacus

  1. سینکی بر روی محیط مورد نظر و برای گره ها اجرا کنید:

root@chef-server# knife exec -E ‘nodes.transform(“chef_environment:_default”) { |n| n.chef_environment(“grizzly”) }’

۶٫بر روی هر گره chef-client را دوباره اجرا کنید:

root@chef-server# ssh nero

root@nero# chef-client

۷٫بررسی کنید که همه سرویس های OpenStack به درستی کار می کند:

root@nero:~# nova-manage service list

Binary           Host                Zone             Status     State Updated_At

nova-scheduler   nero                internal         enabled    🙂   ۲۰۱۳-۰۸-۲۳ ۱۷:۱۰:۴۵

nova-conductor   nero                internal         enabled    🙂   ۲۰۱۳-۰۸-۲۳ ۱۷:۱۰:۴۹

nova-cert        nero                internal         enabled    🙂   ۲۰۱۳-۰۸-۲۳ ۱۷:۱۰:۴۸

nova-consoleauth nero                internal         enabled    🙂   ۲۰۱۳-۰۸-۲۳ ۱۷:۱۰:۴۸

nova-network     nero                internal         enabled    🙂   ۲۰۱۳-۰۸-۲۳ ۱۷:۱۰:۴۸

nova-compute     nero                nova             enabled    🙂   ۲۰۱۳-۰۸-۲۳ ۱۷:۱۰:۴۹

nova-network     invictus            internal         enabled    🙂   ۲۰۱۳-۰۸-۲۳ ۱۷:۱۰:۵۱

nova-compute     invictus            nova             enabled    🙂   ۲۰۱۳-۰۸-۲۳ ۱۷:۱۰:۴۷

nova-network     spartacus           internal         enabled    🙂   ۲۰۱۳-۰۸-۲۳ ۱۷:۱۰:۵۲

nova-compute     spartacus           nova             enabled    🙂   ۲۰۱۳-۰

منبع

نصب OpenStack Grizzly در عرض ۱۰ دقیقه

امتیاز دهید

در صورت نیاز به سرور و خدمات مدیریت آن با ما در تماس باشید

۰۲۱۲۸۴۲۱۱۹۳
۰۹۱۲۹۷۲۶۳۴۳
۰۹۳۶۲۱۹۶۳۴۳
@omidahmadyani
@omid_ahmadyani