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.
Openstack Verkko


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 ".*" ".*" ".*"