ストレージノードのインストールと設定

ストレージノードのインストールと設定

このセクションでは、アカウントサービス、コンテナーサービス、オブジェクトサービスを実行するストレージノードをインストールして設定する方法を説明します。この設定は簡単のため、それぞれ 2 つの空のローカルブロックストレージデバイスを持つ、2 つのストレージノードを利用します。この説明では /dev/sdb/dev/sdc を使用しますが、お使いのノードに合わせて、別の値に置き換えることができます。

Object Storage は、拡張属性 (xattr) を持つ任意のファイルシステムをサポートしますが、テストとベンチマークによると XFS が最高のパフォーマンスと信頼性を示しています。お使いの環境を水平的にスケールさせる方法の詳細は Deployment Guide を参照してください。

前提条件

ストレージノードに Object Storage サービスをインストールして設定する前に、ストレージデバイスを準備する必要があります。

注釈

各ストレージノードにおいて以下の手順を実行します。

  1. 補助ユーティリティーパッケージをインストールします。

    # zypper install xfsprogs rsync
    
  2. パーティション /dev/sdb1/dev/sdc1 を XFS としてフォーマットします。

    # mkfs.xfs /dev/sdb
    # mkfs.xfs /dev/sdc
    
  3. マウントポイントとなるディレクトリーを作成します。

    # mkdir -p /srv/node/sdb
    # mkdir -p /srv/node/sdc
    
  4. /etc/fstab ファイルを編集し、以下の内容を追加します。

    /dev/sdb /srv/node/sdb xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
    /dev/sdc /srv/node/sdc xfs noatime,nodiratime,nobarrier,logbufs=8 0 2
    
  5. デバイスをマウントします。

    # mount /srv/node/sdb
    # mount /srv/node/sdc
    
  6. /etc/rsyncd.conf ファイルを編集し、以下の内容を追加します。

    uid = swift
    gid = swift
    log file = /var/log/rsyncd.log
    pid file = /var/run/rsyncd.pid
    address = MANAGEMENT_INTERFACE_IP_ADDRESS
    
    [account]
    max connections = 2
    path = /srv/node/
    read only = false
    lock file = /var/lock/account.lock
    
    [container]
    max connections = 2
    path = /srv/node/
    read only = false
    lock file = /var/lock/container.lock
    
    [object]
    max connections = 2
    path = /srv/node/
    read only = false
    lock file = /var/lock/object.lock
    

    MANAGEMENT_INTERFACE_IP_ADDRESS はストレージノードの管理ネットワークの IP アドレスで置き換えます。

    注釈

    rsync サービスは認証を必要としないため、本番環境ではプライベートネットワークで実行することを検討してください。

  1. rsyncd サービスを起動し、システム起動時に起動するよう設定します。

    # systemctl enable rsyncd.service
    # systemctl start rsyncd.service
    

コンポーネントのインストールと設定

注釈

設定ファイルのデフォルトは、ディストリビューションにより異なります。これらの既存のセクションとオプションを編集するのではなく、追加する必要があるかもしれません。また、設定のスニペットにある 省略 (...) は、保持すべきデフォルトの設定オプションを意味します。

注釈

各ストレージノードにおいて以下の手順を実行します。

  1. パッケージをインストールします。

    # zypper install openstack-swift-account \
      openstack-swift-container openstack-swift-object python-xml
    
  1. /etc/swift/account-server.conf ファイルを編集し、以下の作業をすべて行います。

    • [DEFAULT] セクションで、バインドする IP アドレス、バインドするポート、ユーザー、設定ディレクトリー、マウントポイントとなるディレクトリーを設定します。

      [DEFAULT]
      ...
      bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
      bind_port = 6002
      user = swift
      swift_dir = /etc/swift
      devices = /srv/node
      mount_check = true
      

      MANAGEMENT_INTERFACE_IP_ADDRESS はストレージノードの管理ネットワークの IP アドレスで置き換えます。

    • [pipeline:main] セクションで、適切なモジュールを有効にします。

      [pipeline:main]
      pipeline = healthcheck recon account-server
      

      注釈

      追加機能を有効にする他のモジュールに関する詳細は、Deployment Guide を参照してください。

    • [filter:recon] セクションに、recon (計測項目) キャッシュディレクトリーを設定します。

      [filter:recon]
      use = egg:swift#recon
      ...
      recon_cache_path = /var/cache/swift
      
  2. /etc/swift/container-server.conf ファイルを編集し、以下の作業をすべて行います。

    • [DEFAULT] セクションで、バインドする IP アドレス、バインドするポート、ユーザー、設定ディレクトリー、マウントポイントとなるディレクトリーを設定します。

      [DEFAULT]
      ...
      bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
      bind_port = 6001
      user = swift
      swift_dir = /etc/swift
      devices = /srv/node
      mount_check = true
      

      MANAGEMENT_INTERFACE_IP_ADDRESS はストレージノードの管理ネットワークの IP アドレスで置き換えます。

    • [pipeline:main] セクションで、適切なモジュールを有効にします。

      [pipeline:main]
      pipeline = healthcheck recon container-server
      

      注釈

      追加機能を有効にする他のモジュールに関する詳細は、Deployment Guide を参照してください。

    • [filter:recon] セクションに、recon (計測項目) キャッシュディレクトリーを設定します。

      [filter:recon]
      use = egg:swift#recon
      ...
      recon_cache_path = /var/cache/swift
      
  3. /etc/swift/object-server.conf ファイルを編集し、以下の作業をすべて行います。

    • [DEFAULT] セクションで、バインドする IP アドレス、バインドするポート、ユーザー、設定ディレクトリー、マウントポイントとなるディレクトリーを設定します。

      [DEFAULT]
      ...
      bind_ip = MANAGEMENT_INTERFACE_IP_ADDRESS
      bind_port = 6000
      user = swift
      swift_dir = /etc/swift
      devices = /srv/node
      mount_check = true
      

      MANAGEMENT_INTERFACE_IP_ADDRESS はストレージノードの管理ネットワークの IP アドレスで置き換えます。

    • [pipeline:main] セクションで、適切なモジュールを有効にします。

      [pipeline:main]
      pipeline = healthcheck recon object-server
      

      注釈

      追加機能を有効にする他のモジュールに関する詳細は、Deployment Guide を参照してください。

    • [filter:recon] セクションに、recon (計測項目) キャッシュおよびロックディレクトリーを設定します。

      [filter:recon]
      use = egg:swift#recon
      ...
      recon_cache_path = /var/cache/swift
      recon_lock_path = /var/lock
      
  4. マウントポイントのディレクトリー構造に適切な所有権を設定します。

    # chown -R root:swift /srv/node
    
  5. recon ディレクトリーを作成し、適切な所有権を設定します。

    # mkdir -p /var/cache/swift
    # chown -R root:swift /var/cache/swift
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.

Search