openstack安裝部署8——塊存儲組件(控制節點、計算節點、存儲節點)

控制節點

1 先決條件

1.1 數據庫

  • 1.連接數據庫

     mysql -u root -p
    
  • 2.創建 cinder 數據庫:

    CREATE DATABASE cinder;
    
  • 3.允許 cinder 數據庫合適的訪問權限,123456爲

 CINDER_DBPASS
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost'  IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%'  IDENTIFIED BY '123456';
  • 4.退出數據庫

1.2創建服務

  • 1.創建cinder用戶
openstack user create --domain default --password-prompt cinder

這裏寫圖片描述

  • 2.添加 admin 角色到 cinder 用戶上。
openstack role add --project service --user cinder admin
  • 3.創建 cinder 和 cinderv2 服務實體:
openstack service create --name cinder --description "OpenStack Block Storage" volume

這裏寫圖片描述

openstack service create --name cinderv2  --description "OpenStack Block Storage" volumev2

這裏寫圖片描述

1.3 創建Endpoint api

  • 1.Public-volume
openstack endpoint create --region RegionOne   volume public http://controller:8776/v1/%\(tenant_id\)s

這裏寫圖片描述

  • 2.Internal-volume
openstack endpoint create --region RegionOne  volume internal http://controller:8776/v1/%\(tenant_id\)s

這裏寫圖片描述

  • 3.Admin-volume
openstack endpoint create --region RegionOne   volume admin http://controller:8776/v1/%\(tenant_id\)s

這裏寫圖片描述

  • 4.Public- volumev2
openstack endpoint create --region RegionOne   volumev2 public http://controller:8776/v2/%\(tenant_id\)s

這裏寫圖片描述
- 5.internal- volumev2

openstack endpoint create --region RegionOne  volumev2 internal http://controller:8776/v2/%\(tenant_id\)s

這裏寫圖片描述
-6. Admin-volumev2

 openstack endpoint create --region RegionOne   volumev2 admin http://controller:8776/v2/%\(tenant_id\)s

這裏寫圖片描述

2安裝與配置

2.1安裝包

apt-get install cinder-api cinder-scheduler

2.2配置/etc/cinder/cinder.conf

vi /etc/cinder/cinder.conf

  • 1.在[database]配置數據庫訪問,123456爲CINDER_DBPASS的密碼
[database]
connection = mysql+pymysql://cinder:123456@controller/cinder
  • 2.在[DEFAULT] 和 [oslo_messaging_rabbit]部分,配置 RabbitMQ消息隊列訪問:
[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 123456
  • 3.在 [DEFAULT]和 [keystone_authtoken] 部分,配置認證服務訪問:
[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = 123456
  • 4.在 [DEFAULT] 部分,配置my_ip 來使用控制節點的管理接口的IP 地址。
[DEFAULT]
...
my_ip = 10.10.90.2
  • 5.在 [oslo_concurrency] 部分,配置鎖路徑:
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp

2.3 初始化塊設備服務的數據庫:

su -s /bin/sh -c "cinder-manage db sync" cinder

3完成安裝

重啓服務


service nova-api restart
service cinder-scheduler restart
service cinder-api restart

4 驗證

4.1獲取管理員

. admin-openrc

4.2列出服務組件以驗證是否每個進程都成功啓動

cinder service-list
下圖中3個存儲節點的服務狀態均爲up
這裏寫圖片描述

計算節點

1.配置塊存儲

  • 編輯/etc/nova/nova.conf,添加以下內容
[cinder]
os_region_name = RegionOne
  • 重啓service
service nova-compute restart

存儲節點

1.基本環境安裝

安裝見openstack部署2——控制節點基本環境安裝
openstack部署2——控制節點基本環境安裝

2先決條件

2.1安裝支持的工具包:

apt-get install lvm2

2.2查看磁盤信息

fdisk -l
這裏寫圖片描述

ps:可能遇到問題:新磁盤沒有分區

這裏寫圖片描述

解決方法:爲新磁盤分區
fdisk /dev/sdb
這裏寫圖片描述
輸入m查看目錄:
這裏寫圖片描述
輸入n,創建一個新分區,在輸入p,選擇主盤
這裏寫圖片描述
輸入1,或者默認回車
這裏寫圖片描述
選擇第一個分區的起始位置,默認2048,再輸入最後位置,這裏我們選擇使用一半
這裏寫圖片描述
輸入p,查看分區情況
這裏寫圖片描述
輸入t,修改id爲8e
這裏寫圖片描述
輸入p,查看分區情況
這裏寫圖片描述
輸入w,寫入分區表
這裏寫圖片描述

2.3創建LVM 物理卷 /dev/sdb1

 pvcreate /dev/sdb1

ps:可能遇到報錯:

Device /dev/sdb1 not found (or ignored by filtering).
解決方法:只掛載了新硬盤,但還沒有格式化使用,格式化的步驟參考2.2中ps可能出現的問題的解決方法

2.4編輯”/etc/lvm/lvm.conf‘’

只有實例可以訪問塊存儲卷組。不過,底層的操作系統管理這些設備並將其與卷關聯。默認情況下,LVM卷掃描工具會掃描”/dev” 目錄,查找包含卷的塊存儲設備。如果項目在他們的捲上使用LVM,掃描工具檢測到這些卷時會嘗試緩存它們,可能會在底層操作系統和項目捲上產生各種問題。您必須重新配置LVM,讓它只掃描包含”cinder-volume”卷組的設備。編輯”/etc/lvm/lvm.conf”文件並完成下面的操作:
vi /etc/lvm/lvm.conf
在“devices”部分,添加一個過濾器,只接受”/dev/sdb1”設備,拒絕其他所有設備:

devices {
...
filter = [ "a/sdb/", "r/.*/"]

3 安裝配置卷服務

3.1安裝包

apt-get install cinder-volume

3.2編輯 /etc/cinder/cinder.conf

vi /etc/cinder/cinder.conf

  • 1.在 [database] 部分,配置數據庫訪問,123456爲CINDER_DBPASS的密碼
[database]
connection = mysql+pymysql://cinder:123456@controller/cinder
  • 2.在 “[DEFAULT]” 和 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ”
    消息隊列訪問,123456爲RABBIT_PASS的密碼
[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = 123456
  • 3.在 “[DEFAULT]” 和 “[keystone_authtoken]”
    部分,配置認證服務訪問,123456爲CINDER_PASS的密碼
[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
auth_uri = http://controller:5000
auth_url = http://controller:35357
memcached_servers = controller:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = 123456
  • 4.在 [DEFAULT] 部分,配置 my_ip 選項:
[DEFAULT]
...
my_ip = 10.10.90.20
  • 5.在[lvm]部分,配置LVM後端以LVM驅動結束,卷組`cinder-volumes ,iSCSI 協議和正確的
    iSCSI服務:
[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = tgtadm
  • 6.在 [DEFAULT] 部分,啓用 LVM 後端:
[DEFAULT]
...
enabled_backends = lvm
  • 7.在 [DEFAULT] 區域,配置鏡像服務 API 的位置:
[DEFAULT]
...
glance_api_servers = http://controller:9292
  • 8.在 [oslo_concurrency] 部分,配置鎖路徑:
[oslo_concurrency]
lock_path = /var/lib/cinder/tmp

3.3 完成安裝,重啓服務

service tgt restart
service cinder-volume restart
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章