GNU/Linux >> Linux の 問題 >  >> Linux

bcache からキャッシュ デバイスを削除するにはどうすればよいですか?

bcache を使用しました ライトスルー構成でのみ、IIRC は bcache の場合でも マシンの実行中にキャッシュデバイスが消えると、まったく気に入りません。 bcache を期待してください その場合、デバイスは完全に停止します。

マシンの電源がオフになっているときにキャッシュ デバイスを削除しようとしたことはないので、それについては何も言えません。 bcache だと思いますが まだかなり扱いにくいので、最初に VM または物理テスト マシンで試してみることをお勧めします。

キャッシュ デバイスを安全に削除するには、キャッシュ セットを bcache デバイスから切り離します。

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

必要なキャッシュ セット UUID を確認するには、/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

たとえばこの場合、次を実行します:

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

state ファイルは no cache となるはずです その後:

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

bcache のセットアップに成功し、既に作業を進めており、単純にバックアップするには大きすぎる大量の重要なデータをそこに置き、キャッシング デバイスを交換したほうがよいことに気付き、最初からやり直したとします。これがあなたがそれを行う方法です。このソリューションは、VM トライアルに基づいています。

デバイス /dev/bcache0 について話しているとしましょう 、新しいキャッシュ デバイスは /dev/sdf1 です バッキング デバイスは /dev/md1 です .すべてのコマンドは root によって実行されます。

<オール>
  • その bcache0 デバイスを使用しているものがないことを確認してください。
  • 順不同 <オール>
  • Martin von Wittich が書いたように、setUUID を /sys/block/bcache0/bcache/detach にエコーして、キャッシュ デバイスを削除します。 .キャッシング デバイスのパーティションを再作成する場合は、再起動する必要があります。登録を解除しない限り、bcache は引き続きパーティションをロックするためです。
  • format- make-bcache -C /dev/sdf1 の新しいキャッシュ デバイス そのデバイスの setUUID をメモします。
  • バッキング デバイスを新しいキャッシュ セットに登録します。

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

  • 再起動する必要はありません。


    ワンライナー:

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

    次に、キャッシュがクリアされるまで待ちます:

    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. Utf-8ファイルからBOMを削除する方法は?

    2. SSLキーからパスワードを削除する方法

    3. サーバーからストレージ LUN をマッピング解除した後にマルチパス デバイスを削除する方法

    1. Ubuntu でゴミ箱からファイルを削除するにはどうすればよいですか?

    2. ファイル B に表示される行を別のファイル A から削除するには?

    3. LUKS 暗号化を削除するには?

    1. メニューからワインプログラムのエントリを削除するにはどうすればよいですか?

    2. Unity Dashメニューからアンインストールされたプログラムを削除する方法は?

    3. Ubuntu から aria2 をアンインストールする方法