📣 به تیم ابر آروان بپیوندید
💬 ما به دنبال جذب متخصصان جوان و پرتلاش در این زمینهها هستیم:
1️⃣ DevOps
Cloud Infrastructure Experience, Linux Administration, Virtualization, Docker and Kubernetes, Ceph, Salt, Nginx, Bash or Python Scripting,
2️⃣ SysAdmin
Linux Administration, Networking and Dynamic Routing, Iptables, Nginx, Zabbix, Docker, DNS, Bash Scripting
📃 رزومه خود را به این آدرس بفرستید:
➡️ [email protected]
☁️ @ArvanCloud
💬 ما به دنبال جذب متخصصان جوان و پرتلاش در این زمینهها هستیم:
1️⃣ DevOps
Cloud Infrastructure Experience, Linux Administration, Virtualization, Docker and Kubernetes, Ceph, Salt, Nginx, Bash or Python Scripting,
2️⃣ SysAdmin
Linux Administration, Networking and Dynamic Routing, Iptables, Nginx, Zabbix, Docker, DNS, Bash Scripting
📃 رزومه خود را به این آدرس بفرستید:
➡️ [email protected]
☁️ @ArvanCloud
⭕️ با عرض سلام، ادب و احترام خدمت تمامی متخصصین گرامی و ضمن آرزوی قبولی طاعات و عبادات شما در این ماه مبارک. امشب نیز با Part-22 از آموزش دوره تخصصی COA در خدمت شما هستیم. با ما همراه باشید.
پیکربندی شبکه
به منظور پیکربندی شبکه برای instanceهای ماشین مجازی ایجاد شده، چه شما سرویسهای Neutron را بصورت یکجا (All in One) بر روی یک سرور واحد نصب و پیکربندی کرده اید و یا از یک Neutron node مجزا استفاده نموده باشید، میتوانید از پیکربندیهای شبکه در این بخش استفاده نمایید. برای مثال، جهت پیکربندی شبکه نوع FLAT در اینجا، به سرور شکل 23-14 دقت کنید که دارای دو اینترفیس شبکه eth0 و eth1 میباشد.
به منظور پیکربندی شبکه برای instanceهای ماشین مجازی ایجاد شده، چه شما سرویسهای Neutron را بصورت یکجا (All in One) بر روی یک سرور واحد نصب و پیکربندی کرده اید و یا از یک Neutron node مجزا استفاده نموده باشید، میتوانید از پیکربندیهای شبکه در این بخش استفاده نمایید. برای مثال، جهت پیکربندی شبکه نوع FLAT در اینجا، به سرور شکل 23-14 دقت کنید که دارای دو اینترفیس شبکه eth0 و eth1 میباشد.
بنابراین جهت پیکربندی شبکه در این حالت، گامهای زیر را به ترتیب دنبال نمایید:
گام1: پیکربندی سرویسهای Neutron
ابتدا توسط دستور زیر یک bridge اضافه نمایید:
# ovs-vsctl add-br br-eth1
سپس توسط دستور زیر اینترفیس eth1 را به به پورت bridge ایجاد شده در بالا اضافه نمایید:
# ovs-vsctl add-port br-eth1 eth1
حال فایل پیکربندی ml2_conf.ini را توسط ویرایشگر متنی vi باز کرده:
# vi /etc/neutron/plugins/ml2/ml2_conf.ini
و سپس در خط 166 آن و در زیر بخش [ml2_type_flat]، دستور زیر را اضافه نمایید:
flat_networks = physnet1
در آخر فایل پیکربندی مزبور را ذخیره کرده و از آن خارج شوید.
گام1: پیکربندی سرویسهای Neutron
ابتدا توسط دستور زیر یک bridge اضافه نمایید:
# ovs-vsctl add-br br-eth1
سپس توسط دستور زیر اینترفیس eth1 را به به پورت bridge ایجاد شده در بالا اضافه نمایید:
# ovs-vsctl add-port br-eth1 eth1
حال فایل پیکربندی ml2_conf.ini را توسط ویرایشگر متنی vi باز کرده:
# vi /etc/neutron/plugins/ml2/ml2_conf.ini
و سپس در خط 166 آن و در زیر بخش [ml2_type_flat]، دستور زیر را اضافه نمایید:
flat_networks = physnet1
در آخر فایل پیکربندی مزبور را ذخیره کرده و از آن خارج شوید.
این بار فایل پیکربندی openvswitch_agent.ini را که در مسیر /etc/neutron/plugins/ml2 قرار دارد را توسط ویرایشگر متنی vi باز کرده:
# vi /etc/neutron/plugins/ml2/openvswitch_agent.ini
و سپس در خط 193 و در زیر بخش [ovs] دستور زیر را اضافه نمایید:
bridge_mappings = physnet1:br-eth1
در نهایت فایل پیکربندی مزبور را ذخیره کرده و از آن خارج شوید.
# vi /etc/neutron/plugins/ml2/openvswitch_agent.ini
و سپس در خط 193 و در زیر بخش [ovs] دستور زیر را اضافه نمایید:
bridge_mappings = physnet1:br-eth1
در نهایت فایل پیکربندی مزبور را ذخیره کرده و از آن خارج شوید.
حال توسط دستور زیر سرویس neutron-openvswitch-agent را یکبار restart نموده تا تغییرات و پیکربندیهای انجام شده اعمال شوند:
# systemctl restart neutron-openvswitch-agent
گام2: ایجاد شبکه مجازی یا virtual network
ابتدا دستور زیر را اجرا کرده:
# projectID=
و سپس به منظور ایجاد شبکهای به نام sharednet1، دستور زیر را وارد نمایید:
# openstack network create —project $projectID \
—share —provider-network-type flat —provider-physical-network physnet1 sharednet1
# systemctl restart neutron-openvswitch-agent
گام2: ایجاد شبکه مجازی یا virtual network
ابتدا دستور زیر را اجرا کرده:
# projectID=
openstack project list | grep service | awk '{print $2}'
و سپس به منظور ایجاد شبکهای به نام sharednet1، دستور زیر را وارد نمایید:
# openstack network create —project $projectID \
—share —provider-network-type flat —provider-physical-network physnet1 sharednet1
حال به منظور ایجاد subnetی به آدرس 10.0.0.0/24 در شبکه sharenet1 که پیشتر ایجاد کردهایم، از دستور زیر استفاده میکنیم:
# openstack subnet create subnet1 —network sharednet1 \
—project $projectID —subnet-range 10.0.0.0/24 \
—allocation-pool start=10.0.0.200,end=10.0.0.254 \
—gateway 10.0.0.1 —dns-nameserver 10.0.0.10
# openstack subnet create subnet1 —network sharednet1 \
—project $projectID —subnet-range 10.0.0.0/24 \
—allocation-pool start=10.0.0.200,end=10.0.0.254 \
—gateway 10.0.0.1 —dns-nameserver 10.0.0.10
همچنین میتوانید از دستورات زیر جهت تأیید تنظیمات شبکه و subnet ایجاد شده خود استفاده نمایید:
# openstack network list
# openstack network list
Instance چیست؟
در ادبیات پردازش ابری اصطلاحاً به هر نمونه از یک ماشین مجازی مبتنی بر ابر اصطلاحاً یک Instance گفته میشود که میتوان منابع خود را با توجه به آنچه برای آن مشخص شده از یک یا چندین سرور بصورت تجمیع شده یا Resource Aggregation تأمین نماید. در Instance در واقع یک Virtual Machine است که دارای: vCPU، RAM، vDisk، vNIC و... است.
Flavor چیست؟
بطور کلی جهت ایجاد ماشینهای مجازی یا Virtual Machineها در زیرساخت OpenStack از مفهومی به اسم Flavor استفاده میشود. در واقع Flavor به شما کمک میکند تا یک ماشین مجازی را ایجاد کرده و المانهای سختافزاری مجازی از جمله: RAM، CPU یا بهتر است بگوییم vCPU، دیسک و Swap و... را به آن اختصاص دهید، نامی را برای آن در نظر گرفته و IDی را هم برای آن تنظیم نمایید. شما میتوانید این کارها را توسط دستور openstack flavor از طریق خط فرمان یا shell لینوکس و یا از طریق رابط گرافیکی تحت وب Horizon نیز انجام دهید.
اجرا instanceها
همانطور که پیشتر نیز اشاره شد، جهت ایجاد و start کردن یک نمونه یا instance از یک ماشین مجازی میبایست از مفهومی به نام flavor در OpenStack استفاده نمایید. در ادامه قصد داریم، به عنوان مثال یک instance یا ماشین مجازی با سیستمعامل لینوکس توزیع CentOS 7.x را در cloud خود با زیرساخت OpenStack ایجاد و سپس اجرا نماییم. برای این منظور گامهای زیر را به ترتیب دنبال کنید:
گام1: ایجاد یک flavor (CPU، Memory، Disk و دیگر مشخصهها) و ایجاد یک instance و boot کردن آن
به عنوان مثال، در این سناریو من برای ایجاد یک flavor به نامm1.small و تخصیص یک Core یا هسته CPU (البته از نوع مجازی یا vCPU)، 2GB یا 2048 بایت حافظه RAM و مقدار 10GB فضای دیسک به آن و شماره ID صفر از دستور زیر استفاده کردهام:
# openstack flavor create —id 0 —vcpus 1 —ram 2048 —disk 10 m1.small
در ادبیات پردازش ابری اصطلاحاً به هر نمونه از یک ماشین مجازی مبتنی بر ابر اصطلاحاً یک Instance گفته میشود که میتوان منابع خود را با توجه به آنچه برای آن مشخص شده از یک یا چندین سرور بصورت تجمیع شده یا Resource Aggregation تأمین نماید. در Instance در واقع یک Virtual Machine است که دارای: vCPU، RAM، vDisk، vNIC و... است.
Flavor چیست؟
بطور کلی جهت ایجاد ماشینهای مجازی یا Virtual Machineها در زیرساخت OpenStack از مفهومی به اسم Flavor استفاده میشود. در واقع Flavor به شما کمک میکند تا یک ماشین مجازی را ایجاد کرده و المانهای سختافزاری مجازی از جمله: RAM، CPU یا بهتر است بگوییم vCPU، دیسک و Swap و... را به آن اختصاص دهید، نامی را برای آن در نظر گرفته و IDی را هم برای آن تنظیم نمایید. شما میتوانید این کارها را توسط دستور openstack flavor از طریق خط فرمان یا shell لینوکس و یا از طریق رابط گرافیکی تحت وب Horizon نیز انجام دهید.
اجرا instanceها
همانطور که پیشتر نیز اشاره شد، جهت ایجاد و start کردن یک نمونه یا instance از یک ماشین مجازی میبایست از مفهومی به نام flavor در OpenStack استفاده نمایید. در ادامه قصد داریم، به عنوان مثال یک instance یا ماشین مجازی با سیستمعامل لینوکس توزیع CentOS 7.x را در cloud خود با زیرساخت OpenStack ایجاد و سپس اجرا نماییم. برای این منظور گامهای زیر را به ترتیب دنبال کنید:
گام1: ایجاد یک flavor (CPU، Memory، Disk و دیگر مشخصهها) و ایجاد یک instance و boot کردن آن
به عنوان مثال، در این سناریو من برای ایجاد یک flavor به نامm1.small و تخصیص یک Core یا هسته CPU (البته از نوع مجازی یا vCPU)، 2GB یا 2048 بایت حافظه RAM و مقدار 10GB فضای دیسک به آن و شماره ID صفر از دستور زیر استفاده کردهام:
# openstack flavor create —id 0 —vcpus 1 —ram 2048 —disk 10 m1.small