株式会社コーソル

コーソルDatabaseエンジニアのブログ

技術ブログ

Oracle VM 3でのOCFS2 reflinkスナップショット活用

注意! 本エントリでは、サポートされない手順について記載しています!
KROWN:158258 OracleVM 3 での Oracle VM Server コマンドラインから許可されている操作(※:参照にはサポート契約が必要)

Oracle VM Serverのローカルストレージ(DAS)に記憶域リポジトリを構成する場合、記憶域リポジトリはOCFS2でフォーマットされます。
OCFS2とは Oracle Cluster File System Release 2 の略称で、Oracleから無償で提供さているLinux向けクラスタファイルシステムです。OCFS2は様々な機能を提供していますが、reflink機能はVM管理に非常に有効です。

reflinkは、Copy-On-Writeとハードリンクを組み合わせたようなファイルの複製機能です。
reflinkの動作については

OCFS2/Reflink-Illustrated

に分かりやすい説明があるため確認してみてください。

仮想化環境では、VMを構成する仮想ディスクファイルのバックアップ、クローンなどの操作が必要ですが、
OFCS2 reflinkを使用すると、これらを効率的に実行できます。

なお、このreflinkという機能は、はOracle VM向けに作られた機能であることが、Oracle の
Linux and Virtualization Engineering シニアVice Presidentである Wim Coekaerts 氏により明らかにされています。

The reason we implemented reflink is for Oracle VM

from https://blogs.oracle.com/wim/entry/ocfs2_reflink

reflinkを用いた高速VMバックアップとリストア

バックアップをreflinkとして取得します。クローン実行時と同様に、これらの操作は非常に時間で実行できます。


ls -l l54x64a/* 
mkdir l54x64a_20121120BK/
reflink l54x64a/* l54x64a_20121120BK/

バックアップからのリストアが必要になった場合も、reflinkを使用して短時間で実行できます。


rm -fr l54x64a/* 
reflink l54x64a_20121120BK/* l54x64a/

リストアにreflinkを使用していますので、何度でもバックアップ時点の状態に戻すことができます。

reflinkを使用する前は、tar+gzで仮想ディスクファイルを含むすべてのVM構成ファイルをアーカイブしておき、これを展開することで、過去の時点へのバックアップとリストアを実行していました。この方法では大量のディスクI/Oが必要となるため、非常に時間を要していました。reflinkを使用することで処理時間の大幅な短縮と、ディスク領域使用量の大幅な削減を実現できます。

ただし、万が一OCFS2に問題があった場合に備え、従来のtar+gzのバックアップも併用しています。

なお、VMのバックアップはOracle VM Managerでは機能が用意されていないようです。VMをテンプレート化することが代替方法ようですが、コーソル検証環境ではあまりOracle VM Managerを積極的に使用していないので、きちんと調べていません。

高速リストアによる副次的な効果

Blogエントリ コーソル検証環境ではOracle VMを積極的に活用しています で仮想化環境において環境を復旧できる利点についてお伝えしました。
reflinkを使用することで復旧を「高速に」実行できます。このため、より気軽に、いろいろなことを皆が試すことができるようになっています。エンジニアにとって、気軽にTry & Errorできる環境はとても重要です。

reflinkを用いた高速VMクローン

reflinkの機能はVMのバックアップやリストアだけではなく、VMのクローニングにも使えます。


ls -l l54x64a/* 
mkdir l54x64a_new/
reflink l54x64a/* l54x64a_new/

xm create l54x64a_new/vm.cfg
xm create l54x64a/vm.cfg

なお、バックアップと違い、クローン操作はOracle VM Managerでもサポートされており、ocfs2 reflinkを活用しています。これについては次のエントリで書く予定です。

プロフィール

On7tWW6m1Ul4

渡部 亮太

・Oracle ACE
・AWS Certified Solutions Architect - Associate
・ORACLE MASTER Platinum Oracle Database 11g, 12c 他多数

カテゴリー

アーカイブ