OpenStack یک پلتفرم رایگان و متن‌باز است که خدمات زیرساخت IAAS ابری عمومی و اختصاصی را فراهم می‌کند. پلتفرم OpenStack متشکل از چند پروژه داخلی است که کنترل سخت‌افزار، منابع ذخیره و شبکه یک دیتاستنر را برعهده دارند. از جمله این پروژه‌ها می‌توان به محاسبات، سرویس ایمیج، بلوک ذخیره داده، سرویس شناسایی، شبکه‌گذاری، ذخیره آبجکت، تله‌متری و پایگاه داده اشاره کرد. مدیریت این بخش‌ها را می‌توان از طریق رابط کاربری تحت‌وب و یا با کمک خط فرمان OpenStack انجام داد.

نصب پلتفرم OpenStack در سیستم‌عامل لینوکس CentOS 7

در این آموزش، نحوه به‌کارگیری یک زیرساخت ابری اختصاصی با پلتفرم OpenStack را بررسی می‌کنیم. چنین کاری در یک سیستم مبتنی بر یکی از توزیع‌های لینوکس CentOS 7، CentOS 7 یا فدورا با استفاده از منابع rdo صورت می‌گیرد. البته از این پلتفرم در چند سیستم نیز می‌توان بهره گرفت.

پیش‌نیازها

حداقل‌های مورد نیاز برای نصب CentOS 7

حداقل‌های موردنیاز برای نصب RHEL 7

گام ۱) تنظیمات اولیه سیستم برای نصب پلتفرم OpenStack

۱) قبل از اینکه سیستم خود را برای داشتن یک زیرساخت مجازی ابری اختصاصی آماده کنید، ابتدا باید با یک حساب کاربری روت وارد شوید. همچنین باید مطمئن شوید که بروزرسانی‌های سیستم انجام شده باشند.

۲) سپس از فرمان ss –tulpn برای تهیه فهرست از تمام سرویس های در حال اجرا استفاده کنید.


# ss -tulpn

لیست تمام سرویس‌های در حال اجرا در لینوکس

لیست تمام سرویس‌های در حال اجرا در لینوکس

۳) اکنون تمام سرویس‌هایی را که به آنها احتیاجی ندارید، شناسایی کنید و سپس آنها را متوقف، غیرفعال و حذف نمایید. postfix، NetworkManager و firewalld می‌توانند از این دست سرویس‌ها باشند. در نهایت، تنها ابزاری که می‌بایست در سیستم شما در حال اجرا باشد، sshd است.


# systemctl stop postfix firewalld NetworkManager

# systemctl disable postfix firewalld NetworkManager

# systemctl mask NetworkManager

# yum remove postfix NetworkManager NetworkManager-libnm

۴) سیستم امنیتی Selinux را به صورت کامل و با استفاده از فرمان‌های زیر غیرفعال کنید. همچنین فایل /etc/selinux/config را ویرایش کرده و خط SELINUX را مطابق تصویر تنظیم کنید.


# setenforce 0

# getenforce

# vi /etc/selinux/config

غیرفعال‌کردن SELinux

غیرفعال‌کردن SELinux

۵) در مرحله بعد، با استفاده از فرمان hostnamectl عنوان هاست سیستم لینوکس خود را تعیین کنید. همچنین پارامتر FQDN را مطابق با آن تغییر دهید.


# hostnamectl set-hostname cloud.centos.lan

تنظیم عنوان هاست سیستم لینوکس

تنظیم عنوان هاست سیستم لینوکس

۶) نهایتاً ابزار ntpdate را برای هماهنگ‌سازی زمانی با یک سرورNTP که در مجاورت خود درنظر گرفته‌اید، نصب کنید.


# yum install ntpdate

گام ۲) نصب پلتفرم OpenStack در CentOS و RHEL

۷) پلتفرم OpenStack از طریق بسته PackStack که در منبع rdo ارائه شده، در سیستم شما مورد استفاده قرار خواهد گرفت. برای فعال‌کردن منبع rdo در RHEL 7 می‌توانید از فرمان زیر استفاده کنید.


# yum install https://www.rdoproject.org/repos/rdo-release.rpm

در CentOS 7، منبع Extras شامل RPM است که منبع OpenStack را نیز فعال می‌کند. با فعال‌بودن Extras، شما به راحتی می‌توانید به بسته پلتفرم OpenStack دست پیدا کنید.


# yum install -y centos-release-openstack-mitaka

# yum update -y

۸) حالا نوبت نصب بسته PackStack است. Packstack شامل ابزاری است که استفاده از اجزای OpenStack را از طریق ارتباط SSH و ماژول‌های Puppet تسهیل می‌کند.

نصب بسته Packstat در لینوکس با استفاده از فرمان زیر صورت می‌گیرد.


# yum install  openstack-packstack

۹) در مرحله بعدی، یک فایل پاسخ برای Packstack همراه با تنظیمات پیش‌فرض ایجاد کنید. این فایل بعد با پارامترهای لازم برای استفاده از پلتفرم Openstack در یک سیستم ویرایش خواهد شد.

نام این فایل بر اساس تاریخ روز کنونی ( روز، ماه و سال) انتخاب می‌شود.


# packstack --gen-answer-file='date +"%d.%m.%y"'.conf

# ls

ایجاد فایل تنظیمات پاسخ Packstack

ایجاد فایل تنظیمات پاسخ Packstack

۱۰) حالا فایل تنظیمات پاخ را با استفاده از یک ویرایشگر متنی ویرایش کنید.


# vi 13.04.16.conf

در این فایل، مقادیر پارامتر‌ها را مطابق زیر تنظیم کنید. برای امنیت بیشتر، فیلدهای مربوط به کلمه عبور را نیز به همین ترتیب تغییر دهید.


CONFIG_NTP_SERVERS=0.ro.pool.ntp.org

با کمک آدرس http://www.pool.ntp.org/en/ و مشاهده لیست  سرور‌های عمومی NTP، می‌توانید نزدیک‌ترین سرور NTP از نظر فیزیکی به خودتان را پیدا کنید.

اضافه‌کردن سرور NTP در Packstack

اضافه‌کردن سرور NTP در Packstack


CONFIG_PROVISION_DEMO=n

اضافه‌کردن Provision در Packstack

اضافه‌کردن Provision در Packstack


CONFIG_KEYSTONE_ADMIN_PW=your_password  for Admin user

اضافه‌کردن حساب کاربری ادمین در Packstack

اضافه‌کردن حساب کاربری ادمین در Packstack

دسترسی به داشبورد پلتفرم OpenStack با استفاده از HTTP همراه با فعال‌بودن SSL


CONFIG_HORIZON_SSL=y

فعال‌کردن HTTPS برای پلتفرم OpenStack

فعال‌کردن HTTPS برای پلتفرم OpenStack

کلمه عبور روت برای سرور MySQL را به صورت زیر تنظیم کنید.


CONFIG_MARIADB_PW=mypassword1234

تنظیم کلمه‌عبور روت MySQL در پلتفرم OpenStack

تنظیم کلمه‌عبور روت MySQL در پلتفرم OpenStack

یک کلکه عبور برای کاربر nagiosadmin تنظیم کنید تا به پنل وب Nagios دسترسی داشته باشید.


CONFIG_NAGIOS_PW=nagios1234

تنظیم پسورد ادمین Nagios

تنظیم پسورد ادمین Nagios

۱۱) پس از تکمیل ویرایش، فایل را ذخیره کرده و ببندید. همچنین فایل تنظیمات سرور SSH را باز کنید و با برداشتن علامت هشتگ از جلوی خط PermitRootLogin، آن را از حالت کامنت خارج کنید.


# vi /etc/ssh/sshd_config

فعالسازی ورود کاربری روت SSH

فعالسازی ورود کاربری روت SSH

سپس سرویس SSH را دوباره راه‌اندازی کنید تا تغییرات اِعمال شوند.


# systemctl restart sshd

گام ۳) شروع نصب پلتفرم Openstack با استفاده از فایل پاسخ Packstack

۱۲) مراحل نصب پلتفرم Openstack را با استفاده از فایل پاسخی که قبلاً ویرایش کرده بودیم، آغاز می‌کنیم. ابتدا با قالب فرمان زیر شروع می‌کنیم.


# packstack --answer-file 13.04.16.conf

نصب پلتفرم Openstack در CentOS

نصب پلتفرم Openstack در CentOS

۱۳) وقتی نصب اجزای OpenStack به اتمام رسید، برنامه نصب‌کننده یک سری خطوط با لینک داشبوردهای محلی برای OpenStack و Nagios نمایش خواهد داد. همچنین مجوّزهای لازم برای برای ورود به هر دو پنل نشان داده می‌شود.

تکمیل نصب OpenStack

تکمیل نصب OpenStack

همچنین این مجوّزها در دایرکتوری خانگی در فایل keystonerc_admin ذخیره می‌شوند.

۱۴) اگر به هر دلیلی فرآیند نصب با پیغام خطایی در رابطه با سرویس httpd خاتمه یافت، فایل تنظیمات /etc/httpd/conf.d/ssl.conf را باز کنید و مطمئن شوید که مطابق تصویر زیر، این خط را به صورت کامنت دربیاورید.


#Listen 443 https

غیرفعال‌کردن پورت HTTPS SSL

غیرفعال‌کردن پورت HTTPS SSL

سپس سرویس آپاچی را دوباره راه‌اندازی کنید تا تغییرات اِعمال شوند.


# systemctl restart httpd.service

نکته: در صورتی که نتوانید پنل وب Openstack را در پورت ۴۴۳  باز کنید، فرآیند نصب را دوباره از ابتدا آغاز نمایید و فرمان‌های مربوطه را به کار ببرید.

# packstack –answer-file /root/13.04.16.conf

گام ۴) دسترسی از راه دوره به داشبورد پلتفرم OpenStack

۱۵) برای دسترسی ریموت به پنل وب OpenStack از طریق یک هاست در شبکه LAN باید از آدرس IP سیستم یا FQDN با پروتکل HTTPS استفاده کنید.

به دلیل اینکه از یک گواهی شخصی با یک منبع مجوّز غیرمعتبر استفاده می‌کنید، احتمالاً یک پیغام خطا در مرورگرتان ظاهر می‌شود.

این پیغام خطا را تأیید کنید و با استفاده از کاربری ادمین و کلمه‌عبوری که در فایل پاسخ برای پارامتر CONFIG_KEYSTONE_ADMIN_PW تعیین کرده بودید، به داشبورد وارد شوید.


https://192.168.1.40/dashboard

داشبورد ورودی OpenStack

داشبورد ورودی OpenStack

پروژه‌های Openstack

پروژه‌های Openstack

۱۶) در عین حال، اگر بخواهید ابزار Nagios را برای OpenStack نصب کنید، می‌توانید با استفاده از آدرس زیر پنل وب Nagios را باز کنید. ورود به این پنل نیز با استفاده از چیزی است که قبلاً در فایل پاسخ تنظیم کرده‌اید.


https://192.168.1.40/nagios

داشبورد ورودی Nagios

داشبورد ورودی Nagios

رابط کاربری مانیتورینگ Nagios لینوکس

به این ترتیب، حالا می‌توانید کار با فضای ابری داخلی خود را شروع کنید. امیدواریم که این آموزش نیز مورد توجه شما قرار گرفته باشد.

منبع: Tecmint.com