第3章 スナップショット
スナップショットは、特定の時点におけるイメージの状態の読み取り専用コピーです。Ceph ブロックデバイスの高度な機能の 1 つとして、イメージのスナップショットを作成して、イメージの状態の履歴を保持できることが挙げられます。また、Ceph はスナップショットの階層化もサポートしており、イメージ(VM イメージなど)のクローンを迅速かつ簡単に作成することができます。Ceph は、QEMU
、libvirt
、OpenStack、および CloudStack など、rbd
コマンドと、より上層レベルのインターフェイスを使用するブロックデバイススナップショットをサポートします。
RBD スナップショットを使用するには、Ceph クラスターが稼働中である必要があります。
I/O
がイメージの進行中にスナップショットを作成する場合は、スナップショットがイメージの正確なデータまたは最新データを取得せず、マウントを可能にするためにスナップショットのクローンを作成する必要がある場合があります。そのため、イメージのスナップショットを作成する前に、I/O
を停止することが推奨されます。イメージにファイルシステムが含まれる場合に、ファイルシステムはスナップショットの作成前に整合性のある状態でなければなりません。I/O
を停止するには、fsfreeze
コマンドを使用します。詳細は、 fsfreeze(8) の man ページを参照してください。仮想マシンの場合には、qemu-guest-agent を使用してスナップショットの作成時にファイルシステムを自動的にフリーズできます。
3.1. cephx に関する注意
cephx
が有効な場合には、ユーザー名または ID とユーザーに対応するキーが含まれるキーリングへのパスを指定する必要があります。以下のパラメーターのエントリーを再追加しなくてもいいように、CEPH_ARGS 環境変数を追加することもできます。
[root@rbd-client ~]# rbd --id {user-ID} --keyring=/path/to/secret [commands] [root@rbd-client ~]# rbd --name {username} --keyring=/path/to/secret [commands]
以下に例を示します。
[root@rbd-client ~]# rbd --id admin --keyring=/etc/ceph/ceph.keyring [commands] [root@rbd-client ~]# rbd --name client.admin --keyring=/etc/ceph/ceph.keyring [commands]
ユーザーとシークレットを CEPH_ARGS
環境変数に追加して、毎回入力する必要がないようにします。