Trang chủTin tứcFstab là gì? Hướng dẫn sử dụng Fstab dễ dàng, chi tiết
Fstab là gì? Hướng dẫn sử dụng Fstab dễ dàng, chi tiết

Khám phá Fstab là gì và cách sử dụng Fstab một cách dễ dàng và chi tiết. Hướng dẫn từng bước giúp bạn quản lý hệ thống tập tin trên Linux hiệu quả.

Trong hệ điều hành Linux, việc quản lý, kiểm soát các hệ thống tập tin và thiết bị lưu trữ là một nhiệm vụ quan trọng, đảm bảo tính ổn định và hiệu suất làm việc của hệ thống. Fstab là một tệp cấu hình quan trọng, giúp tự động hóa quá trình này mỗi khi hệ thống khởi động. Bài viết này SunCloud sẽ giúp bạn hiểu rõ hơn Fstab là gì cũng như cách sử dụng dễ dàng nhất.

Hình 1. Fstab là gì?
Hình 1. Fstab là gì?

1. Fstab là gì?

Fstab hay còn gọi là File System Table là một tệp cấu hình quan trọng trong hệ điều hành Linux. Nó chứa thông tin về các hệ thống tập tin và thiết bị lưu trữ cần được mount tự động khi hệ thống khởi động. Fstab giúp quản lý và kiểm soát các hệ thống tập tin và thiết bị lưu trữ được gắn vào hệ thống Linux, đảm bảo tính ổn định và hiệu suất của hệ thống.

Tệp Fstab nằm ở trong thư mục “etc”.  Đường dẫn cụ thể là “/etc/fstab”. Chúng ta cùng xem mẫu nội dung mặc định của một file Fstab.

Hình 2. Nội dung file fstab
Hình 2. Nội dung file fstab

Như bạn có thể thấy ở trong hình, cấu trúc của 1 fstab bao gồm:

  • File system: Xác định thiết bị hoặc phân vùng cần mount.
  • Mount Point: Xác định vị trí trong hệ thống nơi thiết bị hoặc phân vùng sẽ được mount.
  • Type: Loại hệ thống tập tin.
  • Options: Các tùy chọn mount.
  • Dump: Tham số này thường có thể bỏ qua hoặc thiết lập để hỗ trợ dump hệ thống.
  • Pass: Xác định thứ tự kiểm tra các hệ thống tập tin khi khởi động.

2. Hướng dẫn sử dụng Fstab

2.1 Câu lệnh tổng quát Fstab là gì?

Tổng quát về câu lệnh của fstab trông như sau: 

<file system> <mount point> <type> <options> <dumps> <pass>

Trong đó:

  • File system: Có thể là đường dẫn, UUID,...
  • Mount point: Đường dẫn tới file được sử dụng để mount trên hệ thống. Nó phải là một thư mục rỗng tồn tại trước. Nếu không, bất cứ thứ gì bên trong sẽ bị ẩn khi bạn gắn gì đó lên trên nó.
  • Type: Có thể là ext2, ext3, filesystem của Windows vfatntfs, hoặc iso9660 cho các CD,...
  • Options: Có thể là ro(chỉ đọc), noauto(không cố gắng gắn), noatime(không cập nhật thời gian),...
  • Dump: Chỉ thị tần suất bạn muốn filesystem được backup như thế nào, thường để mặc định là 0.
  • Pass : Chỉ thị thời điểm và thiết bị cần được kiểm tra fsck trước khi được gắn. Bạn nên sử dụng 1 cho root filesystem, 2 cho tất cả các filesystem đã được gắn khác và 0 cho filesystem không được gắn mặc định.

2.2 Sử dụng Fstab với các tập tin nội bộ

Fstab cho phép cấu hình để tự động mount các thiết bị khi khởi động. 

Ví dụ, để mount tự động phân vùng /dev/sda1 vào thư mục /mnt/data với hệ thống tập tin ext4, bạn thêm dòng sau vào /etc/fstab:

/dev/sda1    /mnt/data    ext4    defaults    0    2

Fstab hỗ trợ nhiều tùy chọn mount khác nhau.

Ví dụ, tùy chọn noatime giúp cải thiện hiệu suất bằng cách không cập nhật thời gian truy cập của các tệp:

/dev/sda1    /mnt/data    ext4    defaults,noatime    0    2

Sau khi chỉnh sửa tệp Fstab, bạn nên kiểm tra cấu hình bằng lệnh:

sudo mount -a

Để áp dụng thay đổi mà không cần khởi động lại, bạn có thể sử dụng lệnh:

sudo mount -o remount /mnt/data

2.3 Sử dụng fstab kết hợp NFS tự động mount tới Server

2.3.1 Tình huống

Giả sử các dữ liệu quan trọng được lưu trên Server, chúng ta đứng từ client muốn mount lên Server để lấy dữ liệu về để làm việc. Nhưng cứ mỗi lần tắt máy bật lại, chúng ta lại phải thực hiện mount lại. Vậy nên có cách nhanh hơn và tiện ích hơn, đấy là cấu hình tự động mount bằng fstab

2.3.2 Cấu hình trên Server

Để có thể sử dụng được NFS, bạn cần phải có nfs trên hệ điều hành của mình. Bạn có thể tham khảo thông tin về NFS cũng như biết cách cài đặt NFS tại đây

Chúng ta sẽ cấu hình như sau:

# Tạo thư mục chia sẻ: Ví dụ chúng ta muốn chia sẻ thư mục /mnt/shared

mkdir -p /mnt/shared

# Thay đổi quyền sở hữu và quyền truy cập cho thư mục

chown nobody:nobody /mnt/shared

chmod 777 /mnt/shared

# Cấu hình tường lửa mở port nfs

sudo ufw allow nfs

# hoặc

sudo firewall-cmd --permanent --add-port=2049/tcp

sudo firewall-cmd --permanent --add-port=2049/udp

Trong file /etc/export chúng ta thêm vào dòng sau:

# Ví dụ bạn muốn chia sẻ folder cho toàn bộ thiết bị trong dải 172.16.66.0

/mnt/shared/ 172.16.66.0/24(rw,sync,no_subtree_check)

Trong đó:

  • /mnt/shared/ : Là đường dẫn của thư mục chia sẻ.
  • 172.16.66.0/24 Là dải mạng sẽ chia sẻ.
  • rw, sync, no_subtree_check: rw(đọc và viết), sync(bật chế độ đồng bộ), no_subtree_check(không kiểm tra các cây con).

Vậy là chúng ta đã hoàn tất cấu hình trên Server.

2.3.3 Cấu hình trên Client

Tải và cài đặt NFS, các bạn thực hiện như ở phần Server.

Chúng ta thực hiện cấu hình như sau:

# Tạo thư mục mount. Ví dụ thư mục mount là /mnt/nfs_shared

mkdir -p /mnt/nfs_shared 

Trong file /etc/fstab các bạn thêm vào dòng sau:

# Ví dụ IP Server của bạn là 172.16.66.81 và thư mục mà Server chia sẻ là /mnt/shared

172.16.66.81:/mnt/shared /mnt/nfs_shared nfs defaults 0 0

# Áp dụng các quy tắc mới

sudo mount -a

2.3.4 Kiểm tra 

Chúng ta sẽ sử dụng câu lệnh sau để thực hiện kiểm tra:

df -h

Trước khi thực hiện cấu hình fstab, khi vừa bật máy lên chúng ta không hề thấy thư mục ở Server:

Hình 3. Trước khi cấu hình fstab
Hình 3. Trước khi cấu hình fstab

Đây là kết quả sau khi cấu hình fstab. Như các bạn đã thấy, File trên Server đã hiện ra như ở hình 4.

Hình 4. Kết quả sau khi cấu hình fstab
Hình 4. Kết quả sau khi cấu hình fstab

3. Tổng kết

Fstab là một công cụ thiết yếu trong việc quản lý các hệ thống tập tin và thiết bị lưu trữ trên Linux, giúp tự động mount các phân vùng khi hệ thống khởi động. Bằng cách hiểu rõ Fstab là gì và cách sử dụng Fstab, bạn có thể đảm bảo hệ thống hoạt động ổn định và hiệu quả. Bài viết đã hướng dẫn chi tiết từ cấu hình cơ bản đến các tình huống cụ thể như mount ổ đĩa nội bộ, thiết bị di động và hệ thống tập tin mạng, cùng với các lưu ý quan trọng khi chỉnh sửa Fstab để tránh rủi ro. Với kiến thức này, bạn có thể kiểm soát hệ thống Linux của mình một cách chính xác và an toàn.

Tác giả:
author avatar
Mình là Huy, hiện mình đang là kỹ sư hệ thống tại SunCloud. Mình có nhiều năm kinh nghiệm, kiến thức chuyên môn về mạng, hệ thống, điện toán mây và an ninh bảo mật. Mình đã triển khai và vận hành rất nhiều dự án thực tế cho doanh nghiệp, cơ quan. Mình đã đạt được một số chứng chỉ quốc tế như CCNP, LPI, VCP, đồng thời mình vẫn đang tiếp tục học tập để trau dồi kiến thức mỗi ngày. Mình rất yêu thích công nghệ, đam mê chia sẻ những kiến thức, thông tin hữu ích cho mọi người.

Tin tức nổi bật