@Tetsujin memberi saya arah yang benar, OS X
sparse
bundel/gambar memiliki analog di Linux dan ini adalah file yang jarang.
File jarang bertambah seiring dengan bertambahnya data di dalamnya. Mereka dapat berisi sistem file Linux apa pun, termasuk varian modern apa pun dengan kompresi bawaan, seperti btrfs.
Berikut ini menunjukkan cara membuat gambar btrf terkompresi jarang. btrfs dukungan di Debian dan turunannya (seperti Ubuntu) dapat diaktifkan dengan menginstal btrfs-tools paket (sudo apt-get install btrfs-tools
). Saya telah menambahkan ext4 gambar juga untuk membandingkan kecepatan dan ukuran. Semua operasi dilakukan pada Debian 7.8 Wheezy (stabil sejak 30 April 2015).
-
Buat file jarang kosong dengan ukuran berapa pun. Biarlah 5 terabyte:
[email protected]:~$ truncate -s 5T ext4.sparse btrfs.sparse
-
Format mereka
ke ext4 :
[email protected]:~$ mkfs.ext4 ext4.sparse
mke2fs 1.42.5 (29-Jul-2012)
<...>
Allocating group tables: done
Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done
ke btrfs :
[email protected]:~$ mkfs.btrfs btrfs.sparse
WARNING! - Btrfs Btrfs v0.19 IS EXPERIMENTAL
WARNING! - see http://btrfs.wiki.kernel.org before using
fs created label (null) on btrfs.sparse
nodesize 4096 leafsize 4096 sectorsize 4096 size 5.00TB
Btrfs Btrfs v0.19
-
Buat titik pemasangan:
[email protected]:~$ mkdir ext4_mount btrfs_mount
-
Pasang mereka. Jangan lupa
loop
opsi:
ext4 :
[email protected]:~$ sudo mount -o loop -t ext4 ext4.sparse ext4_mount
btrfs (jangan lupa compress
pilihan (bisa zlib
atau lzo
)):
[email protected]:~$ sudo mount -o loop,compress=lzo -t btrfs btrfs.sparse btrfs_mount
- Itu dia! Sistem file dibuat dan dipasang, tampak sebesar 5 TB untuk OS, tetapi sebenarnya menempati ruang yang sangat kecil:
df :
[email protected]:~$ df -h | grep _mount
/dev/loop0 5.0T 189M 4.8T 1% /home/a/ext4_mount
/dev/loop1 5.0T 120K 5.0T 1% /home/a/btrfs_mount
kamu :
[email protected]:~$ du -h *.sparse
4.3M btrfs.sparse
169M ext4.sparse
- Untuk tujuan pengujian, saya telah membuat file teks besar berukuran 1,3 GB dengan pola berulang. Ini akan menjadi
cp
'd ke kedua sistem file yang baru dibuat:
ext4 :
[email protected]:~$ time sudo cp /store/share/bigtextfile ext4_mount/
real 0m12.344s
user 0m0.008s
sys 0m1.708s
btrfs :
[email protected]:~$ time sudo cp /store/share/bigtextfile btrfs_mount/
real 0m3.714s
user 0m0.016s
sys 0m1.204s
-
Seperti yang telah terlihat pada langkah sebelumnya, btrfs terbukti jauh lebih cepat selama transfer data yang sangat kompresibel, dibandingkan dengan ext4 yang bagus . Mari kita periksa ukuran sistem file sesudahnya:
[email protected]:~$ df -h | grep _mount /dev/loop0 5.0T 1.5G 4.8T 1% /home/a/ext4_mount /dev/loop1 5.0T 46M 5.0T 1% /home/a/btrfs_mount
-
btrfs terbukti jauh lebih hemat ruang. Terakhir, mari kita periksa juga ukuran file yang jarang:
[email protected]:~$ du -h *.sparse 50M btrfs.sparse 1.4G ext4.sparse
Itu dia. Jika diperlukan, file jarang dapat diperbesar lagi. btrfs juga dapat diubah ukurannya secara online.
Solusi keren untuk rsync
reguler backup. Tapi jangan lupa untuk mencadangkan file-file ini secara tradisional juga, sejak btrfs
masih merupakan sistem file eksperimental .
Info lebih lanjut tentang Arch Wiki:https://wiki.archlinux.org/index.php/Sparse_file dan https://wiki.archlinux.org/index.php/Btrfs