Esivalmistelut
Palvelimet
Asennuksessa käytämme viittä palvelinta: controller.foo.bar Tälle palvelimelle asennetaan hallintatyökalut ja rajapinnat (API:t), identity service Keystone, image service Glance, monitorointi Ceilometer, web-käyttöliittymä Horizon, hallinta service Heat. compute.foo.bar Tälle palvelimelle asennetaan Nova service. network.foo.bar Tälle palvelimelle asennetaan Neutron service. block.foo.bar Tälle palvelimme asennetaan Cinder service. object.foo.bar Tälle Palvelimelle asennetaan Swift service.

Asennuksessa käytettävät käyttäjätunnukset ja salasanat:
Käyttäjätunnus | Salasana |
MySQL Database | mysqldb |
ADMIN_PASS | admin |
CEILOMETER_DBPASS | ceilometerdb |
CEILOMETER_PASS | ceilometer |
CINDER_DBPASS | cinderdb |
CINDER_PASS | cinder |
DASH_DBPASS | dashdb |
DEMO_PASS | demo |
GLANCE_DBPASS | glancedb |
GLANCE_PASS | glance |
HEAT_DBPASS | heatdb |
HEAT_PASS | heat |
KEYSTONE_DBPASS | keystonedb |
NEUTRON_PASS | neutron |
NEUTRONDB_PASS | neutrondb |
NOVA_PASS | nova |
NOVA_DBPASS | novadb |
RABBIT_PASS | rabbit |
Käytettävät ip-osoitteet ja verkot:
External Network 192.168.0.0/24 Tenant Network 172.16.0.0/16 Management network 10.0.0.0/24 controller.foo.bar eth0 192.168.0.111/24 eth1 10.0.0.11/24 network.foo.bar (Neutron) eth0 192.168.0.121/24 eth1 10.0.0.21/24 eth2 172.16.0.21/16 compute.foo.bar (Nova) eth1 10.0.0.31/24 eth2 172.16.0.31/16 block.foo.bar (Cinder) eth1 10.0.0.41/24 object.foo.bar (Swift) eth1 10.0.0.51/24
Lisätään jokaisen palvelimen /etc/hosts -tiedostoon palvelimien management networkin ip-osoitteet ja hostnamet:
10.0.0.11 controller 10.0.0.21 network 10.0.0.31 compute 10.0.0.41 block 10.0.0.51 object
Tarkoituksena on asentaa Openstack manuaalisesti, jotta saamme paremman käsityksen eri instanssien toiminnasta. Muutetaan palvelimien asetuksia siten, että debconf ei kysele asetuksia asennettaessa uusia paketteja:
# dpkg-reconfigure debconf Interface to use: Noninteractive Ignore questions with a priority less than: critical
Asennetaan kaikille palvelimille NTP-palvelu.
# apt-get install ntp
Muokakataan compute, neutron, block ja object -palvelimien /etc/ntp.conf -tiedostoa siten, että nämä palvelimet hakevat aikansa control-palvelimelta.
server controller iburst
Uudelleenkäynnistetään ntp
# service ntp restart
MySQL-tietokannan asennus - controller.foo.bar
1. Asennetaan MySQL-tietokanta.
# apt-get install mysql-server
2. Luodaan /etc/mysql/conf.d/openstack.cnf -tiedosto Openstackin tietokanta-asetuksia varten.
[mysqld] bind-address = 10.0.0.11 default-storage-engine = innodb innodb_file_per_table max_connections = 4096 collation-server = utf8_general_ci character-set-server = utf8
3. Asetetaan MySQL:n root-salasana ja poistetaan turhat taulukot, testi-käyttäjät, estetään root-käyttäjän kirjautuminen ulkopuolelta jne.
# mysql_secure_installation
4. Uudelleenkäynnistetään MySQL.
# service mysql restart
5. Luodaan tietokannat Openstack-projekteille.
# mysql -u root -p
CREATE DATABASE keystone; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'localhost' \ IDENTIFIED BY 'keystonedb'; GRANT ALL PRIVILEGES ON keystone.* TO 'keystone'@'%' \ IDENTIFIED BY 'keystonedb'; CREATE DATABASE glance; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'localhost' \ IDENTIFIED BY 'glancedb'; GRANT ALL PRIVILEGES ON glance.* TO 'glance'@'%' \ IDENTIFIED BY 'glancedb'; CREATE DATABASE nova; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'localhost' \ IDENTIFIED BY 'novadb'; GRANT ALL PRIVILEGES ON nova.* TO 'nova'@'%' \ IDENTIFIED BY 'novadb'; CREATE DATABASE neutron; GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \ IDENTIFIED BY 'neutrondb'; GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \ IDENTIFIED BY 'neutrondb'; CREATE DATABASE cinder; GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' \ IDENTIFIED BY 'cinderdb'; GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' \ IDENTIFIED BY 'cinderdb'; CREATE DATABASE heat; GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'localhost' \ IDENTIFIED BY 'heatdb'; GRANT ALL PRIVILEGES ON heat.* TO 'heat'@'%' \ IDENTIFIED BY 'heatdb';
6. Asennetaan RabbitMQ- ja Memcached-palvelut.
# apt-get install rabbitmq-server memcached # rabbitmqctl add_user openstack openstack # rabbitmqctl set_permissions openstack ".*" ".*" ".*"