PR

[VMware] VMware Server2 OSを変更する

CentOS 上にVMware Server2 インストール していたが、ハードディスクも随分安くなったから大容量のものに交換した。

ハードディスクのコピー

元のハードディスクから新しいハードディスクに Acronis True Image 11 Home を使ってコピーする。この時、/boot と LVM があるのでLVM を大きくしつつコピーしたかったがどういうわけか/boot だけがリサイズ可能だった。仕方ないのでそのままのパーティションサイズでコピーする。

パーティションサイズの変更

コピーしたハードディスクは後方が空いている状態だからEASEUS Partition Manage を使ってパーティションサイズを変更しようとしたら、ブータブルなのはフリーでは提供されていないらしいからGParted を使うことにした。

ここで初めてLVM が対象外なことを知る…。

スポンサードリンク

Ubuntu で構築しなおす

活用されることのないLVM が面倒で、ext4 が不安要素を残しながらも魅力的であることから新しいハードディスクに Ubuntu にVMware Server2 をインストール。ついでにコピーしたもので起動するとGRUB で止まってしまうのでそれを直すのも面倒になってしまったというのもある。

LVM をマウントして仮想マシンをコピーする

そんなこんなで取り敢えずUbuntu に VMware Server2 がインストールされ、SSH もインストールしてそれっぽくなった。古いハードディスクから仮想マシンのデータを引き継ぐ。ここでもLVM が面倒をかけてくれる。

LVM を扱えるようにする


$ sudo aptitude install lvm-common lvm2


LVM を探す


$ sudo lvm vgscan
 Reading all physical volumes.  This may take a while...
 Found volume group "VolGroup00" using metadata type lvm2


LVM をマウントする


$ sudo lvm vgchange -a y
 2 logical volume(s) in volume group "VolGroup00" now active

$ sudo mkdir /media/sda
 $ sudo mount /dev/VolGroup00/LogVol00 /media/sda

$ ls /media/sda/
 bin   dev  home  lost+found  misc  net  proc  sbin     srv  tmp  var
 boot  etc  lib   media       mnt   opt  root  selinux  sys  usr


マウントできた。

データのコピー


$ sudo cp /media/sda/var/lib/vmware/ /var/lib/vmware/ -vru


以下は必要かどうかわからない

$ sudo chown casey /var/lib/vmware/ -R

LVM のマウント解除

$ sudo umount /media/sda/

USB をマウントして仮想マシンをコピーする

通常のハードディスクに器具を取り付けることで、手軽にUSB ドライブにする道具がある。1つ持っていると意外に重宝する。これを使ってコピーもしくは移動する手順をオマケ程度にメモ。(買いたくない場合や手元にない場合はknoppixを使ってもよい)

マウントポイント作成

$ sudo mkdir /media/sda

接続状態の確認

以下のコマンドで確認する。(偶然全く同じ内容になってしまったのでわかりにくいが)

$ sudo fdisk -l


Disk /dev/sda: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0009bcea

 Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       58567   470434816   83  Linux
/dev/sda2           58567       60802    17948673    5  Extended
/dev/sda5           58567       60802    17948672   82  Linux swap / Solaris

Disk /dev/sdb: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x0001ee44

 Device Boot      Start         End      Blocks   Id  System
/dev/sdb1   *           1       60037   482241536   83  Linux
/dev/sdb2           60037       60802     6141953    5  Extended
/dev/sdb5           60037       60802     6141952   82  Linux swap / Solaris


マウントする

上記で、以下に対象のデータを保存している事がわかったのでマウントする。

/dev/sdb1   *           1       60037   482241536   83  Linux

$ sudo mount /dev/sdb1 /media/sda

コピーする

$ sudo cp /media/sda/var/lib/vmware/ /var/lib/vmware/ -vru

rsync でコピー

[Linux] Linkstation に rsync で VMware バックアップ(後日公開)

起動試験

必要と思うファイルをコピーしたが足りないのか仮想マシンは作り直しになったが、単にvmx ファイルをインベントリに追加 してやればいい。

Linux 系はSSH だけなので不必要だが、 Windows 系は仮想マシンへのショートカット から起動している。インベントリに追加しなおした影響で仮想マシンの番号が変わってしまったらしくVMware Remote Console から認証できない。WebUI からは問題ない。ショートカットは作り直した。

vmdk ファイルの圧縮を行う

ついでなので Xen イメージをVMware イメージに変換する で変換したvmdk を圧縮する。中身はCentOS+LVM でLVM の影響かそういうものなのか不明だが20G のDomainU だったから20G img ファイルは20G のvmdk が出来上がっていた。

仮想マシン内の使用容量はさほど無いから小さくできるのでは?と思ってvmshrink を実行する。Windows ではVMware Tools を使っていたが、入手先が閉鎖してしまったのとLinux+CUI での方法をもう一度勉強しなおした。

結果として 20Gのファイルが6G になった。

起動できない

ほとんどの仮想マシンが問題なかったが重要な CentOS がeth0 のLinkUp が上手くいかない。設定などは変更していないハズなのだが。結局ネットワーク関連の設定をあれこれ見直したがわからず、最終手段でルーターの再起動をしたら何事もなかったようにネットワークにつながったorz

※Ubuntu は sudo を使いまくる。root になりたいときは su – ではなく su -i を使うらしい。使ったこと無いけど。ただ気になるのはWinSCP でroot になるにはどうすればいいんだろ。後で探そう…。

参考文献

コメント