GNU/Linux >> Belajar Linux >  >> Cent OS

Cara Membuat dan Memasang Snapshot Btrfs

Btrfs adalah sistem file open-source, tujuan umum untuk Linux. Nama berasal dari penggunaan B-pohon untuk menyimpan struktur sistem file internal. Nama yang berbeda digunakan untuk sistem file, termasuk "Butter F S" dan "B-tree F S." Pengembangan Btrfs dimulai di Oracle pada tahun 2007, dan sekarang sejumlah perusahaan (termasuk Red Hat, Fujitsu, Intel, SUSE, dan banyak lainnya) berkontribusi dalam upaya pengembangan. Btrfs disertakan dalam kernel Linux arus utama.

Snapshot Btrfs

Subvolume Btrfs dapat di-snapshot dan dikloning, yang menciptakan pohon-B tambahan. Cuplikan dimulai sebagai salinan subvolume yang diambil pada suatu titik waktu. Anda dapat membuat snapshot dapat ditulis dan menggunakannya sebagai klon yang berkembang dari subvolume asli. Atau Anda dapat menggunakan snapshot sebagai gambar stabil dari subvolume untuk tujuan pencadangan atau untuk migrasi ke sistem lain. Snapshot dapat dibuat dengan cepat dan pada awalnya hanya menggunakan sedikit ruang disk.

Gunakan perintah snapshot subvolume btrfs untuk membuat snapshot subvolume yang dapat ditulis/dibaca. Contoh berikut membuat snapshot dari subvolume SV1:

# btrfs subvolume snapshot /btrfs/SV1 /btrfs/SV1/SV1-snap
Create a snapshot of '/btrfs/SV1' in '/btrfs/SV1/SV1-snap'

Gunakan cuplikan subvolume btrfs -r opsi untuk membuat snapshot hanya-baca:

# btrfs subvolume snapshot -r /btrfs/SV1 /btrfs/SV1-rosnap
Create a readonly snapshot of '/btrfs/SV1' in '/btrfs/SV1-rosnap'

Snapshot muncul sebagai direktori biasa ketika perintah ls digunakan. Snapshots juga muncul di output dari perintah daftar subvolume btrfs.

# btrfs subvolume list /btrfs
ID 257 gen 10 top level 5 path SV1
ID 258 gen 9 top level 257 path SV1/SV1-snap
ID 259 gen 10 top level 5 path SV1-rosnap

Mengambil Cuplikan File

Anda dapat menggunakan “cp –reflink Perintah ” untuk mengambil snapshot dari sebuah file. Dengan opsi ini, sistem file tidak membuat tautan baru yang menunjuk ke inode yang ada, tetapi membuat inode baru yang berbagi blok disk yang sama dengan salinan aslinya. File baru tampaknya merupakan salinan dari file asli tetapi blok data tidak diduplikasi. Hal ini memungkinkan salinan menjadi hampir seketika dan juga menghemat ruang disk. Saat konten file menyimpang dari waktu ke waktu, jumlah penyimpanan yang diperlukan bertambah. Salah satu batasannya adalah bahwa operasi ini hanya dapat bekerja dalam batas-batas sistem file yang sama dan dalam subvolume yang sama.

Contoh berikut menyalin file dengan menggunakan perintah cp –reflink. Ruang yang digunakan diberikan sebelum dan sesudah operasi penyalinan. Perhatikan bahwa ruang yang digunakan tidak bertambah.

# df -hP /btrfs
Filesystem       Size  Used   Avail  Use%   Mounted on
/dev/sda         10G   23M    8.0G    1%    /btrfs
# cp --reflink /btrfs/SV1/vmlinuz-3.10.0-693.17.1.el7.x86_64 /btrfs/SV1/copy_of_vmlinuz
# df -h /btrfs
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda         10G   23M  8.0G   1% /btrfs

Memasang Subvolume atau Cuplikan

Secara default, Linux me-mount volume Btrfs induk, yang memiliki ID 0. Dalam contoh ini, perintah mount berikut dikeluarkan sebelum membuat subvolume dan snapshot:

# mount /dev/sdb /btrfs

Subvolume SV1 dibuat di /btrfs. Perintah ls menunjukkan subvolume:

# ls -l /btrfs
total 0
drwxr-xr-x. 1 root root 84 Mar 29 11:01 SV1

Contoh berikut menyalin file ke SV1, membuat snapshot SV1, dan memverifikasi bahwa subvolume dan snapshot berisi file yang sama:

# cp -p /boot/vmlinuz-3.10.0-693.17.1.el7.x86_64 /btrfs/SV1
# btrfs sub snapshot /btrfs/SV1 /btrfs/SV1-snap
Create a snapshot of '/btrfs/SV1' in '/btrfs/SV1-snap'
# ls /btrfs/SV1*
/btrfs/SV1:
vmlinuz-3.10.0-693.17.1.el7.x86_64

/btrfs/SV1-snap:
vmlinuz-3.10.0-693.17.1.el7.x86_64

Jika Anda melepas /btrfs dan memasangnya kembali, volume induk Btrfs dipasang secara default:

# ls /btrfs/
SV1  SV1-snap
# umount /btrfs
# mount /dev/sda /btrfs/
# ls /btrfs/
SV1  SV1-snap

Namun, Anda dapat memasang subvolume atau snapshot btrfs seolah-olah itu adalah perangkat disk. Jika Anda memasang snapshot alih-alih subvolume induknya, Anda secara efektif mengembalikan status sistem file ke saat snapshot diambil. Contoh berikut menyalin file ke SV1 sehingga kontennya berbeda dari SV1-snap:

# cp testfile /btrfs/SV1
# ls -l /btrfs/SV1*
/btrfs/SV1:
total 5760
-rw-r--r--. 1 root root      19 Mar 29 11:44 testfile
-rwxr-xr-x. 1 root root 5890720 Jan 25 20:26 vmlinuz-3.10.0-693.17.1.el7.x86_64

/btrfs/SV1-snap:
total 5756
-rwxr-xr-x. 1 root root 5890720 Jan 25 20:26 vmlinuz-3.10.0-693.17.1.el7.x86_64

Untuk memasang subvolume atau snapshot, Anda harus terlebih dahulu menentukan nomor ID subvolume yang ingin Anda pasang. Gunakan perintah daftar subvolume btrfs untuk menampilkan nomor ID. Dalam contoh berikut, ID subvolume root adalah 257:

# btrfs sub list /btrfs
ID 257 gen 12 top level 5 path SV1
ID 258 gen 9 top level 5 path SV1-snap

Gunakan btrfs “subvolume set-default ” untuk mengatur subvolume default dari sistem file. Misalnya, untuk memasang subvolume SV1 Btrfs, yang memiliki ID 257:

# btrfs subvolume set-default 257 /btrfs

Anda kemudian perlu meng-unmount dan me-remount sistem file Btrfs. Level root kemudian berisi konten subvolume SV1 dan subvolume root tidak lagi terlihat:

# ls -l /btrfs
total 5760
-rw-r--r--. 1 root root      19 Mar 29 11:44 testfile
-rwxr-xr-x. 1 root root 5890720 Jan 25 20:26 vmlinuz-3.10.0-693.17.1.el7.x86_64

Anda juga dapat menggunakan “-o subvolid ” ke perintah mount untuk memasang subvolume root atau subvolume atau snapshot. Misalnya, untuk memasang subvolume root:

# umount /btrfs
# mount -o subvolid=5 /dev/sda /btrfs
# ls -l /btrfs
total 0
drwxr-xr-x. 1 root root 84 Mar 29 11:44 SV1
drwxr-xr-x. 1 root root 68 Mar 29 11:17 SV1-snap
Cara membuat dan memasang sistem file Btrfs (dijelaskan dengan contoh)
Cara Mengubah Ukuran / Memperluas Volume / Sistem File Btrfs


Cent OS
  1. Cara membuat snapshot volume tipis LVM menggunakan perintah snapper

  2. Cara Membuat/Menghapus dan Memasang Sistem File Stratis di CentOS/RHEL 8

  3. Bagaimana cara mengganti nama subvolume BTRFS?

  1. Cara Membuat dan Menggunakan Subdomain

  2. Cara menggunakan snapshot, klon dan replikasi di ZFS di Linux

  3. Cara membuat dan mengaktifkan Partisi Swap di Centos / RHEL 8

  1. Cara Membuat Pengguna Sudo di Rocky Linux dan CentOS

  2. Cara Memasang dan Melepas Drive di Linux

  3. Cara Membuat dan Memasang Snapshot Btrfs