Di organisasi tempat OpenStack digunakan secara agresif, sehingga dalam organisasi seperti itu, tim aplikasi dan basis data dapat mengajukan persyaratan bahwa aplikasi dan basis data mereka harus diluncurkan pada node komputasi yang sama (hypervisor) atau node komputasi yang berbeda.
Jadi, persyaratan di OpenStack ini dipenuhi melalui grup server dengan afinitas dan anti-afinitas kebijakan. Grup Server digunakan untuk mengontrol aturan afinitas dan anti-afinitas untuk menjadwalkan instance openstack.
Ketika kami mencoba untuk menyediakan mesin virtual dengan grup server afinitas maka semua mesin virtual akan diluncurkan pada node komputasi yang sama. Ketika VM disediakan dengan grup server ant-affinity, maka semua VM akan diluncurkan di node komputasi yang berbeda. Dalam artikel ini kami akan mendemonstrasikan cara membuat grup server OpenStack dengan aturan Affinity dan Anti-Affinity.
Mari kita verifikasi terlebih dahulu apakah pengaturan OpenStack Anda mendukung Kebijakan Affinity dan Anti-Affinity atau tidak, jalankan perintah grep berikut dari node pengontrol Anda,
# grep -i "scheduler_default_filters" /etc/nova/nova.conf
Outputnya harus seperti di bawah ini,
Seperti yang kita lihat, filter Affinity dan Ant-Affinity diaktifkan tetapi jika ini tidak diaktifkan, tambahkan filter ini di /etc/nova/nova.conf file node pengontrol di bawah “scheduler_default_filters ” parameter.
# vi /etc/nova/nova.conf ……………… scheduler_default_filters=xx,xxx,xxx,xxxxx,xxxx,xxx,xxx,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,xx,xxx,xxxx,xx ………………
Simpan dan keluar dari file
Untuk menerapkan perubahan di atas, mulai ulang layanan berikut
# systemctl restart openstack-nova-scheduler # systemctl restart openstack-nova-conductor
Sekarang mari kita buat Grup Server OpenStack dengan Kebijakan Afinitas dan Anti-Afinitas
Grup Server dengan Kebijakan Afinitas
Untuk membuat grup server dengan nama "aplikasi" untuk kebijakan afinitas, jalankan perintah openstack berikut dari node pengontrol,
Sintaks:
# grup server openstack buat –afinitas kebijakan
Atau
# nova server-group-create afinitas
Catatan: Sebelum mulai menjalankan perintah openstack, pastikan Anda sumber file kredensial proyek, dalam kasus saya file kredensial proyek adalah “openrc ”
Contoh:
# source openrc # openstack server group create --policy affinity app
Grup Server dengan Kebijakan Anti-Afinitas
Untuk membuat grup server dengan kebijakan anti-afinitas, jalankan perintah openstack berikut dari node pengontrol, saya berasumsi nama grup server adalah “database”
Sintaks:
# grup server openstack buat –policy anti-affinity
Atau
# nova server-group-create
Contoh:
# source openrc # openstack server group create --policy anti-affinity database
Mencantumkan ID dan Kebijakan Grup Server
Jalankan perintah nova atau perintah Openstack untuk mendapatkan id grup server dan kebijakannya
# nova server-group-list | grep -Ei "Policies|database" Or # openstack server group list --long | grep -Ei "Policies|app|database"
Outputnya akan seperti di bawah ini,
Luncurkan Mesin Virtual (VM) dengan Kebijakan Afinitas
Mari kita asumsikan kita ingin meluncurkan 4 vms dengan kebijakan afinitas, jalankan “openstack server create berikut ” perintah
Sintaks:
# server openstack buat –image
Contoh:
# openstack server create --image Cirros --flavor m1.small --security-group default --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --hint group="a9847c7f-b7c2-4751-9c9a-03b117e704ff" --max 4 affinity-test
Output dari perintah di atas,
Mari kita verifikasi apakah VM diluncurkan pada node komputasi yang sama atau tidak, jalankan perintah berikut
# openstack server list --long -c Name -c Status -c Host -c "Power State" | grep -i affinity-test
Ini mengonfirmasi bahwa kebijakan afinitas kami berfungsi dengan baik karena semua VM diluncurkan pada node komputasi yang sama.
Sekarang mari kita uji kebijakan anti-afinitas
Luncurkan Mesin Virtual (VM) dengan Kebijakan Anti-Afinitas
Untuk kebijakan anti-afinitas kami akan meluncurkan 4 VM, pada perintah 'openstack server create' di atas, kami perlu mengganti ID Grup Server Anti-Afinitas. Dalam kasus kami, kami akan menggunakan id grup server basis data.
Jalankan perintah openstack berikut untuk meluncurkan 4 VM pada komputasi berbeda dengan kebijakan anti-afinitas,
# openstack server create --image Cirros --flavor m1.small --security-group default --nic net-id=37b9ab9a-f198-4db1-a5d6-5789b05bfb4c --hint group="498fd41b-8a8a-497a-afd8-bc361da2d74e" --max 4 anti-affinity-test
Keluaran
Gunakan perintah openstack di bawah ini untuk memverifikasi apakah VM diluncurkan pada node komputasi yang berbeda atau tidak
# openstack server list --long -c Name -c Status -c Host -c "Power State" | grep -i anti-affinity-test
Keluaran di atas mengonfirmasi bahwa kebijakan anti-afinitas kami juga berfungsi dengan baik.
Catatan: Kuota Default untuk grup Server adalah 10 untuk setiap penyewa , artinya Anda dapat membuat hingga 10 grup server dalam proyek, yang dapat mengatur lebih dari 10 VM.
Gunakan perintah di bawah ini untuk melihat kuota Grup Server untuk penyewa tertentu, ganti id penyewa yang sesuai dengan pengaturan Anda
# openstack quota show f6852d73eaee497a8a640757fe02b785 | grep -i server_group | server_group_members | 10 | | server_groups | 10 | #
Untuk memperbarui Kuota Grup Server, jalankan perintah berikut
# nova quota-update --server-group-members 15 f6852d73eaee497a8a640757fe02b785 # nova quota-update --server-groups 15 f6852d73eaee497a8a640757fe02b785
Sekarang jalankan kembali perintah openstack quota untuk memverifikasi kuota grup server
# openstack quota show f6852d73eaee497a8a640757fe02b785 | grep -i server_group | server_group_members | 15 | | server_groups | 15 | #
Itu saja, kami telah berhasil memperbarui kuota Server Group untuk penyewa. Ini juga merupakan penutup artikel, jangan ragu untuk membagikannya di antara teman-teman teknis Anda.