Ổ đĩa và Hệ thống Tệp trong Linux – Góc nhìn của Kỹ sư Hệ thống
Từ góc độ quản trị hệ thống tệp (file system), Linux xem mọi thành phần lưu trữ như một cấu trúc duy nhất, bắt đầu từ thư mục gốc (/).
Dù máy chủ có nhiều ổ đĩa cứng, SSD, hay phương tiện lưu trữ quang, chúng đều phải được gắn kết (mount) vào một điểm gắn (mount point) nào đó bên dưới /.
Các ổ đĩa vật lý và ổ quang thực chất là các thiết bị phần cứng độc lập dùng để lưu trữ hoặc cung cấp dữ liệu cho hệ thống.
1. Phân vùng Ổ đĩa
Trước khi hệ điều hành có thể lưu trữ dữ liệu, ổ đĩa cần được tổ chức hợp lý thông qua phân vùng (partition).
Trong Linux, bạn có thể quan sát các thiết bị này trong thư mục /dev:
Phân vùng được quản lý bởi bảng phân vùng (partition table) – nơi lưu thông tin về vị trí bắt đầu/kết thúc phân vùng và mã khởi động hệ thống.
Hai loại bảng phân vùng phổ biến:
Các công cụ quản lý phân vùng:
Ví dụ – xem bảng phân vùng với parted:
sudo parted -l
Kết quả hiển thị loại bảng phân vùng (MBR/GPT), kích thước, loại hệ thống tệp, và các cờ (flags) như boot.
2. Các loại Hệ thống Tệp (File System Types)
Linux hỗ trợ nhiều loại hệ thống tệp:
3. Cơ chế Gắn kết (Mounting)
Để sử dụng, một thiết bị lưu trữ phải được mount vào hệ thống tệp.
Linux tự động mount các thiết bị khi khởi động theo cấu hình trong /etc/fstab.
Cấu hình /etc/fstab thường dùng UUID thay cho tên thiết bị (/dev/sda1) để tránh nhầm lẫn khi thứ tự thiết bị thay đổi.
Ví dụ một dòng trong /etc/fstab:
UUID=339228c9-cbc3-4503-950f-40415e03779f / ext4 errors=remount-ro 0 1
Trong đó:
4. Mount thủ công
Cú pháp:
mount -t <loại_fs> <tên_thiết_bị> <điểm_gắn>
Ví dụ:
sudo mount -t ext4 /dev/sdb1 /mnt/data
Tùy chọn -t có thể bỏ qua nếu Linux tự nhận dạng được loại hệ thống tệp.
5. Tóm tắt kiến thức quan trọng
Câu hỏi ôn tập
C1: Lệnh sudo parted -l dùng để:
C2: Cú pháp chuẩn để mount thủ công là:
Từ góc độ quản trị hệ thống tệp (file system), Linux xem mọi thành phần lưu trữ như một cấu trúc duy nhất, bắt đầu từ thư mục gốc (/).
Dù máy chủ có nhiều ổ đĩa cứng, SSD, hay phương tiện lưu trữ quang, chúng đều phải được gắn kết (mount) vào một điểm gắn (mount point) nào đó bên dưới /.
Các ổ đĩa vật lý và ổ quang thực chất là các thiết bị phần cứng độc lập dùng để lưu trữ hoặc cung cấp dữ liệu cho hệ thống.
1. Phân vùng Ổ đĩa
Trước khi hệ điều hành có thể lưu trữ dữ liệu, ổ đĩa cần được tổ chức hợp lý thông qua phân vùng (partition).
Trong Linux, bạn có thể quan sát các thiết bị này trong thư mục /dev:
- /dev/sda → Ổ đĩa vật lý đầu tiên
- /dev/sda1 → Phân vùng 1 trên ổ đĩa /dev/sda
- /dev/sdb → Ổ đĩa vật lý thứ hai
Phân vùng được quản lý bởi bảng phân vùng (partition table) – nơi lưu thông tin về vị trí bắt đầu/kết thúc phân vùng và mã khởi động hệ thống.
Hai loại bảng phân vùng phổ biến:
- MBR (Master Boot Record) – truyền thống, tương thích cao nhưng giới hạn kích thước và số lượng phân vùng (tối đa 4 primary).
- GPT (GUID Partition Table) – hiện đại, hỗ trợ ổ lớn, nhiều phân vùng, và có cơ chế sao lưu bảng phân vùng để tăng khả năng khôi phục.
Các công cụ quản lý phân vùng:
- CLI: fdisk, parted, gdisk
- GUI: gparted (phiên bản đồ họa của parted)
Ví dụ – xem bảng phân vùng với parted:
sudo parted -l
Kết quả hiển thị loại bảng phân vùng (MBR/GPT), kích thước, loại hệ thống tệp, và các cờ (flags) như boot.
Lưu ý: Quản lý phân vùng là tác vụ rủi ro – nếu thao tác sai, toàn bộ dữ liệu có thể mất. Luôn sao lưu trước khi thực hiện.
2. Các loại Hệ thống Tệp (File System Types)
Linux hỗ trợ nhiều loại hệ thống tệp:
- ext2 / ext3 / ext4 – Hệ thống tệp gốc của Linux, ext4 là phiên bản hiện đại, tương thích ngược.
- NTFS – Hệ thống tệp của Windows, hỗ trợ ổ lớn, phân quyền phức tạp.
- FAT16 / FAT32 / exFAT – Tương thích cao, phổ biến trên USB, nhưng hạn chế tính năng bảo mật và dung lượng.
- ISO 9660 / JOLIET – Dùng cho đĩa CD/DVD.
- HFS+ – Hệ thống tệp của macOS, Linux có thể đọc/ghi.
- Swap – Không phải file system thực sự; là vùng ổ đĩa dùng làm bộ nhớ ảo khi RAM thiếu.
3. Cơ chế Gắn kết (Mounting)
Để sử dụng, một thiết bị lưu trữ phải được mount vào hệ thống tệp.
Linux tự động mount các thiết bị khi khởi động theo cấu hình trong /etc/fstab.
Cấu hình /etc/fstab thường dùng UUID thay cho tên thiết bị (/dev/sda1) để tránh nhầm lẫn khi thứ tự thiết bị thay đổi.
Ví dụ một dòng trong /etc/fstab:
UUID=339228c9-cbc3-4503-950f-40415e03779f / ext4 errors=remount-ro 0 1
Trong đó:
- UUID: định danh duy nhất của phân vùng
- /: điểm gắn (root)
- ext4: loại hệ thống tệp
- errors=remount-ro: tùy chọn (chỉ đọc khi lỗi)
- 0 1: tần suất backup và thứ tự mount
4. Mount thủ công
Cú pháp:
mount -t <loại_fs> <tên_thiết_bị> <điểm_gắn>
Ví dụ:
sudo mount -t ext4 /dev/sdb1 /mnt/data
Tùy chọn -t có thể bỏ qua nếu Linux tự nhận dạng được loại hệ thống tệp.
5. Tóm tắt kiến thức quan trọng
- parted -l → Liệt kê bố cục phân vùng của tất cả thiết bị khối.
- MBR vs GPT → GPT vượt trội về dung lượng, số lượng phân vùng, và khả năng khôi phục.
- /etc/fstab với UUID → Giúp mount ổ đĩa chính xác ngay cả khi thứ tự thiết bị thay đổi.
- Mount thủ công → mount -t <fs> <device> <mount_point>.
Câu hỏi ôn tập
C1: Lệnh sudo parted -l dùng để:
✅ Hiển thị bố cục phân vùng trên tất cả thiết bị khối.
C2: Cú pháp chuẩn để mount thủ công là:
✅ mount -t <loại> <tên thiết bị> <điểm gắn>