美文网首页
OpenStack 部署Manila 服务

OpenStack 部署Manila 服务

作者: hamburger01 | 来源:发表于2019-03-21 17:15 被阅读0次

OpenStack 部署Manila 服务

准备一台机器,操作系统是 Ubuntu 14.04,部署的是 Mitaka 版本

主机名 IPMI 地址 PXE 地址 MGMT 地址 Storage地址
manila-1 ip1 ip2 ip3 ip4

启用源仓库

apt-get install software-properties-common
add-apt-repository cloud-archive:mitaka 

在主机上升级包

apt-get update && apt-get dist-upgrade

注解: 如果更新了一个新内核,重启主机来使用新内核。

安装 OpenStack 客户端

apt-get install python-openstackclient

创建数据库

安装和配置文件共享服务之前,你必须创建创建一个数据库、服务凭证和API端点。

创建 manila 数据库并授权

CREATE DATABASE manila;
GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'localhost' IDENTIFIED BY 'MANILA_DBPASS';
GRANT ALL PRIVILEGES ON manila.* TO 'manila'@'%' IDENTIFIED BY 'MANILA_DBPASS';

用合适的密码替换 MANILA_DBPASS

创建 manila 用户并添加 admin 角色

openstack user create --domain default --password-prompt manila  ## manilapass
openstack role add --project service --user manila admin

创建 manilamanilav2 服务实体

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

创建文件分享服务的 API endpoint

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

注解: IP 地址替换成文件服务控制节点的 IP 或者 VIP

安装并配置控制节点

安装软件包 apt-get install manila-api manila-scheduler python-manilaclient

编辑 /etc/manila/manila.conf 文件并完成下列操作

配置数据库访问

[database]
...
connection = mysql+pymysql://manila:MANILA_DBPASS@controller/manila

配置 RabbitMQ 消息队列访问

[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

注解: 替换密码 RABBIT_PASS

配置my_ip 来使用控制节点的管理接口的IP 地址。

[DEFAULT]
default_share_type = default_share_type
rootwrap_config = /etc/manila/rootwrap.conf
my_ip = 

配置认证服务访问

[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
...
memcached_servers = controller:11211
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = services
username = manila
password = manilapass

使用你在身份认证服务中选择的 manila 用户密码来替换 manilapass 。

配置锁路径

[oslo_concurrency]
...
lock_path = /var/lib/manila/tmp

同步文件分享系统的数据库 su -s /bin/sh -c "manila-manage db sync" manila 重启文件分享服务

service manila-scheduler restart
service manila-api restart

安装并配置 share 节点

安装软件包 apt-get install manila-share python-pymysql

编辑/etc/manila/manila.conf文件并完成下列操作

配置数据库访问

[database]
...
connection = mysql+pymysql://manila:MANILA_DBPASS@controller/manila

配置 RabbitMQ 消息队列访问

[DEFAULT]
...
rpc_backend = rabbit

[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = RABBIT_PASS

配置认证服务访问

[DEFAULT]
...
auth_strategy = keystone

[keystone_authtoken]
...
memcached_servers = controller:11211
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_type = password
project_domain_name = default
user_domain_name = default
project_name = service
username = manila
password = MANILA_PASS

配置 my_ip

[DEFAULT]
...
my_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
default_share_type = default_share_type
rootwrap_config = /etc/manila/rootwrap.conf

配置锁路径

[oslo_concurrency]
...
lock_path = /var/lib/manila/tmp

配置后端 share 节点

For Example (对HUAWEI NAS9000)

[demo999]
share_backend_name = DEMO999
share_driver = manila.share.drivers.huawei.oceanstor9000.oceanstor9000_nas.HuaweiNasDriver
manila_huawei_conf_file = /etc/manila/manila_driver_demo999.xml
driver_handles_share_servers = False

 File: /etc/manila/manila_driver_demo999.xml

<?xml version='1.0' encoding='UTF-8'?>
<config>
<Storage>
<Product>9000</Product>
<RestURL>https://$URL/deviceManager/v1/rest/</RestURL>
<UserName>$user</UserName>
<UserPassword>$password</UserPassword>
<SslCertPath>/etc/ManilaSecurity/mgmt-dev-ca</SslCertPath>
<SslCertVerify>True</SslCertVerify>
</Storage>
<Filesystem>
<WaitInterval>3</WaitInterval>
<Timeout>60</Timeout>
<StoragePool>543a2edad920</StoragePool>
</Filesystem>
</config>

不同的存储后端配置不同,具体信息需要存储厂商提供 Driver 配置。

验证服务

 source openrc  && manila service-list

+----+------------------+------------------+------+---------+-------+----------------------------+
| Id | Binary           | Host             | Zone | Status  | State | Updated_at                 |
+----+------------------+------------------+------+---------+-------+----------------------------+
| 2  | manila-scheduler | ubuntu-1         | nova | enabled | up    | 2018-11-23T07:30:44.000000 |
| 8  | manila-share     | ubuntu-1@demo999 | nova | enabled | up    | 2018-11-23T07:30:44.000000 |
+----+------------------+------------------+------+---------+-------+----------------------------+

manila type-create demo999 False
manila type-list
+--------------------------------------+--------------------+------------+------------+--------------------------------------+-------------------------+
| ID                                   | Name               | visibility | is_default | required_extra_specs                 | optional_extra_specs    |
+--------------------------------------+--------------------+------------+------------+--------------------------------------+-------------------------+
| 28b4233c-8617-4e63-bcbb-b2b53c400568 | default_share_type | public     | -          | driver_handles_share_servers : False | snapshot_support : True |
| 45669854-395f-4ad5-a10c-3ce991c28055 | demo999            | public     | -          | driver_handles_share_servers : False | snapshot_support : True |
+--------------------------------------+--------------------+------------+------------+--------------------------------------+-------------------------+

 manila create NFS 50   --share-type demo999    --name share-han-test

+-----------------------------+--------------------------------------+
| Property                    | Value                                |
+-----------------------------+--------------------------------------+
| status                      | creating                             |
| share_type_name             | demo999                              |
| description                 | None                                 |
| availability_zone           | None                                 |
| share_network_id            | None                                 |
| share_server_id             | None                                 |
| host                        |                                      |
| access_rules_status         | active                               |
| snapshot_id                 | None                                 |
| is_public                   | False                                |
| task_state                  | None                                 |
| snapshot_support            | True                                 |
| id                          | cd0b24b8-e2f5-461b-88fa-7a4acab3d97b |
| size                        | 50                                   |
| name                        | share-han-test                       |
| share_type                  | 45669854-395f-4ad5-a10c-3ce991c28055 |
| has_replicas                | False                                |
| replication_type            | None                                 |
| created_at                  | 2018-11-23T07:48:17.000000           |
| share_proto                 | NFS                                  |
| consistency_group_id        | None                                 |
| source_cgsnapshot_member_id | None                                 |
| project_id                  | ecbdc37ffda743c39c3c078d9f170a12     |
| metadata                    | {}                                   |
+-----------------------------+--------------------------------------+

 manila list
+--------------------------------------+----------------+------+-------------+-----------+-----------+-----------------+-------------------------------+-------------------+
| ID                                   | Name           | Size | Share Proto | Status    | Is Public | Share Type Name | Host                          | Availability Zone |
+--------------------------------------+----------------+------+-------------+-----------+-----------+-----------------+-------------------------------+-------------------+
| cd0b24b8-e2f5-461b-88fa-7a4acab3d97b | share-han-test | 50   | NFS         | available | False     | demo999         | ubuntu-1@demo999#543a2edad920 | nova              |
+--------------------------------------+----------------+------+-------------+-----------+-----------+-----------------+-------------------------------+-------------------+

回退方案

删除 Manila user

openstack user delete manila

删除 Manila edponit

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

删除 Manila 数据库

CREATE DATABASE manila;

删除 Manila 服务

openstack service delete manila
openstack service delete manilav2

风险评估

因为是新规划出的机器,所以不会影响线上集群的运行,即使部署失败,也不影响集群的运行。

相关文章

网友评论

      本文标题:OpenStack 部署Manila 服务

      本文链接:https://www.haomeiwen.com/subject/tfucvqtx.html