Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Openstack+Ceph設定ガイド

4,391 views

Published on

Openstack/Icehouseでの、Ceph/Firefly分散ストレージ設定ガイド
by オープンクラウド実証実験タスクフォース(OCDET) ストレージ基盤 WG

Published in: Software

Openstack+Ceph設定ガイド

  1. 1. 140830openstack_ceph 設定ガイド.docx Copyright © OSS Laboratories Co., Ltd. All rights reserved Openstack-Ceph 設定ガイド Openstack/Icehouse + Ceph/Firefly 版 Ver. 1.0 2014/8/30 オープンクラウド実証実験タスクフォース(OCDET) ストレージ基盤WG OSS ラボ株式会社 http://www.ossl.co.jp
  2. 2. 140830openstack_ceph 設定ガイド.docx ⽬目次 1. はじめに ......................................................................................... 2 1 . 1 . 本書の目的 ............................................................................................. 2 1 . 2 . 本書の利用対象者 .................................................................................... 2 1 . 3 . 本手順の検証環境 .................................................................................... 2 2. システム概要 ................................................................................... 3 2 . 1 . システム概要図 ........................................................................................ 3 3. インストール手順 .............................................................................. 4 3 . 1 . 前提条件 ................................................................................................ 4 3 . 2 . インストール方法 ...................................................................................... 4 3.2.1. Ceph の構成 ................................................................................................................................. 4 3.2.2. Ceph のインストール ...................................................................................................................... 4 3.2.3. Openstack の設定 ........................................................................................................................ 6 3.2.4. 各種ファイル配置 ......................................................................................................................... 23 3.2.5. 各種ログ ...................................................................................................................................... 23 3.2.6. アンインストール ........................................................................................................................... 23 Copyright © OSS Laboratories Co., Ltd. All rights reserved 1
  3. 3. 140830openstack_ceph 設定ガイド.docx 1 . はじめに 1 . 1 . 本書の⽬目的 本書を⽤用いてOpenstack 環境でCeph を使⽤用できる環境を構築できることを⽬目的とします。 1 . 2 . 本書の利⽤用対象者 本書の利⽤用対象者は以下を想定して作成しております。 Openstack 構築の経験者。 1 . 3 . 本⼿手順の検証環境 本⼿手順書は以下の機器、OS、アプリケーションを⽤用いた検証環境を基に作成しております。 Ubuntu 12.04LTS 64bit Openstack Icehouse 2014.1 Ceph Firefly 8.0 注意:Ceph のクライアントモジュール(kernel client, librbd)は、linux kernel 3.1 以上が必要ですので、CentOS6.5 の 場合kernel upgrade が必要です。 Copyright © OSS Laboratories Co., Ltd. All rights reserved 2
  4. 4. 140830openstack_ceph 設定ガイド.docx 2 . システム概要 本システムの概要を以下に⽰示します。 2 . 1 . システム概要図 Management Network: 192.168.100.0/24 Ceph クラスタ EXFS2 .113 EXFS3 .114 EXFS1 .112 MON MDS OSD MON MDS OSD MON MDS OSD .123 controller network compute openstack .10 Pubric Network: 192.168.120.0/24 Copyright © OSS Laboratories Co., Ltd. All rights reserved 3
  5. 5. 140830openstack_ceph 設定ガイド.docx 3 . インストール⼿手順 3 . 1 . 前提条件 l Openstack インストール済 l インターネット接続されている事 3 . 2 . インストール⽅方法 3.2.1. Ceph の構成 ホスト名 ネットワーク/eth0 ネットワーク/eth1 OS 役割 EXFS1 192.168.100.112/24 - CentOS release 6.5 (Final) MON/MDS/OSD/RADOS-GW EXFS2 192.168.100.113/24 - CentOS release 6.5 (Final) MON/MDS/OSD EXFS3 192.168.100.114/24 - CentOS release 6.5 (Final) MON/MDS/OSD openstack 192.168.100.123/24 192.168.120.10/24 Ubuntu12.04LTS controller/network/ compute/ceph クライアント 3.2.2. Ceph のインストール ① 事前準備 Ceph クラスタ及びOpenstack 間での各サーバがホスト名での名前解決が行えること Ceph クラスタのファイアウォールの停止 ② C e p h - d e p l o y 作業サーバ:EXFS1 実行ユーザ:root 作業ディレクトリ:/root ◆Ceph クラスタのインストール Ceph クラスタはceph-deploy を使用して構築します。 ・EXFS1 にCeph-deploy のインストール # yum install ceph-deploy ・Ceph クラスタへCeph のインストール # ceph-deploy install EXFS1 EXFS2 EXFS3 ・鍵の生成とコンフィギュレーションの生成 Ceph クラスタ・クライアント間通信のため、鍵の生成とコンフィギュレーションの生成 を下記の操作を行い ます。 Copyright © OSS Laboratories Co., Ltd. All rights reserved 4
  6. 6. 140830openstack_ceph 設定ガイド.docx # ceph-deploy new EXFS1 EXFS2 EXFS3 ・MON daemon のデプロイを行う # ceph-deploy mon create EXFS1 EXFS2 EXFS3 ・鍵のデプロイ Ceph サーバ間・クライアント間での共有鍵となります。1 Cluster に対して1 つの鍵を保有します。 # ceph-deploy gatherkeys EXFS1 EXFS2 EXFS3 ・OSD にて使用するディレクトリの作成 EXFS1、EXFS2、EXFS3 それぞれで作成します。 EXFS1: # mkdir /var/local/osd0 EXFS2: # mkdir /var/local/osd1 EXFS3: # mkdir /var/local/osd2 ・OSD daemon のデプロイ # ceph-deploy osd prepare EXFS1:/var/local/osd0 EXFS2:/var/local/osd1 EXFS3:/var/local/osd2 # ceph-deploy osd activate EXFS1:/var/local/osd0 EXFS2:/var/local/osd1 EXFS3:/var/local/osd2 # ceph-deploy admin EXFS1 EXFS2 EXFS3 ・MDS deamon のデプロイ # ceph-deploy mds create EXFS1 EXFS2 EXFS3 ◆Ceph クライアントインストール Openstack にてCeph クライアントをインストールします。 # apt-get install ceph-common python-ceph ceph-fuse ③ C e p h クライアントの配置 作業サーバ:EXFS1 実行ユーザ:root 作業ディレクトリ:/root Openstack にてCeph を使用するためceph.conf、adminKeyring ファイルをCeph クラスタよりコピーします。 ・Ceph のディレクトリの作成 Copyright © OSS Laboratories Co., Ltd. All rights reserved 5
  7. 7. 140830openstack_ceph 設定ガイド.docx # mkdir /etc/ceph ・Ceph クラスタよりceph.conf、adminKeyring のコピー # scp ceph.conf ceph.client.admin.keyring openstack:/etc/ceph ④ R A DOS -GW 設定 作業サーバ:EXFS1 実行ユーザ:root 作業ディレクトリ:/root ◆RADOS-GW、Apache 等の必要なパッケージのインストール、及びApache の設定 ・Apache 等のインストール # yum install httpd mod_fastcgi mod_ssl openssl ・RADOS-GW のインストール # yum install ceph-radosgw ・Apache の設定 以下の行を追加します。 # vi /etc/httpd/conf/httpd.conf ServerName EXFS1 ・証明書の作成 openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt ・証明書のコピー cp ca.crt /etc/pki/tls/certs cp ca.key /etc/pki/tls/private/ca.key ca.csr /etc/pki/tls/private/ca.csr 3.2.3. Openstack の設定 ① Rbd pool の作成 作業サーバ:openstack 実行ユーザ:root 作業ディレクトリ:/root ◆Glance、Cinder、Cinder-Backup にて使用するpool の作成 ・Glance 用のpool 作成 # ceph osd pool create images 128 Copyright © OSS Laboratories Co., Ltd. All rights reserved 6
  8. 8. 140830openstack_ceph 設定ガイド.docx ・Cinder 用のpool 作成 # ceph osd pool create volumes 128 ・Cinder-Backup 用のpool 作成 # ceph osd pool create backups 128 ・作成したpool の確認 # rados lspools data metadata rbd images backups volumes ② Glance 設定 作業サーバ:openstack 実行ユーザ:root 作業ディレクトリ:/etc/ceph ◆Keyring の作成 Glance 用のpool に接続するためのユーザを作成し、Keyring を取得します。 ・ユーザ、keyring の作成 # ceph auth get-or-create client.images mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=images' ・作成したGlance のkeyring の確認 # ceph auth list client.glance key: AQD0c5hTaOQGORAAP9fOw/bpG0NNHg0r7K71YQ== caps: [mon] allow r caps: [osd] allow class-read object_prefix rbd_children, allow rwx pool=images ・Keyring ファイルをローカルに取得 # ceph auth get-or-create client.images ¦ tee ceph.client.images.keyring ・オーナーをGlance に変更 # chown glance:glance ceph.client.images.keyring Copyright © OSS Laboratories Co., Ltd. All rights reserved 7
  9. 9. 140830openstack_ceph 設定ガイド.docx ・ceph.config の修正 上記で取得したユーザとkeyring ファイルの設定をceph.conf に追加します。 # vi ceph.conf [client.images] keyring = /etc/ceph/ceph.client.images.keyring ◆Glance 設定ファイルの編集 作業サーバ:openstack 実行ユーザ:root 作業ディレクトリ:/etc/glance ・Glance の保存先をceph に変更するため、glance-api.conf を編集します。 以下の行を追加します。また、デフォルトの設定の「default_store = file」はコメントアウトします。 # vi glance-api.conf #default_store = file default_store = rbd rbd_store_ceph_conf = /etc/ceph/ceph.conf rbd_store_user = images rbd_store_pool = images rbd_store_chunk_size = 8 ・既に古い保存先にイメージを登録してある場合は削除する # glance image-list +--------------------------------------+---------------------------------+------------- +------------------+----------+--------+ ¦ ID ¦ Name ¦ Disk Format ¦ Container Format ¦ Size ¦ Status ¦ +--------------------------------------+---------------------------------+------------- +------------------+----------+--------+ ¦ 4b1fc154-7c04-4572-ac6d-40d35d012744 ¦ cirros-0.3.1-x86_64-uec ¦ ami ¦ ami ¦ 25165824 ¦ active ¦ +--------------------------------------+---------------------------------+------------- +------------------+----------+--------+ # glance image-delete 4b1fc154-7c04-4572-ac6d-40d35d012744 ・Glance サービスの再起動 # for init in /etc/init.d/glance-*; do $init restart; done ◆イメージの登録 作業サーバ:openstack Copyright © OSS Laboratories Co., Ltd. All rights reserved 8
  10. 10. 140830openstack_ceph 設定ガイド.docx 実行ユーザ:root 作業ディレクトリ:/usr/local/src 本書にて登録するイメージ(cirros-0.3.2-x86_64-disk.img)は予め/usr/local/src に格納 # glance add name=cirros-0.3.2-x86_64 is_public=true disk_format=qcow2 container_format=ovf < cirros-0.3.2-x86_64-disk.img Added new image with ID: 2f74d6c3-d6ec-4109-9f0b-187a6f3bdd1c ◆登録したイメージの確認 ・Openstack 上でのイメージ登録の確認 # glance image-list +--------------------------------------+---------------------+-------------+----------- -------+----------+--------+ ¦ ID ¦ Name ¦ Disk Format ¦ Container Format ¦ Size ¦ Status ¦ +--------------------------------------+---------------------+-------------+----------- -------+----------+--------+ ¦ 2f74d6c3-d6ec-4109-9f0b-187a6f3bdd1c ¦ cirros-0.3.2-x86_64 ¦ qcow2 ¦ ovf ¦ 13167616 ¦ active ¦ +--------------------------------------+---------------------+-------------+----------- -------+----------+--------+ # glance index ID Name Disk Format Container Format Size ------------------------------------ ------------------------------ -------------------- -------------------- -------------- 2f74d6c3-d6ec-4109-9f0b-187a6f3bdd1c cirros-0.3.2-x86_64 qcow2 ovf 13167616 ・ceph 上でのイメージ登録の確認 # rbd --pool images ls -l NAME SIZE PARENT FMT PROT LOCK 2f74d6c3-d6ec-4109-9f0b-187a6f3bdd1c 12859k 2 2f74d6c3-d6ec-4109-9f0b-187a6f3bdd1c@snap 12859k 2 yes ③ Cinder 設定 作業サーバ:openstack 実行ユーザ:root 作業ディレクトリ:/etc/ceph Copyright © OSS Laboratories Co., Ltd. All rights reserved 9
  11. 11. 140830openstack_ceph 設定ガイド.docx ◆Keyring の作成 Cinder 用のpool に接続するためのユーザを作成し、Keyring を取得します。 ・ユーザ、keyring の作成 # ceph auth get-or-create client.volumes mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rx pool=images' ・作成したGlance のkeyring の確認 # client.volumes key: AQBEkLNTOJsYGRAAuN9hy3k7xGotKItfFb0LuQ== caps: [mon] allow r caps: [osd] allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rx pool=images ・Keyring ファイルをローカルに取得 # ceph auth get-or-create client.volumes ¦ tee ceph.client.volumes.keyring ・オーナーをCinder に変更 # chown cinder:cinder /etc/ceph/ceph.client.volumes.keyring ・ceph.config の修正 上記で取得したユーザとkeyring ファイルの設定をceph.conf に追加します。 # vi /etc/ceph/ceph.conf [client.images] keyring = /etc/ceph/ceph.client.volumes.keyring ◆Libvirt に鍵を登録 作業サーバ:openstack 実行ユーザ:root 作業ディレクトリ:/root ・鍵の取得 # ceph auth get-key client.volumes ¦ tee client.volumes.key ・XML ファイルの作成 # cat > secret.xml <<EOF <secret ephemeral='no' private='no'> <usage type='ceph'> <name>client.volumes secret</name> </usage> Copyright © OSS Laboratories Co., Ltd. All rights reserved 10
  12. 12. 140830openstack_ceph 設定ガイド.docx </secret> EOF ・UUID の取得 # UUID=$(virsh secret-define --file secret.xml ¦ cut -d " " -f 2) # echo $UUID 2c01249d-9e02-ea2d-9d1e-fbadf82372a9 ・libvirt に鍵ファイルとUUID を登録 # virsh secret-set-value --secret $UUID --base64 $(cat client.volumes.key) && rm client.volumes.key secret.xml ※Ceph とlibvirt の鍵が一致していない場合、正常にCinder が動作しないのでこの時点で鍵の一致を確認 します。 2 つのコマンド実行後の値が同じであることを確認します。 # ceph auth get-key client.volumes AQBEkLNTOJsYGRAAuN9hy3k7xGotKItfFb0LuQ== # virsh secret-get-value --secret $UUID AQBEkLNTOJsYGRAAuN9hy3k7xGotKItfFb0LuQ== ◆Cinder 設定ファイルの編集 作業サーバ:openstack 実行ユーザ:root 作業ディレクトリ:/etc/cinder ・ボリュームの保存先をceph に変更するため、cinder.conf を編集します。 以下の行を追加します。 # vi cinder.conf volume_driver=cinder.volume.drivers.rbd.RBDDriver rbd_pool=volumes rbd_user=volumes rbd_secret_uuid=2c01249d-9e02-ea2d-9d1e-fbadf82372a9 ※rbd_secret_uuid の値は”UUID の取得”にて取得した値を記載します。 ・Cinder サービスの再起動 # for init in /etc/init.d/cinder-*; do $init restart; done ◆ Cinder ボリュームの作成 # cinder create --display_name test-01 1 Copyright © OSS Laboratories Co., Ltd. All rights reserved 11
  13. 13. 140830openstack_ceph 設定ガイド.docx +------------------------------+--------------------------------------+ ¦ Property ¦ Value ¦ +------------------------------+--------------------------------------+ ¦ attachments ¦ [] ¦ ¦ availability_zone ¦ nova ¦ ¦ bootable ¦ false ¦ ¦ created_at ¦ 2014-07-22T14:02:05.000000 ¦ ¦ description ¦ None ¦ ¦ encrypted ¦ False ¦ ¦ id ¦ b6126f66-a6e8-456b-bb08-66ba284d9405 ¦ ¦ metadata ¦ {} ¦ ¦ name ¦ test-01 ¦ ¦ os-vol-tenant-attr:tenant_id ¦ ccf2e118dd794ce4843178f99d6e6b20 ¦ ¦ size ¦ 1 ¦ ¦ snapshot_id ¦ None ¦ ¦ source_volid ¦ None ¦ ¦ status ¦ creating ¦ ¦ user_id ¦ c961ec85993e4e3c90a1433a156bf3ff ¦ ¦ volume_type ¦ None ¦ +------------------------------+--------------------------------------+ ◆作成したボリュームの確認 ・Openstack 上でのボリューム作成の確認 # cinder list +--------------------------------------+-----------+---------+------+-------------+---- ------+-------------+ ¦ ID ¦ Status ¦ Name ¦ Size ¦ Volume Type ¦ Bootable ¦ Attached to ¦ +--------------------------------------+-----------+---------+------+-------------+---- ------+-------------+ ¦ b6126f66-a6e8-456b-bb08-66ba284d9405 ¦ available ¦ test-01 ¦ 1 ¦ None ¦ false ¦ ¦ +--------------------------------------+-----------+---------+------+-------------+---- ------+-------------+ ・Ceph 上でのボリューム作成の確認 # rbd --pool volumes ls -l NAME SIZE PARENT FMT PROT LOCK volume-b6126f66-a6e8-456b-bb08-66ba284d9405 1024M 2 Copyright © OSS Laboratories Co., Ltd. All rights reserved 12
  14. 14. 140830openstack_ceph 設定ガイド.docx ④ ライブマイグレーション設定 作業サーバ:openstack 実行ユーザ:root 作業ディレクトリ:/etc/nova ◆Ceph をマウント 使用している全ComputeNode でCeph をマウントします。 ※マウントは、以下のCephFS もしくは、RDB のどちらでも動作することを確認。 ・マウントディレクトリの作成 ♯mkdir /mnt/ceph ・ファイルシステムマウントを行うためのKeyring の確認 # cat /etc/ceph/ceph.client.admin.keyring [client.admin] key = AQA2vI5TGHUFIhAA6Az7D0WZSL6h7y9uCKyZxQ== ●CephFUSE マウント # mount.ceph EXFS1,EXFS2,EXFS3:/ /mnt/ceph -o name=admin,secret=AQA2vI5TGHUFIhAA6Az7D0WZSL6h7y9uCKyZxQ== ●RDB マウント ・ブロックデバイスイメージの作成 # rbd create foo --size 4096 -k /etc/ceph/ceph.client.admin.keyring ・RBD クライアントモジュールをロードします。 # modprobe rbd ・ブロックデバイスのイメージをマッピング rbd map foo --pool rbd --name client.admin -k /etc/ceph/ceph.client.admin.keyring ・クライアントにファイルシステムを作成 mkfs.ext4 -m0 /dev/rbd/rbd/foo ・RDB マウント mount /dev/rbd/rbd/foo /mnt Copyright © OSS Laboratories Co., Ltd. All rights reserved 13
  15. 15. 140830openstack_ceph 設定ガイド.docx ・マウントの確認 ※以下の結果は、CephFS のものとなります。 # df -Th /mnt/ceph Filesystem Type Size Used Avail Use% Mounted on 192.168.100.112,192.168.100.113,192.168.100.114:/ ceph 686G 79G 607G 12% /mnt/ceph ◆Nova データの移行 本書ではVM がない状態での手順となりますが、VM がある場合、以下の手順を全てのComputeNode に て行う必要があります。 ・全ComputeNode でnova の停止 # for init in /etc/init.d/nova-*; do $init stop; done ・データディレクトリのコピー # cp -Rp /var/lib/nova /mnt/ceph/ ・キャッシュ置き場の実体作成 # mkdir -p /data/nova/instances/_base ・オーナをnova へ変更 # chown -R nova:nova /mnt/ceph/nova /data/nova ・キャッシュ置き場をリンクに変更 ※1 つのComputeNode だけで行う # rm -R /mnt/ceph/nova/instances/_base/ # ln -s /data/nova/instances/_base /mnt/ceph/nova/instances/ ・Nova データのオーナの確認 全てのComputeNode で、オーナがnova になっていることを確認する # ls -l /mnt/ceph/nova/ drwxr-xr-x 1 nova nova 30 4 月 14 11:38 .dsh/ drwxr-xr-x 1 nova nova 3745 4 月 14 11:41 .ssh/ drwxr-xr-x 1 nova nova 0 4 月 14 11:36 CA/ drwxr-xr-x 1 nova nova 0 2 月 27 04:05 buckets/ drwxr-xr-x 1 nova nova 0 2 月 27 04:05 images/ drwxr-xr-x 1 nova nova 6446418 7 月 22 19:20 instances/ drwxr-xr-x 1 nova nova 0 2 月 27 04:05 keys/ drwxr-xr-x 1 nova nova 0 2 月 27 04:05 networks/ Copyright © OSS Laboratories Co., Ltd. All rights reserved 14
  16. 16. 140830openstack_ceph 設定ガイド.docx -rw-r----- 1 nova nova 303104 4 月 14 11:38 nova.sqlite drwxr-xr-x 1 nova nova 0 2 月 27 04:05 tmp/ ・nova.conf の修正 以下の行を追加し、デフォルトの「state_path=/var/lib/nova」をコメントアウトする # vi nova.conf live_migration_bandwidth=0 live_migration_flag=VIR_MIGRATE_UNDEFINE_SOURCE,VIR_MIGRATE_PEER2PEER,VIR_MIGRATE_LIVE live_migration_retry_count=30 live_migration_uri=qemu+tcp://%s/system logdir=/var/log/nova #state_path=/var/lib/nova state_path=/mnt/ceph/nova instances_path = $state_path/instances base_dir_name = _base ◆libvirtd 設定 ・libvirtd.conf 編集 以下の行を追加する # vi /etc/libvirt/libvirtd.conf listen_tls = 0 listen_tcp = 1 auth_tcp = "none" ・libvirt-bin 編集 以下の行を追加し、デフォルトの「libvirtd_opts="-d"」をコメントアウトする # vi /etc/default/libvirt-bin #libvirtd_opts="-d" libvirtd_opts="-d -l" ・libvirt-bin.conf 編集 以下の行を追加し、デフォルトの「env libvirtd_opts="-d"」をコメントアウトする # vi /etc/init/libvirt-bin.conf #env libvirtd_opts="-d" env libvirtd_opts="-d -l" Copyright © OSS Laboratories Co., Ltd. All rights reserved 15
  17. 17. 140830openstack_ceph 設定ガイド.docx ⑤ Cinder-snapshot Cinder-snapshot の設定は” Cinder 設定”にて行ったもの以外は不要となります。 ◆ Cinder Snapshot の作成 先の手順で作成したCinder ボリュームのスナップショットを取ります。 ・Cinder ボリュームの確認 # cinder list +--------------------------------------+-----------+---------+------+-------------+---- ------+-------------+ ¦ ID ¦ Status ¦ Name ¦ Size ¦ Volume Type ¦ Bootable ¦ Attached to ¦ +--------------------------------------+-----------+---------+------+-------------+---- ------+-------------+ ¦ b6126f66-a6e8-456b-bb08-66ba284d9405 ¦ available ¦ test-01 ¦ 1 ¦ None ¦ false ¦ ¦ +--------------------------------------+-----------+---------+------+-------------+---- ------+-------------+ ・スナップショットの作成 # cinder snapshot-create b6126f66-a6e8-456b-bb08-66ba284d9405 +-------------+--------------------------------------+ ¦ Property ¦ Value ¦ +-------------+--------------------------------------+ ¦ created_at ¦ 2014-07-22T14:42:12.895876 ¦ ¦ description ¦ None ¦ ¦ id ¦ ccafb254-d498-4887-9c65-a1f39058ddb9 ¦ ¦ metadata ¦ {} ¦ ¦ name ¦ None ¦ ¦ size ¦ 1 ¦ ¦ status ¦ creating ¦ ¦ volume_id ¦ b6126f66-a6e8-456b-bb08-66ba284d9405 ¦ +-------------+--------------------------------------+ ◆作成したボリュームの確認 ・Openstack 上でのボリューム作成の確認 # cinder snapshot-list +--------------------------------------+--------------------------------------+-------- ---+------+------+ ¦ ID ¦ Volume ID ¦ Status ¦ Copyright © OSS Laboratories Co., Ltd. All rights reserved 16
  18. 18. 140830openstack_ceph 設定ガイド.docx Name ¦ Size ¦ +--------------------------------------+--------------------------------------+-------- ---+------+------+ ¦ ccafb254-d498-4887-9c65-a1f39058ddb9 ¦ b6126f66-a6e8-456b-bb08-66ba284d9405 ¦ available ¦ None ¦ 1 ¦ +--------------------------------------+--------------------------------------+-------- ---+------+------+ ・Ceph 上でのボリューム作成の確認 スナップショットは、Cinder と同じPool に格納されます # rbd --pool volumes ls -l NAME SIZE PARENT FMT PROT LOCK volume-b6126f66-a6e8-456b-bb08-66ba284d9405 1024M 2 volume-b6126f66-a6e8-456b-bb08-66ba284d9405@snapshot-ccafb254-d498-4887-9c65-a1f39058ddb9 1024M 2 yes ⑥ Cinder-Backup 作業サーバ:openstack 実行ユーザ:root 作業ディレクトリ:/etc/ceph ◆Keyring の作成 Backup 用のpool に接続するためのユーザを作成し、Keyring を取得します。 ・ユーザ、keyring の作成 ceph auth get-or-create client.cinder-backup mon 'allow r' osd 'allow class-read object_prefix rbd_children, allow rwx pool=backups' ・作成したBackup のkeyring の確認 # ceph auth list client.cinder-backup key: AQDUE5BTUMVMFhAAbmxxmLa9Kl2hTvGlXPb1HA== caps: [mon] allow r caps: [osd] allow class-read object_prefix rbd_children, allow rwx pool=backups ・Keyring ファイルをローカルに取得 ceph auth get-or-create client.volumes ¦ tee /etc/ceph/ceph.client.cinder-backup.keyring ・オーナーをCinder に変更 Copyright © OSS Laboratories Co., Ltd. All rights reserved 17
  19. 19. 140830openstack_ceph 設定ガイド.docx chown cinder.cinder /etc/ceph/ceph.client.cinder-backup.keyring ・ceph.config の修正 上記で取得したユーザとkeyring ファイルの設定をceph.conf に追加します。 # vi /etc/ceph/ceph.conf [client.images] keyring = /etc/ceph/ceph.client.cinder-backup.keyring ◆Cinder 設定ファイルの編集 作業サーバ:openstack 実行ユーザ:root 作業ディレクトリ:/etc/cinder ・ボリュームのバックアップの保存先をceph に変更するため、cinder.conf を編集します。 以下の行を追加します。 # vi cinder.conf backup_driver=cinder.backup.drivers.ceph backup_ceph_conf=/etc/ceph/ceph.conf backup_ceph_user=cinder-backup backup_ceph_chunk_size=134217728 backup_ceph_pool=backups backup_ceph_stripe_unit=0 backup_ceph_stripe_count=0 restore_discard_excess_bytes=true ・Cinder サービスの再起動 # for init in /etc/init.d/cinder-*; do $init restart; done ◆ Cinde Backup ボリュームの作成 先の手順で作成したCinder ボリュームのバックアップを取ります。 ・Cinder ボリュームの確認 # cinder list +--------------------------------------+-----------+---------+------+-------------+---- ------+-------------+ ¦ ID ¦ Status ¦ Name ¦ Size ¦ Volume Type ¦ Bootable ¦ Attached to ¦ +--------------------------------------+-----------+---------+------+-------------+---- ------+-------------+ ¦ b6126f66-a6e8-456b-bb08-66ba284d9405 ¦ available ¦ test-01 ¦ 1 ¦ None ¦ false ¦ ¦ Copyright © OSS Laboratories Co., Ltd. All rights reserved 18
  20. 20. 140830openstack_ceph 設定ガイド.docx +--------------------------------------+-----------+---------+------+-------------+---- ------+-------------+ ・バックアップボリュームの作成 # cinder backup-create --display-name backup-test01 b6126f66-a6e8-456b-bb08-66ba284d9405 +-----------+--------------------------------------+ ¦ Property ¦ Value ¦ +-----------+--------------------------------------+ ¦ id ¦ 691af46d-4f55-4469-870a-8bad9017c942 ¦ ¦ name ¦ backup-test01 ¦ ¦ volume_id ¦ b6126f66-a6e8-456b-bb08-66ba284d9405 ¦ +-----------+--------------------------------------+ ◆作成したボリュームの確認 ・Openstack 上でのボリューム作成の確認 # cinder backup-list +--------------------------------------+--------------------------------------+-------- ---+---------------+------+--------------+---------------+ ¦ ID ¦ Volume ID ¦ Status ¦ Name ¦ Size ¦ Object Count ¦ Container ¦ +--------------------------------------+--------------------------------------+-------- ---+---------------+------+--------------+---------------+ ¦ 691af46d-4f55-4469-870a-8bad9017c942 ¦ b6126f66-a6e8-456b-bb08-66ba284d9405 ¦ available ¦ backup-test01 ¦ 1 ¦ None ¦ backups ¦ +--------------------------------------+--------------------------------------+-------- ---+---------------+------+--------------+---------------+ ・Ceph 上でのボリューム作成の確認 # rbd --pool backups ls -l NAME SIZE PARENT FMT PROT LOCK volume-b6126f66-a6e8-456b-bb08-66ba284d9405.backup.base@backup.691af46d-4f55-4469-870a-8bad 9017c942.snap.1406039019.78 1024M 2 ⑦ SWIFT 作業サーバ:EXFS1 実行ユーザ:root 作業ディレクトリ:/etc/ceph Copyright © OSS Laboratories Co., Ltd. All rights reserved 19
  21. 21. 140830openstack_ceph 設定ガイド.docx ◆Keyring の作成 Glance 用のpool に接続するための、Keyring を取得します。 ・keyring の作成 # ceph-authtool --create-keyring /etc/ceph/ceph.client.radosgw.keyring # sudo chmod +r /etc/ceph/ceph.client.radosgw.keyring # ceph-authtool /etc/ceph/ceph.client.radosgw.keyring -n client.radosgw.gateway --gen-key # ceph-authtool -n client.radosgw.gateway --cap osd 'allow rwx' --cap mon 'allow rw' /etc/ceph/ceph.client.radosgw.keyring # ceph -k /etc/ceph/ceph.client.admin.keyring auth add client.radosgw.gateway -i /etc/ceph/ceph.client.radosgw.keyring ・Keyring の確認 # ceph auth list client.radosgw.gateway key: AQA5ltRT6DEEBRAA5oGPolWuwuqFrUEzXabcKw== caps: [mon] allow rw caps: [osd] allow rwx ・Keyring ファイルを全てのクラスタにコピーします。 scp ceph.client.radosgw.keyring ceph.conf EXFS2:/etc/ceph scp ceph.client.radosgw.keyring ceph.conf EXFS3:/etc/ceph ◆RADOS-GW のスクリプトを追加 ・s3gw.fcgi の作成 # vi /var/www/html/s3gw.fcgi #!/bin/sh exec /usr/bin/radosgw -c /etc/ceph/ceph.conf -n client.radosgw.gateway ・実行権限の付与 # chmod +x /var/www/html/s3gw.fcgi ・オーナーをApache に変更 ※/var/log/ceph/client.radosgw.gateway.log が存在しない場合は、RADOS-GW を起動後にオーナーを変 更すること # chown apache:apache s3gw.fcgi # chown apache:apache /var/run/ceph/ # chown apache:apache /var/log/httpd/ # chown apache:apache /var/log/ceph/client.radosgw.gateway.log ・データディレクトリの作成 Copyright © OSS Laboratories Co., Ltd. All rights reserved 20
  22. 22. 140830openstack_ceph 設定ガイド.docx # mkdir -p /var/lib/ceph/radosgw/ceph-radosgw.gateway ・rgw.conf の作成 # vi /etc/httpd/conf.d/rgw.conf FastCgiExternalServer /var/www/html/s3gw.fcgi -socket /var/run/ceph/ceph.radosgw.gateway.fastcgi.sock <VirtualHost *:80> ServerName EXFS1 ServerAdmin EXFS1 DocumentRoot /var/www/html RewriteEngine On RewriteRule ^/(.*) /s3gw.fcgi?%{QUERY_STRING} [E=HTTP_AUTHORIZATION:%{HTTP:Authorization},L] <IfModule mod_fastcgi.c> <Directory /var/www/html> Options +ExecCGI AllowOverride All SetHandler fastcgi-script Order allow,deny Allow from all AuthBasicAuthoritative Off </Directory> </IfModule> AllowEncodedSlashes On ErrorLog /var/log/httpd/error.log CustomLog /var/log/httpd/access.log combined ServerSignature Off </VirtualHost> ・ceph.conf の編集 以下の行を追加する # vi /etc/ceph/ceph.conf [client.radosgw.gateway] host = ceph-gateway keyring = /etc/ceph/ceph.client.radosgw.keyring Copyright © OSS Laboratories Co., Ltd. All rights reserved 21
  23. 23. 140830openstack_ceph 設定ガイド.docx rgw socket path = /var/run/ceph/ceph.radosgw.gateway.fastcgi.sock log file = /var/log/ceph/client.radosgw.gateway.log ・Apache、RADOS-GW の起動 # /etc/init.d/httpd start # /etc/init.d/ceph-radosgw start ◆Keystone との連携 作業サーバ:EXFS1 実行ユーザ:root 作業ディレクトリ:/etc/ceph ・ceph.conf の編集 以下の行を[client.radosgw.gateway]の項目に追加する # vi /etc/ceph/ceph.conf [client.radosgw.gateway] rgw keystone url = http://openstack:3537 rgw keystone admin token = openstack rgw keystone accepted roles = Member, admin rgw keystone token cache size = 500 rgw keystone revocation interval = {number of seconds before checking revoked tickets} rgw s3 auth use keystone = true nss db path = /var/ceph/nss ・Keystone、endpoint 作成 作業サーバ:openstack 実行ユーザ:root 作業ディレクトリ:/root # keystone service-create --name swift --type object-store # keystone endpoint-create --service-id 17a507baf55846118bd41b0e303298f4 --publicurl "http://EXFS1/swif" --adminurl "http://EXFS1/swif" ‒internalurl "http://EXFS1/swif" 3.2.4. 各種ファイル配置 root@openstack:/etc/ceph# pwd /etc/ceph Copyright © OSS Laboratories Co., Ltd. All rights reserved 22
  24. 24. 140830openstack_ceph 設定ガイド.docx root@openstack:/etc/ceph# ls -l total 28 -rw-r--r-- 1 root root 63 Jun 16 15:12 ceph.client.admin.keyring -rw-r--r-- 1 cinder cinder 71 Jun 16 15:12 ceph.client.cinder-backup.keyring -rw-r--r-- 1 glance glance 64 Jun 16 16:14 ceph.client.images.keyring -rw-r--r-- 1 root root 120 Jul 23 17:34 ceph.client.radosgw.keyring -rw-r--r-- 1 cinder cinder 65 Jul 2 13:54 ceph.client.volumes.keyring -rw-r--r-- 1 root root 927 Jul 23 17:51 ceph.conf -rw-r--r-- 1 root root 92 May 13 00:32 rbdmap 3.2.5. 各種ログ Ceph 連携ログ(Ceph クラスタ):/var/log/ceph/ceph.log 3.2.6. アンインストール ◆Ceph クラスタアンインストール # yum remove ceph ceph-common python-ceph ceph-radosgw # rm ‒rf /var/run/ceph/ # ls /var/local/osd* # rm ‒rf /etc/ceph ◆Ceph クライアントアンインストール # apt-get ‒purge remove ceph-common python-ceph ceph-fuse # rm ‒rf /etc/ceph 以上 Copyright © OSS Laboratories Co., Ltd. All rights reserved 23

×