More Related Content Similar to H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編 Similar to H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編 (20) H26第1回 沖縄オープンラボラトリ・ハンズオンセミナー:ボリューム操作編8. 8
ボリュームサービスとは
●
VM とは独立した VM 用仮想ストレージ(ボリュー
ム)を提供するクラウドサービス
●
OpenStack では Cinder が機能を担当
●
OpenStack Block Storage (Cinder)
– ボリュームのバックアップ・リストア
– ボリュームから別ボリュームを作成
– Boot from Volume 機能をサポート
●
AWS では Amazon Elastic Block Storage (EBS) に相
当する機能
15. 15
バックエンド
ストレージ
( Swift 、 Ceph 等)
バックエンド
ストレージ
( Swift 、 Ceph 等)
ボリューム・ VM テンプレート間コピー
OpenStack Image Service (Glance) との連携
●
ボリュームデータから新しい VM テンプレートを作成
●
VM テンプレートから新しいボリュームを作成
VM
ボリューム
ボリュームから
VM テンプレー
ト作成
VM テンプレー
ト
イメージ
ボリューム
OpenStack
Image
Service
(Glance)
VM テンプレー
ト
からボリューム
作成
16. 16
ボリュームからのゲスト OS 起動
●
Boot from Volume
●
予め VM テンプレートをコピーしたボリュームを用意
●
上記ボリュームを接続した状態の VM を作成・起動
バックエンド
ストレージ
( Swift 、 Ceph 等)
バックエンド
ストレージ
( Swift 、 Ceph 等)
VM
VM テンプレー
ト
イメージ
ボリューム
OpenStack
Image
Service
(Glance)
VM テンプレー
ト
からボリューム
作成
ボリューム接続状態の
VM 作成・起動
17. 17
HP Public Cloud
ボリュームサービスの対応機能
操作 可否
ボリューム作成・削除 ○
ボリューム⇒ボリュームスナップショット作成 *1
・削除 ○
ボリュームスナップショット⇒ボリューム作成 ○
ボリューム⇒ボリューム作成 ○
ボリュームバックアップ・リストア *1
○
VM テンプレートイメージ⇒ボリューム作成 ○
ボリューム⇒ VM テンプレートイメージ作成 ×
ボリュームからの VM 起動 ○
*1) :予めボリュームをデタッチ状態にする必要あり
19. 19
ボリューム利用 VM の方式比較
重要データのみ
ボリューム上に配置
全データを
ボリューム上に配置
VM の起動
ディスク
エフェメラルディスク ボリューム
メリット
● VM の OS をアップグレード・
ダウングレードしやすい
● VM 稼働中にボリューム操作
が出来る※1
●
データ領域のリサイズがやり
やすい
●
構造が単純で、VMのシステム
構築をしやすい
●
VMホスト故障時、別VMホスト上
でVMをすぐに再起動できる
デメリット
● 構造がやや複雑で、 VM の
システム構築も一手間かかる
●
VMホスト障害時、VMのOS
部分は再構築が必要※3
● VM の OS をアップグレード・ダウ
ングレードしにくい
●
ボリューム操作時にVMを削除す
る必要がある※2
※ 1:基本的にボリューム操作時にはボリュームをデタッチする必要がある
※ 2:ボリューム起動 VM の場合、 VM 停止時でも VM のデタッチができない
※ 3: VM の起動用エフェメラルディスクも VM スナップショット作成でバックアップできる
32. 32
ファイルシステム上に VM 上の重要
データをコピー
● MySQLサーバ停止
# service mysqld stop
Stopping mysqld: [ OK ]
● MySQLデータベースファイル用ディレクトリ内容確認
# ls /var/lib/mysql/
ib_logfile0 ib_logfile1 ibdata1 mysql test
● 全ファイルコピー
# chown mysql:mysql /tmp/data
# cp a /var/lib/mysql/. /tmp/data/
● コピー結果確認
# ls /tmp/data
ib_logfile0 ib_logfile1 ibdata1 lost+found mysql test
app-server
33. 33
自動マウント設定
● テキストエディタで fstab 編集
# nano /etc/fstab
● fstabの例
#
# /etc/fstab
# Created by anaconda on Wed Jan 16 10:31:20 2013
#
# Accessible filesystems, by reference, are maintained under '/dev
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for
#
UUID=08244660c84848ef8ec73a754e6a38b7 / ext4 defaults 1 1
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
/dev/vdb /mnt auto defaults,nofail,comment=cloudconfig 0 2
● 下記1行を追加
LABEL=data /var/lib/mysql ext4 defaults,noatime 0 0
app-server
41. 41
VM に OpenStack のクライアントを
インストール
● RPMリポジトリ情報設定
# yum install y http://rdo.fedorapeople.org/rdorelease.rpm
Loaded plugins: fastestmirror, security
Determining fastest mirrors
(略)
Installed:
rdorelease.noarch 0:icehouse3
Complete!
● OpenStackクライアント群インストール
# yum install y pythonnovaclient
pythoncinderclient pythonkeystoneclient
Loaded plugins: fastestmirror, security
Loading mirror speeds from cached hostfile
(略)
Installed:
pythoncinderclient.noarch 0:1.0.91.el6
pythonkeystoneclient.noarch 1:0.9.01.el6
pythonnovaclient.noarch 1:2.17.02.el6
Complete!
app-server
42. 42
VM 上に OpenStack 認証情報作成
● 制御用 VM からデータベース VM にクレデンシャルファイルをコピー
# scp /root/openrc root@〈固定IP〉: /root/
*appserver の IP を指定してください。
● データベース VM 上でクレデンシャルファイルをテスト
# source openrc
# cinder list
+++++
| ID | Status | Display Name | Size |
+++++
| ce5e93bb50274a6ab52509fd1dd38047 | available | data | 1 |
+++++
step-server
app-server
44. 44
自動バックアップスクリプト準備②
● ファイルの先頭部分を編集
# nano /usr/local/bin/do_backup.sh
● 設定部分
# OpenStack API アクセス用クレデンシャルファイル(認証情報)のフルパス
CREDENTIALS=/root/openrc
# VM インスタンス名( UUID 可) → nova list で確認
SERVER=appserver
# バックアップ対象ボリュームの UUID (名前不可) → cinder list で確認
VOLUME_ID=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
# バックアップ先 Object Storage コンテナ名 → swift list で確認
CONTAINER=backup
# ボリューム上のファイルシステムラベル名
LABEL=data
# ボリューム上のファイルシステムのマウントポイント
MOUNT_POINT=/var/lib/mysql
● テスト実施
# bash xe /usr/local/bin/do_backup.sh
50. 50
データの復旧2
●
ボリュームの確認
●
ここで表示される available 状態のボリューム UUID
をメモしておきます。
– 以下の場合は
●
ec4e42e6-b08d-4c51-8814-042ddffad4e6
[root@stepserver ~]# cinder list
++++++++
| ID | Status | Display Name | Size | Volume Type | Bootable | Attached to |
++++++++
| 083a9c97b1af46f0844a58fc90b88b35 | inuse | None | 1 | standard | false | 5c38d93b3dcf44c39b4516cb8d25e1cd |
| ec4e42e6b08d4c518814042ddffad4e6 | available | None | 1 | standard | false | |
++++++++
51. 51
データの復旧3
●
バックアップデータの確認
●
ここで表示されるバックアップデータの UUID をメモして
おきます。
– 以下の場合は
●
3969164b-0d21-4bd7-bac8-42e06827948e
[root@stepserver ~]# cinder backuplist
++++++++
| ID | Volume ID | Status | Name | Size | Object Count | Container |
++++++++
| 3969164b0d214bd7bac842e06827948e | 083a9c97b1af46f0844a58fc90b88b35 | available | 20140726 20:36:36.118086 | 1 | 22 | backup |
++++++++
53. 53
データの復旧 5
●
リストアが完了するのを待ちます。
●
リストア中は「 restoring-backup 」になり、完了すると
「 available 」に戻ります。
[root@stepserver ~]# cinder list
++++
| ID | Status | Display Name |
++++
| 083a9c97b1af46f0844a58fc90b88b35 | inuse | None |
| ec4e42e6b08d4c518814042ddffad4e6 | restoringbackup | None |
++++
[root@stepserver ~]# cinder list
+++++
| ID | Status | Display Name | Size | V
+++++
| 083a9c97b1af46f0844a58fc90b88b35 | inuse | None | 1 |
| ec4e42e6b08d4c518814042ddffad4e6 | available | None | 1 |
+++++