Hướng dẫn tạo RAM Disk tmpfs trên Linux

Bài hướng dẫn này sẽ chỉ cho các bạn các bước để tạo RAM Disk tmpfs trên Linux nhằm các mục đích khác nhau cho lưu trữ tạm thời. Thế RAM Disk là gì ? Bạn có thể dành 1 chút thời gian để đọc qua bài viết “RAM Disk là gì ? tmpfs là gì trên Linux ?” để hiểu thêm 1 chút về RAM Disk.

ramdisk tmpfs là gì

Về cơ bản là có 2 loại RAM Disk trên Linux:
– ramfs
– tmpfs

Ở đây chúng ta sẽ chỉ bàn đến ‘tmpfs‘, vậy hiểu nôm na thì RAM Disk là một phần dung lượng vật lý của RAM được format dưới dạng file system (tập tin hệ thống). Từ file sytsem này bạn có thể mount nó vào 1 thư mục và sử dụng như 1 phân vùng ổ cứng. Hãy đọc bài viết trên để biết thêm chi tiết.

Contents

1. Tạo RAM disk tmpfs trên Linux

1.1 Tạo thư mục để mount ‘tmpfs’

– Giả sử mình tạo 1 thư mục dùng để cấu hình vùng lưu trữ để mount file system tmpfs. Bạn có thể tạo ở bất cứ thư mục nào, miễn sao thư mục đó không phải là phân vùng mount của hệ thống.

# mkdir -p /usr/local/tmpfs

 
– Nếu bạn muốn các user đều có quyền sử dụng thư mục RAM Disk trên thì phân quyền 777 nhé.

# chmod 777 /usr/local/tmpfs

 
– Kế đến bạn nên xác định mình sẽ sử dụng bao nhiêu GB RAM trên hệ thống dành cho thư mục RAM disk, nếu bạn có nhiều RAM thì không cần quá lo còn nếu như bạn chỉ có 2GB RAM thì mình nghĩ con số RAM sử dụng cho RAM Disk nên trong khoảng 256MB – 512MB. Đó là trong trường hợp hệ thống ít dịch vụ cần tiêu thụ RAM nhé.

1.2 Thực hiện mount filesystem tmpfs

Cấu trúc lệnh:

mount -t [TYPE] -o size=[SIZE] [FSTYPE] [MOUNTPOINT]

 
Chú thích option:

[TYPE] : là loại RAM Disk mà ta sẽ sử dụng, tmpfs hay ramfs.
[SIZE] : là mức dung lượng mà bạn sẽ sử dụng cho filesystem chuẩn bị mount.
[FSTYPE] : là loại chuẩn format file system , với tmpfs thì ta có thể chọn : tmpfs, ramfs, ext4, …

– Thực hiện lệnh để mount file system tmpfs.

# mount -t tmpfs -o size=256m tmpfs /usr/local/tmpfs

 
– Kiểm tra phân vùng tmpfs đã có hay chưa ?!

# mount | grep "tmpfs"
tmpfs on /dev/shm type tmpfs (rw)
tmpfs on /usr/local/tmpfs type tmpfs (rw,size=256m)
# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda3 18G 8.3G 8.3G 50% /
tmpfs 497M 88M 409M 18% /dev/shm
/dev/sda1 190M 47M 133M 27% /boot
tmpfs 256M 0 256M 0% /usr/local/tmpfs

1.3 Umount file system tmpfs nếu không xài

– Giờ mount được thì phải unmount được, nếu không còn nhu cầu sử dụng RAM Disk tmpfs nữa. Sau khi thực hiện như lệnh dưới xong, bạn kiểm tra như bước 1.2 thì sẽ thấy không còn thông tin tmpfs đã toạ trước đó nữa.

# umount /usr/local/tmpfs

1.4 Cấu hình auto-mount khi reboot

– Nếu OS Linux bị reboot, mà bạn không cấu hình để tự động mount tmpfs ‘/usr/local/tmpfs‘ thì nó sẽ không tồn tại phân vùng đó luôn. Vậy nên bạn cần edit file /etc/fstab . Mà luôn phải nhớ là dữ liệu lưu trên phân vùng filesystem tmpfs sẽ bị mất khi reboot hệ thống nhé.

# vi /etc/fstab 
tmpfs /usr/local/tmpfs tmpfs nodev,nosuid,noexec,nodiratime,size=1024M 0 0

 
2. Kiểm tra thử tốc độ đọc ghi

– Sau khi đã thực hiện tạo RAM Disk tmpfs thành công. Giờ mình kiểm tra thử tốc độ đọc ghi trên phân vùng filesystem ‘tmpfs‘ và ổ cứng bình thường thử. Mình demo trên 1 con VPS nên kết quả tốc độ sẽ không ấn tượng như server vật lý thật sự.

2.1 Test đọc/ghi trên phân vùng ổ cứng OS

# dd if=/dev/zero of=/home/zero bs=4k count=10000
10000+0 records in
10000+0 records out
40960000 bytes (41 MB) copied, 0.0791327 s, 518 MB/s

-> Tốc độ ghi : 518 MB/s

# dd if=/home/zero of=/dev/null bs=4k count=10000
10000+0 records in
10000+0 records out
40960000 bytes (41 MB) copied, 0.0247275 s, 1.7 GB/s

-> Tốc độ đọc : 1.7 GB/s

2.2 Test đọc/ghi trên phân vùng tmpfs

# dd if=/dev/zero of=/usr/local/tmpfs/zero bs=4k count=10000
10000+0 records in
10000+0 records out
40960000 bytes (41 MB) copied, 0.037987 s, 1.1 GB/s

-> Tốc độ ghi : 1.1 GB/s

# dd if=/usr/local/tmpfs/zero of=/dev/null bs=4k count=10000
10000+0 records in
10000+0 records out
40960000 bytes (41 MB) copied, 0.0208431 s, 2.0 GB/s

-> Tốc độ đọc : 2.0 GB/s

 
Kết thúc bài viết thì mình hy vọng các bạn đã nắm được các bước cần thiết để khởi tạo RAM Disk tmpfs trên hệ thống OS Linux rồi nhé.

Previous articleBài tập lập trình shell, nhập tên tuổi và xuất ra năm đạt 100 tuổi
Next articleHướng dẫn sử dụng hàm max() List trên Python
Bạn đang theo dõi website "https://cuongquach.com/" nơi lưu trữ những kiến thức tổng hợp và chia sẻ cá nhân về Quản Trị Hệ Thống Dịch Vụ & Mạng, được xây dựng lại dưới nền tảng kinh nghiệm của bản thân mình, Quách Chí Cường. Hy vọng bạn sẽ thích nơi này !