次のようにキャッシュプールを作成しました。この記事。そのプロセスは成功したようです。
Grubアップグレードを実行して再起動した後、Grubはルートボリュームが見つからないと文句を言います(UUIDを表示)。 - 残念ながら、元のボリュームのIDかキャッシュされたボリュームのIDなのか覚えていません。
質問:キャッシュされたボリュームをrootとして使用するタスクを詳しく説明するドキュメントはありますか?
答え1
次のようなDebian フォーラムトピックそしてブログ投稿これに基づいて欠落している情報があります。
概要
-1) LVM 構成をバックアップし、同様の CD を準備します。
0) 別のパーティションがあることを確認します/boot
(キャッシュルートは後で使用できます).これは200 MBのパーティションであり、キャッシュルートと同じVGの一部である可能性があります。
1)カーネルイメージにはdm-cache(モジュールではない)が必要です。設定を確認し、CONFIG_DM_CACHE=y
モジュール(= m)の場合は、カーネルを再コンパイルして次に設定する必要があります。ワイ。 menuconfigを使用してそこでこのオプションを設定することをお勧めします(これにより、dm-cacheの依存関係チェーンも同様に保証されます=y
)。
Device Drivers --->
Generic Driver Options --->
--- Multiple devices driver support (RAID and LVM)
<*> Device mapper support
<*> Cache target (EXPERIMENTAL)
2) インストールthin-provisioning-tools
(はい)FSCK- 起動キャッシュと同様の機能)。
/etc/initramfs-tools/hooks
3) 次の内容でファイルを生成します。これにより、ステップ2の実行可能ファイルといくつかの依存関係がinit ramdiskイメージ内にあることを確認できます。
#!/bin/sh
PREREQ="lvm2"
prereqs()
{
echo "$PREREQ"
}
case $1 in
prereqs)
prereqs
exit 0
;;
esac
if [ ! -x /usr/sbin/cache_check ]; then
exit 0
fi
. /usr/share/initramfs-tools/hook-functions
copy_exec /usr/sbin/cache_check
manual_add_modules dm_cache dm_cache_mq
4)実行してupdate-initramfs -u -k all
すべてのinitrdイメージを再構築します。
答え2
vbenceの回答を使用するときは、手順3の/etc/initramfs/hooks/ファイルも実行可能にします。それ以外の場合は実行されません。update-initramfs