GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu14.04.2でのOpenStackKilo– Swift#1の構成

Swift AKA OpenStack Object Storageは、マルチテナントオブジェクトストレージシステムであり、クラスター内のストレージノード全体に分散スケールアウトオブジェクトストアを提供します。このガイドは、Ubuntu14.04.2でswiftを構成するのに役立ちます。

Swiftには2つの主要なコンポーネントがあります:

迅速なプロキシ:

APIと生のhttpリクエストを受け入れて、ファイルのアップロード、メタデータの変更、コンテナの作成を行います。リクエストはRESTAPIを介して行われるため、PUTやGETなどの単純なコマンドでHTTP動詞を使用します。ユーザーが書き込むデータを送信すると、リクエストはプロキシサーバーに送信され、データを保存するのに最適なストレージノードが選択されます。パフォーマンスと冗長性のために、複数のプロキシサーバーを使用できます。この例では、コントローラーノードを迅速なプロキシサーバーとして使用します。

ストレージノード:

これはユーザーデータが保存される場所であり、環境内に複数のストレージノードを持つことができます。 Swiftは複製ベースのシステムであり、その中に保存されているすべてのデータは、データの高可用性を確保するために複数回(レプリカ)で保存されます。

前提条件:

以下は、プロキシノードとストレージノードのネットワーク構成です。ストレージノードには、管理ネットワーク上に1つのネットワークインターフェイスがあります。

役割 NWカード1
プロキシサーバー(コントローラーノード) 192.168.12.21 / 24、GW =192.168.12.2
(管理ネットワーク)
オブジェクトストレージノード1 192.168.12.25 / 24、GW =192.168.12.2
(管理ネットワーク)
オブジェクトストレージノード1 192.168.12.26 / 24、GW =192.168.12.2
(管理ネットワーク)
オブジェクトストレージノード1 192.168.12.27 / 24、GW =192.168.12.2
(管理ネットワーク)

コントローラーノードにswiftプロキシをインストールして構成します:

環境スクリプトから管理者クレデンシャルをロードします。

# source admin-openrc.sh

サービス資格情報を作成するための迅速なユーザーを作成します。

# openstack user create --password-prompt swift
User Password:
Repeat User Password:
+----------+----------------------------------+
| Field    | Value                            |
+----------+----------------------------------+
| email    | None                             |
| enabled  | True                             |
| id       | 023c019a62f3476d986627e8615b034f |
| name     | swift                            |
| username | swift                            |
+----------+----------------------------------+

迅速なユーザーに管理者の役割を追加します。

# openstack role add --project service --user swift admin
+-------+----------------------------------+
| Field | Value                            |
+-------+----------------------------------+
| id    | 33af4f957aa34cc79451c23bf014af6f |
| name  | admin                            |
+-------+----------------------------------+

迅速なサービスエンティティを作成します。

# openstack service create --name swift --description "OpenStack Object Storage" object-store
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Object Storage         |
| enabled     | True                             |
| id          | b835a5fbfe3d4a9592f6dbd69ddb148d |
| name        | swift                            |
| type        | object-store                     |
+-------------+----------------------------------+

Object StorageServiceAPIエンドポイントを作成します。

# openstack endpoint create --publicurl 'http://controller:8080/v1/AUTH_%(tenant_id)s' --internalurl 'http://controller:8080/v1/AUTH_%(tenant_id)s' --adminurl http://controller:8080 --region RegionOne  object-store

+--------------+----------------------------------------------+
| Field        | Value                                        |
+--------------+----------------------------------------------+
| adminurl     | http://controller:8080                       |
| id           | d250217af148491abc611e2b72a227b8             |
| internalurl  | http://controller:8080/v1/AUTH_%(tenant_id)s |
| publicurl    | http://controller:8080/v1/AUTH_%(tenant_id)s |
| region       | RegionOne                                    |
| service_id   | b835a5fbfe3d4a9592f6dbd69ddb148d             |
| service_name | swift                                        |
| service_type | object-store                                 |
+--------------+----------------------------------------------+

コントローラーノードにパッケージをインストールします。

# apt-get install swift swift-proxy python-swiftclient python-keystoneclient python-keystonemiddleware memcached

/ etc/swiftディレクトリを作成します。

# mkdir /etc/swift

ソースリポジトリからプロキシ構成ファイルを取得します。

# curl -o /etc/swift/proxy-server.conf https://git.openstack.org/cgit/openstack/swift/plain/etc/proxy-server.conf-sample?h=stable/kilo

/etc/swift/proxy-server.confファイルを編集します。

# nano /etc/swift/proxy-server.conf

以下の設定を変更し、適切なセクションにエントリを配置してください。セクションが存在しない場合はセクションを追加する必要があり、ファイルに欠落しているエントリをすべてではなくいくつか追加する必要がある場合もあります。

[DEFAULT]
...
bind_port = 8080
user = swift
swift_dir = /etc/swift

[pipeline:main]
pipeline = catch_errors gatekeeper healthcheck proxy-logging cache container_sync bulk ratelimit authtoken keystoneauth container-quotas account-quotas slo dlo proxy-logging proxy-server

[app:proxy-server]
...
account_autocreate = true

[filter:keystoneauth]
use = egg:swift#keystoneauth
...
operator_roles = admin,user

[filter:authtoken]
paste.filter_factory = keystonemiddleware.auth_token:filter_factory
...
auth_uri = http://controller:5000
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
project_name = service
username = swift
password = password
## Replace "password" with the password you chose for swift user in the identity service
delay_auth_decision = true
## Comment out or remove any other options in the [filter:authtoken] section

[filter:cache]
...
memcache_servers = 127.0.0.1:11211

以上です!!!次のチュートリアルでは、ストレージノードを構成します。


Ubuntu
  1. Ubuntu14.04LTSでのOpenStackLiberty–Novaの構成

  2. Ubuntu14.04.2でのOpenStackKilo– Neutron#1の構成

  3. Ubuntu14.04でのOpenStackLiberty– Neutron#2の構成

  1. Ubuntu14.04.2でのOpenStackKilo–Novaの構成

  2. Ubuntu14.04.2上のOpenStackKilo–Glanceの構成

  3. Ubuntu14.04.2でのOpenStackKilo– KeyStone#2の構成

  1. Ubuntu14.04.2でのOpenStackKilo– KeyStone#1の構成

  2. Ubuntu14.04.2にOpenStackKiloをインストールします

  3. Ubuntu14.04.2でのOpenStackKilo– Cinder#2の構成