既存システムからのP2Vマイグレーション - JUSTPLAYERインターネットサービス

Top / サービス一覧 / Solaris SPARC・Xeon プライベートクラウドサービス / 既存システムからのP2Vマイグレーション

Solaris SPARCシステムのP2V/V2Vマイグレーション

Solaris 8/9/10には、システムディスクの全体をフラッシュアーカイブ(flash archive)というイメージファイルにすることで、P2V(物理から仮想)、V2V(仮想から仮想)マイグレーションをすることができる機能があります。

ここでは、フラッシュアーカイブの作成方法と、Solarisの仮想化技術であるZoneへの展開方法をご案内します。

本ページに記載の手順は参考情報であり、お客様の環境によって異なる場合がありますのでご留意ください。本作業により、お客様環境に何らかの影響が発生した場合、当社では一切の責任を負いません。

1 既存システムのフラッシュアーカイブの作成

1.1 フラッシュアーカイブ作成準備

既存システムのフラッシュアーカイブ(システム全体のディスクイメージ)の作成にあたり、以下の項目を事前に確認します。

  • フラッシュアーカイブが作成できるだけの十分な空きがあるか。
    • 現在のディスク使用量とおおよそ同じサイズが必要となります。
  • フラッシュアーカイブの作成中、サービスを停止できるどうか。
    • 可能であれば、全てのシステムが停止している状態でフラッシュアーカイブを作成することで、データの一貫性を保つことができます。
    • なお、書き換えが発生し、あとから同期すればよいデータなどを除外してフラッシュアーカイブを作成することもできます。
  • ディスクに不要なファイルがないか。
    • 必要がないデータがあると、フラッシュアーカイブのサイズが不要に大きくなってしまいます。
  • 2GBあるいは4GBを越えるファイルがないか。
    • フラッシュアーカイブのフォーマットの構造上、含まれるファイルが2GBまたは4GBを越える場合、フラッシュアーカイブの作成ができないことがあります。

1.2 シングルユーザーモード

フラッシュアーカイブに全てのデータを含めたい時、システムが全停止した状態である方が、完全なアーカイブの作成が可能となります。そこで、シングルユーザーモードで作業するのが望ましいでしょう。

システムの停止が不可な状況下での作業(通常のマルチユーザーモードでの作業)となる場合は、フラッシュアーカイブの作成中にデータが書き換えられてしまう事が考えられます。データの一貫性を保てないことに注意し、そのようなデータはあとから同期するなどの方法を検討する必要があると考えられます。

作業手順

OpenBootのok promptで「boot -s」と入力します。

ok boot -s

ブート中、rootパスワードの入力を求められるので入力します。

rootログインし、シェルのプロンプトがでたらランレベルを確認します。

# who -r

問題がなければ「run-level S」と表示されます。

1.3 フラッシュアーカイブ作成

シンプルな作成方法は以下の通りとなります。

# flarcreate -n solaris10 solaris10.flar

これに、必要に応じて下記を追加します。

※Solaris 10については、下記注意点をご参照ください。

  • -c でアーカイブを圧縮
  • -x でファイル・ディレクトリをアーカイブに含めない
1.3.1 flarcreateのオプション
  • -n:name(必須)(10:○, 9:○, 8:○)
  • -c:compress(1)を使って フラッシュアーカイブを圧縮
    • 『アーカイブサイズの確認』の際にも圧縮をしているようなので、空き容量が十分にあるなら、圧縮せずにフラッシュアーカイブを作成した方がよい場合があります。(例えば、圧縮は別の速い環境やpigzやpbzip2などが使える環境でするなど)(10:○, 9:○, 8:○)
  • -D dataset:指定したデータセットをフラッシュアーカイブに含めない。複数指定可。(10:○, 9:×, 8:×)
  • -f filelist:フラッシュアーカイブに含めるファイルのリストを内容とするファイルを指定する。(10:○, 9:○, 8:○)
    • ZFS root poolのフラッシュアーカイブでは非対応
  • -F:「-f」で指定されたファイルリストのみ含むフラッシュアーカイブを作成する(10:○, 9:○, 8:○)
    • ZFS root poolのフラッシュアーカイブでは非対応
  • -L archiver:cpio(1)かpax(1)を指定可能。デフォルトはpax。(10:○, 9:×, 8:×)
    • Solaris 10では paxがデフォルト
    • Solaris 8、9ではcpioのみ
    • ZFS send streamフラッシュアーカイブはZoneのインストールに利用できない
  • -x exlude...:フラッシュアーカイブに含めないファイルやディレクトリを指定(10:○, 9:○, 8:○)
    • ZFS root poolのフラッシュアーカイブでは非対応
  • -X filelist...:フラッシュアーカイブに含めないファイルのリストを内容とするファイルを指定する(10:○, 9:○, 8:×)
    • ZFS root poolのフラッシュアーカイブでは非対応
  • -y include...:フラッシュアーカイブに含めるファイルやディレクトリを指定(10:○, 9:○, 8:×)
    • ZFS root poolのフラッシュアーカイブでは非対応
  • -z filelist...:+ と - で含む・含まないを示すファイルリストを指定(10:○, 9:○, 8:×)
    • ZFS root poolのフラッシュアーカイブでは非対応
  • -a author:フラッシュアーカイブの識別用authorを指定(10:○, 9:○, 8:○)
  • -e descr:フラッシュアーカイブの識別用descriptionを指定(10:○, 9:○, 8:○)
  • -E descr_file:フラッシュアーカイブの識別用descriptionをファイルから読み込む(10:○, 9:○, 8:○)
1.3.2 Solaris 10における注意点

今回の『お試しパック』では、non-global Zoneのインストールにしかフラッシュアーカイブを利用できません。non-global Zoneでは、ZFS send streamを利用することができないため、間違って作成しないよう、以下のようにarchiverを指定することをおすすめいたします。

# flarcreate -n solaris10 -c -L pax solaris10.flar

2 フラッシュアーカイブからZoneを構築

ここでは フラッシュアーカイブを使ってZone「testzone」を構築します。

2.1 Zoneを配置するPATHを用意

Zoneを設置するには、ZFSのパスを区切るのがよいでしょう。

# zfs create -o mountpoint=/zones rpool/zones

Solaris 10のバージョンによっては、以下の処理が必要な事があります。

# zfs create rpool/zones/testzone
# chmod 700 /zones/testzone

2.2 zonecfg

以下のような内容のファイル「testzone.zonecfg」を作成します。

create -b
set zonepath=/zones/testzone
set brand=solaris9
set autoboot=true
set ip-type=shared
add net
set address=192.0.2.11/24
set physical=vnet0
end

brandの指定は下記の通りです。

LDOMのOSバージョンインストールするSolarisのバージョン
Solaris 8Solaris 9Solaris 10Solaris 11
Solaris 11--solaris10solaris / solaris-kz
Solaris 10--solaris-
Solaris 10 + Legacy Containersolaris8solaris9solaris-

zoneのip-typeは、sharedとexclusiveがあります。exclusiveの場合、仮想マシンの設定が別途必要となるため、お手数ですがお問い合わせフォームよりご連絡ください。

2.3 フラッシュアーカイブを使ってZoneを構築

# zoneadm -z testzone install -a /path/to/testzone.flar

必要に応じて、以下のオプションを使用します。

  • u:Run sys-unconfig(1M) on the zone after installing it.
  • p:Preserve the system configuration after installing the zone.

3 Zoneの起動

構築が完了したら、Zoneを起動します。

# zoneadm -z testzone boot

Zoneにログインするときは、zloginコマンドを使用します。

# zlogin testzone

-Cオプションでコンソールログインが可能です。

# zlogin -C testzone