web-dev-qa-db-ja.com

linuxramdisk-ディスクに同期

いくつかのログファイルへのアクセスを最適化するようにRAMディスクを構成しました。 RAMディスクの一定のコピーを物理ディスクに保持する方法はありますか?

停電後にすべてが失われるのを避け、システムを最初から再構築する必要があります。

1
amprantino

「適切な」ディスクベースのファイルシステムを使用すると、それが自動的に行われます。RAMにデータをバッファリングすることで、ファイルシステム上のファイルへのアクセスを最適化します。データを変更すると、最初にRAM内のデータが変更され、次に少し待ってから最後にディスクに書き込みます。

他の作品では、まさにあなたが手動でやりたいこと。

ブロックデバイスごとにI/Oスケジューラカーネルパラメータを微調整して、必要に応じてより積極的なバッファリングを確保できますが、本当に必要な場合は最初に測定してください。

1
dirkt

ありますが、あなたが望むものには注意してください!

もちろん、このような設定を選択した場合は、低速の実ディスクの書き込みパフォーマンス(待機時間と帯域幅)が得られます。ただし、読み取りパフォーマンスを最適化する場合は便利です。

手順は次のとおりです。

  • バッキングファイルとして使用するディスクパーティションを準備します
  • Ram-diskをブロックデバイスとして準備します。つまり、tmpfsを使用する場合は、バッキングファイルを作成し、それにlosetup -fを作成します。
  • それらの2のRAID1を作成します:mdadm --level 1 --raid-disks 2 /dev/mdX /dev/ram/backing/device -W /dev/disk/backing/device
  • 得られたMDデバイスをマウントして使用します

このようにすると、書き込みは両方のディスクに送られますが、読み取りはほとんどRAMディスクで満たされます(実際のディスクは-Wまたは "write-mostly"としてマークされているため)

0
Eugen Rieck