こんにちは、ECCUBERの杉山です。

今回は、EC-CUBEというよりもシステム(OS)の移行について取り上げたいと思います。

なぜ、dump/restoreコマンドを利用するかというと、前提として

  • 対象のOSが古い
  • スナップショットなどが利用できない

など、システムの移行をする上で十分でない環境でも移行ができるからです。

今回の内容も例にもれず、環境に依存する場合が多々ありますので、
皆さんの環境に置き換えてお読みください。
また、ご質問にはお答えできませんのでご了承ください。

OSは、CentOS6.7が対象です。

大きな流れは、次の通りです。

  1. 移行先サーバーの用意
  2. データのコピー
  3. 移行先サーバーでの設定
  4. 移行先サーバーを起動

今回は、全体を通して、長くなってしまうので、2回に分けてご紹介したいと思います。

本日は、

1.移行先サーバーの用意

を説明させていただきたいと思います。

1.移行先サーバの用意

移行先サーバでは、次の事を行います。

①レスキューモードでOSを起動

レスキューモードで起動すると、システムはメモリ上で起動します。
ここに、ディスク環境を接続して、移行先システムを構築していきます。
つまり、レスキューモードで起動したシステムは、移行先システムを構築する目的のために一時的に起動したシステムとなります。
レスキューモードで起動するためには、OSのisoイメージを用意し、起動します。起動方法はお使いのシステム毎に異なります。

isoイメージから起動すると、通常のOSインストールの他に、レスキューモードが用意されていますので、今回はレスキューモードで起動します。

  • 言語設定(English等)
  • キーボード選択(jp106等)
  • ネットワーク設定(IPアドレス、ネットワークゲートウェイアドレス、DNSアドレス)

レスキューモードで起動後、ディスクの設定をします。

②ディスク設定

新規でサーバを用意している事を想定して、ディスクのパーティションを設定します。
今回パーティ所は3つ作成します。

  • /boot (bootパーティション)
  • swap  (swapパーティション)
  • /         (rootパーティション)

コマンドは「parted」を利用します。

ここで注意ですが、今起動しているのはレスキューモードなので、ディスクから起動しているわけではありません。
そして、ここで設定するディスクは、移行先サーバーに割り当てられているディスクが対象です。
最終的には、ここで設定するディスクからシステムを起動します。

parted -l でディスクのパーティション情報を確認します。

ここでは、サーバーに割り当てられているディスクを「/dev/vda」とします。
  prarted /dev/vda 対話的に、/dev/vdaディスクのパーティションを作成します。

mktableラベルを作成→ラベルタイプを聞かれるので入力する。
指定内容はシステムに合わせて適宜入力する。今回は「gpt」を指定
mkpart3つのパーティションを作成します。
パーティションタイプ、ファイルシステム種類、開始位置、終了位置を以下の要領で指定して3回繰り返します。
「パーティションタイプ」指定省略
「ファイルシステム種類」boot,rootパーティションでは、「ext4」等用途に合わせて指定する。swapパーティションでは「linux-swap」を指定する。
「開始位置」vda1は 1049k を指定します。初期起動用領域を確保します。値は、適宜設定してください。
「終了位置」は、開始位置+パーティションのサイズを指定します。
最後のパーティションでは「100%」を指定することでディスクの最後までを割り当てることができます。

※各パーティションのサイズは、移行元の「データ」以上のサイズを確保してください。
移行元のパーティションサイズを参考にするのが良いと思います。
復元する際には、dumpデータを取得し、restoreするので、一時的に、データ容量の2倍の領域が最低限必要となります。

ディスクのパーティションができたので、ファイルシステムとしてフォーマットします。
今回はext4ファイルシステムを指定したので、これに合わせてコマンドを実行します。

mkfs.ext4  /dev/vda1 
mkfs.ext4  /dev/vda3 

swapファイルシステムも作成します。

mkswap /dev/vda2 

この後、レスキューモードを終了しても、今設定したディスクのパーティション情報は作成されていますので、作り直す必要がなければ、改めてパーティションを作る必要は有りません。

これで、ファイルシステムができましたので、ディスクを利用できるようにします。
マウントポイントを作成してマウントします。

mkdir /mnt2 /mnt2をマウントポイントとします。(ここは自由に設定してください)
mount /dev/vda3 /mnt2 まず、rootファイルシステムをマウントします。
マウントする順番に注意してください。
rootファイルシステムをマウントした後にbootファイルシステムをマウントします。

始めてrootファイルシステムをマウントする時は、bootファイルシステム用のマウントポイントを作成します。

mkdir /mnt2/boot ここの「boot」は固定です。変更しないでください。
mount /dev/vda1 /mnt2/boot bootファイルsystemをマウントします。 

これで、移行先サーバーに割り当てられているディスクを利用する準備ができました。
レスキューモードを終了すると、ここで作成した「/mnt2」は消えてしまいますので、注意してください。
但し、rootファイルシステムに作成した「boot」 ディレクトリは残っています。
/mnt2 の配下は、実際に利用するディスクなので、レスキューモードを終了しても消えることは有りません。
但し、くどいですがマウントする順番には注意してください。
ここで、「df」コマンド等でディスクの状況を確認しておきましょう。

以上の手順で、移行先サーバの用意ができました。
本日は、ここまでとさせていただきたいと思います。
次回の記事に残りの手順を掲載したいと思います。

2.移行先サーバーでの設定
3.移行先サーバーを起動

本日は、ありがとうございました。

さて、
弊社はシステムインテグレータで、ECサイト構築のプロフェッショナルですが、ただ構築するだけでなく、「売上を上げてナンボ」の名の下に、収益を上げるECサイト構築します。
構築後の広告・キャンペーン等のプロモーション、各施策まで踏み込み、お客さまとともに収益向上の実現に向けて全力サポートをお約束します。
まずはお気軽に何でも以下までご相談ください。
ECサイト構築について
まずはお気軽に何でもご相談ください。
▼問合せフォームから相談してみる。
https://ec-cuber.jp/contact-us/
▼メールで相談してみる。
  sales_ec@ids.co.jp
▼電話で直接相談してみる。
  03-6386-3652
▼EC-CUBERは、総合的なECソリューションをご提供するEC-CUBEのプロフェッショナル集団です!
https://ec-cuber.jp/service/