1. 程式人生 > >openstack--JUNO10搭建手冊整理5: horizon && block

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 加油