Mazn.net

やってみて 調べてみて 苦労しなけりゃ 箱は動かじ

ディスクイメージをデバイスファイルとして扱う@CentOS5.4 + Xen

      2015/04/30

※ 2015/4/30追記 : mountオプションで直接マウントする方法を書きました

Xenの仮想マシンのディスクは、パーティションやファイルを使用できますが、これらのパーティションやファイルを、仮想マシンを起動せずに中身を覗きたい場合があります。こういうときは、パーティションやファイルをLinuxのデバイスファイルとして扱ってあげることで、ディスクイメージをマウントすることができます。

デバイスファイルにするには、losetupコマンド、さらに作ったデバイスファイルをディスクと見立ててパーティションを読み取るのがkpartxコマンドです。

まずはlosetupコマンドで、パーティションやファイルをループバックデバイスとして設定していきます。ループバックデバイスは/dev/loop0や/dev/loop1などですが、使われていないループバックデバイスを探します。

# losetup -f
/dev/loop1

ディスクイメージを/dev/loop1にマッピングします。ここではファイルを指定していますが、パーティションでもOKです。

# losetup /dev/loop1 /root/xen.img

設定できたかを確認します。下の例ではloop1にxen.imgが設定されています。

# losetup -a
/dev/loop0: [0803]:41058319 (/root/cent5.4.iso)
/dev/loop1: [0803]:42238103 (/root/xen.img)

これで/dev/loop1は、通常のディスクでいう/dev/hdaなどに相当します。しかし実際のディスクの場合、パーティションをつくると、/dev/hda1とか/dev/hda2とかいった風に番号がついていきますが、losetupだけではこれらのパーティション毎のデバイスファイルが作られません。そこで使用するのがkpartxコマンドです。

kpartxでloop1上のパーティションを見てみます。ここでは3っつのパーティションを確認できます。

# kpartx -l /dev/loop1 
loop1p1 : 0 208782 /dev/loop1 63
loop1p2 : 0 4192965 /dev/loop1 208845
loop1p3 : 0 20980890 /dev/loop1 4401810

パーティションテーブルから、パーティションのデバイスファイルを作成します。

# kpartx -a /dev/loop1

確認します。/dev/mapperやfdiskコマンドで確認します。

# ls /dev/mapper/
# fdisk -lu /dev/loop1 
~省略~
/dev/loop1p1   *          63      208844      104391   83  Linux
/dev/loop1p2          208845     4401809     2096482+  82  Linux swap / Solaris
/dev/loop1p3         4401810    25382699    10490445   83  Linux

ext3フォーマットのパーティションなどはそのままマウント可能です。

# mount /dev/mapper/loop1p3 /mnt/tmp

元に戻すには、アンマウント後、以下のようにコマンドを実行するだけです。

# umount /mnt/tmp
# kpartx -d /dev/loop1
# losetup -d /dev/loop1

 - IT技術 , ,

336px

Message

メールアドレスが公開されることはありません。

  関連記事

no image
Googleの検索ツールが出てこない@Firefox

最近(2012年11月現在)、Googleの検索結果の表示が変更されて、検索ツー …

no image
ddコマンドと圧縮・展開@CentOS 5

dd コマンドの便利な使い方のあれこれです。 通常ddコマンドは、if, ofの …

no image
TCP Wrapper の設定チェック@Linux

昔からあるアクセス制限の方法として、TCP Wrapperがあります。 /etc …

no image
VMware 2.0 を専用クライアントで使う (msiからファイルの抽出)

VMware 2.0 は基本的にWebインタフェースしか使えないと思っていました …

no image
Windows 10のスタートメニュー整理

Windows 7では、スタートメニューのフォルダを右クリックしてフォルダを開く …

no image
Git 最低限の設定@CentOS 5

分散型バージョン管理システムgit をCentOS 5上で使ってみた。 まずCe …

no image
adblock plusで正規表現を使う@Firefox

広告削除ツールとして有名なFirefoxアドオンのaddblock plusで正 …

no image
マネージドBeanのスレッドセーフについて

サーブレットは、web.xmlのservlet要素毎にひとつつくられるため、複数 …

uvtoolで簡単にクラウドイメージ取得・起動@Ubuntu 14.04 LTS

Ubuntuのサイトにいろいろとクラウド用のイメージがありますが、uvtoolと …

no image
Sony BRAVIAに対応したDLNAサーバ

Sony の液晶テレビBRAVIAのF1を購入して1年近くたちますが、購入当初は …