Partisi saya / home terdiri dari seluruh disk fisik. Ini diformat sebagai btrfs. Saya ingin memotretnya. Saya bingung tentang penamaan subvolume, khususnya.
Saya sadar bahwa ada pertanyaan serupa, tetapi setiap pertanyaan serupa tampaknya menanyakan sesuatu yang berbeda dari apa yang saya tanyakan (dan mereka lebih tua, yang berarti mungkin sudah ketinggalan zaman, mengingat pesatnya perkembangan btrfs). Sebagai contoh, jawaban untuk pertanyaan ini tampaknya bukan jawaban untuk pertanyaan saya karena partisi / home saya adalah volume yang terpisah dan halaman manual untuk btrfs menunjukkan perintah berbeda untuk membuat snapshot sekarang.
masalah serupa lainnya, tidak ada solusi yang solid .
orang lain sama bingungnya dengan saya dalam masalah penamaan
Pertanyaan saya:
Memulai dengan mudah: apakah ini perintah yang benar untuk mengambil snapshot sederhana dari partisi home saya?
btrfs subvolume snapshot /home/@home /home/@home_snapshot_20120421
Saya menjadi sangat berani dan mengujinya dan itu tidak berhasil. Kesalahannya adalah error accessing /home/@home
. Seperti yang ditunjukkan di bawah ini, @ rumah terdaftar.
Saya jelas bingung tentang nama-nama subvolume. Apakah saya perlu menggunakannya dalam membuat foto? Beberapa contoh menunjukkan mengambil snapshot dari rumah menggunakan /home
sebagai parameter sumber, tetapi berdasarkan contoh volume root, menurut saya saya perlu menggunakan /home/@home
.
Apakah perintah ini akan berhasil? Dan jika tidak, mengapa?
btrfs subvolume snapshot /home /home/@home_snapshot_20120421
Apakah @
hanya konvensi penamaan? Apakah ini bermakna?
Berikut ini beberapa output yang mungkin relevan:
btrfs subvolume list /home
ID 256 top level 5 path @home
Saya tidak yakin apa artinya itu, tepatnya. Ketika saya mencobanya btrfs device scan
memberikan kesalahan (mis. Tidak dapat memindai perangkat / dev / sda1). Sistem file saya tidak memiliki kesalahan. Semuanya baik-baik saja.
Ini partisi saya. Menanggapi satu balasan, tidak / home bukan hanya partisi btrfs saya.
/dev/sda1: (boot partition) TYPE="ext2"
/dev/sda2: (root partition) TYPE="btrfs"
/dev/sdb1: (home partition) TYPE="btrfs"
/dev/sdc1: (shared partition) TYPE="btrfs"
/dev/sdc2: TYPE="swap"
Jawaban:
Apa perintah yang benar untuk membuat snapshot dari partisi home saya di Ubuntu 12.04?
Mengingat fakta bahwa home berada pada partisi btrfs dan di-mount sebagai / home, perintah yang benar adalah:
Inilah hasil saya:
Sebelum menjalankan perintah hari ini:
Perintah:
Setelah menjalankan perintah hari ini:
Satu-satunya masalah dengan metode ini adalah bahwa snapshot muncul ketika Anda ls (daftar) / rumah.
Komunitas Ubuntu Wiki telah diperbarui dengan solusi untuk ini. Ini dia:
Cara bekerja dengan snaphots di layout Ubuntu
Agar dapat bekerja dengan snapshot dari / atau / home dalam tata letak Ubuntu, sangat mudah untuk memasang sistem file btrfs di lokasi yang terpisah, dan bekerja dari atas pohon btrfs, daripada dari subvolume yang terpasang. <- itu solusinya. Sayangnya, itu tidak nyaman .
Untuk membuat snapshot gunakan sintaks yang sama yang saya gunakan di atas:
Ini akan membuat snapshot dari @ subvolume bernama @_snapshot yang terletak juga di atas pohon btrfs. Karena berada di bagian atas pohon, itu tidak akan muncul ketika daftar file dalam volume yang dipasang.
Untuk kembali ke snapshot, Anda hanya perlu mengubah namanya menjadi nama yang di-mount dan reboot ubuntu. Berikut cara mengubah nama:
Untuk menghapus penggunaan snapshot:
snapshot btrfs adalah subvolume dalam dirinya sendiri, dan mandiri, menghapus @ subvolume lama seperti ini baik-baik saja, asalkan kita memiliki penggantinya.
CATATAN: Perintah btrfs-tools
set-default
akan merusak tata letak Ubuntu.sumber
Oke, hal pertama yang pertama:
Nama subvolume yang Anda lihat adalah
@home
seperti yang ditunjukkan olehbtrfs subvolume list /home
. Sudah terpasang/home
. @ Rumah adalah nama subvolume juga memiliki ID 256 sehingga kemungkinan besar hanya / home Anda diformat sebagai btrfs.Sekarang untuk membuat snapshot @rumah Anda harus mengeluarkan:
sudo btrfs subvolume snapshot /home/ /home/@home_snapshot_20120421
Subvolume dapat memiliki nama apa saja. @ Adalah konvensi Ubuntu saat instalasi. (Jika Anda menggunakan
apt-btrfs-snapshot
subvolume root harus dinamai@
btw.) Komunitas wiki sangat menyarankan untuk tetap@
sebagai root dan@home
sebagai rumah karena sudah terpasang seperti itu. Ini sangat penting jika Anda ingin memutar kembali: Anda TIDAK boleh menggunakan btrfs subvolume set-default (bukan sintaks yang disorot dengan sengaja).Untuk
btrfs device scan
Anda harus menggunakansudo
.Untuk menghapus subvolume, Anda dapat menggunakan
sudo btrfs subvolume delete @home_snapshot_20120421
Semua perintah btrf dapat disingkat asalkan tidak ambigu, jadi misalnya
sudo btrfs device scan
dapat dipotongsudo btrfs d s
,sudo btrfs dev sc
atau apa pun di antaranya.Saya harap itu menjawab pertanyaan Anda. Ada beberapa alat di luar sana untuk mengambil cadangan reguler, btrfs-snapshot-rotasi adalah salah satu contohnya. Gunakan mereka dengan hati-hati karena tidak satupun dari mereka yang benar-benar matang atau mendapatkan daya tarik yang cukup, yaitu mereka mungkin sangat mengandung bug.
sumber
$ sudo btrfs subvolume snapshot @home home/@snapshot_20120611_1257 ERROR: error accessing '@home'
btrfs device scan
. Varian apa pun, termasuk menggunakansudo
memberikan kesalahan "GALAT: tidak dapat memindai perangkat '/ dev / sdX'" di mana X adalah nama yang valid seperti a, a1, b, dll.btrfs sub snap @ /mnt/random
dan berhasil untuk saya. Kemudian lagi saya berada di / mnt di mana @ dipasang. Maaf atas kebingunganInstal
apt-btrfs-snapshot
paket, dan menggunakan subcommands nyalist
,snapshot
,delete
danset-default
.Ini adalah skrip yang membungkus
btrfs
perintah tingkat bawah . Ia bekerja dengan pertama-tama memasang sistem file root btrfs di suatu tempat. Maksud saya root sebenarnya, yang bertentangan dengan/@
subvolume yang biasanya dipasang sebagai/
. Dengan kata lain, Anda perlu menjalankanmount /dev/sda1 /mnt
sehingga Anda dapat melihat sub-volume yang akan terdaftar sebagai/mnt/@
,/mnt/@home
, dan lain-lain yang telah Anda buat. Dari sana Anda bisabtrfs subvolume snapshot /mnt/@home @snapshot-today
, yang akan membuat snapshot dari/@home
nama/@snapshot-today
. Bandingkan ini dengan runningbtrfs subvolume snapshot /home /home/@snapshot_today
, yang sebaliknya membuat snapshot sebagai anak dari/@home
, karenanya akan muncul ketika Andals /home
dan nama aslinya/@home/@snapshot-today
.Bergulir kembali snapshot hanya operasi ganti nama sederhana:
mv /mnt/@home @backup ; mv /mnt/@snapshot-today @home
. Lain kali Anda boot, ketika ia pergi untuk me-mount/@home
di/home
, ia akan menemukan foto itu.Agak sulit untuk membungkus kepala Anda karena Anda harus mengingat perbedaan antara bagaimana btrfs melihat sesuatu vs bagaimana kernel melihat sesuatu, yang dipengaruhi oleh opsi mount (subvol = argumen khusus).
sumber