第13回 “根が深い”旧システムからDocker環境への移行をどうするか古賀政純の「攻めのITのためのDocker塾」(3/4 ページ)

» 2016年01月06日 07時30分 公開

旧資産をDocker環境へ移行する方法を考える

 先述した方法についてそれぞれ、Dockerへの移行を考えてみましょう。

 1番目は、現在の古い物理サーバをそのまま利用する方法ですが、Dockerが稼働できる環境が必要です。古いサーバで、既にメーカー保守、サポート契約が切れている場合や、古いサーバで稼働しているOSをDockerに対応したOSに自己責任でアップグレードインストールする必要があります。

 Dockerは、基本的にx86_64アーキテクチャのOSでの稼働を前提に開発されていますので、例えば、32ビットのアーキテクチャのCPUを搭載したサーバでは、安定的にDockerを利用することは極めて困難です。したがって、32ビットCPUを搭載した古いサーバでアプリケーションが稼働している場合は、先述の2番目から4番目の方法で、アプリケーションを移行させる必要があります。

 また、古いマシンを使い続ける場合、移行元の古いマシンが64ビットCPUを搭載したサーバであっても、そのサーバで稼働するOSとアプリケーションが密接に結びついているため、それらをDocker環境に移行するには、移行元のサーバで稼働しているOSとアプリケーションをイメージ化し、再びその古いサーバで稼働するDocker環境に戻すといった作業が必要になります。

 しかし、この場合も古いサーバでDockerに対応した新しいOSを稼働させる必要があり、ベンダーによるOSのサポートは当然得られませんし、正常に動作する保証もありません。例えば、物理サーバに搭載されているチップセットとLinuxカーネルの機能の組み合わせによっては、Dockerを稼働させるためのホストOSすら起動しない場合もあります。ですから、結局は古いサーバでDocker用の新しいホストOSを正常に稼働させるためのトラブルシューティングの調査に手間がかかり、難易度が高く、工数も非常にかかる割には、移行のメリットが得られにくい傾向にあります。

古いOSでは動かない

 2番目と3番目の方法は、新規にサーバを調達し、最新OSの導入後にDocker環境を構築して、ユーザーデータをDockerイメージにインストールする方法が考えられます。OS領域はP2Vツールを使ってKVMのゲストOSイメージに変換後、KVMのゲストOSイメージをDockerイメージに変換します。また、古いサーバ上の外部ストレージの論理ボリュームなどに保管されているユーザーデータの吸い出しは、tarコマンドや、データベース用のバックアップツールなどを利用します。

P2Vツールを駆使する

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ