FUJITSU Cloud Service K5
IaaS 設計・構築ガイド(デザインパターン・実装サンプル集)

クローニング(サーバの複製)


要求事項

K5に配備した仮想サーバを、サーバ構築の効率化のために複製したいといった要求事項に対応するパターンです。



対応するK5デザインパターン概要

K5では、配備済の仮想サーバからサーバ複製用の仮想サーバイメージを作成したり、仮想サーバイメージを管理することが可能です。
CentOS、Red Hat Enterprise Linux と、 Windows を OSとする仮想サーバから、サーバ複製用のイメージを作成できます。



構造 (イメージ図)



実装サンプル

1.事前作業

  イメージを作成する前に、以下の準備をしてください。

事前準備
内容
イメージ開発用仮想サーバ作成必要なソフトのインストールとセットアップをしてください。
イメージ開発用仮想サーバの
スナップショット取得
イメージ開発用仮想サーバを停止後、スナップショットを取得してください。
イメージ採取用仮想サーバ作成スナップショットからイメージ採取用の仮想サーバを作成してください。

※イメージ採取用の仮想サーバは、この後の作業でサーバの設定が変わってしまうことから、
上記の準備のようにイメージ開発用の仮想サーバと分けることを推奨します。



2.イメージ採取用の仮想サーバの設定

  イメージ採取用の仮想サーバに対して、以下の作業を実施してください。

 (1) Linux の場合

   write_net_rulesの無効化 及び /etc/udev/rules.d/70-persistent-net.rules の削除をしてください。

  • write_net_rulesの無効化

/lib/udev/rules.d/75-persistent-net-generator.rules

     上記ファイル内に記載されている以下の行を、コメントアウト(行頭に#を追加)してください。

DRIVERS=="?*", IMPORT{program}="write_net_rules"

  • /etc/udev/rules.d/70-persistent-net.rulesの削除

rm -f /etc/udev/rules.d/70-persistent-net.rules


 (2) Windows の場合

   Sysprepを実施してください。
   Sysprepの詳細は機能説明書をご参照ください。



3.イメージの作成(API)

  • イメージ採取用の仮想サーバを停止します。

  • APIでイメージを作成します。
    設定項目(REST API)で生成したAPIに、設定項目(json)を設定し、APIを実行してください。

  • 設定項目(REST API)
項目
設定値
内容
$VOLUME_ID(生成されたID)イメージ作成の元とする仮想サーバにアタッチしているストレージID(ポータルで確認可能)
  • 設定項目(json)
項目
設定値
内容
$NAME"demo_vm04"新規に作成する仮想サーバのイメージ名
$CONTAINER_FORMAT"bare"作成するイメージのコンテナー形式(bareを指定する)
$DISK_FORMAT"raw"作成するイメージのディスク形式(rawを指定する)
$FORCE"true""true" の場合、ストレージが仮想サーバにアタッチしていてもイメージを作成する。
"false" の場合、ストレージが仮想サーバにアタッチしているとイメージを作成しない。
  • 実行API

curl -X POST -i $BLOCKSTORAGE/v2/$PROJECT_ID/volumes/$VOLUME_ID/action -H "X-Auth-Token: $OS_AUTH_TOKEN" -H "Content-Type: application/json" -d '{"os-volume_upload_image": {"container_format":"'$CONTAINER_FORMAT'","disk_format":"'$DISK_FORMAT'","image_name":"'$NAME'","force":'$FORCE'}}'



4.イメージの作成確認(API)

  • APIでイメージの作成状況を確認します。
    VOLUME_ID で指定したストレージの項目 "status" が "in-use" になれば、作成完了です。

  • 設定項目(REST API)
項目
設定値
内容
$VOLUME_ID(生成されたID)イメージ作成の元とする仮想サーバにアタッチしているストレージID(ポータルで確認可能)
  • 実行API

curl -X GET -s $BLOCKSTORAGE/v2/$PROJECT_ID/volumes/$VOLUME_ID -H "X-Auth-Token:$OS_AUTH_TOKEN" -H "Content-Type:application/json" | jq .



5.イメージから仮想サーバを作成(ポータル)



メリット・効果

本パターンを利用して、仮想サーバのイメージを作成した場合のメリット・効果は以下の通りです。

  • 同じ構成のマシンを効率的に複製可能



注意事項

  • 仮想サーバイメージを作成する際は、配備されている仮想サーバをあらかじめ停止してください。

  • 複製できる仮想サーバイメージは、システムストレージのみとなります。
    増設ディスクに関しては、ストレージのアタッチまたはデタッチによる移設、
    またはスナップショットなどを使用して複製してください。



その他

特にありません。



関連資料

  • FUJITSU Cloud Service K5 マニュアル
    http://jp.fujitsu.com/solutions/cloud/k5/document/
    • サービスご紹介資料
    • IaaS 機能説明書
    • IaaS サービスポータルユーザーズガイド
    • IaaS APIユーザーズガイド
    • IaaS APIリファレンスマニュアル
    • IaaS HEATテンプレート解説書

(2015年11月検証)