GNU/Linux >> Belajar Linux >  >> Linux

Wadah dengan kompresi bawaan, yang menyesuaikan ukurannya secara otomatis

@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).

  1. Buat file jarang kosong dengan ukuran berapa pun. Biarlah 5 terabyte:

     [email protected]:~$ truncate -s 5T ext4.sparse btrfs.sparse
    
  2. 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
  1. Buat titik pemasangan:

     [email protected]:~$ mkdir ext4_mount btrfs_mount
    
  2. 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
  1. 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
  1. 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
  1. 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
    
  2. 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


Linux
  1. Perangkat Lunak Kompresi File Manakah Untuk Linux yang Menawarkan Pengurangan Ukuran Tertinggi??

  2. Bagaimana Menggandakan File Tanpa Menyalin Datanya Dengan Btrfs?

  3. Bagaimana Cara Menggunakan Btrfs Dengan Kompresi Pada Hard Drive Usb Eksternal?

  1. Perintah mana di Linux [Dijelaskan dengan Contoh]

  2. Sesuaikan kecerahan layar secara otomatis di malam hari

  3. Kompres file zip dengan kompresi lebih tinggi

  1. Mempercepat pembuatan gambar container dengan Buildah

  2. Bisakah Anda Menggunakan Jangkar ^ $ Dengan Ls?

  3. OS mana yang berjalan di wadah Docker saya?