2日目
USB 変換器を持ってきた。
- まず、USB で壊れたハードディスクをUbuntu につなぐ
- Domain0 ホストOS が CentOS だからLVM を使えるようにして、マウントする
- マウントしたらXenのimg をUbuntu に転送する
- Xen の img をVMware 形式(vmdk)に変換する
さて、問題はここからなのだ。これまで行った経験のある作業だと、DomainU 上からkernel やgrub を書き換えたが、今度はそうもいかない。どうしたものか。
Xen img をマウントしてループバック、さらにCentOS だからLVM もマウント。が、前回作業がうまくいかない。(あとになって思えば、もしかしたらchroot すればよかったのかもしれないが;後述)
壊れたHDD をUSB で繋ぎ、イメージを退避
casey@vm:/mnt/lvm1$ cp /mnt/lvm1/var/lib/xen/images/SVVCO501.img ~
スポンサードリンク
Xen img をマウントしたけど諦める
casey@vm:~$ sudo aptitude install kpartx casey@vm:~$ file SVVCO501.img SVVCO501.img: x86 boot sector; GRand Unified Bootloader, stage1 version 0x3, boot drive 0x80, 1st sector stage2 0x1c43f; partition 1: ID=0x83, active, starthead 1, startsector 63, 208782 sectors; partition 2: ID=0x8e, starthead 0, startsector 208845, 20755980 sectors, code offset 0x48 casey@vm:~$ sudo mkdir /mnt/img casey@vm:~$ sudo losetup /dev/loop0 ~/SVVCO501.img casey@vm:~$ sudo losetup -a /dev/loop0: [0801]:1441812 (/home/casey/SVVCO501.img) casey@vm:~$ sudo kpartx -l /dev/loop0 loop0p1 : 0 208782 /dev/loop0 63 loop0p2 : 0 20755980 /dev/loop0 208845 casey@vm:~$ sudo fdisk -lu /dev/loop0 ディスク /dev/loop0: 10.7 GB, 10737418240 バイト ヘッド 255, セクタ 63, シリンダ 1305, 合計 20971520 セクタ Units = セクタ数 of 1 * 512 = 512 バイト セクタサイズ (論理 / 物理): 512 バイト / 512 バイト I/O size (minimum/optimal): 512 bytes / 512 bytes ディスク識別子: 0x000d8912 デバイス ブート 始点 終点 ブロック Id システム /dev/loop0p1 * 63 208844 104391 83 Linux /dev/loop0p2 208845 20964824 10377990 8e Linux LVM casey@vm:~$ sudo mkdir /mnt/xen casey@vm:~$ sudo mkdir /mnt/p1 casey@vm:~$ sudo kpartx -l /dev/loop0 loop0p1 : 0 208782 /dev/loop0 63 loop0p2 : 0 20755980 /dev/loop0 208845 casey@vm:~$ sudo pvscan PV /dev/sdb2 VG VolGroup00 lvm2 [37.16 GiB / 0 free] Total: 1 [37.16 GiB] / in use: 1 [37.16 GiB] / in no VG: 0 [0 ] casey@vm:~$ sudo vgscan Reading all physical volumes. This may take a while... Found volume group "VolGroup00" using metadata type lvm2 casey@vm:~$ sudo lvscan ACTIVE '/dev/VolGroup00/LogVol00' [35.69 GiB] inherit ACTIVE '/dev/VolGroup00/LogVol01' [1.47 GiB] inherit casey@vm:~$ ls /mnt/p1 casey@vm:~$ ls /dev/mapper/ VolGroup00-LogVol00 VolGroup00-LogVol01 control loop0p1 casey@vm:~$ sudo kpartx -l /dev/loop0 loop0p1 : 0 208782 /dev/loop0 63 loop0p2 : 0 20755980 /dev/loop0 208845 casey@vm:~$ sudo pvscan PV /dev/sdb2 VG VolGroup00 lvm2 [37.16 GiB / 0 free] Total: 1 [37.16 GiB] / in use: 1 [37.16 GiB] / in no VG: 0 [0 ] casey@vm:~$ sudo losetup -a /dev/loop0: [0801]:1441812 (/home/casey/SVVCO501.img) casey@vm:~$ sudo losetup -f /dev/loop1 casey@vm:~$ sudo kpartx /dev/loop0 loop0p1 : 0 208782 /dev/loop0 63 loop0p2 : 0 20755980 /dev/loop0 208845 casey@vm:~$ sudo kpartx -l /dev/loop0 loop0p1 : 0 208782 /dev/loop0 63 loop0p2 : 0 20755980 /dev/loop0 208845 casey@vm:~$ sudo kpartx -a /dev/loop0 casey@vm:~$ sudo ls /dev/mapper/ VolGroup00-LogVol00 VolGroup00-LogVol01 control loop0p1 loop0p2 casey@vm:~$ sudo umount /mnt/lvm1/ casey@vm:~$ sudo vgchange -an 0 logical volume(s) in volume group "VolGroup00" now active 0 logical volume(s) in volume group "VolGroup00" now active casey@vm:~$ sudo pvscan PV /dev/dm-3 VG VolGroup00 lvm2 [9.88 GiB / 0 free] Total: 1 [9.88 GiB] / in use: 1 [9.88 GiB] / in no VG: 0 [0 ] casey@vm:~$ sudo vgscan Reading all physical volumes. This may take a while... Found volume group "VolGroup00" using metadata type lvm2 casey@vm:~$ sudo vgchange -ay 2 logical volume(s) in volume group "VolGroup00" now active casey@vm:~$ sudo mkdir /mnt/p2 casey@vm:~$ sudo mount /dev/VolGroup00/LogVol00 /mnt/p2 casey@vm:~$ cd /mnt/p2 casey@vm:/mnt/p2$ ls bin dev home lost+found misc net poweroff root selinux sys usr boot etc lib media mnt opt proc sbin srv tmp var casey@vm:/mnt/p2$ ls ./var/www/ .wkyInstaller error/ html/ cgi-bin/ geeklog/ icons/ casey@vm:/mnt/p2$ cd casey@vm:~$ sudo umount /mnt/p2/ casey@vm:~$ sudo vgchange -an 0 logical volume(s) in volume group "VolGroup00" now active casey@vm:~$ sudo kpartx -d /dev/loop0 casey@vm:~$ sudo losetup -d /dev/loop0 casey@vm:~$ sudo losetup -a
上記で諦めたのは以下ができなかったから。たぶんchroot すればよかったのだろう。
casey@vm:/mnt/p2$ sudo vi boot/grub/menu.lst
諦めてqemu でXen img を vmdk に変換
これも前にやった作業なので問題ない。
casey@vm:/mnt/p2$ sudo aptitude install qemu casey@vm:~$ qemu-img convert SVVCO501.img -O vmdk SVVCO501.vmdk
前回よりえらく時間がかかった。マシン性能によるものだと思う。
コメント