OpenStack搭建(三)

OpenStack存儲(chǔ)模塊-Cinder

為涇川等地區(qū)用戶提供了全套網(wǎng)頁(yè)設(shè)計(jì)制作服務(wù),及涇川網(wǎng)站建設(shè)行業(yè)解決方案。主營(yíng)業(yè)務(wù)為成都網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、涇川網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠(chéng)的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長(zhǎng)期合作。這樣,我們也可以走得更遠(yuǎn)!

在前兩篇文檔中介紹了OpenStack的一些基礎(chǔ)搭建,但是并沒(méi)有加入存儲(chǔ)模塊。這篇主要介紹一下openstack的存儲(chǔ)模塊Cinder.

存儲(chǔ)主要分為三種:

  • 塊存儲(chǔ):硬盤,存儲(chǔ)設(shè)備,磁盤整列等。

  • 文件存儲(chǔ):如NFS,F(xiàn)TP等主要用于文件共享的存儲(chǔ)。

  • 對(duì)象存儲(chǔ):分布式文件系統(tǒng),swift等。有metadata(元數(shù)據(jù))的數(shù)據(jù)描述作為支持的存儲(chǔ)方式。

Cinder支持以上的多種存儲(chǔ)方式。

Cinder組件

  • cinder-api: 接受API的請(qǐng)求,路由到cinder-volume來(lái)執(zhí)行。

  • cinder-volume:響應(yīng)請(qǐng)求,讀取或?qū)懭霐?shù)據(jù)庫(kù)維護(hù)狀態(tài)信息,通過(guò)消息隊(duì)列機(jī)制與其它進(jìn)程交互(如cinder-scheduler),也可以直接與上層塊存儲(chǔ)提供的硬件或軟件進(jìn)行交互。管理存儲(chǔ)。

  • cinder-scheduler: 守護(hù)進(jìn)程。類似于Nova-scheduler,為存儲(chǔ)實(shí)例選擇最優(yōu)的塊存儲(chǔ)節(jié)點(diǎn)。

  • cinder-backup:守護(hù)進(jìn)程。服務(wù)提供任何種類備份卷到一個(gè)備份存儲(chǔ)提供者。就像``cinder-volume``服務(wù),它與多種存儲(chǔ)提供者在驅(qū)動(dòng)架構(gòu)下進(jìn)行交互。

Cinder數(shù)據(jù)庫(kù)配置和注冊(cè)服務(wù)

http://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/cinder-controller-install.html 

創(chuàng)建數(shù)據(jù)庫(kù)并授權(quán):

MariaDB [(none)]> CREATE DATABASE cinder;
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'localhost' IDENTIFIED BY 'cinder';
MariaDB [(none)]> GRANT ALL PRIVILEGES ON cinder.* TO 'cinder'@'%'  IDENTIFIED BY 'cinder';

創(chuàng)建服務(wù)證書(shū),完成這些步驟:

# source  admin-openstack.sh 
# openstack user create --domain default --password-prompt cinder

添加 admin 角色到 cinder 用戶上:

# openstack role add --project service --user cinder admin

創(chuàng)建 cinder 和 cinderv2 服務(wù)實(shí)體:

# openstack service create --name cinder  --description "OpenStack Block Storage" volume
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Block Storage          |
| enabled     | True                             |
| id          | 27b797388aaa479ea5542048df32b3d8 |
| name        | cinder                           |
| type        | volume                           |
+-------------+----------------------------------+
# openstack service create --name cinderv2 --description "OpenStack Block Storage" volumev2
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Block Storage          |
| enabled     | True                             |
| id          | 85f9890df5444a5d9a989c96b630c7a7 |
| name        | cinderv2                         |
| type        | volumev2                         |
+-------------+----------------------------------+

創(chuàng)建塊設(shè)備存儲(chǔ)服務(wù)的 API 入口點(diǎn),需要注冊(cè)兩個(gè)版本:

 openstack endpoint create --region RegionOne  volume public http://172.16.10.50:8776/v1/%\(tenant_id\)s
 openstack endpoint create --region RegionOne  volume internal http://172.16.10.50:8776/v1/%\(tenant_id\)s
 openstack endpoint create --region RegionOne  volume admin http://172.16.10.50:8776/v1/%\(tenant_id\)s
 openstack endpoint create --region RegionOne volumev2 public http://172.16.10.50:8776/v2/%\(tenant_id\)s
 openstack endpoint create --region RegionOne volumev2 internal http://172.16.10.50:8776/v2/%\(tenant_id\)s
 openstack endpoint create --region RegionOne volumev2 admin http://172.16.10.50:8776/v2/%\(tenant_id\)s

Cinder安裝配置

在控制節(jié)點(diǎn)安裝cinder組件:

# yum install -y openstack-cinder

編輯 /etc/cinder/cinder.conf,同時(shí)完成如下動(dòng)作:

配置數(shù)據(jù)庫(kù)(密碼為cinder):

connection =  MySQL+pymysql://cinder:cinder@172.16.10.50/cinder

同步塊設(shè)備服務(wù)的數(shù)據(jù)庫(kù):

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

確認(rèn)數(shù)據(jù)庫(kù)同步成功:

# mysql -h 172.16.10.50 -ucinder -pcinder -e "use cinder;show tables;"

在 “[DEFAULT]” 和 “[oslo_messaging_rabbit]”部分,配置 “RabbitMQ” 消息隊(duì)列訪問(wèn):

[DEFAULT]
rpc_backend = rabbit
[oslo_messaging_rabbit]
...
rabbit_host = 172.16.10.50
rabbit_userid = openstack
rabbit_password = openstack

在 “[DEFAULT]” 和 “[keystone_authtoken]” 部分,配置認(rèn)證服務(wù)訪問(wèn):

[DEFAULT]
auth_strategy = keystone
[keystone_authtoken]
...
auth_uri = http://172.16.10.50:5000
auth_url = http://172.16.10.50:35357
memcached_servers = 172.16.10.50:11211
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = cinder
password = cinder

在 [oslo_concurrency] 部分,配置鎖路徑:

lock_path = /var/lib/cinder/tmp

編輯文件 /etc/nova/nova.conf 并添加如下到其中:

[cinder]
os_region_name= RegionOne

重啟nova-api:

# systemctl restart openstack-nova-api.service

啟動(dòng)cinder-api(端口8776)和cinder-scheduler:

# systemctl enable openstack-cinder-api.service openstack-cinder-scheduler.service
# systemctl start openstack-cinder-api.service openstack-cinder-scheduler.service

安裝配置存儲(chǔ)節(jié)點(diǎn)

存儲(chǔ)節(jié)點(diǎn)可以配置在計(jì)算節(jié)點(diǎn)上,也可以有其它的專用存儲(chǔ)服務(wù),這里使用計(jì)算機(jī)節(jié)點(diǎn)提供存儲(chǔ)服務(wù)。

計(jì)算節(jié)點(diǎn)上需要有一個(gè)外掛磁盤。

創(chuàng)建LVM 物理卷/dev/sdb:

創(chuàng)建 LVM 卷組cinder-volumes:

# pvcreate /dev/sdb
  Physical volume "/dev/sdb" successfully created
# vgcreate cinder-volumes /dev/sdb
  Volume group "cinder-volumes" successfully created

設(shè)置只有實(shí)例可以訪問(wèn)塊存儲(chǔ)卷組:

默認(rèn)情況下,LVM卷掃描工具會(huì)掃描``/dev`` 目錄,查找包含卷的塊存儲(chǔ)設(shè)備。如果項(xiàng)目在他們的卷上使用LVM,掃描工具檢測(cè)到這些卷時(shí)會(huì)嘗試緩存它們,可能會(huì)在底層操作系統(tǒng)和項(xiàng)目卷上產(chǎn)生各種問(wèn)題。必須重新配置LVM,讓它只掃描包含``cinder-volume``卷組的設(shè)備。編輯``/etc/lvm/lvm.conf``文件并完成下面的操作:

在``devices``部分,添加一個(gè)過(guò)濾器,只接受``/dev/sdb``設(shè)備,拒絕其他所有設(shè)備:

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

每個(gè)過(guò)濾器組中的元素都以``a``開(kāi)頭,即為 accept,或以r 開(kāi)頭,即為**reject**,并且包括一個(gè)設(shè)備名稱的正則表達(dá)式規(guī)則。過(guò)濾器組必須以``r/.*/``結(jié)束,過(guò)濾所有保留設(shè)備。您可以使用:命令:`vgs -vvvv` 來(lái)測(cè)試過(guò)濾器。

在存儲(chǔ)節(jié)點(diǎn)安裝配置cinder

安裝軟件包:

yum install -y openstack-cinder targetcli python-keystone

配置存儲(chǔ)節(jié)點(diǎn)的cinder:

在存儲(chǔ)節(jié)點(diǎn)的cinder配置和在控制節(jié)點(diǎn)的配置差別不是很大,可以直接從控制節(jié)點(diǎn)拷貝并修改權(quán)限:

# scp /etc/cinder/cinder.conf  172.16.10.51:/etc/cinder/

在cinder.conf 的``[lvm]``部分,配置LVM后端以LVM驅(qū)動(dòng)結(jié)束,卷組``cinder-volumes`` ,iSCSI 協(xié)議和正確的 iSCSI服務(wù),如果沒(méi)有此模塊可以手動(dòng)添加:

[lvm]
volume_driver = cinder.volume.drivers.lvm.LVMVolumeDriver
volume_group = cinder-volumes
iscsi_protocol = iscsi
iscsi_helper = lioadm

在[DEFAULT] 部分,啟用 LVM 后端:

enabled_backends = lvm

啟動(dòng)塊存儲(chǔ)卷服務(wù)及其依賴的服務(wù):

# systemctl enable openstack-cinder-volume.service target.service
# systemctl start openstack-cinder-volume.service target.service

在控制節(jié)點(diǎn)驗(yàn)證是否配置成功,正常為up狀態(tài),如果不是UP狀態(tài)則不能添加云硬盤:

# source  admin-openstack.sh 
# cinder service-list
+------------------+-----------+------+---------+-------+----------------------------+-----------------+
|      Binary      |    Host   | Zone |  Status | State |         Updated_at         | Disabled Reason |
+------------------+-----------+------+---------+-------+----------------------------+-----------------+
| cinder-scheduler |   node1   | nova | enabled |   up  | 2016-11-02T09:16:34.000000 |        -        |
|  cinder-volume   | node2@lvm | nova | enabled |   up  | 2016-11-02T09:16:39.000000 |        -        |
+------------------+-----------+------+---------+-------+----------------------------+-----------------+

為虛擬機(jī)添加一個(gè)卷

http://docs.openstack.org/mitaka/zh_CN/install-guide-rdo/launch-instance-cinder.html 

之前已經(jīng)安裝了Horizon,可以直接通過(guò)dashboard添加云硬盤操作。也可以根據(jù)官方的文檔命令行添加云硬盤。

如果在Web管理界面出現(xiàn)云硬盤信息,說(shuō)明添加成功。

OpenStack 搭建(三)

查看虛擬機(jī)上是否有此虛擬硬盤:

$ sudo fdisk -l

Disk /dev/vdb: 1073 MB, 1073741824 bytes
16 heads, 63 sectors/track, 2080 cylinders, total 2097152 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

格式化硬盤,并mount:

$ sudo fdisk /dev/vdb 
n p w
$ sudo mkfs.ext4 /dev/vdb1
$ sudo  mount /dev/vdb1 /data/

可以對(duì)正在運(yùn)行的虛擬機(jī)上添加云硬盤,不建議動(dòng)態(tài)的擴(kuò)容或收縮硬盤容量,可能會(huì)造成數(shù)據(jù)丟失的情況。在實(shí)際生產(chǎn)環(huán)境中,不建議使用cinder的各種復(fù)雜功能。

當(dāng)前名稱:OpenStack搭建(三)
瀏覽地址:http://muchs.cn/article26/ghsgjg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站制作、微信公眾號(hào)、手機(jī)網(wǎng)站建設(shè)網(wǎng)站設(shè)計(jì)公司、企業(yè)網(wǎng)站制作、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護(hù)公司