私はフルディスクイメージで作業をたくさんしていますが、パフォーマンスの悪いノートブックでディスクイメージ全体を読み書きするためにUSB-3ディスクを一時メディアとして使用する必要があることがよくあります。
元の画像をコピーするのはおそらく最速の方法です。ただし、限られた利用可能な記憶領域を処理する必要があります。
私にとって必要なのは、高スループットと低CPU使用率です。圧縮率は私にとってそれほど重要ではありません。
私は生成された画像を非常に少し圧縮できるツールが欲しいです。デフォルトでは、ディスクの空き領域をエンコードして、有用なデータのみを保存できるようにしながら、できるだけ早く作成できます。うまくいけば、オリジナルとほぼ同じですdd
。
圧縮速度を上げるために複数のCPUコアを使用できるため、使用を選択しpxz -1
ました。しかし、これは私が望むほど太く見えません。
500GBのディスクイメージを圧縮するには21時間かかることが予想されます。
mint Backup # dd if=/dev/sda bs=100M | pv -ptera -s500G | pxz -1 > Lenovo-Win8-sda.dd.xz
0:09:21 [9.26MiB/s] [6.54MiB/s] [> ] 0% ETA 21:34:46
圧縮せずに完了するのに3時間かかることが予想されます。
mint Backup # dd if=/dev/sda bs=100M | pv -ptera -s500G > Lenovo-Win8-sda.dd
0:00:20 [80.2MiB/s] [49.8MiB/s] [> ] 0% ETA 2:50:20
圧縮を使用すると、15時間ETAを使用するよりも少し速くlbzip2 -1
見えますが、まだ遅いです。pxz -1
mint Backup # dd if=/dev/sda bs=100M | pv -ptera -s500G | lbzip2 -1 > Lenovo-Win8-sda.dd.bz2
0:00:22 [9.07MiB/s] [9.76MiB/s] [> ] 0% ETA 14:33:38
Linux用の高速圧縮ツールはありますか?
答え1
LZ4
apt install liblz4-tool
lz4
次に、コマンドを使用してlz4 -d
。
デフォルトは最速圧縮モードです。
USB 3.0を介して内部ハードドライブから外部ドライブに500 GBのデータを転送するのにかかる予想時間は2〜3時間です。
mint Backup # dd if=/dev/sda bs=100M | pv -ptera -s500G | lz4 > Lenovo-Win8-sda.dd.lz4
0:02:47 [97.5MiB/s] [58.1MiB/s] [> ] 1% ETA 2:24:11
答え2
したがって、これは絶対に高速ではありませんが(LZ4、LZOP、およびSnappyよりも遅い)、使用するのに十分速く、次のようになります。方法LZ4よりも比率が優れています(少ないデータを送信すると時間も節約されます)。
Z規格
公式ウェブサイト:https://facebook.github.io/zstd/
Debian パッケージが呼び出されます。zstd
LZ4とは異なり、マルチスレッド(圧縮および解凍用)であり、最も低い圧縮設定ではUSB 3.0リンクを簡単に飽和させることができます(LZ4を使用したテストでこれを行った可能性があります)。 Gzip。
答え3
これはまるでXYの問題。一般的な圧縮ツールは、未使用領域が空であることを保証できないため、ディスクイメージに対して正しく機能しない可能性があります。 (もちろん、ファイルシステムで使用されていないスペースを取り除く方法があります。)
ファイルシステムの形式を理解し、使用されている部分のみをバックアップするrsync、Clonezilla、Time Machine、Duplicity、dump
または)などのバックアップツールを使用することをお勧めします。tar
バラよりこの問題それらのいくつかについて議論してください。このアプローチの利点は、バックアップを異なるサイズのディスクに復元する方が簡単になることです。
答え4
私は使うクローン属BIOSモードの起動セクタを含むドライブヘッダ、パーティションテーブルなどを含む、ドライブ全体の複製コピーまたは圧縮イメージを作成できます。
Clonezillaイメージは、大容量ファイルが圧縮された多くのファイルを含むディレクトリであり、Clonezillaはこれらのイメージをまったく同じまたはより大きいサイズのドライブ(より小さいドライブではない)に復元できます。これらのドライブは元のドライブ(起動可能など)のように動作します。ドライブが大きく、パーティションテーブルがGPTの場合は、ドライブの最後にバックアップパーティションテーブルを手動で復元する必要があります。gdisk
ドライブが大きく、パーティションテーブルがGPTの場合は、スクリプトを使用する必要があります。GPT修理。
Clonezillaは、使用されているブロックを認識し、ファイルシステムで利用可能なブロックをスキップできるほどスマートです(複数のLinuxファイルシステムとMicrosoftファイルシステムで使用したことがあり、動作しますpartclone
)。したがって、使用可能なブロックの割合が適切であれば、「生」の複製および圧縮よりもはるかに高速です(空き領域をゼロにするに関係なく)。
エンドユーザーClonezillaなしで高い圧縮率と非常に柔軟な使用が必要な場合は、空き容量を0にしてパイプを介してdd
ファイルをxz
インポートしてくださいimg.xz
。ただし、このプロセスは非常に遅く、現状には適していません。