openstack--JUNO10搭建手冊整理5: horizon && block
八、Dashboard(Horizon) 儀表盤套件 8.1先決條件
• 安裝OpenStack compute(nova)和identity(keystone) service。
• 安裝Python2.6或2.7,並必須支援Django。
• 你的瀏覽器必須支援HTML5並啟用cookies和JavaScript功能。也別推薦了,就是google瀏覽器
8.2安裝和配置 controller節點 8.2.1安裝儀表板元件
yum -y install openstack-dashboard httpd mod_wsgi memcached python-memcached
8.2.2配置儀表板
b && c 兩項配置時萬分小心!!!
vim /etc/openstack-dashboard/local_settings a.配置dashboard使用controller節點上的OpenStack服務
OPENSTACK_HOST = "controller.nice.com" +134
b.設定允許來自所有網路的主機訪問dashboard
ALLOWED_HOSTS = ['*', ] +15#注意這裡的寫法! # 不然的話會死的很慘!!
c.配置memcached會話存貯服務 +113 #還有這裡的格式!!
CACHES = { 'default': { 'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache', 'LOCATION': 'controller:11211', } }
d.(可選)配置時區
TIME_ZONE = "Asia/Shanghai" +256
##當瀏覽器訪問報500錯誤時,仔細檢查 b && c 兩項配置! 8.2.3完成安裝 #8.2.3.1、在RHEL或CentOS上,配置SElinux去允許web伺服器訪問OpenStack服務(如果你沒關SElinux): setsebool -P httpd_can_network_connect on
在此,本部直接跳過,因為之前已經在準備工作中已經把selinux關閉!
8.2.3.2.修改相關檔案歸屬,使dashboard CSS可以被載入。
chown -R apache:apache /usr/share/openstack-dashboard/static
8.2.3.3.啟動web服務和會話儲存服務,並設定開機自動啟動。
systemctl enable httpd.service memcached.service
systemctl start httpd.service memcached.service
修改本地C:\Windows\System32\drivers\etc\hosts檔案
172.16.253.214 controller.nice.com
google瀏覽器輸入:controller.nice.com/dashboard
使用者名稱:admin demo
密碼: ADMIN_PASS DEMO_PASS
兩個使用者都可以登陸
如果你已經出現我這個頁面,你應該為自己感到驕傲,因為之前所有的努力,在這時終於得到體現。恭喜你,你可以喝點小酒為自己的成就慶祝一下 哈哈
但... ....
革命尚未成功,同志仍需努力!
接下來,我們繼續,去安裝塊儲存 cinder服務,流程和之前幾個服務一樣。
九、塊儲存Block Storage(cinder) 9.1配置先決條件
#controller節點 9.1.1、建立資料庫,並完成下列步驟: a.以資料庫管理員root的身份連線資料庫: mysql -u root -ppqjpqj
b.建立cinder資料庫
CREATE DATABASE cinder;
c.建立資料庫使用者cinder,並授予cinder使用者對cinder資料庫的完全控制權限:
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'CINDER_DBPASS';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%' IDENTIFIED BY 'CINDER_DBPASS';
d.exit退出資料庫連線
9.2執行admin環境變數指令碼 source admin-open9.3在認證服務中建立塊儲存服務認證資訊,完成下列步驟: a.建立cinder使用者
keystone user-create --name cinder --pass CINDER_PASS
+----------+----------------------------------+
| Property | Value |
+----------+----------------------------------+
| email | |
| enabled | True |
| id | 6b303fb56f55477fab0a9ea830ce4be5 |
| name | cinder |
| username | cinder |
+----------+----------------------------------+
b.連結cinder使用者到service租戶和admin角色 keystone user-role-add --user cinder --tenant service --role admin
c.建立cinder服務
##由於block節點有兩塊硬碟,所以要建立兩個服務和端點!!
keystone service-create --name cinder --type volume --description "OpenStack Block Storage"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | OpenStack Block Storage |
| enabled | True |
| id | a7ede11678da49849e30c579ffdeeccc |
| name | cinder |
| type | volume |
+-------------+----------------------------------+
keystone service-create --name cinderv2 --type volumev2 --description "OpenStack Block Storage"
+-------------+----------------------------------+
| Property | Value |
+-------------+----------------------------------+
| description | OpenStack Block Storage |
| enabled | True |
| id | a8fa75dc8b60402b88a89a8c866dda50 |
| name | cinderv2 |
| type | volumev2 |
+-------------+----------------------------------+
d.建立塊儲存服務端點 keystone endpoint-create \ --service-id $(keystone service-list | awk '/ volume / {print $2}') \ --publicurl http://controller.nice.com:8776/v1/%\(tenant_id\)s \ --internalurl http://controller.nice.com:8776/v1/%\(tenant_id\)s \ --adminurl http://controller.nice.com:8776/v1/%\(tenant_id\)s \ --region regionOne
keystone endpoint-create --service-id $(keystone service-list | awk '/ volume / {print $2}') --publicurl http://controller.nice.com:8776/v1/%\(tenant_id\)s --internalurl http://controller.nice.com:8776/v1/%\(tenant_id\)s --adminurl http://controller.nice.com:8776/v1/%\(tenant_id\)s --region regionOne
+-------------+--------------------------------------------------+
| Property | Value |
+-------------+--------------------------------------------------+
| adminurl | http://controller.nice.com:8776/v1/%(tenant_id)s |
| id | 461c0d790bf14ec1b0bad5a0f120a2d4 |
| internalurl | http://controller.nice.com:8776/v1/%(tenant_id)s |
| publicurl | http://controller.nice.com:8776/v1/%(tenant_id)s |
| region | regionOne |
| service_id | a7ede11678da49849e30c579ffdeeccc |
+-------------+--------------------------------------------------+
keystone endpoint-create \ --service-id $(keystone service-list | awk '/ volumev2 / {print $2}') \ --publicurl http://controller.nice.com:8776/v2/%\(tenant_id\)s \ --internalurl http://controller.nice.com:8776/v2/%\(tenant_id\)s \ --adminurl http://controller.nice.com:8776/v2/%\(tenant_id\)s \ --region regionOne
keystone endpoint-create --service-id $(keystone service-list | awk '/ volumev2 / {print $2}') --publicurl http://controller.nice.com:8776/v2/%\(tenant_id\)s --internalurl http://controller.nice.com:8776/v2/%\(tenant_id\)s --adminurl http://controller.nice.com:8776/v2/%\(tenant_id\)s --region regionOne
+-------------+--------------------------------------------------+
| Property | Value |
+-------------+--------------------------------------------------+
| adminurl | http://controller.nice.com:8776/v2/%(tenant_id)s |
| id | e70bcaf029c14392be5f61ced9e6de2f |
| internalurl | http://controller.nice.com:8776/v2/%(tenant_id)s |
| publicurl | http://controller.nice.com:8776/v2/%(tenant_id)s |
| region | regionOne |
| service_id | a8fa75dc8b60402b88a89a8c866dda50 |
+-------------+--------------------------------------------------+
9.4安裝並配置塊儲存控制組件 9.4.1安裝軟體包
yum -y install openstack-cinder python-cinderclient python-oslo-db
9.4.2vi /etc/cinder/cinder.conf
[database]
connection=mysql://cinder:[email protected]/cinder +2359
[DEFAULT]
rpc_backend=rabbit +180
rabbit_host=controller.nice.com +79
rabbit_password=guest +95
auth_strategy=keystone +616
[keystone_authtoken]
auth_uri=http://controller.nice.com:5000/v2.0 +2547
identity_uri=http://controller.nice.com:35357 +2552
admin_tenant_name=service +2587
admin_user=cinder +2580
admin_password=CINDER_PASS +2583
my_ip=172.16.253.214 +497
verbose=True +774
9.5初始化塊儲存服務資料庫
su -s /bin/sh -c "cinder-manage db sync" cinder
#驗證:
mysql -uroot -ppqjpqj
show databases;
use cinder;
show tables;
+--------------------------+
| Tables_in_cinder |
+--------------------------+
| backups |
| cgsnapshots |
| consistencygroups |
| encryption |
| iscsi_targets |
| migrate_version |
| quality_of_service_specs |
| quota_classes |
| quota_usages |
| quotas |
| reservations |
| services |
| snapshot_metadata |
| snapshots |
| transfers |
| volume_admin_metadata |
| volume_glance_metadata |
| volume_metadata |
| volume_type_extra_specs |
| volume_types |
| volumes |
+--------------------------+
21 rows in set (0.00 sec)
exit 退出資料庫
9.6完成安裝 啟動塊儲存服務並設定開機自動啟動:
systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service
9.7安裝並配置block節點 9.7.1配置先決條件
9.7.1.1啟動LVM服務並設定開機自啟動(根據自身情況)
systemctl enable lvm2-lvmetad.service
systemctl start lvm2-lvmetad.service
systemctl restart lvm2-lvmetad.service
9.7.1.2、建立物理卷/dev/sdb:
pvcreate /dev/sdb
9.7.1.3建立卷組cinder-volumes(名字不要改):
vgcreate cinder-volumes /dev/sdb
9.7.1.4vi /etc/lvm/lvm.conf
#使系統只掃描啟用LVM的磁碟。防止識別其他非LVM磁碟對塊儲存服務造成影響。 編輯devices小節,新增過濾器允許/dev/sdb磁碟,拒絕其他裝置。
devices {
...
filter = [ "a/sdb/", "r/.*/" ] +87 #正確寫法,注意兩邊空格 系統沒加邏輯卷組!
}
#警告:如果你的系統磁碟使用了LVM,則必須新增系統盤到過濾器中:
filter = [ "a/sda", "a/sdb/", "r/.*/"]
同樣,如果conpute節點的系統盤也使用了LVM,則也需要修改
/etc/lvm/lvm.conf檔案。並新增過濾器。
9.7.2安裝並配置塊儲存卷元件 9.7.2.1安裝軟體包
yum -y install openstack-cinder targetcli python-oslo-db MySQL-python
9.7.2.2 vi /etc/cinder/cinder.conf
[database]
connection=mysql://cinder:[email protected]/cinder +2359
[DEFAULT]
rpc_backend=rabbit +180
rabbit_host=controller.nice.com +79
rabbit_password=guest +95
auth_strategy=keystone +616
[keystone_authtoken]
auth_uri=http://controller.nice.com:5000/v2.0 +2547
identity_uri=http://controller.nice.com:35357 +2552
admin_tenant_name=service 2587
admin_user=cinder +2580
admin_password=CINDER_PASS +2583
my_ip=172.16.253.217 +497 # 管理網路ip
glance_host=controller.nice.com +500
iscsi_helper=lioadm +1064
verbose=True +774
9.7.3完成安裝 啟動塊儲存volume服務和iSCSI服務,並設定開機自動啟動。
systemctl enable openstack-cinder-volume.service target.service
systemctl start openstack-cinder-volume.service target.service
9.7.4驗證(在controller節點完成下列操作) 9.7.4.1、執行admin環境變數指令碼 source admin-open
9.7.4.2、列出服務元件確認每個程序啟動成功
cinder service-list
+------------------+---------------------+------+---------+-------+----------------------------+-----------------+
| Binary | Host | Zone | Status | State | Updated_at | Disabled Reason |
+------------------+---------------------+------+---------+-------+----------------------------+-----------------+
| cinder-scheduler | controller.nice.com | nova | enabled | up | 2018-10-04T19:03:44.000000 | None |
| cinder-volume | block.nice.com | nova | enabled | up | 2018-10-04T19:03:41.000000 | None |
+------------------+---------------------+------+---------+-------+----------------------------+-----------------+
9.7.4.3、執行demo使用者環境變數指令碼 source demo-open
9.7.4.4、建立1GB的卷
cinder create --display-name demo-volume1 1
+---------------------+--------------------------------------+
| Property | Value |
+---------------------+--------------------------------------+
| attachments | [] |
| availability_zone | nova |
| bootable | false |
| created_at | 2018-10-08T09:37:31.498178 |
| display_description | None |
| display_name | demo-volume1 |
| encrypted | False |
| id | 1454945c-2225-4369-bd19-6ba99ae17974 |
| metadata | {} |
| size | 1 |
| snapshot_id | None |
| source_volid | None |
| status | creating |
| volume_type | None |
+---------------------+--------------------------------------+
9.7.4.5、確認卷已建立並可用
cinder list
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
| ID | Status | Display Name | Size | Volume Type | Bootable | Attached to |
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
| 1454945c-2225-4369-bd19-6ba99ae17974 | available | demo-volume1 | 1 | None | false | |
+--------------------------------------+-----------+--------------+------+-------------+----------+-------------+
#可用性狀態必須是available,不能是error!
至此,block節點--cinder服務也亦完畢!
我們小時候上學寫作文,有“開頭--中間--結尾”三部分,cinder順利搭建完,就宣告我們的openstack作文中間段寫完了,最後就是收拾了。
馬上就到終點了,堅持住,不要行百里都半九十。九十九度的水和十度的水沒區別,都不是開水,就差你最後一把火了!
go go 加油