備忘録
2008年製の東芝 かSatellite K30でCentOS7で、とあるシステムが動作しており、ハードの故障を考慮して、P2V化しました。K30のスペックは、CPU Core2DUO(P8400)/メモリ 3GB/HDD 80Gです。
オフラインでのdd化を検討しましたが、駄目元で、まず、オンラインで作業を実施してみました。
■オンライン作業
Step1.不要プロセスの停止
不要プロセスを停止します。
Step2.ディスクの確認
ディスクデバイスが /dev 以下にあることを確認します。通常、ディスクは /dev/sda や /dev/vda といった名前で表示されます。ディスクの状態を確認するには、以下のコマンドを使用します。
#lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 74.5G 0 disk
tqsda1 8:1 0 1G 0 part /boot
mqsda2 8:2 0 73.5G 0 part
tqcentos-root 253:0 0 47.5G 0 lvm /
tqcentos-swap 253:1 0 2.9G 0 lvm [SWAP]
mqcentos-home 253:2 0 23.2G 0 lvm /home
Step3.dd コマンドでディスクイメージの作成
sshサーバを用意してデータを転送します。今回、80GバイトのDiskで100Mbpsの回線で2時間かかりました。圧縮しながら転送する方法も考えましたが、CPUが貧弱なので、ベタ転送しました。
転送量は、sshサーバ側でlsコマンドで確認します。
#dd if=/dev/sda | ssh user@192.168.xx.xx "dd of=/tmp/ディスクイメージ.img"
Step4.qcow2変換
ディスクイメージのままでは、サイズが大きいので、qcow2形式に変換します。
#qemu-img convert -f raw -O qcow2 変換前ファイル名.img 変換後ファイル名.qcow2
Step5.イメージ圧縮
そのままではサイスが大きいので、イメージを圧縮しました。
#qemu-img convert -c -f qcow2 -O qcow2 圧縮前.qcow2 圧縮後.qcow2
今回は、オンライン作業が出来ましたが、オフラインで作業する方法を記載しておきます。
■オフライン
Step1. CentOS 7 レスキューモードで起動
・CentOS 7 インストールメディアを用意します。
・サーバーを再起動し、BIOS 設定で USB/DVD から起動するように設定します。
・インストールメディアから起動し、以下の画面が表示されたら「Troubleshooting」を選択します。
Install CentOS 7
Test this media & install CentOS 7
Troubleshooting
Step2. レスキューモードでシステムのマウント
画面の指示に従って進むと、以下のような選択肢が表示されます。
- Continue (mount your partitions under /mnt/sysimage)
- Read-Only mount (mount your partitions under /mnt/sysimage in read-only mode)
- Skip (skip to shell)
1 を選択して、パーティションを /mnt/sysimage にマウントします。
次に、ルート環境に入るため、以下のコマンドを実行します。
#chroot /mnt/sysimage
Step3.ディスクの確認
ディスクデバイスが /dev 以下にあることを確認します。通常、ディスクは /dev/sda や /dev/vda といった名前で表示されます。ディスクの状態を確認するには、以下のコマンドを使用します。
#lsblk
Step4.EthernetにIPアドレスを設定
#ip link show
#ip addr add 192.168.1.100/24 dev eth0
#ip link set enp0s3 up
Step5.オンラインのStep3以降を実施します。
転送したイメージですが、そのままでは起動できず、-cpu core2duoを指定しました。
また、バスが、virtioでは起動中にハングする為、sataにしたところ正常に起動できました。