web-dev-qa-db-ja.com

ext4 ramdiskを作成するにはどうすればよいですか?

最初に、マウントするディレクトリを作成しました。

mkdir /mnt/ramdisk

これで、ramfsまたはtmpfsを使用して、これをramdiskに簡単に変換できます。

mount -t tmpfs -o size=512m tmpfs /mnt/ramdisk

私は ramdiskの作成方法に関するチュートリアル を見つけました。これはこの構文を次のように分解します。

mount -t [TYPE] -o size=[SIZE] [FSTYPE] [MOUNTPOINT]

このチュートリアルは、[FSTYPE]をext4に置き換えてFSをext4に変更できることを示しています。ただし、この方法が正しいと確信しておらず、[FSTYPE]の変更を作成者が誤って判断した引数は実際にあります。

UPDATE:興味のある方のために、G-ManとJohanMyréenが[FSTYPE]に関する私の推測を検討しました。基本的に、[FSTYPE]引数は、mountによって使用される必要な(ただし無視される)プレースホルダーとして機能します。詳細については、この投稿のコメントを参照してください。

Ext4 ramdiskを作成する適切な方法を知りたいのですが。つまり、ext4ファイルシステムを使用するメモリ内の一時ディレクトリが必要です。どうすればこれを達成できますか?

2
buratino

Ipor Sircerの回答で得られたアイデアと、Stephen Kittの RAMディスクブロックデバイス の使用の提案を組み合わせました。

まず、CONFIG_BLK_DEV_RAM私のカーネルに。 RAMディスクのデフォルト数を16から8に変更しました(BLK_DEV_RAM_COUNT)、それは好みに基づくものであり、必要ではありません。

次に、マウントしたいフォルダを作成しました。

mkdir /mnt/ext4ramdisk

最後に、私のRAMディスクブロックデバイスをext4でフォーマットしてマウントしました。

mkfs.ext4 /dev/ram0
mount -t ext4 /dev/ram0 /mnt/ext4ramdisk
3
buratino
mkdir /mnt/ramdisk
mount -t ramfs ramfs /mnt/ramdisk
dd if=/dev/zero of=/mnt/ramdisk/ext4.image bs=1M count=512
mkfs.ext4 /mnt/ramdisk/ext4.image
mkdir /mnt/ext4ramdisk
mount -o loop /mnt/ramdisk/ext4.image /mnt/ext4ramdisk

ただし、ext4はRAMで使用するようには設計されていません。 tmpfsramfsは、ディスクベースのファイルシステムよりもRAMで常により良い選択です。

6
Ipor Sircer