控制節點
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