我试图在启动之前设置一个映射器设备,因为它需要使用我的 /var 分区,而该分区在启动时非常依赖。
我的问题是它似乎失败了并且没有提供任何输出 - 我不确定这是我做错了什么还是我根本不知道的限制。
我正在使用 flashcache 并将其与我的 initrd 一起加载。我的 flashcache 二进制文件也运行正常,但它就是失败了。
我只是在 initrd 初始化脚本中添加了以下内容:
<snip>
setuproot
echo Creating flashcache volumes for var
flashcache_create -p around sdcachehome /dev/sdb1 /dev/sda7
echo Switching to new root and running init.
switchroot
</snip>
不幸的是,它会输出一个毫无帮助的“失败”信息,然后继续启动过程。
Creating flashcache volumes for var
cachedev sdcachehome, ssd_devname /dev/sdb1, disk_devname /dev/sda7 cache mode WRITE_AROUND
block_size 8, cache_size 0
Flashcache metadata will use 38MB of your 15995MB main memory
echo 0 756613242 flashcache /dev/sda7 /dev/sdb1 sdcachehome 3 2 8 0 473949641118 72 8 | dmsetup create sdcachehome failed
Switching to new root and running init.
这是可行的方法吗?我可以用这种方式设置映射器设备吗?
谢谢!
答案1
答案是肯定的——dmsetup 默认存在于大多数新的 initrd 中。