在 Linux 中建立記憶體硬碟
記憶體硬碟 (RAM Disk) 相較於傳統機械硬碟或是固態硬碟,可以提供更快的讀寫速度。即使是已經過時很久的 DDR3 記憶體,也能提供 2000 MB/s 以上的讀寫速度。
但擁有飛快讀寫速度的代價,就是資料無法永久保存,只要一重新開機,資料就會消失。乍聽之下是個很難接受的缺點,畢竟硬碟的目的就是要拿來存放永久性的資料,但是在某些情況下,這個缺點反而能成為優點,如果你有一些資料需要時常讀取但是不想要保存下來,可以考慮將其放在記憶體硬碟中,減少對原本硬碟的消耗。
最近在工作上遇到一個需求,我們需要在 AWS EC2 中放置一些敏感資料,但又想避免硬碟的自動備份去保留這些資料。在這種情形下,我們決定將敏感資料放到記憶體硬碟中。
在 Linux 中,你有兩種方式可以新增一個記憶體硬碟:
- 使用
mount
指令 - 修改
/etc/fstab
檔案
使用 mount
指令
首先使用 mkdir
建立要掛載的資料夾:
sudo mkdir /mnt/ramdisk
接著使用 mount
指令掛載記憶體硬碟:
sudo mount -t tmpfs -o size=512M tmpfs /mnt/ramdisk
各項參數說明:
-t tmpfs
:指定檔案系統為 tmpfs-o size=512M
:指定記憶體硬碟大小為 512MB/mnt/ramdisk
:指定掛載的目錄
修改 /etc/fstab
檔案
如果想再重開機之後自動設定 RAM Disk,可以修改 /etc/fstab
檔案。
首先使用 root
權限以 vim
開啟 /etc/fstab
檔案:
sudo vim /etc/fstab
在檔案最後加入以下內容:
LABEL=cloudimg-rootfs / ext4 discard,commit=30,errors=remount-ro 0 1
LABEL=BOOT /boot ext4 defaults 0 2
LABEL=UEFI /boot/efi vfat umask=0077 0 1
tmpfs /ramdisk tmpfs rw,nodev,nosuid,size=10M 0 0
編輯完成之後,按下 Esc
鍵,輸入 :wq
並按下 Enter
儲存並離開。
最後使用 mount -a
指令重新掛載 /etc/fstab
中的檔案系統:
sudo systemctl daemon-reload
sudo mount -a