Saya mengganti hard drive yang gagal di btrf cermin.
btrfs device delete missing /[mountpoint]
butuh waktu sangat lama, jadi saya berasumsi bahwa itu sebenarnya menyeimbangkan data ke drive pengganti.
Apakah ada cara untuk memantau perkembangan operasi semacam itu?
Saya tidak perlu mengharapkan GUI yang cantik, atau bahkan penghitung%; dan saya bersedia menulis beberapa baris skrip shell jika itu perlu, tetapi saya bahkan tidak tahu harus mulai dari mana mencari data yang relevan. btrfs filesystem show
misalnya hanya hang, mungkin menunggu operasi saldo selesai sebelum menampilkan informasi apa pun tentang cermin fs.
Balance on '/volume1' is running
28 out of about 171 chunks balanced (1156 considered), 84% left
. Tidak seperti biasanya, persentase dihitung mundur.ini akan menampilkan sesuatu seperti:
Dan jika Anda perhatikan bahwa id perangkat # 4 terlihat sedikit berbeda dari yang lain. ketika Anda melakukan "penghapusan perangkat btrfs hilang / mntpoint" maka itu akan mulai membuat kembali meta / data serangan yang diperlukan untuk membebaskan drive "hilang" itu.
jika Anda melakukan sesuatu seperti
maka Anda dapat melihat ruang pada perangkat "hilang" yang menyinggung secara bertahap semakin kecil dan lebih kecil sampai operasi selesai dan itu akan dihapus dari fi.
sumber
BTRFS mungkin perlu waktu membaca atau menyusun ulang data sebelum menulis data ke drive yang Anda harapkan.
Anda dapat melihat berapa banyak waktu CPU yang dikhususkan untuk operasi BTRFS termasuk penyeimbangan kembali, tambah, hapus, konversi, dll:
Untuk melihat seberapa sibuk setiap drive, instal sysstat, dan jalankan:
Tambahkan beberapa opsi untuk membuat iostat menampilkan statistik dalam megabita dan memperbarui setiap 30 detik:
Contoh hasil dari scrub sehingga tidak ada penulisan selama interval ini:
Instal dan jalankan munin untuk melihat grafik historis dari aktivitas drive dan banyak info lainnya. https://www.digitalocean.com/community/tutorials/how-to-install-the-munin-monitoring-tool-on-ubuntu-14-04
sumber
Saya juga bertanya-tanya kapan penghapusan yang tahan lama akan selesai jadi saya membuat sepotong kode shell ini:
Ini akan memberi Anda bilah kemajuan yang bagus seperti ini:
Gagasan umum adalah menggunakan
pv
untuk menampilkan kemajuan. Karena perintah itu hanya memungkinkan untuk memonitor byte yang mengalir melalui pipa yang kita gunakandd
untuk menghasilkan jumlah nol yang tepat dan menyalurkannyapv
.Keuntungan dari metode ini adalah Anda mendapatkan bilah kemajuan yang bagus. Namun, karena sepertinya
btrfs
selalu menghapus data satu GB pada satu waktu, dibutuhkan beberapa waktu hingga perbedaan baru dalam ukuran byte dapat diamati.Untuk mengatasi masalah ini, bendera
-a
ditambahkan ke bendera defaultpv
untuk membuatnya menampilkan tingkat transmisi rata-rata (karena laju transmisi normal saat ini adalah 0 sebagian besar waktu).Saya menyadari ini bukan solusi terbaik tetapi yang terbaik yang bisa saya dapatkan. Jika seseorang memiliki ide untuk perbaikan, beri tahu saya! :)
sumber