Boot
從 lvm-cached 卷引導
我在這篇文章之後創建了一個記憶體池。這個過程似乎是成功的。
執行升級 grub 並重新啟動後,Grub 抱怨它找不到根卷(顯示 UUID)。- 我的錯,但我不記得這是原始卷的 ID 還是記憶體卷的 ID。
問題:是否有文章詳細說明使用記憶體卷作為根的任務?
以下Debian 論壇主題和基於它的部落格文章缺少資訊。
大綱
-1) 備份您的 LVM 配置並準備好類似的 CD。
0)確保您有一個單獨的
/boot
分區(您的記憶體根僅在以後可用)。這可以是一個 200MB 的分區,並且可以是與您的記憶體根目錄相同的 VG 的一部分。1)您的核心映像(而不是模組)中需要 dm-cache。檢查你的配置並確保你有
CONFIG_DM_CACHE=y
. 如果它是一個模組(=m),您將需要重新編譯一個設置為y的核心。使用 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
以下內容的文件。這將確保步驟 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
- 執行
update-initramfs -u -k all
以重新生成所有 initrd 映像。