楽 天 ク ラ ウ ド デ ー タ 移 行 ガ イ ド
(Ubuntu16.04 版)
目次
1. はじめに ··· 2 2. バックアップ/リストア手順概要 ··· 3 2.1. バックアップ手順概要 ··· 3 2.2. リストア手順概要 ··· 3 3. バックアップ手順詳細 ··· 4 3.1. ”楽天クラウド(IaaS)”にログイン ··· 4 3.2. 20GB 以上のブロックストレージの作成 ··· 4 3.3. ブロックストレージが作成されたことの確認 ··· 5 3.4. インスタンスにアタッチ··· 5 3.5. バックアップの実施 ··· 7 4. リストア手順 ··· 94.1. ”楽天クラウド Red Hat OpenStackPlatform”へのログイン ··· 9
4.2. 作業用の仮想インスタンスの作成 ··· 9 4.3. リストア用ボリュームの作成 ··· 9 4.4. 作業用インスタンスにリストア用ボリュームのアタッチ ··· 9 4.5. 自分の PC 上にダウンロードしてあるバックアップファイルのアップロード ··· 9 4.6. リストアの実施 ··· 9 4.7. リストア用ボリュームの切断 ··· 13 4.8. リストア用ボリュームからのインスタンスの作成 ··· 14 4.9. ネットワークインターフェースの設定変更 ··· 16 5. 注意事項 ··· 19 5.1. 本ガイドで移行されないデータについて ··· 19
1. はじめに
本資料は現在ご利用いただいている ”楽天クラウド(IaaS)”から、” 楽天クラウド Red Hat OpenStackPlatform”(以下、楽天クラウド OSP)へデータ移行を行う場合の汎用的なガイド資料 となります。
お客様環境により本ガイドで移行出来ないデータが存在するケースもあります。
事前に払い出しさせていただくトライアルアカウントにて事前確認を実施いただき、手順の確立を お願いいたします。
2. バックアップ/リストア手順概要
2.1. バックアップ手順概要
1. “楽天クラウド(Iaas)にログイン” 2. ブロックストレージの作成 3. “楽天クラウド OSP”に移行予定の仮想インスタンスに対し、作成したブロックストレージ のアタッチ 4. dump コマンドによるバックアップの取得 5. 取得したバックアップファイルを自分の PC 上にダウンロード2.2. リストア手順概要
1. ”楽天クラウド Red Hat OpenStackPlatform”にログイン 2. 作業用の仮想インスタンスの作成 3. リストア用ボリュームの作成 4. 作業用インスタンスにリストア用ボリュームのアタッチ 5. 自分の PC 上にダウンロードしたバックアップファイルのアップロード 6. リストアの実施 7. リストア用ボリュームの切断 8. リストア用ボリュームからインスタンスを作成 9. 動作確認
3. バックアップ手順詳細
以下に Ubuntu16.04 のバックアップ手順を記載します。3.1. ”楽天クラウド(IaaS)”にログイン
”楽天クラウド(IaaS)”にログインします。3.2. 20GB 以上のブロックストレージの作成
1. 画面左側のメニューより”ブロックストレージ”を選択します。 2. 下記画面右上の”ブロックストレージ作成”を押下します。 3. 下記画面で以下の項目を入力後、作成ボタンを押下します。 ブロックストレージ名:※容量は 20GB 以上とします。
3.3. ブロックストレージが作成されたことの確認
下記画面にてブロックストレージが作成されるのを確認します。 ※下記画面にてステータスが”available”に変化したらブロックストレージの作成が完了になります。3.4. インスタンスにアタッチ
「3.2 20GB 以上のブロックストレージの作成」にて作成したブロックストレージを移行対象のイ ンスタンスにアタッチします。 1. 「3.2 20GB 以上のブロックストレージの作成」にて作成したブロックストレージを選択後右 クリックし、”アタッチ”を選択します。
2. 下記画面にて”仮想マシン ID”とインスタンスとデバイス名(/dev/xvdf)を選択し、”アタッチ” を押下します。
仮想マシン ID:”楽天クラウド Red Hat OpenStackPlatform”に移行予定のインスタンス デバイス名:/dev/xvdf 3. ブロックストレージが移行対象インスタンスにアタッチされたことを確認します。 3.1. 下記画面左側メニューの”仮想マシン”を選択 3.2. 移行対象インスタンスにチェックを入れます。 3.3. 画面下部にインスタンスの詳細情報が表示されます。詳細情報の”ブロックデバイス”の項 目を確認します。
3.5. バックアップの実施
dump コマンドを利用し、Ubuntu16.04 の仮想インスタンスのバックアップを取得します。 1. ターミナルソフトを利用し、移行対象の仮想インスタンスにログインします。 2. f-user のパスワードを設定する 3. 下記コマンドにて root ユーザーになります。 4. アタッチした/dev/xvdf を ext4 でフォーマットします。 5. /dev/xvdf を/mnt に mount します。 6. dump コマンドをインストールします。 $ passwd f-user $ sudo -i[sudo] password for f-user:
# mkfs.ext4 /dev/xvdf
7. dump コマンドにてバックアップを取得します。
8. /mnt 配下にバックアップファイル(target.xvda.dump.gz)が作成されていることを確認し ます。
9. バックアップファイルを自分の PC 上にダウンロードします。 ※scp コマンドや winscp 等のツールを利用します。
# apt install dump
# dump -f - / | gzip > /mnt/target.xvda.dump.gz
# cd /mnt # ls -l
4. リストア手順
4.1.
”楽天クラウド Red Hat OpenStackPlatform”へのログイン
”楽天クラウド Red Hat OpenStackPlatform”にログインします。
4.2.
作業用の仮想インスタンスの作成
”楽天クラウド Red Hat OpenStackPlatform”上に OS が” Ubuntu 16.04”、ディスク容量 が”20GB+バックアップファイルの容量”以上の仮想インスタンスを作成します。 ※例として、バックアップファイル(target.xvda.dump.gz)のファイルサイズが 5GB の場合、 25GB 以上のディスク容量を準備します。 4.3.
リストア用ボリュームの作成
20GB 以上のリストア用ボリュームを作成します。 4.4. 作業用インスタンスにリストア用ボリュームのアタッチ 「4.3 リストア用ボリュームの作成」で作成したボリュームを「4.2 作業用の仮想インスタンスの 作成」で作成したインスタンス上の「/dev/vdb」にアタッチします。インスタンス:”楽天クラウド Red Hat OpenStackPlatform”に移行予定のインスタンス デバイス名:/dev/vdb 4.5. 自分の PC 上にダウンロードしたバックアップファイルのアップロード 「3.5 バックアップの実施」の手順 9 でダウンロードしたバックアップファイルを”/home/r-user” 上にアップロードします。 4.6. リストアの実施 リストア用ボリュームに対し、リストア作業を実施します。 ※リストア実施中に表示される下記エラーは無視して問題ありません。
2. パーティションを作成します。
$ sudo fdisk /dev/vdb
Command (m for help): p (←”p”と入力します)
Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos
Disk identifier: 0xb4d4c365
Command (m for help): n (←”n”と入力します) Partition type
p primary (0 primary, 0 extended, 4 free) e extended (container for logical partitions) Select (default p): p (←”p”と入力します)
Partition number (1-4, default 1): 1 (←”1”と入力します)
First sector (2048-41943039, default 2048): (←”enter”を押下します) Last sector, +sectors or +size{K,M,G,T,P} (2048-41943039, default 41943039): (←”enter”を押下します)
Created a new partition 1 of type 'Linux' and of size 20 GiB. Command (m for help): p (←”p”と入力します)
Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos
Disk identifier: 0xb4d4c365
Device Boot Start End Sectors Size Id Type /dev/vdb1 2048 41943039 41940992 20G 83 Linux Command (m for help): a (←”a”と入力します)
Selected partition 1
The bootable flag on partition 1 is enabled now. Command (m for help): p (←”p”と入力します)
Disk /dev/vdb: 20 GiB, 21474836480 bytes, 41943040 sectors Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos
Disk identifier: 0xb4d4c365
3. 作成したパーティションを ext4 でフォーマットします。
4. 以下のコマンドにてマウントします。
5. dump コマンドをインストールします。
6. リストアを実施します。
7. /proc, /dev, /sys を /mnt/***へマウントした後、/mnt へ chroot します。 Command (m for help): w (←”w”と入力します)
The partition table has been altered.
Calling ioctl() to re-read partition table. Syncing disks.
$ sudo mkfs.ext4 /dev/vdb1 mke2fs 1.42.13 (17-May-2015)
Creating filesystem with 5242624 4k blocks and 1310720 inodes Filesystem UUID: cc85600e-7241-4808-8d91-9dca05147447
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 4096000
Allocating group tables: 0/160 done Writing inode tables: 0/160 done Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: 0/160 done
$ sudo mount /dev/vdb1 /mnt
$ sudo apt install dump
$ cd /mnt
8. symbolic link /boot/grub/menu.lst を作成します。
9. grub の設定とインストールを実施します。
10. fstab の設定を変更します。
root ボリュームのマウントポイントを”/dev/xvda1”から”/dev/vda1”へ変更します。
11. chroot を抜けます。
$ sudo mount --bind /proc /mnt/proc $ sudo mount --bind /dev /mnt/dev $ sudo mount --bind /sys /mnt/sys $ sudo chroot /mnt /bin/bash
# cp -p /boot/grub/menu.lst /boot/grub/orig_menu.lst # rm /boot/grub/menu.lst
# ln -s /boot/grub/grub.conf /boot/grub/menu.lst
# grub-mkconfig -o /boot/grub/grub.cfg Generating grub configuration file ...
Found linux image: /boot/vmlinuz-4.4.0-131-generic Found initrd image: /boot/initrd.img-4.4.0-131-generic
/run/lvm/lvmetad.socket: connect failed: No such file or directory
WARNING: Failed to connect to lvmetad. Falling back to internal scanning. Found Ubuntu 16.04.6 LTS (16.04) on /dev/vda1
done
# grub-install /dev/vdb
Installing for i386-pc platform.
Installation finished. No error reported.
# vi /etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass> # / was on /dev/xvda1 during installation
12. umount します。
4.7. リストア用ボリュームの切断
「4.6 リストアの実施」でリストア作業が完了したら、作業用インスタンスからリストア用ボ リュームを切断します。
1. ”楽天クラウド Red Hat OpenStackPlatform”にログインします。
2. 作業用インスタンスのアクションのリストボックスから”ボリュームの切断”を選択します。
3. リストア用ボリュームを選択し、「ボリュームの切断」を押下します。
$ cd /
$ sudo umount /mnt/proc $ sudo umount /mnt/dev $ sudo umount /mnt/sys $ sudo umount /mnt
4. ボリュームの一覧表示の画面から接続先にインスタンス名が表示されなくなったことを確認 します。 5. リストア用ボリュームの編集画面にて、”起動可能”にチェックを入れ、「送信」を押下します。 4.8.
リストア用ボリュームからのインスタンスの作成
リストア用ボリュームからインスタンスを作成します。1. ”楽天クラウド Red Hat OpenStackPlatform”にログインします。 2. ボリューム一覧の画面を表示させます。
4. 下記画面で以下の 3 項目を入力して、「次へ」を押下します。 インスタンス名: アベイラビリティゾーン: インスタンス数:1 5. 下記画面でブートソースを”ボリューム”に変更の上、該当のボリュームを選択します。 6. 「次へ」を押下します。
7. フレーバー以降の下記項目については、お客様環境に合わせて設定を行った後、「インスタン スの起動」を押下します。 ※フレーバー/ネットワーク/ネットワークのポート/セキュリティグループ/キーペア/設定/ サーバグループ/スケジューラヒント/メタデータ --- 4.9. ネットワークインターフェースの設定変更 インスタンスのコンソール画面からネットワークインターフェース(ens3)の設定を追加します。
1. ”楽天クラウド Red Hat OpenStackPlatform”にログインします。 2. コンソール経由で以下のユーザー名にてログインします。
ユーザー名:f-user パスワード:***
3. ネットワークインターフェース(/etc/network/interfaces)を編集します。 3.1. 既存で設定されているインターフェースをコメントアウトします。 3.2. 新規のインターフェースの設定を追加します。 ※vi エディタ保存時の注意 コロンが入力できない場合があります。その際は「Shift+q」でコロンが表示されるので、 続いて「wq!」を入力し保存してください。 # auto eth0 ←コメントアウト(#)を追加 # iface eth0 inet dhcp ←コメントアウト(#)を追加
auto ens3 ←追加
(ens3)を以下のコマンドにて、起動します。
3.4. ”楽天クラウド Red Hat OpenStackPlatform”のインスタンス上で表示されているプライベー ト IP アドレスと「3.2 ネットワークインターフェースの追加」で割り振られたプライベート IP アドレスが同じであることを確認します。
※下記コンソール画面上に表示されているIPアドレスの表示については、以下コマンドの 実行にて確認ができます。
プライベート IP アドレスが同じであることの確認 # sudo ifup ens3
5. 注意事項
5.1. 本ガイドで移行されないデータについて
上記手順で移行されないデータについては、別途お客様にて手順を確立いただく必要があります。 (移行されないデータ例)
DB データ ※dump ファイルの export, import による移行が必要 [postgresql] https://www.postgresql.org/docs/9.0/migration.html [mysql] https://dev.mysql.com/doc/refman/5.6/ja/copying-databases.html [sqlserver] https://docs.microsoft.com/ja-jp/sql/sql-server/migrate/?view=sql-server-ver15 [oracle] https://www.oracle.com/jp/database/technologies/upgrades.html VSS(Virtual Shadow Copy)データ(Windows バックアップデータ) 動的な書き込みが行われているファイル、データ等 【有償ツールのご案内】 有償ツールを利用すると、以下のような機能が利用可能です。 ・差分:セクタ単位でのコピー ・帯域制御 ・DB 移行 ・Carbonite Migrate https://www.ctcsp.co.jp/products/carbonite/move/ ※詳細については販売代理店にお問合せ下さい。