web-dev-qa-db-ja.com

RAMディスク+ディスクの代わりにRAMにマウントすることは可能ですか?

ディスク/dev/sdbを使用してデータを保存したLinuxマシンがあり、/etc/fstabでマウントポイントを構成しました

ディスクは100Gであり、マウントポイントはフォルダ/dataです。

ここで、ディスクの代わりにメモリ(256Gがあります)を使用します

では、代わりにメモリRAM 256Gを使用してディスクをマウントすることは可能ですか?

はいの場合、フォルダ/dataをRAMメモリにマウントする方法

RAMディスクとは?

基本的に、RAMベースのファイルシステムは、ディスク上のパーティションであるかのようにメモリにストレージを作成するものです。これは、RAMディスクと呼ばれます。注) RAMは揮発性であり、システムの再起動時またはクラッシュ後にデータが失われます。RAMドライブの最も重要な利点は、その速度です。10倍以上も高速です。 SSDよりも高速なストレージタイプは、高速で高速なキャッシュアクセスが必要なアプリケーションに最適です。繰り返し:このタイプのファイルに書き込まれたデータ

1
yael

/dev/sdb1の場合とほぼ同じです。

まず、/dev/sdb1をアンマウントします(別の場所にマウントできます)。

umount /dev/sdb1

別のディレクトリを作成して、そこにディスクをマウントできます。

mkdir /physical-data
mount /dev/sdb1 /physical-data ...(the other options you already have).

/etc/fstabで、「/ data」の名前を「/ physical-data」に変更します。これでハードディスクは以前と同じようにマウントされましたが、/dataは自由に使用できます。

したがって、/dataディレクトリをマウントポイントとして使用できるので、RAM tmpfsのインスタンスをそれに関連付けて、そこに「ramdisk1」などのRAMディスクを作成できます。 (または他のもの):

mount -t tmpfs -o size=100G ramdisk1 /data

起動時に自動的に再マウントするようにfstabを設定できます。

ramdisk1  /data tmpfs nodev,nosuid,noexec,nodiratime,size=100G  0  0

次に、たとえば、起動時に実行するスクリプトを設定して、次のことを実行できます。

rsync -a /physical-data/ /data/

/ dev/sdb1が/physical-dataにマウントされており、シャットダウン前に実行されるスクリプトが、変更されたRAMディスクの内容を/dev/sdb1にコピーします。

rsync -a --delete /data/ /physical-data/

「--delete」オプションを使用すると、RAMディスクからファイルを削除した場合、後でハードディスクからも削除されます。

このように、データは電源がオフのときにハードディスクに常駐し、電源をオンにするとはるかに高速なRAMディスクに再表示されます。

言うまでもなく、最初に実験して注意してください。何か問題が発生した場合、ハードドライブ上のすべてのデータが簡単に失われる可能性があります。

3
LSerni