blocks
README中了解详细说明。v3.11.5-saucy
,并安装与您的架构匹配的deb包)。
bcache-tools
和blocks
可以从我的存储ppa安装。/
、/home
、/usr/
等)。作为一种替代方案,您可以使用一个live USB棒,在其中安装blocks
并用其来转换您的磁盘。但请注意,此工具仅适用于主MBR和GPT分区表,并且需要在每个分区之前多1MiB的额外空间。 - ntninjasudo flashcache_create -p back fcache /dev/sdbX /dev/sdaX
其中fcache是创建的设备(/dev/mapper/fcache),/dev/sdaX是SSD分区(或整个磁盘),/dev/sdbX是HDD分区。cd /path/to/flashcache/source
make -f Makefile.dkms boot_conf
编辑/boot/grub/grub.cnf和/etc/fstab以从/dev/mapper/fcache启动(我不认为这一步是真正必要的,但它说需要)。确保记录下原始根设备的UUID。
使用LiveCD/LiveUSB重新启动。
挂载根设备:mount /dev/sda4 /mnt
(/dev/sda4是我的Linux根分区)
cd /mnt/path/to/flashcache/source
sudo apt-get install dkms build-essential linux-headers-$(uname -r)
make; sudo make install
在live环境中不需要进行整个DKMS设置
卸载根设备:sudo umount /mnt
sudo flashcache_create -p back fcache /dev/sdbX /dev/disk/by-uuid/[UUID]
其中fcache是已创建的设备(应与/etc/fstab和/boot/grub/grub.cnf中设置的相同,在我的情况下是fcache),/dev/sdbX是SSD分区(或整个磁盘),[UUID]是根分区的UUID。
重新启动!
使用根设备时的注意事项
当使用flashcache作为根设备时,一个小烦恼是grub-probe无法检测到根设备,并可能导致启动菜单出现两个Ubuntu条目。但实际上,这并不重要,因为上面的make -f Makefile.dkms boot_conf
步骤会在您的initrd中安装一些脚本,用于检测和使用flashcache设备。
linux /boot/vmlinuz-3.19.0-51-lowlatency root=UUID=0a540b91-5990-4df0-bc99-5d6e2cd3fed6 ro recovery nomodeset
改为 linux /boot/vmlinuz-3.19.0-51-lowlatency root=/dev/mapper/fcache ro recovery nomodeset
(即更改root=参数)。 - Chuck R事先警告:bcache 不能用于您现有的 Ubuntu 安装。如果您需要操作系统的 SSD 缓存,您应该等待未来或特殊版本的 Ubuntu 安装程序,该安装程序可以设置您的 SSD 缓存。请参阅 Oli 在这里的答案:bcache 需要全新安装吗?
对于其他人想要一个用于非操作系统数据的 bcache 磁盘:
第一件要做的事是升级您的内核,如果您使用的是 13.04 或更早版本,请使用内核主线 PPA。有关使用说明,请参阅此处:
https://wiki.ubuntu.com/Kernel/MainlineBuilds
确保在启动时选择3.9或更高的内核,否则它将无法工作并且您的驱动器会消失。git clone http://evilpiepirate.org/git/bcache-tools.git
http://atlas.evilpiepirate.org/git/linux-bcache.git/tree/Documentation/bcache.txt
这个指南展示了如何格式化固态硬盘和机械硬盘,并将它们连接在一起,使用bcache创建一个新的设备块。如果你觉得这些说明不清楚,请留言,我会更新这个答案并进行简化。make -f Makefile.dkms boot_conf
make install
modprobe flashcache
flashcache_load /dev/sdb1
mount /home
/home
不同,你需要一些更多的技巧来在/
上完成此操作,比如使用带有额外步骤的 Live CD。这正是我想在答案中看到的内容。但是...剩下的时间不多了,无法得到悬赏的答案了。 - gertvdijk