2012/3/6追記: sparseイメージのvndで作ったファイルシステム に大量にファイル書き込みするとハングアップするなあ。でも、sparseなvndを dom_Uで使っている分には順調に使える感じだ。
2012/4/9追記: sys/dev/vnd.c 1.220 で直ったようだ。
Linux on Xen では前からできていたことだが、NetBSDでは sparse(穴開き)ファイルをvndイメージにできなかった。既に5.1_STABLEで sparseファイルが扱えるようになったので、でっかいイメージファイルを 気楽に作りまくり。
dd if=/dev/zero of=domU.img seek=10239 bs=1m count=1
これで10GBのsparse fileができる。sparse fileの見かけ容量は ls で、 実容量は du で確認できる。
ls -lFh domU.img -rw-r--r-- 1 yuuji wheel 10G Mar 4 22:04 domU.img du -sh domU.img 1.0M domU.img
このイメージにNetBSD/XEN3PAE_DOMU 6.0_BETAをインストールすると だいたいこんな感じ。
du -sh domU.img
845M domU.img
さて、sparseなディスクイメージファイルをsparse なままコピーするにはどうしたらよいか。BSD tar を使うか dd に conv=sparse オプションを指定するかどちらかで。dd の場合はこう。
dd if=domU.img of=clone.img conv=sparse
sparseファイルでファイルシステムを構築すると利用効率いいねぇ。