Saya memiliki ruang disk bebas 200 GB, RAM 16 GB (yang ~ 1 GB ditempati oleh desktop dan kernel) dan 6 GB swap.
Saya memiliki SSD eksternal 240 GB, dengan 70 GB digunakan 1 dan sisanya gratis, yang saya perlukan untuk mencadangkan ke disk saya.
Biasanya, saya akan dd if=/dev/sdb of=Desktop/disk.img
disk terlebih dahulu, dan kemudian kompres, tetapi membuat gambar pertama bukanlah pilihan karena melakukan hal itu akan memerlukan ruang disk jauh lebih banyak daripada yang saya miliki, meskipun langkah kompresi akan menghasilkan ruang kosong yang tergencet sehingga arsip terakhir dapat dengan mudah masuk ke disk saya.
dd
menulis ke STDOUT secara default, dan gzip
dapat membaca dari STDIN, jadi secara teori saya dapat menulis dd if=/dev/sdb | gzip -9 -
, tetapi gzip
secara signifikan membutuhkan waktu lebih lama untuk membaca byte daripada dd
menghasilkannya.
Dari man pipe
:
Data yang ditulis ke ujung tulis pipa disangga oleh kernel sampai dibaca dari ujung baca pipa.
Saya memvisualisasikan a |
sebagai seperti pipa nyata - satu aplikasi mendorong data masuk dan yang lainnya mengambil data dari antrian pipa secepat mungkin.
Bagaimana ketika program di sisi kiri menulis lebih banyak data lebih cepat daripada sisi lain dari pipa yang bisa memprosesnya? Apakah akan menyebabkan penggunaan memori atau swap yang ekstrem, atau akankah kernel mencoba membuat FIFO pada disk, sehingga mengisi disk? Atau akankah hanya gagal SIGPIPE Broken pipe
jika buffer terlalu besar?
Pada dasarnya, ini bermuara pada dua pertanyaan:
- Apa implikasi dan hasil dari mendorong lebih banyak data ke dalam pipa daripada dibaca pada suatu waktu?
- Apa cara andal untuk mengompres datastream ke disk tanpa meletakkan seluruh datastream yang tidak terkompresi pada disk?
Catatan 1: Saya tidak bisa hanya menyalin persis 70 GB yang digunakan pertama dan berharap untuk mendapatkan sistem kerja atau sistem file, karena fragmentasi dan hal-hal lain yang akan membutuhkan konten lengkap untuk utuh.
lzop
alih-alih gzip
; itu kompres lebih cepat dengan hanya rasio kompresi yang sedikit lebih rendah. Saya merasa ideal untuk gambar disk di mana kecepatan kompresi dapat menjadi hambatan nyata.