我們有使用磁碟/dev/sdb
保存資料的Linux機器,我們配置了掛載點/etc/fstab
磁碟是100G
,掛載點是資料夾/data
現在我們想使用記憶體(我們有256G
),而不是磁碟
那麼是否可以使用記憶體RAM256G
來取代磁碟掛載呢?
如果是的話如何將資料夾掛載/data
到 RAM 內存
什麼是 RAM 碟?
基本上,基於 RAM 的檔案系統在記憶體中建立存儲,就好像它是磁碟上的分割區一樣 – 它稱為 RAM 磁碟。請注意,RAM 是易失性的,資料會在系統重新啟動或崩潰後遺失。 RAM 驅動器最重要的優點是速度 – 甚至比 SSD 快 10 倍以上。這些非常快速的儲存類型非常適合需要速度和快速快取存取的應用程式。重複:寫入該類型檔案的數據
答案1
或多或少就像你想的那樣/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 的實例與其關聯,並在其中建立一個 ramdisk 並呼叫它,例如「ramdisk1」(或其他任何名稱):
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 磁碟上。
不用說,首先進行實驗並謹慎使用。如果出現問題,您可能很容易丟失硬碟上的所有資料。