これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド virt-sparsify です。
プログラム:
NAME
virt-sparsify - 仮想マシンのディスクをスパースにする
SYNOPSIS
virt-sparsify [--options] indisk outdisk
virt-sparsify [--オプション] --in-place ディスク
警告
ライブ仮想マシン上で「virt-sparsify」を使用するか、他のディスク編集と同時に使用する
ツールは危険であり、ディスクの破損を引き起こす可能性があります。 仮想マシンは
このコマンドを使用する前にシャットダウンしてください。ディスクイメージを同時に編集しないでください。
DESCRIPTION
Virt-sparsify は、仮想マシン ディスク (または任意のディスク イメージ) をスパース化できるツールです
別名シンプロビジョニング。 これは、ディスク イメージ内の空き領域を増やすことができることを意味します。
ホスト上の空き領域に変換されて戻されます。
Virt-sparsify は、ほとんどのファイルシステム (ext2/3/4、btrfs、
NTFS など)、および LVM 物理ボリュームにもあります。
Virt-sparsify は、一部のディスク形式間で変換することもできます。たとえば、生のディスク形式の変換などです。
ディスク イメージをシン プロビジョニングされた qcow2 イメージに変換します。
virt-sparsify は、仮想マシンのディスク イメージだけでなく、任意のディスク イメージ上で動作できます。 しかし
仮想マシンに複数のディスクがあり、ボリューム管理を使用する場合は、virt-sparsify
うまくいきますが、あまり効果的ではありません(http://bugzilla.redhat.com/887826).
重要 注意 わたしたち スパース 出力 IMAGES
入力が生の場合、デフォルトの出力は生のスパースです。 我が国 しなければなりません チェック 出力
サイズ a ツール それ 理解する まばらさ 「du -sh」など。 それは巨大なものを作ることができます
差:
$ ls -lh test1.img
-rw-rw-r--。 1 rjones rjones 100M 8 月 08 日 08:1 testXNUMX.img
$ du -sh test1.img
3.6M test1.img
(見た目の大きさを比較してください) 100M 実際のサイズとの比較 3.6M)
重要 制限
· 仮想マシン しなければなりません be シャット ダウン このツールを使用する前に。
· Virt-sparsify では、ソース ディスク イメージの最大 2 倍の仮想サイズ (1
一時コピー + 1 つの宛先イメージ)。 これは最悪の場合であり、通常は
必要なスペースが少なくなります。
あなたが - 所定の位置に オプションを選択すると、大量の一時スペースが確保されます。
必要。
· Virt-sparsify はディスク イメージのサイズを変更できません。 これを行うには、次を使用します virt-サイズ変更とします。
· Virt-sparsify は暗号化されたディスクを処理できません。 Libguestfs は暗号化されたディスクをサポートしていますが、
暗号化されたディスク自体をスパース化することはできません。
· Virt-sparsify はまだパーティション間のスペースをスパース化できません。 このスペースに注意してください
ブートローダーなどの重要なアイテムに使用されることが多いため、実際には使用されていません。
· コピー モードでは、qcow2 内部スナップショットは宛先イメージにコピーされません。
関連ツールのマニュアル ページもお読みください。 virt-ファイルシステム(1)
と virt-df(1) 始める前に。
例
一般的な使用法は次のとおりです。
virt-sparsify indisk outdisk
これにより、「indisk」が「outdisk」にコピーされ、出力がスパースになります。 「outdisk」が作成される、または
既に存在する場合は上書きされます。 入力ディスクのフォーマットが検出されます (例: qcow2)
出力ディスクにも同じフォーマットが使用されます。
形式間で変換するには、 - 変換 オプション:
virt-sparsify ディスク.raw --convert qcow2 ディスク.qcow2
Virt-sparsify は、見つかったすべてのファイルシステムの空き領域をゼロにしてスパース化しようとします。
ソースディスクイメージ。 特定の領域を無視する(空き領域をゼロにしない)ようにすることができます。
次のようにしてファイルシステムを削除します。
virt-sparsify --ignore /dev/sda1 indisk outdisk
見る virt-ファイルシステム(1) ディスクイメージ内のファイルシステムのリストを取得します。
virt-sparsify ≥ 1.26 以降、次のようにしてディスク イメージを所定の場所でスパース化できるようになりました。
virt-sparsify --in-place disk.img
OPTIONS
- 助けて
ヘルプを表示します。
--check-tmpdir 無視する
--check-tmpdir 続ける
--check-tmpdir 警告する
--check-tmpdir 失敗する
「TMPDIR」かどうかを確認します。 --tmp ディレクトリには操作を完了するのに十分なスペースがあります。 これ
は単なる推定値です。
チェックで問題が示された場合は、次のいずれかを行うことができます。
· 無視する それ、
· 警告を出力し、 続ける,
· 警告する ユーザーが Return キーを押すまで待ちます (これがデフォルトです)、または:
· 失敗する 終了します。
このオプションは使用できません。 - 所定の位置に 一緒に。
-圧縮
出力ファイルを圧縮します。 これ の 出力形式が「qcow2」の場合に機能します。
このオプションは使用できません。 - 所定の位置に 一緒に。
- 変換 生
- 変換 qcow2
- 変換 【その他の形式】
出力先画像の形式として「output-format」を使用します。 そうでない場合
指定すると、入力形式が使用されます。
サポートされ、動作することが確認されている出力形式は、「raw」、「qcow2」、「vdi」です。
でサポートされている任意の形式も使用できます。 qemu-img(1) プログラム。 「vmdk」ですが、
他の形式のサポートは qemu に依存しています。
の指定 - 変換 オプションは通常良い考えです。
入力形式を推測する必要はありません。
出力形式の微調整については、次を参照してください。 -圧縮, -o.
このオプションは使用できません。 - 所定の位置に 一緒に。
--debug-gc
ガベージコレクションとメモリ割り当てをデバッグします。 これは、デバッグ時にのみ役立ちます
virt-sparsify または OCaml libguestfs バインディングのメモリの問題。
- フォーマット 生
- フォーマット qcow2
入力ディスクイメージの形式を指定します。 このフラグが指定されていない場合は、
画像自体から自動検出されます。
信頼できないraw形式のゲストディスクイメージを使用する場合は、形式を確認する必要があります
常に指定されます。
- 無視 ファイルシステム
- 無視 ボリュームグループ
指定されたファイルシステムを無視します。
使用しないときは - 所定の位置に: ファイルシステム上の空き領域はゼロになりませんが、
既存のゼロのブロックは引き続きスパース化されます。
使用時 - 所定の位置に、ファイルシステムは完全に無視されます。
XNUMX 番目の形式では、指定されたボリューム グループは無視されます。 ボリューム グループ名を使用する
なしで / dev / プレフィックス、例: - 無視 vg_foo
このオプションは複数回指定できます。
- 所定の位置に
スパース化をコピーするのではなく、インプレースでスパース化を実行します。 「インプレイス」を参照してください。
スパーシフィケーション」以下。
-機械可読
このオプションは、によって解析されるときに出力をよりマシンフレンドリーにするために使用されます
他のプログラム。 以下の「機械可読出力」を参照してください。
-o オプション[,オプション,...]
合格 -o のオプション qemu-img(1) 出力形式を微調整するコマンド。 オプション
利用可能なものは出力形式に応じて異なります (「 - 変換) およびインストールされている
qemu-img プログラム。
あなたが使うべきです -o せいぜいXNUMX回。 複数のオプションを渡すには、それらをコンマで区切ります。
例えば:
virt-sparsify --convert qcow2 \
-o クラスターサイズ=512、事前割り当て=メタデータ ...
このオプションは使用できません。 - 所定の位置に 一緒に。
-q
- 静かな
これにより、進行状況バーやその他の不要な出力が無効になります。
--tmp ブロックデバイス
--tmp DIR
コピー モードの場合のみ、指定されたデバイスまたはディレクトリをファイルの場所として使用します。
一時的なオーバーレイ (以下の「TMPDIR」も参照)。
指定されたパラメータがブロックデバイスの場合、ブロックデバイスは次のように書き込まれます。
直接。 注意 この 消す 既存の 中身 of コロナ新型ウィルス(COVID-XNUMX)やメンタルヘルスの崩壊を避ける為の デバイス.
パラメータがディレクトリの場合、これは「TMPDIR」を設定するのと同じです。
環境変数。
このオプションは使用できません。 - 所定の位置に 一緒に。
--tmp 事前構築済み:ファイル
コピーモードのみ、特殊なオプション --tmp 事前構築済み:ファイル (「事前構築済み:」は
リテラル文字列) を指定すると、virt-sparsify は qcow2 "ファイル" を一時スペースとして使用します。
・ ファイル しなければなりません indisk をバッキング ファイルとして、qcow2 として新たにフォーマットする必要があります。
· virt-sparsify を再実行すると、 しなければなりません 実行するたびにファイルを再作成します。
· Virt-sparsify はファイルを削除しません。
このオプションは、特別にフォーマットされた一時ファイルを必要とする oVirt によって使用されます。
-v
-詳細
デバッグ用の詳細メッセージを有効にします。
-V
- バージョン
バージョン番号を表示して終了します。
-x libguestfsAPI呼び出しのトレースを有効にします。
- 零 パーティション
- 零 ログボリューム
ゲスト内の指定されたパーティションまたは論理ボリュームの内容をゼロにします。 すべてのデータ
デバイスは紛失しましたが、スパース化は優れています。 このオプションを与えることができます
複数回。
所定の位置に スパース化
virt-sparsify ≥ 1.26 なので、このツールは (代わりに) インプレース スパース化を実行できます。
入力ディスクから出力ディスクへのコピー)。 これはより効率的です。 できません
スパース化をコピーするのと同じくらい多くのスペースを回復します。
このモードを使用するには、その場で変更されるディスク イメージを指定します。
virt-sparsify --in-place disk.img
一部のオプションは、このモードと互換性がありません: - 変換, -圧縮 と -o なぜなら彼ら
ディスクフォーマットの大規模な変更が必要。 --check-tmpdir 一時的に大量の
スペースは必要ありません。
インプレースのスパース化は、破棄 (別名トリムまたはアンマップ) サポートを使用して機能します。
機械 読みやすい 出力
この -機械可読 オプションを使用して、出力をよりマシンフレンドリーにすることができます。
他のプログラムや GUI などから virt-sparsify を呼び出すときに便利です。
このオプションを使用するにはXNUMXつの方法があります。
まず、このオプションを単独で使用して、virt-sparsify バイナリの機能をクエリします。
一般的な出力は次のようになります。
$ virt-sparsify --machine-readable
仮想スパース化
NTFS
BTRFS
機能のリストが0行にXNUMXつずつ印刷され、プログラムはステータスXNUMXで終了します。
次に、このオプションを他のオプションと組み合わせて使用して、通常のプログラムを作成します
より機械に優しい出力。
現時点では、これは次のことを意味します。
1.プログレスバーメッセージは、この定期的なメッセージを探すことでstdoutから解析できます
式:
^ [0-9] + / [0-9] + $
2.呼び出し側プログラムは、stdoutに送信されたメッセージを処理する必要があります(プログレスバーを除く)
メッセージ)ステータスメッセージとして。 ログに記録したり、ユーザーに表示したりできます。
3.呼び出し側プログラムは、stderrに送信されたメッセージをエラーメッセージとして処理する必要があります。 の
さらに、致命的なエラーが発生した場合、virt-sparsify はゼロ以外のステータス コードで終了します。
virt-sparsify のすべてのバージョンは、 -機械可読 オプションを選択します。
WINDOWS 8
Windows 8 の「高速スタートアップ」により、virt-sparsify が動作しなくなる可能性があります。 「Windows 休止状態」を参照してください。
および Windows 8 高速スタートアップ」 ゲストとします。
ENVIRONMENT 変数
TMPDIR
潜在的に大きい一時オーバーレイに使用される一時ディレクトリの場所
ファイルにソフトウェアを指定する必要があります。
virt-sparsify ≥ 1.28 では、次のコマンドを使用してこの環境変数をオーバーライドできます。 --tmp
オプションを選択します。
最悪の場合に備えて、ファイルの完全なコピーを保存できる十分な空き領域があることを確認する必要があります。
ソースディスク (バーチャル サイズ)、または $TMPDIR を、次のサイズの別のディレクトリを指すように設定します。
十分なスペース。
これはデフォルトで / tmpに.
$TMPDIR が tmpfs である場合 (例: / tmpに tmpfs 上にある、または使用している場合
"TMPDIR=/ dev / shm")、tmpfs のデフォルトの最大サイズは次のとおりです。 ハーフ 物理RAMの。 もしも
virt-sparsify がこれを超えるとハングします。 解決策は、実ディスクを使用するか、
または、tmpfs マウントポイントの最大サイズを増やすには、次のようにします。
マウント -o 再マウント、サイズ = 10G / tmpに
あなたが - 所定の位置に オプションを選択すると、大量の一時スペースが確保されます。
必要。
その他の環境変数については、の「環境変数」を参照してください。 ゲストとします。
EXIT ステータス
操作がエラーなく完了した場合、このプログラムは 0 を返します。 (これは違います
必然的に、スペースが解放される可能性があることを意味します。)
ゼロ以外の終了コードはエラーを示します。
終了コードが 3 で、 - 所定の位置に オプションが使用されました。これは、破棄することを示します
libguestfs ではサポートが利用できないため、代わりにコピー モードを使用する必要があります。
onworks.net サービスを使用してオンラインで virt-sparsify を使用する