我知道tmpfs
并且我真正需要的是驻留在 RAM 上的磁盘分区,我可以在其中使用 BTRFS 对其进行格式化。
如何在 RAM 上创建原始设备并使用任何常规文件系统对其进行格式化?
或者是唯一的机会在 上创建原始文件tmpfs
,使用文件系统对其进行格式化并通过循环设备安装(来源)。
mkdir /ramdisks
mount -t tmpfs tmpfs /ramdisks
dd if=/dev/zero of=/ramdisks/disk0 bs=1M count=100
losetup /dev/loop0 /ramdisks/disk0
mke2fs /dev/loop0
...
losetup -d /dev/loop0
rm /ramdisks/disk0
使用案例
我使用 BTRFS 的原因有很多。我当前的尝试是使用 Overlayfs 作为 rootfs (就像Slax 与 Aufs 一起做)并且我希望底层目录结构是 BTRFS。
Slax 使用以下技巧:当系统启动时,
- Slax没有像
switch_root
正常安装通常那样进行实际操作,而是创建一个临时文件夹并 - 将其安装为
tmpfs
(将其放在 RAM 上), switch_root
就好像它是实际的文件系统一样。- 然后它做了一些功夫:将其“模块”(squashfs 文件)安装到某个地方(比如说
/modules
) - 将所有文件夹
/modules/
与/union
可写changes
文件夹一起安装 pivot_root
到/union
文件夹。
我想要的是模仿它,这不需要我到目前为止所要求的,除了:我想changes
在 BTRFS 产品的支持下将文件夹放在 RAM 上:
- 支持快照,
- 支持
btrfs send | btrfs receive
- 可能是 BTRFS RAID-1