« | »

2016.09.02

recovery your lost files from .img of Sakura-Cloud archives

さくらのクラウドのアーカイブから復旧したいファイルを抽出する方法

さくらのクラウドでは、サーバにしているディスクをアーカイブすることによって、サーバを丸ごとバックアップすることができる(アーカイブ作成時点で料金発生)。
また、アーカイブはFTPを使って.imgファイルとしてローカルに保存できる。

誤ってファイルを消してしまった場合などに、このアーカイブからファイルを抽出する方法。

    必要な環境

  • ローカルにダウンロードしたさくらのクラウドのアーカイブ(.imgファイル)
  • VMware Workstation PlayerとLinux仮想マシン
  • ホストOSに十分なディスク空き容量(VMware上のLinux仮想マシンのイメージ+アーカイブの.imgファイル×2くらい)

まず、VMware上のLinux仮想マシンで.imgファイルを参照したいので、Linux仮想マシンとホストOS間に共有ディレクトリを作成する。
仮想マシン設定 > オプション > 共有フォルダで設定後、仮想マシン内にVMware Toolsをインストールする。
(VMwareの共有ディレクトリは、OSやバージョンによっては上手く動かないので、別の方法で.imgファイルをアップロードしても構わない)

Linux仮想マシンを起動して、.imgを参照できる状態にする。
共有ディレクトリを使った場合は、/mnt/hgfs/dirNAME などにホストOSのディレクトリがマウントされている。
# cd /mnt/hgfs/dirNAME

.imgファイルをVMwareの仮想ディスク(.vmdk)に変換して、仮想マシン上から内容を参照できるようにする。
このとき.vmdkの作成に大きめのディスク容量を使用するので、ホストOSに十分なディスク空き容量が必要になる。
# qemu-img convert -f raw -O vmdk ./archive.img ./archive.vmdk

.vmdkファイルが作成できたら、仮想マシンをシャットダウンし、仮想マシンに仮想ディスクとして.vmdkを追加する。
仮想マシン > 設定ハードウェア
ハードウェア追加ウィザード > ハードディスク > SCSI > 既存の仮想ディスクを使用
作成した.vmdkファイルを選択して完了

再度、仮想マシンを起動して、追加した仮想ディスクを参照する。
/media 以下にマウントされている。

抽出したいファイルを共有ディレクトリにコピーするなり、SCPで元のサーバに送るなりして復旧する。