GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara menghapus perangkat cache dari bcache?

Saya menggunakan bcache hanya dalam konfigurasi writethrough, dan bahkan IIRC bcache tidak suka sama sekali jika perangkat cache hilang saat mesin sedang berjalan. Harapkan bcache perangkat berhenti total jika itu terjadi.

Saya belum mencoba menghapus perangkat cache saat mesin dimatikan, jadi saya tidak bisa mengatakan apa-apa tentang itu. Saya pikir itu bcache masih cukup sensitif, jadi sebaiknya Anda mencobanya dengan VM atau mesin uji fisik terlebih dahulu.

Untuk menghapus perangkat cache dengan aman, Anda dapat melepaskan kumpulan cache dari perangkat bcache:

echo <cache-set-uuid> > /sys/block/bcache0/bcache/detach

Untuk menentukan set cache UUID yang diperlukan, lihat di /sys/fs/bcache/ :

host ~ # ll /sys/fs/bcache/
total 0
drwxr-xr-x 7 root root    0 Feb 19 00:11 eb99feda-fac7-43dc-b89d-18765e9febb6
--w------- 1 root root 4096 Feb 19 00:11 register
--w------- 1 root root 4096 Feb  7 07:17 register_quiet

Jadi misalnya dalam hal ini, jalankan:

echo eb99feda-fac7-43dc-b89d-18765e9febb6 > /sys/block/bcache0/bcache/detach

state file harus mengatakan no cache setelah itu:

host ~ # cat /sys/block/bcache0/bcache/state
no cache

Misalkan Anda telah berhasil menyiapkan bcache, Anda sudah mengerjakannya, meletakkan banyak data penting di sana terlalu besar untuk dicadangkan dan memulai kembali, ketika Anda menyadari, sebaiknya Anda mengganti perangkat caching. Ini adalah bagaimana Anda bisa melakukannya. Solusi ini didasarkan pada uji coba VM.

Katakanlah kita berbicara tentang perangkat /dev/bcache0 , perangkat cache baru adalah /dev/sdf1 dan perangkat pendukungnya adalah /dev/md1 . Semua perintah dilakukan oleh root.

  1. Pastikan tidak ada yang menggunakan perangkat bcache0 tersebut.
  2. Lakukan dalam urutan apa pun
    1. Hapus perangkat cache seperti yang ditulis Martin von Wittich, dengan mengulang setUUID ke /sys/block/bcache0/bcache/detach . Jika Anda ingin mempartisi ulang perangkat caching, Anda perlu mem-boot ulang, karena bcache masih mengunci partisi kecuali Anda membatalkan pendaftarannya.
    2. format- perangkat cache baru dengan make-bcache -C /dev/sdf1 dan catat setUUID perangkat itu.
  3. Daftarkan perangkat pendukung kami dengan kumpulan cache baru:

    echo [setUUID of new cache device] >/sys/block/bcache0/bcache/attach

Tidak perlu memulai ulang.


Satu kalimat:

echo $(ls -d /sys/fs/bcache/*-*-* | cut -f5 -d/) > /sys/block/bcache0/bcache/detach

Kemudian tunggu hingga cache dihapus:

while true; do if [[ $(cat /sys/block/bcache0/bcache/state) != "dirty" ]]; 
then echo "DONE"; break; 
else cat /sys/block/bcache0/bcache/dirty_data; sleep 30; fi; done

Linux
  1. Cara menghapus perangkat multipath setelah membuka pemetaan LUN penyimpanan dari server

  2. Cara menghapus aria2 dari Ubuntu

  3. Cara Menghapus Manajer Cache cPanel

  1. Bagaimana Cara Menghapus Bom Dari File Utf-8?

  2. Bagaimana cara menghapus iso 9660 dari USB?

  3. Bagaimana cara menghapus enkripsi LUKS?

  1. Bagaimana Cara Menghapus Entri Program Wine Dari Menu?

  2. Bagaimana Cara Menghapus Program yang Tidak Diinstal Dari Menu Dash Unity?

  3. Cara Menghapus Kata Sandi Dari Kunci SSL Anda