我有一台配备 100GB SSD 的 Ubuntu 系统。空间不足。
因为我的旧系统有 300GB 的磁盘,所以我想我可以用它来增加空间。
显而易见的答案是仅添加磁盘,但我想知道,我是否可以使用 SSD 来缓存更大的磁盘?
我的问题:
- 是否可以在 Ubuntu 的主磁盘上使用 BCache。
- 是否可以进行此更改?我必须重新安装吗?
- 因为我的速度较慢的磁盘只有 300GB,所以这样做真的有意义吗?
我在 Ubuntu 12.10
答案1
这是可能的,你可以就地执行此操作,只要你的 HDD 总大小大于 SSD 大小,这都是有意义的。请查看blocks
将你的根文件系统转换为 bcachehowto。您的情况比从 HDD 安装开始的情况更复杂;您还必须将分区(启动分区除外)从 SSD 移动到 HDD。您应该使用 LiveCD/LiveUSB,使用类似分区将您的分区移动到 HDD(您也可以使用 LVM 转换和来执行此操作pvmove
,但解释起来更复杂),然后按照其余块教程进行操作。
ObDisclaimer:我编写了blocks
转换工具。
答案2
我不确定#1,但我可以对#2 和#3 提供一些建议/想法。
#3. 如果您认为 100GB 缓存对于 300GB 后备存储来说太多了,您不必将整个 SSD 用于缓存;您可以对其进行分区。在大多数情况下,用户数据将大于系统数据(程序等),因此您可以在 SSD 上为您的程序创建一个大小合适的分区(以便它们启动速度更快),为 bcache 创建第二个 SSD 分区,并将数据密集型分区放在更大的 300GB 磁盘上(例如 /home 或 /var),使用 bcache 设备(例如 /dev/sda2)来缓存它们。
#2. 您不必重新安装,但转换的难易程度取决于您的命令行专业知识。有两种可能。无论哪种情况,您都应该从 LiveCD 启动或启动到单用户模式。
在 HDD 上创建分区、格式化并挂载它们;用于从 SSD 传输数据。确认数据已正确复制,然后将其从 HDD 中删除。缩小 SSD 上的系统分区并为 bcache 创建一个。不要忘记使用新的文件系统布局
cp -a
进行更新。/etc/fstab
或者如果您想使用整个 SSD,一种简单的转换方法是将
dd
较小的 SSD 映像到较大的 HDD,然后使用分区和文件系统工具(或 gparted)来扩展分区。