Saya mencoba untuk memutuskan sistem file dan ingin tahu apakah mungkin untuk mengganti drive yang gagal di btrfs RAID tanpa downtime.
Misalkan saya membuat sistem file btrf baru menggunakan perintah
mkfs.btrfs -d raid1 /dev/sdb /dev/sdc
Sekarang anggaplah suatu hari
/dev/sdc
gagal. Ada dua kemungkinan: bisa gagal secara bertahap, menunjukkan kesalahan SMART - dalam situasi ini saya dapat menambahkan perangkat baru denganbtrfs device add /dev/sde /mnt; btrfs filesystem balance /mnt
dan kemudian menghapus yang lama denganbtrfs device delete /dev/sdc /mnt
.Tetapi jika tiba-tiba gagal, menjadi tidak dapat dibaca ... Pencarian web mengatakan dalam situasi ini saya harus terlebih dahulu melepas sistem file, mount dalam mode terdegradasi, tambahkan perangkat baru, lalu lepaskan perangkat yang hilang.
umount /mnt mount -o degraded /dev/sdb /mnt btrfs device add /dev/sdf /mnt btrfs device delete missing /mnt
Unmount jelas merupakan operasi yang mengganggu sehingga akan ada downtime - aplikasi apa pun yang menggunakan sistem file akan mendapatkan kesalahan I / O. Tapi "tutorial" semacam ini tentang btrf terlihat ketinggalan zaman, mengingat btrf sedang dalam pengembangan.
Pertanyaannya adalah: mempertimbangkan kondisi btrf saat ini, apakah mungkin untuk melakukan ini secara online, yaitu tanpa melepas?
Jika tidak, ada solusi hanya perangkat lunak yang dapat memenuhi kebutuhan ini?
sumber
btrfs replace mountpoint old_disk new_disk
telah ditambahkan.Jawaban:
Di Linux 3.8,
btrfs replace mountpoint old_disk new_disk
telah ditambahkan. Jika Anda menjalankan kernel terbaru, itu akan menyediakan fungsionalitas yang Anda cari.sumber
btrfs replace start /dev/old /dev/new /mountpoint
( mulai telah ditambahkan). Lihat jugaman btrfs-replace
.koreksi kecil, sintaks saat ini adalah:
yang kemudian menjadi latar belakang.
Anda dapat memeriksa statusnya dengan
yang akan menunjukkan kepada Anda status operasi penggantian yang terus diperbarui.
sumber