iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 13
0

主題

OpenStack Manila

前言

Manila是一個在做各台虛擬機之間的檔案共享,他可以管理一個空間,並將他格式化成您需要的檔案空間格式並依照您的需求的權限進行共享,那他支援的傳輸協定會在下面做更詳細的介紹。

主要內容

套件組成

  • Manila-api : 做一個對外服務的連結點
  • Manila-data : 他是一個獨立的服務主要在做檔案的複製遷移等等
  • Manila-scheduler : 分配各區實體資源
  • Manila-share : 主要在分配資源以及管理設定檔的核心服務
  • Message : 作為一個訊息服務

建立資料庫

1.登入資料庫

sudo  mysql -u root -p

2.建立資料庫

CREATE DATABASE manila;

3.安全性設定

GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'localhost' IDENTIFIED BY 'MANILA資料庫密碼';
GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'%' IDENTIFIED BY 'MANILA資料庫密碼';

建立使用者

1.登入admin管理員指令模式
2.建立使用者

openstack user create --domain default --password-prompt manila

3.將Manila使用者加進Service

openstack role add --project service --user manila admin

4.建立Manila服務

openstack service create --name manila --description "OpenStack Shared File Systems" share

5.建立Manilav2服務

openstack service create --name manilav2 --description "OpenStack Shared File Systems" sharev2

6.建立API(Share、ShareV2)

openstack endpoint create --region RegionOne share \
public http://controller:8786/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne share \
internal http://controller:8786/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne share \
admin http://controller:8786/v1/%\(tenant_id\)s
openstack endpoint create --region RegionOne sharev2 \
public http://controller:8786/v2/%\(tenant_id\)s
openstack endpoint create --region RegionOne sharev2 \
internal http://controller:8786/v2/%\(tenant_id\)s
openstack endpoint create --region RegionOne sharev2 \
admin http://controller:8786/v2/%\(tenant_id\)s

安裝及設定套件

1.安裝套件

sudo apt-get install manila-api manila-scheduler python-manilaclient -y

2.設定manila.conf

sudo vim /etc/manila/manila.conf
[DEFAULT]
#訊息服務
rpc_backend = rabbit
#預設共用類型
default_share_type = default_share_type
share_name_template = share-%s
rootwrap_config = /etc/manila/rootwrap.conf
api_paste_config = /etc/manila/api-paste.ini
#認證方式
auth_strategy = keystone
#Controller IP
my_ip = 10.0.0.11

#訊息服務設定
[oslo_messaging_rabbit]
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = AMQP密碼

[database]
connection = mysql+pymysql://manila:MANILA資料庫密碼@controller/manila

[keystone_authtoken]
memcached_servers = controller:11211
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_type = password
project_domain_id = default
user_domain_id = default
project_name = service
username = manila
password = MANILA密碼

[oslo_concurrency]
lock_path = /var/lock/manila

3.將設定檔同步到資料庫

sudo su -s /bin/sh -c "manila-manage db sync" manila

4.重啟服務

sudo service manila-scheduler restart
sudo service manila-api restart

5.刪除預設資料夾

sudo rm -f /var/lib/manila/manila.sqlite

後記

我會在明天繼續介紹如何將空間繼續擴展到其他台儲存主機上面,今天的內容就先講到這邊拉
我們明天見
希望大家可以在這一個月中讀到非常多的應用技巧,那如果有問題可以以私訊我的方式是使用問題回復,我會盡可能地回答問題,那會在後面統一做回覆,或者如果有想知道的相關的應用也可以提出討論喔。

參考資料

OpenStack Doc


上一篇
OpenStack Horizon
下一篇
OpenStack Heat
系列文
OpenStack-多到數不清的套件改36

尚未有邦友留言

立即登入留言