Physical RAM của máy tính thì ai cũng biết rồi vậy còn RAM Disk là gì các bạn đã nghe đến chưa ?
RAM Disk bạn hiểu nôm na là một phần bộ nhớ Physical RAM được chia ra thành các phân vùng lưu trữ nhỏ. Bạn dễ dàng copy dữ liệu lên các phân vùng RAM Disk này như copy giữa các folder thông thường.
Các đặc điểm RAM Disk
Cũng giống như RAM vật lý, RAM Disk có tốc độ truy suất dữ liệu là nhanh nhất.
Nhược điểm của RAM Disk là dữ liệu lưu sẽ mất khi khởi động lại máy tính hoặc mất ngồn điện.
Chình vì lý do đó RAM Disk thường dùng để lưu trữ dữ liệu tạm thời giống như FastCGI Cache trên NGINX mà mình đã có dịp giới thiệu với các bạn ở bài viết trước.
Dung lượng RAM Disk không bị giới hạn, nó phụ thuộc vào lượng RAM thừa trên server bạn nhiều hay ít. Mình dùng VPS nhỏ nên chỉ dùng RAM Disk để chạy cache cho webserver thôi.
Cách tạo RAM Disk
Trước tiên cần tạo thư mục cho RAM Disk
mkdir /tmp/ramdisk
Thư mục ramdisk
là nơi chứa dữ liệu của RAM Disk toàn bộ dữ liệu trong đó sẽ được đưa lên RAM.
Tiếp theo ta sẽ gắn thư mục /tmp/ramdisk
vào một phân vùng nào đó, phân vùng này sẽ do chúng ta đặt tên trong linux còn gọi là Device Name. Chạy lệnh mount bên dưới.
mount -t tmpfs -o size=100m myramdisk /tmp/ramdisk
-t
chọn kiểu file system là tmpfs-o
mở rộng tùy chọn, với kích thước bộ nhớ Physical RAM dành cho RAM Disk là 100m, nó sẽ có tên là myramdisk (Device Name) và mount tới đường dẫn /tmp/ramdisk.
Muốn kiểm tra mount có thành công hay không bạn chạy lệnh
df -k
Kết quả như hình bên dưới là thành công.
Tiếp theo chúng ta sẽ kiểm tra hoạt động của Device myramdisk này bằng cách copy thử một file có dung lượng 90m và xem kết quả.
Mình dùng htop để xem, dung lượng Physical RAM trước khi copy file
Trước khi copy dữ liệu RAM của VPS đang sử dụng là 419m (mình dùng VPS ở Vultr)
Sau khi copy file.
Dung lượng RAM đã thay đổi khoảng 90m là 503m, như thế là đã hoạt động tốt.
Tự động mount khi khởi động
Để không phải mount RAM Disk khi khởi động lại hay stop server bạn mở file /etc/fstab
.
vi /etc/fstab
Thêm vào cuối file lệnh bên dưới.
myramdisk /tmp/ramdisk tmpfs defaults,size=100M 0 0
Xóa RAM Disk
Nếu không muốn dùng RAM Disk nữa muốn xóa đi bạn chỉ cần umount myramdisk là xong, câu lệnh.
umount /tmp/ramdisk
Chú ý : toàn bộ dữ liệu đang được lưu trữ trong /tmp/ramdisk sẽ bị xóa hết
Nội dung bài chỉ vậy thôi, một vài dòng chia sẻ cách tạo RAM Disk trên linux, mong nhận được sự ủng hộ từ các bạn.