LinuCレベル3 プラットフォームスペシャリスト 仮想化基盤の構築 問25
仮想化基盤の構築/仮想ディスクとQEMUの操作配布用のテンプレートとして、既存のqcow2イメージ tmpl.qcow2 から、データ部分を圧縮してファイルサイズを小さくした新しいqcow2イメージ dist.qcow2 を作りたい。コマンドとして適切なものはどれか。
当サイトのオリジナル問題(LinuCレベル3 プラットフォームスペシャリストの出題範囲「仮想化基盤の構築」に対応。実際の試験問題ではありません)
- Aqemu-img convert -c -O qcow2 tmpl.qcow2 dist.qcow2
- Bqemu-img resize --shrink tmpl.qcow2 -10G
- Cqemu-img amend -f qcow2 -o compat=1.1 tmpl.qcow2
- Dqemu-img commit tmpl.qcow2
正解:A
解説
qemu-img convert は、ディスクイメージを別のファイルへ書き出す(形式を変換する)コマンドで、-c を付けると出力先のデータを圧縮して書き込みます。圧縮に対応するのはqcow2等の形式で、-O で出力形式を指定します。圧縮されたクラスタは読み込み時に展開されますが、ゲストがその領域へ書き込むと圧縮されていない形で書かれるため、配布用やアーカイブ用のイメージに向いた方法です。変換の過程で未使用の領域も書き出されないため、元のイメージより小さくなりやすいのも特徴です。
選択肢ごとの解説
- A正しい。convertの-cで出力先を圧縮し、-O qcow2で出力形式を指定して新しいイメージを作れます。
- B誤り。resizeはイメージの仮想サイズを変更するサブコマンドで、--shrinkは縮小を許可する指定です。圧縮した別ファイルは作りません。
- C誤り。amendは既存イメージの形式固有のオプション(互換性のバージョン等)をその場で変更するだけで、データを圧縮した別ファイルは作りません。
- D誤り。commitはオーバーレイイメージの変更内容をバッキングファイルへ書き戻すサブコマンドで、圧縮とは関係ありません。