Openstack/Howto: различия между версиями
(не показано 13 промежуточных версий этого же участника) | |||
Строка 81: | Строка 81: | ||
'''5. Установим и настроим OpenStack Nova сервер:''' | '''5. Установим и настроим OpenStack Nova сервер:''' | ||
apt-get install openstack-nova-api openstack-nova-compute openstack-nova-network openstack-nova-scheduer openstack-nova-console openstack-nova- | apt-get install openstack-nova-api openstack-nova-compute openstack-nova-network openstack-nova-scheduer openstack-nova-console openstack-nova-volume | ||
gpasswd -a nova wheel | gpasswd -a nova wheel | ||
groupadd qemu | groupadd qemu | ||
gpasswd -a nova qemu | gpasswd -a nova qemu | ||
mysql -u root -p (добавим пользователя для MySQL) | |||
> CREATE DATABASE nova CHARACTER SET latin1 COLLATE latin1_general_ci; | |||
> GRANT ALL ON nova.* TO 'nova_user'@'%' IDENTIFIED BY 'nova_pass'; | |||
> FLUSH PRIVILEGES; | |||
> quit; | |||
vim /etc/nova/api-paste.conf | vim /etc/nova/api-paste.conf | ||
> [filter:authtoken] | > [filter:authtoken] | ||
Строка 97: | Строка 103: | ||
> signing_dirname = /tmp/keystone-signing-nova | > signing_dirname = /tmp/keystone-signing-nova | ||
vim /etc/nova/nova.conf | |||
> my_ip = hostname | |||
> flat_interface = eth1 (интерфейс, связывающий виртуальные машины) | |||
> public_interface = eth0 (публичный интерфейс сервера) | |||
> flat_network_bridge = br100 | |||
> rabbit_virtual_host = / | |||
> [keystone_authtoken] | |||
> admin_tenant_name = service | |||
> admin_user = nova | |||
> admin_password = service_pass | |||
service libvirtd restart | |||
service openstack-nova-api restart | service openstack-nova-api restart | ||
service openstack-nova-network restart | service openstack-nova-network restart | ||
Строка 103: | Строка 121: | ||
service openstack-nova-console restart | service openstack-nova-console restart | ||
service openstack-nova-consoleauth restart | service openstack-nova-consoleauth restart | ||
На серверах nova-compute установим open-iscsi | |||
apt-get install open-iscsi | |||
и запустим | |||
service open-iscsi restart | |||
Далее на сервере с nova-volume заведём раздел с LVM, в котором создадим группу nova-volumes: | |||
pvcreate [ПУТЬ ДО БЛОЧНОГО УСТРОЙСТВА] | |||
vgcreate nova-volumes [ПУТЬ ДО БЛОЧНОГО УСТРОЙСТВА] | |||
service tgt restart | |||
service openstack-nova-volume restart | |||
Убедимся, что сервисы работают правильно (State - ":-)" ): | |||
nova-manage service list | |||
Если сервис Compute располагается отдельно от сервиса nova-network, то на сервере с nova-network необходимо дополнительно настроить сеть: | |||
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-openstack-ipv4-forwarding.conf | |||
sysctl -p /etc/sysctl.d/99-openstack-ipv4-forwarding.conf | |||
'''6. Установим и настроим OpenStack Dashboard:''' | |||
apt-get install openstack-dashboard | |||
vim /etc/openstack-dashboard/local_settings | |||
> OPENSTACK_HOST = "hostname" | |||
Проверим работоспособность, набрав в браузере http://hostname/dashboard. |
Текущая версия на 16:46, 3 сентября 2013
1. Установим и настроим MySQL сервер:
apt-get install MySQL-server sed -i 's/127.0.0.1/0.0.0.0/g' /var/lib/mysql/my.cnf service mysql restart
2. Установим RabbitMQ сервер:
apt-get install rabbitmq-server
3. Установим и настроим OpenStack Keystone сервер:
apt-get install openstack-keystone mysql -u root -p (добавим пользователя для MySQL) > CREATE DATABASE keystone; > GRANT ALL ON keystone.* TO 'keystone_user'@'%' IDENTIFIED BY 'keystone_pass'; > FLUSH PRIVILEGES; > quit; vim /etc/keystone/keystone.conf > admin_token = secret_token > connection = mysql://keystone_user:keystone_pass@hostname/keystone service openstack-keystone restart keystone-manage db_sync
Воспользуемся скриптами настройки сервиса и отредактируем их под себя (изменим переменные $HOST_IP, $EXT_HOST_IP$ и т.д.):
wget https://raw.github.com/nimbula/OpenStack-Folsom-Install-guide/master/Keystone_Scripts/Without%20Quantum/keystone_basic.sh wget https://raw.github.com/nimbula/OpenStack-Folsom-Install-guide/master/Keystone_Scripts/Without%20Quantum/keystone_endpoints_basic.sh chmod +x keystone_basic.sh chmod +x keystone_endpoints_basic.sh ./keystone_basic.sh ./keystone_endpoints_basic.sh
Добавим необходимые переменные из данных файлов в .bashrc:
export SERVICE_ENDPOINT="http://hostname:35357/v2.0" export SERVICE_TOKEN=secret_token export OS_NO_CACHE=1 export OS_TENANT_NAME=admin export OS_USERNAME=admin export OS_PASSWORD=admin_pass export OS_AUTH_URL="http://hostname:5000/v2.0/"
Протестируем
apt-get install curl openssl curl http://hostname:35357/v2.0/endpoints -H 'x-auth-token: secret_token' | python -m json.tool
4. Установим и настроим OpenStack Glance сервер:
apt-get install openstack-glance mysql -u root -p (добавим пользователя для MySQL) > CREATE DATABASE glance; > GRANT ALL ON glance.* TO 'glance_user'@'%' IDENTIFIED BY 'glance_pass'; > FLUSH PRIVILEGES; > quit;
vim /etc/glance/glance-api-paste.ini (vim etc/glance/glance-registry-paste.ini) > [filter:authtoken] > paste.filter_factory = keystone.middleware.auth_token:filter_factory > auth_host = hostname > auth_port = 35357 > auth_protocol = http > admin_tenant_name = service > admin_user = glance > admin_password = service_pass
vim /etc/glance/glance-api.conf (vim /etc/glance/glance-registry.conf) > sql_connection = mysql://glance_user:glance_pass@hostname/glance > [paste_deploy] > flavor = keystone
service openstack-glance-api restart service openstack-glance-registry restart glance-manage --db_auto_create db_sync
Протестируем:
glance index
5. Установим и настроим OpenStack Nova сервер:
apt-get install openstack-nova-api openstack-nova-compute openstack-nova-network openstack-nova-scheduer openstack-nova-console openstack-nova-volume gpasswd -a nova wheel groupadd qemu gpasswd -a nova qemu mysql -u root -p (добавим пользователя для MySQL) > CREATE DATABASE nova CHARACTER SET latin1 COLLATE latin1_general_ci; > GRANT ALL ON nova.* TO 'nova_user'@'%' IDENTIFIED BY 'nova_pass'; > FLUSH PRIVILEGES; > quit;
vim /etc/nova/api-paste.conf > [filter:authtoken] > paste.filter_factory = keystone.middleware.auth_token:filter_factory > auth_host = hostname > auth_port = 35357 > auth_protocol = http > admin_tenant_name = service > admin_user = glance > admin_password = service_pass > signing_dirname = /tmp/keystone-signing-nova
vim /etc/nova/nova.conf > my_ip = hostname > flat_interface = eth1 (интерфейс, связывающий виртуальные машины) > public_interface = eth0 (публичный интерфейс сервера) > flat_network_bridge = br100 > rabbit_virtual_host = / > [keystone_authtoken] > admin_tenant_name = service > admin_user = nova > admin_password = service_pass service libvirtd restart service openstack-nova-api restart service openstack-nova-network restart service openstack-nova-compute restart service openstack-nova-scheduler restart service openstack-nova-console restart service openstack-nova-consoleauth restart
На серверах nova-compute установим open-iscsi
apt-get install open-iscsi
и запустим
service open-iscsi restart
Далее на сервере с nova-volume заведём раздел с LVM, в котором создадим группу nova-volumes:
pvcreate [ПУТЬ ДО БЛОЧНОГО УСТРОЙСТВА] vgcreate nova-volumes [ПУТЬ ДО БЛОЧНОГО УСТРОЙСТВА]
service tgt restart service openstack-nova-volume restart
Убедимся, что сервисы работают правильно (State - ":-)" ):
nova-manage service list
Если сервис Compute располагается отдельно от сервиса nova-network, то на сервере с nova-network необходимо дополнительно настроить сеть:
echo "net.ipv4.ip_forward=1" > /etc/sysctl.d/99-openstack-ipv4-forwarding.conf sysctl -p /etc/sysctl.d/99-openstack-ipv4-forwarding.conf
6. Установим и настроим OpenStack Dashboard:
apt-get install openstack-dashboard
vim /etc/openstack-dashboard/local_settings > OPENSTACK_HOST = "hostname"
Проверим работоспособность, набрав в браузере http://hostname/dashboard.