GNU/Linux >> Belajar Linux >  >> Cent OS

Panduan Sederhana untuk Menginstal OpenStack Icehouse di CentOS – Arsitektur Dua Node

Kata “OpenStack” cukup populer akhir-akhir ini. Anda mungkin pernah mendengar kata ini, bahkan jika Anda tidak bekerja di bidang komputasi awan. Saya telah bekerja di domain komputasi Grid selama 10 tahun terakhir dan tidak pernah mengerti keributan di balik OpenStack. Tapi kata buzz ini terus mengetuk telinga saya ke mana pun saya pergi – Serius, di kantor saya, konferensi, dan situs web populer yang terus mempromosikan OpenStack. Akhirnya, saya didorong (Ya, dengan paksa oleh bos saya) ke dalam dunia OpenStack dan pertanyaan-pertanyaan besar ini membebani saya – Apa itu Openstack, bagaimana penerapannya, dan bagaimana cara kerjanya? Nah, satu-satunya cara untuk memahami OpenStack adalah memulai dengan instalasi.

Pada pandangan pertama, memulai OpenStack tampak mudah, tetapi tidak. Ya, situs resmi OpenStack memiliki dokumentasi yang bagus, tetapi masalah sebenarnya yang saya hadapi adalah, istilah yang digunakan – Horizon, Glance, Keystone, Nova, Neutron, Swift, Heat, Cinder, Ceilometer….Uff, kenapa sih mereka? bernama seperti itu? Kemudian, ada beberapa istilah lain yang ditautkan ke penginstalan – RDO, Packstack, Devstack, arsitektur yang berbeda (satu node, dua node dan multinode), jaringan lama, dll… Serius, saya harus kembali ke Google untuk memahami semua itu (dan orang ini telah melakukan pekerjaan dengan baik). Nah, jika Anda meminta saya untuk menulis tentang pengalaman saya dengan OpenStack, maka artikel ini akan mencapai 20 halaman. Jadi saya akan berhenti di sini dan beralih ke topik.

Daftar Isi

  • Pengantar OpenStack
  • Arsitektur Testbed
  • Instal dan Konfigurasi NTP pada Controller dan Compute Node
  • Instal dan Konfigurasi MySQL pada Controller dan Compute Node
  • Instal dan Konfigurasi Apache Qpid pada Controller dan Compute Node
  • Instal paket dasar OpenStack Icehouse pada Controller dan Compute node
  • Instal KeyStone di Controller Node
  • Instal Glance pada Controller Node
  • Instal Nova di Node Pengontrol
  • Instal Nova-Networking pada node Controller
  • Instal Dasbor pada simpul Pengontrol
  • Instal Nova di Compute Node
  • Instal Nova-Networking di Compute Node
  • Buat Instance
  • Masuk ke Instance

Apa itu OpenStack?

OpenStack adalah platform komputasi Cloud open source, yang menyediakan Infrastruktur sebagai Layanan (IaaS). Jika Anda seorang ahli komputasi Grid, maka OpenStack adalah sesuatu yang mirip dengan middleware Grid yang populer seperti Globus Toolkit, Glite, Oracle Grid Engine, Unicore dll… OpenStack pada dasarnya adalah sebuah middleware, yang memungkinkan Anda untuk mengelola sumber daya komputasi awan dengan lebih efisien dan tentu saja , secara efektif.

Layanan OpenStack

  • Cakrawala :Layanan dasbor yang menyediakan portal web untuk berinteraksi dan mengelola layanan pokok, instance virtual, pengguna, dan jaringan.
  • Nova :Layanan komputasi yang membantu dalam mengelola instance komputasi – yang mencakup spawning, penjadwalan, booting, dan penghentian mesin virtual.
  • Batu Kunci :Layanan Identitas yang menyediakan autentikasi dan otorisasi.
  • Neutron :Layanan jaringan yang memungkinkan Anda membuat dan mengelola jaringan.
  • Sekilas :Layanan Gambar yang membantu menyimpan dan mengambil gambar mesin virtual.
  • Basis Data service :Menyediakan database sebagai layanan.
  • Swift dan Cinder :Menyediakan penyimpanan sebagai layanan.
  • Telemetri :Layanan yang membantu Anda mengelola penagihan dan tolok ukur.
  • Ada banyak layanan lain…baca selengkapnya di openstack.org.

Arsitektur

Jika Anda seorang pemula, maka cara yang ideal adalah memulai dengan arsitektur dua simpul – satu simpul disebut sebagai 'Pengontrol' dan yang lainnya sebagai 'Hitung'. Dalam tutorial ini, kita akan menginstal versi OpenStack Icehouse pada sistem operasi CentOS 6.6. Layanan yang akan diinstal pada node pengontrol adalah Keystone, Glance, Nova, Networking (legacy nova-networking), Horizon dan node komputasi akan memiliki Nova dan Networking (legacy nova-networking).

Catatan: Pemula OpenStack? Disarankan untuk memulai dengan jaringan Nova legacy. Memahami dan mengonfigurasi “Neutron” adalah pertanyaan besar pada tahap ini. Namun, Anda harus mempertimbangkan untuk bermigrasi dari jaringan lama ke Neutron di tahap selanjutnya.

Di bawah ini adalah diagram yang menggambarkan testbed saya. Semua langkah instalasi saya didasarkan pada arsitektur di bawah ini.

Catatan: Karena kita akan menggunakan jaringan Legacy Nova, kita hanya memerlukan satu antarmuka di node pengontrol untuk tujuan pengelolaan dan dua antarmuka pada node komputasi (satu untuk manajemen yang berada di jaringan node pengontrol yang sama dan antarmuka lainnya untuk eksternal, yang akan digunakan untuk komunikasi VM).

Oke, kita lanjutkan dengan langkah-langkah penginstalan.

Bagaimana cara menginstal dan Mengonfigurasi OpenStack Icehouse di CentOS?

Saya akan menggunakan,

  • controller-hostname ‘ sebagai hostname dari Node pengontrol dan “compute-hostname ” sebagai nama host dari node Compute.
  • '10.180.10.132' (IP Manajemen) untuk node pengontrol dan '10.180.10.134' (IP Manajemen) untuk node komputasi. IP eksternal node komputasi akan menjadi '10.180.14.151'

Catatan: Ingatlah untuk menggantinya dengan FQDN atau alamat IP yang sesuai.

  • Selama penginstalan, di mana pun Anda menemukan ‘setpassword ‘, ganti dengan kata sandi layanan yang sesuai.
  • Saya akan menggunakan 'YUM' untuk sebagian besar penginstalan. Jadi pastikan mesin terhubung ke internet. Jika Anda memiliki masalah dalam mengonfigurasi yum, panduan di bawah ini akan sangat membantu.
    • Cara mengkonfigurasi repositori Yum di CentOS
    • Perintah yum yang harus Anda ketahui.
  • Keluaran dari beberapa perintah telah dipotong untuk menghindari kebingungan dan untuk mengurangi panjangnya tutorial ini.

Instalasi komponen (atau layanan) apa pun di OpenStack melibatkan langkah-langkah di bawah ini:



Instal dan Konfigurasi NTP pada node Controller dan Compute

Anda dapat melompat dengan cepat untuk mempelajari cara menginstal dan mengonfigurasi Network Time Protocol pada pengontrol dan node komputasi Anda.

Mengonfigurasi NTP dan memulai layanan ntpd? Kemudian kembali ke artikel ini…

Perbarui OS pada node Pengontrol dan Compute

Selalu disarankan untuk memutakhirkan sistem operasi sebelum memasang komponen apa pun. Ini akan menyelesaikan banyak sakit kepala ketergantungan paket.

[root@controller-hostname ]# yum update[root@compute-hostname ]# yum update


Instal database MySQL pada Controller dan Compute node

Catatan: MySQL sekarang disebut sebagai 'Mariadb'.

[root@controller-hostname ]# yum install mysql mysql-server MySQL-python[root@compute-hostname ]# yum install mysql mysql-server MySQL-python

Anda harus melihat ‘/etc/my.cnf ' untuk memastikan bahwa layanan MySQL akan mengikat alamat IP Manajemen dari pengontrol dan node komputasi.

Pada simpul Pengontrol :

[root@controller-hostname ]# vi /etc/my.cnf[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysqlbind-address=10.180. 10.132 simbolik-link=0[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid

Pada node komputasi :

[root@compute-hostname ]# vi /etc/my.cnf[mysqld]datadir=/var/lib/mysqlsocket=/var/lib/mysql/mysql.sockuser=mysqlbind-address=10.180. 10.134 simbolik-link=0[mysqld_safe]log-error=/var/log/mysqld.logpid-file=/var/run/mysqld/mysqld.pid

Mulai server mysql:

[root@controller-hostname ~]# layanan mysqld start[root@compute-hostname ~]# layanan mysqld start

Siapkan MySQL…

[root@controller-hostname ~]# mysql_install_db[root@compute-hostname ~]# mysql_install_db

Selalu disarankan untuk menjalankan 'mysql_secure_installation ' setelah menginstal MySQL.

[root@controller-hostname ~]# mysql_secure_installation[root@compute-hostname ~]# mysql_secure_installation

Jika Anda tidak yakin apa yang dilakukan mysql_secure_installation, berikut adalah panduan singkat yang menjelaskannya secara mendetail.

Instal paket Base OpenStack Icehouse pada node Controller dan Compute

Siapkan repositori yum dan instal paket Icehouse dasar. Langkah ini harus dilakukan pada pengontrol dan node komputasi.

Pada simpul pengontrol:

[root@controller-hostname ~]# yum install yum-plugin-priorities[root@controller-hostname ~]# yum install http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo- release-icehouse-4.noarch.rpm[root@controller-hostname ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-Icehouse[root@controller-hostname ~]# yum -y instal http://fedora.cu.be/epel/7/x86_64/e/epel-release-7-2.noarch.rpm[root@controller-hostname ~]# yum install openstack-utils openstack-selinux 

Pada node Compute:

[root@compute-hostname ~]# yum install yum-plugin-priorities[root@compute-hostname ~]# yum install http://repos.fedorapeople.org/repos/openstack/openstack-icehouse/rdo- release-icehouse-4.noarch.rpm[root@compute-hostname ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-RDO-Icehouse[root@compute-hostname ~]# yum -y instal http://fedora.cu.be/epel/7/x86_64/e/epel-release-7-2.noarch.rpm[root@compute-hostname ~]# yum install openstack-utils openstack-selinux 


Instal Layanan Pialang Pesan pada node Pengontrol

Layanan OpenStack membutuhkan perantara pesan untuk komunikasinya. Saat ini OpenStack mendukung – Rabbit-mq dan Apache Qpid. Dalam tutorial ini, kita akan menginstal Qpid-server.

Apache Qpid memungkinkan layanan untuk mengirim dan menerima pesan melalui AMQP (Advanced Message Queuing Protocol).

[root@controller-hostname ~]# yum install qpid-cpp-server

Konfigurasikan qpid-cpp-server untuk bekerja tanpa perlu autentikasi (Ini akan memudahkan proses penginstalan kami. Tetapi Anda harus mengaktifkan autentikasi untuk alasan keamanan)

[root@controller-hostname ~]# echo "auth=no">/etc/qpid/qpidd.conf

Mulai perantara pesan…

[root@controller-hostname ~]# layanan qpidd start

Memasang dan Mengonfigurasi Keystone (Layanan Identitas) pada simpul Pengontrol

Seperti yang saya katakan sebelumnya, layanan Keystone memainkan peran utama dalam OpenStack – menyediakan otentikasi dan otorisasi. Ini juga berarti bahwa, setiap layanan OpenStack (termasuk layanan identitas) harus didaftarkan dengan KeyStone.

Instal paket keystone…

[root@controller-hostname ~]# yum install openstack-keystone python-keystoneclient

Buat database untuk keystone , sehingga layanan dapat menyimpan status dan datanya…

[root@controller-hostname ~]# mysql -u root -pmysql> BUAT DATABASE keystone;mysql> BERIKAN SEMUA HAK ISTIMEWA PADA keystone.* UNTUK 'keystone'@'controller-hostname' DIIDENTIFIKASI DENGAN 'setpassword';mysql> BERIKAN SEMUA HAK ISTIMEWA PADA keystone.* ATAS 'keystone'@'%' DIIDENTIFIKASI DENGAN 'setpassword ';

Catatan: Ingatlah untuk mengganti 'setpassword' dengan kata sandi Anda sendiri untuk keystone.

Buat tabel untuk database keystone…

[root@controller-hostname ~]# su -s /bin/sh -c "keystone-manage db_sync" keystone

Sekarang, beri tahu keystone bahwa, inilah yang harus Anda gunakan untuk membuat koneksi database

[root@controller-hostname ~]# openstack-config --set /etc/keystone/keystone.conf koneksi database mysql://keystone:setpassword@controller-hostname/keystone

Catatan: Ingatlah untuk mengganti 'setpassword' dengan kata sandi yang sesuai dari 'keystone'@mysql

Buat token autentikasi untuk mengautentikasi layanan lain dengan keystone. Untuk melakukannya, kita akan menggunakan openssl untuk menghasilkan nilai HEX acak dan menyimpannya dalam variabel yang disebut ‘ADMIN_TOKEN

[root@controller-hostname ~]# ADMIN_TOKEN=$(openssl rand -hex 10)[root@controller-hostname ~]# echo $ADMIN_TOKENe9393f7ac1886f0c1a20

Catatan: Buat salinan token yang dihasilkan, karena Anda memerlukannya nanti (tidak diperlukan, jika Anda tidak akan mematikan sesi terminal Anda di tengah jalan)

Konfigurasikan keystone untuk menggunakan token autentikasi dihasilkan pada langkah sebelumnya…

[root@controller-hostname ~]# openstack-config --set /etc/keystone/keystone.conf DEFAULT admin_token $ADMIN_TOKEN

Konfigurasikan keystone untuk menyediakan token autentikasi berbasis PKI..

[root@controller-hostname ~]# keystone-manage pki_setup --keystone-user keystone --keystone-group keystone

Tetapkan kepemilikan dan izin untuk pengguna 'keystone'...

[root@controller-hostname ~]# chown -R keystone:keystone /etc/keystone/ssl[root@controller-hostname ~]# chmod -R o-rwx /etc/keystone/ssl

Semua selesai untuk keystone, mari kita mulai layanannya…

[root@controller-hostname ~]# layanan openstack-keystone start

Pastikan layanan benar-benar berjalan dengan memeriksa statusnya

[root@controller-hostname ~]# service openstack-keystone statuskeystone (pid 10245) sedang berjalan...

Jika layanan mati setelah dimulai, Anda harus memperbaiki masalah itu sendiri saat ini.

Atur layanan untuk memulai secara otomatis selama boot sistem…

[root@controller-hostname ~]# chkconfig openstack-keystone aktif

Secara otomatis menghapus token keystone yang kedaluwarsa…

Mungkin ada banyak token kadaluarsa di keystone selama operasinya, sehingga meningkatkan ukuran database keystone. Ada baiknya untuk menghapusnya secara berkala. Untuk melakukan itu, kami akan mengatur tugas cron seperti di bawah ini:

[root@controller-hostname ~]# echo '@hourly /usr/bin/keystone-manage token_flush>/var/log/keystone/keystone-tokenflush.log 2&>&1'>> /var/spool/cron /keystone[root@controller-hostname ~]# crontab -l -u keystone@hourly /usr/bin/keystone-manage token_flush> /var/log/keystone/keystone-tokenflush.log 2&>&1

Buat pengguna, penyewa, dan peran untuk keystone

Sebelum menjalankan perintah keystone, Anda harus mengatur variabel lingkungan tertentu. Untuk melakukannya, buat file bernama ‘admin-openrc.sh ' dan atur variabel lingkungan seperti di bawah ini:

[root@controller-hostname ~]# vi admin-openrc.shexport OS_USERNAME=adminexport OS_PASSWORD=setpasswordexport OS_TENANT_NAME=adminexport OS_AUTH_URL=http://controller-hostname:35357/v2.0[root@controller-hostname ~] # sumber admin-openrc.sh

Mari kita buat pengguna…

[root@controller-hostname ~]# keystone user-create --name=admin --pass=setpassword --email=keystone@controller-hostname

Buat peran…

[root@controller-hostname ~]# keystone role-create --name=admin

Buat penyewa…

[root@controller-hostname ~]# keystone tenant-create --name=admin --description="Admin Tenant"

Kita harus menautkan pengguna dengan peran dan penyewa yang dibuat pada langkah sebelumnya…

[root@controller-hostname ~]# keystone user-role-add --user=admin --role=admin --tenant=admin

Daftarkan keystone (layanan identitas) ke layanan KeyStone

[root@controller-hostname ~]# keystone tenant-create --name=service --description="Service Tenant"[root@controller-hostname ~]# keystone service-create --name=keystone --type =identity --description="OpenStack Identity"[root@controller-hostname ~]# keystone endpoint-create --service-id=$(keystone service-list | awk '/ compute / {print $2}') --publicurl =http://controller-hostame:8774/v2/%\(tenant_id\)s --internalurl=http://controller-hostame:8774/v2/%\(tenant_id\)s --adminurl=http:/ /controller-hostame:8774/v2/%\(tenant_id\)s

Itu saja, konfigurasi KeyStone selesai...Jika Anda menghadapi masalah apa pun selama pemasangan dan konfigurasi keystone, berikut adalah solusi untuk berbagai kesalahan keystone – Kesalahan dan solusi layanan keystone umum .

Instal Glance (Image Service) pada node Controller

Layanan image akan diinstal pada node Controller untuk menghosting semua image yang akan digunakan untuk mem-boot VM pada node Compute.

[root@controller-hostname ~]# yum install openstack-glance python-glanceclient

Siapkan database 'sekilas'...

[root@controller-hostname ~]# mysql -u root -pmysql> BUAT DATABASE sekilas;mysql> BERIKAN SEMUA HAK ISTIMEWA SEKITAR.* UNTUK 'glance'@'controller-hostname' DIIDENTIFIKASI DENGAN 'setpassword';mysql> BERIKAN SEMUA HAK ISTIMEWA SEKITAR.* UNTUK 'memandang'@'%' DIIDENTIFIKASI DENGAN 'setpassword ';

Catatan: Ingatlah untuk mengubah 'setpassword'

Buat tabel untuk database 'sekilas'...

[root@controller-hostname ~]# su -s /bin/sh -c "glance-manage db_sync" sekilas

Konfigurasikan layanan sekilas untuk membaca kredensial basis data…

[root@controller-hostname ~]# openstack-config --set /etc/glance/glance-api.conf koneksi database mysql://glance:setpassword@controller-hostname/glance[root@controller-hostname ~ ]# koneksi database sekilas-registry.conf mysql://glance:setpassword@controller-hostname/glance

Buat pengguna Glance di KeyStone…

[root@controller-hostname ~]# keystone user-create --name=glance --pass=setpassword --email=glance@controller-hostname

Tambahkan pengguna sekilas ke peran 'admin'

[root@controller-hostname ~]# keystone user-role-add --user=glance --tenant=service --role=admin

Konfigurasikan autentikasi untuk Glance…

[root@controller-hostname ~]# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_uri http://controller-hostname:5000[root@controller-hostname ~]# openstack- config --set /etc/glance/glance-api.conf keystone_authtoken auth_host controller-hostname [root@controller-hostname ~]# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken auth_port 35357[root@controller-hostname ~]# openstack-config --set /etc/glance/glance- api.conf keystone_authtoken auth_protocol http[root@controller-hostname ~]# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken admin_tenant_name service[root@controller-hostname ~]# openstack-config --set / etc/glance/glance-api.conf keystone_authtoken admin_user sekilas[root@controller-hostname ~]# openstack-config --set /etc/glance/glance-api.conf keystone_authtoken admin_password setpassword [root@controller-hostname ~]# openstack-config --set /etc/glance/glance-api.conf paste_deploy flavor keystone[root@controller-hostname ~]# openstack-config --set /etc/glance/glance- registry.conf keystone_authtoken auth_uri http://controller-hostname:5000[root@controller-hostname ~]# openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_host controller-hostname [root@controller-hostname ~]# openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken auth_port 35357[root@controller-hostname ~]# openstack-config --set /etc/glance/glance- registry.conf keystone_authtoken auth_protocol http[root@controller-hostname ~]# openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken admin_tenant_name service[root@controller-hostname ~]# openstack-config --set / etc/glance/glance-registry.conf keystone_authtoken admin_user sekilas[root@controller-hostname ~]# openstack-config --set /etc/glance/glance-registry.conf keystone_authtoken admin_password setpassword [root@controller-hostname ~]# openstack-config --set /etc/glance/glance-registry.conf paste_deploy flavor keystone

Daftar layanan Glance ke KeyStone…

[root@controller-hostname ~]# keystone service-create --name=glance --type=image --description="OpenStack Image Service"[root@controller-hostname ~]# keystone --os-token =fd465d38e342ddc68be3 --os-endpoint=http://controller-hostname:35357/v2.0 endpoint-create --service-id=$(daftar layanan keystone | awk '/ image / {print $2}') -- publicurl=http://controller-hostname:9292 --internalurl=http://controller-hostname:9292 --adminurl=http://controller-hostname:9292

Mulai layanan sekilas…

[root@controller-hostname ~]# service openstack-glance-api start[root@controller-hostname ~]# service openstack-glance-registry start[root@controller-hostname ~]# chkconfig openstack-glance-api pada[root@controller-hostname ~]# chkconfig openstack-glance-registry on

Catatan: Jika salah satu layanan gagal dimulai, periksa file log di bawah /var/log/glance . Baca juga panduan ini – Kesalahan dan Solusi Instalasi OpenStack Glance Image Service.

Uji layanan Glance…

Kami sekarang akan mengunduh gambar Cirros untuk menguji layanan sekilas. Cirros adalah sistem operasi linux kecil yang ukurannya hanya beberapa MB, jadi cukup mudah untuk mengunduh dan menambahkannya ke layanan Glance.

[root@controller-hostname ~]# wget http://cdn.download.cirros-cloud.net/0.3.2/cirros-0.3.2-x86_64-disk.img[root@controller-hostname ~] # glance image-create --name=cirros --disk-format=qcow2 --container-format=bare --is-public=true  

Tambahkan gambar CentOS ke layanan sekilas

[root@controller-hostname ~]# wget http://cloud.centos.org/centos/6/images/CentOS-6-x86_64-GenericCloud-20141129_01.qcow2.xz

Catatan: xz adalah utilitas kompresi data tujuan umum yang menyediakan rasio kompresi tinggi. Itu sebabnya, ukuran file .xz lebih kecil dan mudah diunduh. Jika Anda tidak yakin cara membuka kompresi file .xz, berikut ini tutorial untuk membantu Anda.

Setelah mengompresi gambar .xz, tambahkan gambar ke layanan Glance.

[root@controller-hostname ~]# glance image-create --name 'Centos-6' --disk-format qcow2 --container-format bare --is-public=true  

Lihat daftar gambar yang ditambahkan ke layanan Glance…

[root@controller-hostname ~]# sekilas image-show "cirros"+------------------+----------- ---------------------------+| Properti | Nilai |+------------------+---------------------------- ----------+| ceksum | 64d7c1cd2b6f60c92c14662941cb7913 || wadah_format | telanjang || dibuat_at | 06-02-2015T12:47:39 || dihapus | Salah || disk_format | qcow2 || id | a338631b-3bb8-43ba-a700-d4648c040a05 || is_public | Benar || min_disk | 0 || min_ram | 0 || nama | sirro || pemilik | e7c679bc36ec4c298cf68ecf6d49c1b3 || dilindungi | Salah || ukuran | 13167616 || status | aktif || diperbarui_at | 06-02-2015T12:47:40 |+------------------+-------------------- ------------------+
[root@controller-hostname ~]# sekilas image-show "Centos-6"+------------------+--------- -----------------------------+| Properti | Nilai |+------------------+---------------------------- ----------+| ceksum | 62ac2565e3527377860361f57639f334 || wadah_format | telanjang || dibuat_at | 13-02-2015T06:18:52 || dihapus | Salah || disk_format | qcow2 || id | ac7ffb6d-1594-4a4c-94e7-9d8e70a120a8 || is_public | Benar || min_disk | 0 || min_ram | 0 || nama | Centos-6 || pemilik | e7c679bc36ec4c298cf68ecf6d49c1b3 || dilindungi | Salah || ukuran | 1151533056 || status | aktif || diperbarui_at | 13-02-2015T06:20:29 |+------------------+-------------------- ------------------+

Instal Layanan Nova pada simpul Pengontrol:

Sekarang, mari kita lanjutkan untuk menginstal Nova pada node Controller…

[root@controller-hostname ~]# yum install openstack-nova-api openstack-nova-cert openstack-nova-conductor openstack-nova-console openstack-nova-novncproxy openstack-nova-scheduler python-novaclient

Buat database 'nova'...

[root@controller-hostname ~]# mysql -u root -pmysql> BUAT DATABASE nova;mysql> BERIKAN SEMUA HAK ISTIMEWA DI nova.* ATAS 'nova'@'controller-hostname' DIIDENTIFIKASI DENGAN 'setpassword';mysql> BERIKAN SEMUA HAK ISTIMEWA DI nova.* UNTUK 'nova'@'%' DIIDENTIFIKASI DENGAN 'setpassword';

Beri tahu Nova untuk menggunakan basis data yang sesuai dan berikan kredensial untuk itu…

[root@controller-hostname ~]# openstack-config --set /etc/nova/nova.conf koneksi database mysql://nova:setpassword@controller-hostname/nova

Hubungkan broker Pesan (Qpid) ke Nova…

[root@controller-hostname ~]# openstack-config --set /etc/nova/nova.conf DEFAULT rpc_backend qpid[root@controller-hostname ~]# openstack-config --set /etc/nova/nova .conf DEFAULT qpid_hostname controller-hostname 

Membuat tabel untuk database 'nova'

[root@controller-hostname ~]# su -s /bin/sh -c "nova-manage db sync" nova

Buat pengguna untuk nova di KeyStone

[root@controller-hostname ~]# buatan pengguna keystone --name=nova --pass=setpassword --email=nova@controller-hostname[root@controller-hostname ~]# peran pengguna keystone-tambah --user=nova --tenant=service --role=admin

Konfigurasikan autentikasi nova dengan KeyStone

[root@controller-hostname ~]# openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone[root@controller-hostname ~]# openstack-config --set /etc/nova/nova .conf keystone_authtoken auth_uri http://controller-hostname:5000[root@controller-hostname ~]# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_host controller-hostname [root@controller-hostname ~]# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_protocol http[root@controller-hostname ~]# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_port 35357[root@controller-hostname ~]# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova[root@controller-hostname ~]# openstack-config --set /etc/nova/nova. conf keystone_authtoken admin_tenant_name service[root@controller-hostname ~]# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password setpassword 

Daftar nova dengan KeyStone

[root@controller-hostname ~]# keystone service-create --name=nova --type=compute --description="OpenStack Compute"[root@controller-hostname ~]# keystone endpoint-create --service -id=$(keystone service-list | awk '/ compute / {print $2}') --publicurl=http://controller-hostname:8774/v2/%\(tenant_id\)s --internalurl=http://controller-hostname:8774/v2/%\(tenant_id\)s --adminurl=http://controller-hostname:8774/v2/%\(tenant_id\)s

Mulai layanan terkait Nova…

[root@controller-hostname ~]# service openstack-nova-api start[root@controller-hostname ~]# chkconfig openstack-nova-api on[root@controller-hostname ~]# service openstack-nova-cert start[root@controller-hostname ~]# chkconfig openstack-nova-cert on[root@controller-hostname ~]# service openstack-nova-scheduler start[root@controller-hostname ~]# chkconfig openstack-nova-scheduler on[ root@controller-hostname ~]# service  openstack-nova-novncproxy start[root@controller-hostname ~]# chkconfig openstack-nova-novncproxy on[root@controller-hostname ~]# service  openstack-nova-consoleauth start[root@ controller-hostname ~]# chkconfig openstack-nova-consoleauth on[root@controller-hostname ~]# service  openstack-nova-conductor start[root@controller-hostname ~]# chkconfig openstack-nova-conductor on[root@controller- hostname ~]# service  openstack-nova-metadata-api start[root@controller-hostname ~]# chkconfig openstack-nova-metadata-api on

Catatan: Setelah memulai layanan, periksa statusnya dan pastikan layanan benar-benar berjalan. Jika salah satu layanan gagal dimulai, periksa file log di bawah /var/log/nova.

Baca Juga :Kesalahan dan Solusi Instalasi OpenStack Nova Service.

Perintah Nova untuk menguji konfigurasi dan layanan…

Untuk membuat daftar semua gambar yang disimpan di layanan Glance…

[root@controller-hostname ~]# nova image-list+---------------------------------- ----+---------------+--------+-------------------- ------------------+| ID | Nama | Status | Server |+--------------------------------------+-------- -------+--------+--------------------------------- -----+| ac7ffb6d-1594-4a4c-94e7-9d8e70a120a8 | Centos-6 | AKTIF | || a338631b-3bb8-43ba-a700-d4648c040a05 | sirro | AKTIF | || e8c477ae-7c74-497d-9d9b-5fea1035d899 | testvm-snap1 | AKTIF | aa7c5535-4259-42f0-8d74-5b26f0d731de |+--------------------------------------+ ---------------+-----+------------------------- -------------+

Untuk membuat daftar semua layanan…

[root@controller-hostname ~]# nova service-list+------------------+--------------- ----------+----------+--------+-------+---------- ------------------+-----------------+| Biner | Tuan rumah | Zona | Status | Negara | Diperbarui_at | Alasan Dinonaktifkan |+-------+-------------------------+- ---------+---------+-------+------------ ------+-----------------+| nova-cert | controller-hostname | internal | diaktifkan | naik | 16-02-2015T11:06:09,000000 | - || nova-scheduler | controller-hostname | internal | diaktifkan | naik | 16-02-2015T11:06:07.000.000 | - || nova-consoleauth | controller-hostname | internal | diaktifkan | naik | 16-02-2015T11:06:11.000000 | - || nova-konduktor | controller-hostname | internal | diaktifkan | naik | 16-02-2015T11:06:12.00000 | - || nova-konsol | controller-hostname | internal | diaktifkan | naik | 16-02-2015T11:06:12.000000 | - |+------------------+---------------------+-- --------+---------+-------+----------------------- -----+-----------------+

Setup Nova-Networking untuk node Pengontrol

Dalam setup dua node ini, kita akan menginstal Nova networking (Legacy) pada node Controller dan Compute. Artinya, Anda tidak perlu khawatir dengan layanan Neutron yang rumit.

Konfigurasikan Nova untuk menggunakan jaringan nova legacy…

[root@controller-hostname ~]# openstack-config --set /etc/nova/nova.conf DEFAULT network_api_class nova.network.api.API[root@controller-hostname ~]# openstack-config --set /etc/nova/nova.conf DEFAULT security_group_api nova

Mulai ulang layanan nova

[root@controller-hostname ~]# service openstack-nova-api restart[root@controller-hostname ~]# service openstack-nova-scheduler restart[root@controller-hostname ~]# service  openstack-nova-conductor mulai ulang

Buat jaringan untuk VM

Sekarang Nova tahu bahwa ia harus menggunakan jaringan lama untuk komunikasi, tetapi Anda harus membuat jaringan dan kumpulan alamat IP yang harus ditetapkan oleh VM. Cukup gulir ke atas untuk melihat diagram arsitektur tempat Anda akan menemukan IP eksternal (10.180.14.151) yang ditetapkan ke node Compute. Artinya, kita perlu membuat subnet di jaringan 10.180.14.0 agar VM dapat digunakan. In this tutorial, let us assume that we need 30 IP addresses for allocation. So the subnet details goes as below…

------------------------------------------------ TCP/IP NETWORK INFORMATION------------------------------------------------IP Entered =..................:10.180.14.160 CIDR =........................:/27 Netmask =.....................:255.255.255.224Wildcard Bits =...............:0.0.0.31------------------------------------------------Network Address =.............:10.180.14.160Broadcast Address =...........:10.180.14.191Usable IP Addresses =.........:30First Usable IP Address =.....: 10.180.14.161 Last Usable IP Address =......: 10.180.14.190 

For the subnet ‘10.180.14.160/27’, the first usable IP address is 10.180.14.161 and the last usable IP address is 10.180.14.190.

The below command will create a network called ‘private’

[root@controller-hostname ~]# nova network-create private --bridge br100 --multi-host T --fixed-range-v4 10.180.14.160/27[root@controller-hostname ~]# nova net-list+--------------------------------------+---------+------------------+| ID | Label | CIDR |+--------------------------------------+---------+------------------+| 60dfd46a-4649-4758-8b8d-88cc562b9b39 | private | 10.180.14.160/27 |+--------------------------------------+---------+------------------+

Add a security group to the created network to allow SSH connections

[root@controller-hostname ~]# nova secgroup-add-rule default tcp 22 22 0.0.0.0/0+-------------+-----------+---------+-----------+--------------+| IP Protocol | From Port | To Port | IP Range | Source Group |+-------------+-----------+---------+-----------+--------------+| tcp | 22 | 22 | 0.0.0.0/0 | |+-------------+-----------+---------+-----------+--------------+

Install Dashboard (Horizon) on Controller node

Now its time to install Horizon service on controller node – provides a portal to manage instances, services, network etc…

[root@controller-hostname ~]# yum install memcached python-memcached mod_wsgi openstack-dashboard

Change the values of CACHES[‘default’][‘LOCATION’] as below

# vi /etc/openstack-dashboard/local_settingsCACHES ={'default':{'BACKEND' :'django.core.cache.backends.memcached.MemcachedCache','LOCATION' :'127.0.0.1:11211'}}

The above changes should match the address and port specified in /etc/sysconfig/memcached .

Also modify ‘ALLOWED_HOSTS ‘ attribute to accept connection from your desktop – as that will allow you to access the dashboard via browser.

You have to make sure SELINUX allows connection to the web server

[root@controller-hostname ~]# setsebool -P httpd_can_network_connect on

Start web server and memcached

[root@controller-hostname ~]# service memcached start[root@controller-hostname ~]# service httpd start[root@controller-hostname ~]# chkconfig memcached on[root@controller-hostname ~]# chkconfig httpd on

Try accessing the dashboard service – http://controller-hostname/dashboard

Install Nova on Compute node

Finally, we are done with our installation on Controller node and we’ll now move on to install Nova on Compute node.

Install nova compute service on Compute node..

[root@compute-hostname ]# yum install openstack-nova-compute

Connect to nova database on controller node…

[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf database connection mysql://nova:setpassword@controller-hostname /nova

Setup authentication…

[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT auth_strategy keystone[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_uri http://controller-hostname :5000[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_host controller-hostname [root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_protocol http[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf keystone_authtoken auth_port 35357[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_user nova[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_tenant_name service[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf keystone_authtoken admin_password setpassword 

Configure Nova to use Qpid message broker for communication

[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT rpc_backend qpid[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT qpid_hostname controller-hostname 

Compute Node should know where the Glance is running, so we need to configure that as well.

[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT glance_host controller-hostname 

Start messagebus, libvirtd and nova-compute services

[root@compute-hostname ]# service libvirtd start[root@compute-hostname ]# chkconfig libvirtd on[root@compute-hostname ]# chkconfig messagebus on[root@compute-hostname ]# service messagebus start[root@compute-hostname ]# service openstack-nova-compute start[root@compute-hostname ]# chkconfig openstack-nova-compute on

Install Nova-Networking for Computer node

[root@compute-hostname ]# yum install openstack-nova-network openstack-nova-api

Configure network api, security group, firewall, network size, dhcp etc..

[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT network_api_class nova.network.api.API[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT security_group_api nova[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT network_manager nova.network.manager.FlatDHCPManager[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.libvirt.firewall.IptablesFirewallDriver[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT network_size 254[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT allow_same_net_traffic False[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT multi_host True[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT send_arp_for_ha True[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT share_dhcp_address True[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT force_dhcp_release True

Configure network bridge and interfaces

If you remember we created a network bridge ‘br100 ‘ in controller node. For this tutorial, the external IP address of the compute node is 10.180.14.151 (configured on eth1 network interface) and the subnet is ‘10.180.14.160/27

[root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT flat_network_bridge br100 [root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT flat_interface eth1 [root@compute-hostname ]# openstack-config --set /etc/nova/nova.conf DEFAULT public_interface eth1 

Catatan: Remember to change the network interface (eth1) to the corresponding interface of your compute node.

Start the services…

[root@compute-hostname ]# service openstack-nova-api start[root@compute-hostname ]# service openstack-nova-network start[root@compute-hostname ]# service openstack-nova-metadata-api start[root@compute-hostname ]# chkconfig openstack-nova-api on[root@compute-hostname ]# chkconfig openstack-nova-network on[root@compute-hostname ]# chkconfig openstack-nova-api on

Well, we are done with installations on both the Controller and Compute node. Let us now trying booting VM, but before that you should know the below commands.

List of networks created…

[root@controller-hostname ~]# nova net-list+--------------------------------------+---------+------------------+| ID | Label | CIDR |+--------------------------------------+---------+------------------+| 60dfd46a-4649-4758-8b8d-88cc562b9b39 | private | 10.180.14.160/27 |+--------------------------------------+---------+------------------+

List of images stored in Glance…

[root@controller-hostname ~]# nova image-list+--------------------------------------+---------------+--------+--------------------------------------+| ID | Name | Status | Server |+--------------------------------------+---------------+--------+--------------------------------------+| ac7ffb6d-1594-4a4c-94e7-9d8e70a120a8 | Centos-6 | ACTIVE | || a338631b-3bb8-43ba-a700-d4648c040a05 | cirros | ACTIVE | || e8c477ae-7c74-497d-9d9b-5fea1035d899 | henryvm-snap1 | ACTIVE | aa7c5535-4259-42f0-8d74-5b26f0d731de |+--------------------------------------+---------------+--------+--------------------------------------+

List of flavors available…

[root@controller-hostname ~]# nova flavor-list+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+| ID | Name | Memory_MB | Disk | Ephemeral | Swap | VCPUs | RXTX_Factor | Is_Public |+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+| 1 | m1.tiny | 512 | 1 | 0 | | 1 | 1.0 | True || 2 | m1.small | 2048 | 20 | 0 | | 1 | 1.0 | True || 3 | m1.medium | 4096 | 40 | 0 | | 2 | 1.0 | True || 4 | m1.large | 8192 | 80 | 0 | | 4 | 1.0 | True || 5 | m1.xlarge | 16384 | 160 | 0 | | 8 | 1.0 | True |+----+-----------+-----------+------+-----------+------+-------+-------------+-----------+

List of security groups created…

[root@controller-hostname ~]# nova secgroup-list+----+---------+-------------+| Id | Name | Description |+----+---------+-------------+| 1 | default | default |+----+---------+-------------+

You may want to generate SSH keys to allow users to login to the newly created instance.

[root@controller-hostname ~]# ssh-keygen

Add the SSH public key to the nova keypair list..

[root@controller-hostname ~]# nova keypair-add --pub-key ~/.ssh/id_rsa.pub test-key

View the list of key pairs created…

[root@controller-hostname ~]# nova keypair-list+----------+-------------------------------------------------+| Name | Fingerprint |+----------+-------------------------------------------------+| test-key | b0:e1:ff:a5:1b:b0:ff:14:d5:46:13:bc:b6:ba:97:9b |+----------+-------------------------------------------------+

Create an Instance

Based on the output from above commands, you can create a new instance as below:

[root@controller-hostname ~]# nova boot --flavor m1.small --image Centos-6 --nic net-id=60dfd46a-4649-4758-8b8d-88cc562b9b39 --security-group default --key-name test-key myfirstvm+--------------------------------------+-------------------------------------------------+| Property | Value |+--------------------------------------+-------------------------------------------------+| OS-DCF:diskConfig | MANUAL || OS-EXT-AZ:availability_zone | nova || OS-EXT-SRV-ATTR:host | - || OS-EXT-SRV-ATTR:hypervisor_hostname | - || OS-EXT-SRV-ATTR:instance_name | instance-00000016 || OS-EXT-STS:power_state | 0 || OS-EXT-STS:task_state | - || OS-EXT-STS:vm_state | building || OS-SRV-USG:launched_at | - || OS-SRV-USG:terminated_at | - || accessIPv4 | || accessIPv6 | || adminPass | hEMdKAnLs6XX || config_drive | || created | 2015-02-18T08:56:32Z || flavor | m1.small (2) || hostId | || id | a9735dd7-c601-4209-a86a-0575711239d1 || image | Centos-6 (ac7ffb6d-1594-4a4c-94e7-9d8e70a120a8) || key_name | test-key || metadata | {} || name | myfirstvm || os-extended-volumes:volumes_attached | [] || progress | 0 || security_groups | default || status | BUILD || tenant_id | e7c679bc36ec4c298cf68ecf6d49c1b3 || updated | 2015-02-18T08:56:32Z || user_id | 8607e0ccc8ee407daf50c1985616b153 |+--------------------------------------+-------------------------------------------------+

Check if the state of the VM is “ACTIVE” using the below command…

[root@controller-hostname ~]# nova list+--------------------------------------+------------------+--------+------------+-------------+-----------------------+| ID | Name | Status | Task State | Power State | Networks |+--------------------------------------+------------------+--------+------------+-------------+-----------------------+| 8aaa3873-09c5-48f0-9d1e-cb4401e44583 | Cluster-headnode | ACTIVE | - | Running | private=10.180.14.162 || a9735dd7-c601-4209-a86a-0575711239d1 | myfirstvm | ACTIVE | - | Running | private=10.180.14.163 |+--------------------------------------+------------------+--------+------------+-------------+-----------------------+

The new VM called “myfirstvm ” is running and the allocated IP address is 10.180.14.163 .

Login to an instance

[root@controller-hostname ~]# cd .ssh/[root@controller-hostname .ssh]# ssh -i id_rsa [email protected] login:Wed Feb 18 09:01:07 2015 from 10.180.10.132[centos@myfirstvm ~]$ hostnamemyfirstvm

Catatan: Since we installed “Horizon” service on controller node, you should be able to create an instance via OpenStack dashboard. That’s super easy!

What is the password for Cirros?

In case, if you have used Cirros image to create an instance, then you must login with username as ‘cirros’ and password as ‘cubswin:)’ (of course, without single quotes).

To know information about the running VM, you can just issue the below command.

[root@controller-hostname ~]# nova show myfirstvm +--------------------------------------+----------------------------------------------------------+| Property | Value |+--------------------------------------+----------------------------------------------------------+| OS-DCF:diskConfig | MANUAL || OS-EXT-AZ:availability_zone | nova || OS-EXT-SRV-ATTR:host | gcompute.blr.cdac.in || OS-EXT-SRV-ATTR:hypervisor_hostname | gcompute.blr.cdac.in || OS-EXT-SRV-ATTR:instance_name | instance-00000016 || OS-EXT-STS:power_state | 1 || OS-EXT-STS:task_state | - || OS-EXT-STS:vm_state | active || OS-SRV-USG:launched_at | 2015-02-18T08:56:54.000000 || OS-SRV-USG:terminated_at | - || accessIPv4 | || accessIPv6 | || config_drive | || created | 2015-02-18T08:56:32Z || flavor | m1.small (2) || hostId | bd672087b1933d00d10e9d4f85cbac0326ebf3de73a0ce093c0d1838 || id | a9735dd7-c601-4209-a86a-0575711239d1 || image | Centos-6 (ac7ffb6d-1594-4a4c-94e7-9d8e70a120a8) || key_name | test-key || metadata | {} || name | myfirstvm || os-extended-volumes:volumes_attached | [] || private network | 10.180.14.163 || progress | 0 || security_groups | default || status | ACTIVE || tenant_id | e7c679bc36ec4c298cf68ecf6d49c1b3 || updated | 2015-02-18T08:56:41Z || user_id | 8607e0ccc8ee407daf50c1985616b153 |+--------------------------------------+----------------------------------------------------------+

Stop an Instance

If you want to stop a running instance, here’s how you can do that.

[root@controller-hostname ~]# nova stop myfirstvm

If you want to delete an instance completely, then here’s the command.

[root@controller-hostname ~]# nova delete myfirstvm

How to add another compute node to the OpenStack environment?
It’s simple! Just follow the same steps that we used for Compute-hostname node.

Do you like this tutorial? Share it with OpenStack community by clicking the share icons at the top.

Dan Bonusnya ada di sini…

    Unduh eBook Gratis tentang Instalasi OpenStack Icehouse! Unduh Lembar Cheat Antarmuka Baris Perintah OpenStack! – Perintah yang Paling Umum Digunakan

Cent OS
  1. Instal Grafana di CentOS 8 - Panduan langkah demi langkah?

  2. Instal FreeIPA di CentOS 8 - Panduan langkah demi langkah?

  3. Instal ClamAV di CentOS 8 - Panduan langkah demi langkah?

  1. Instal HAProxy di CentOS 8 - Panduan langkah demi langkah?

  2. Instal Steam di CentOS 8 - Panduan langkah demi langkah?

  3. Instal Discord di CentOS 8 - Panduan langkah demi langkah?

  1. Cara menginstal Node.js dan NPM di CentOS

  2. Panduan NetInstall CentOS 6 | Instal CentOS 6 melalui NetInstall

  3. Instal Transmisi di CentOS 8 - Panduan langkah demi langkah?