File hệ thống Ext2, Ext3 & Ext4 trong Linux và cách chuyển đổi
Trong bài này mình sẽ giải thích khái niệm về các file Ext2, Ext3 & Ext4 trong Linux, đây là hệ thống file hệ thống (file system) của Linux nên bạn phải hiểu để sử dụng cho đúng.
Qua bài này bạn cũng sẽ biết cách chuyển đổi định dang các file này. Tuy nhiên, cần phải lưu ý rằng bạn nên tạo một bản backup cho an toàn nhé, bởi những file hệ thống này rất quan trọng, nếu có sai sót gì thì ta có thể phục hồi nó được qua bản backup.
Hệ thống file Linux được chia thành hai phân đoạn được gọi là User Data và Metadata. Trong bài viết này, ta sẽ khám phá cách tạo và chuyển đổi các file hệ thống trên Linux, cũng như tìm hiểu sự khác biệt các file hệ thống Ext2, Ext3 và Ext4.
Ext2 - File hệ thống mở rộng thứ hai
File ext2 được giới thiệu vào năm 1993 và Ext2 được phát triển bởi Remy Card. Đây là file hệ thống mặc định đầu tiên trong một số bản phân phối Linux như RedHat và Debian.
Bài viết này được đăng tại [free tuts .net]
- Kích thước tệp tối đa là 16GB - 2TB.
- Tính năng ghi nhật ký không có.
- Hiện nó đang được sử dụng cho thiết bị lưu trữ dựa trên Flash như ổ USB Flash, Thẻ SD, v.v.
Ext3 - File hệ thống mở rộng thứ ba
File Ext3 được giới thiệu vào năm 2001, được tích hợp và Kernel 2.4.15 với tính năng ghi nhật ký, nhằm cải thiện độ tin cậy và loại bỏ nhu cầu kiểm tra hệ thống file sau khi tắt máy đột ngột.
- Kích thước file tối đa 16GB - 2TB.
- Cung cấp cơ sở để nâng cấp từ hệ thống file Ext2 lên Ext3 mà không cần phải sao lưu và khôi phục dữ liệu.
Ext3 - File hệ thống mở rộng thứ tư
Ext4 là file mở rông nâng cấp từ Ext3 được mong đợi rất cao.
- Vào tháng 10 năm 2008, Ext4 đã được hợp nhất trong Kernel 2.6.28, nhân có chứa hệ thống file Ext4.
- Khả năng tương thích ngược.
- Kích thước file tối đa 16GB đến 16TB.
- File hệ thống ext4 có tùy chọn "tắt tính năng ghi nhật ký".
- Các tính năng khác như: Sub Directory, Multiblock Allocation, Delayed Allocation, Fast FSCK ...
Cách kiểm tra thể loại file hệ thống trên Linux
Để kiểm tra loại file hệ thống của bạn đang ở định dạng nào thì sử dụng đoạn code dưới đây, chạy trên terminal với quyền root.
# df -hT | awk '{print $1,$2,$NF}' | grep "^/dev" /dev/sda3 ext3 / /dev/sda1 ext3 /boot
Cách tạo file Ext2, or Ext3, or Ext4 trên Linux
Ta có thể sử dụng hai lệnh fdisk hoặc parted để tạo file hệ thống, nhưng tốt nhất bạn nên sử dụng lệnh mke2fs để chỉ định rõ thể loại cần tạo.
Các ví dụ dưới đây là mình tạo file có tên là hdXX, bạn có thể thay thế nó bằng cái tên khác theo ý riêng của mình.
# mke2fs /dev/hdXX
# mke2fs –j /dev/hdXX OR # mkfs.ext3 /dev/hdXX
Tùy chọn -j sử dụng để ghi nhật ký.
# mke2fs -t ext4 /dev/hdXX OR # mkfs.ext4 /dev/hdXX
Tùy chọn -t chỉ định loại file.
Chuyển đổi giữa các file Ext2, Ext3, Ext4 trên Linux
Như mình đã nói ở đầu, bạn nên copy ra một bản backup trước khi chuyển đổi, tránh trường hợp bị lỗi thì ta có file backup để phục hồi.
Để chuyển đổi giữa các định dạng file thì bạn sử dụng các đoạn code dưới đây (đổi tên file hdXX thành tên file trong máy tính của bạn).
Chuyển đổi từ Ext2 sang Ext3
Để thay đổi file Ext2 thành Ext3 và bật tính năng nhật ký, hãy sử dụng lệnh.
# tune2fs -j /dev/hdXX
Chuyển đổi từ Ext2 sang Ext4
Để chuyển đổi từ file Ext2 cũ sang file Ext4 với tính năng ghi nhật ký mới nhất. Chạy lệnh sau.
# tune2fs -O dir_index,has_journal,uninit_bg /dev/hdXX
Tiếp theo, thực hiện kiểm tra toàn bộ hệ thống tệp bằng lệnh e2fsck để khắc phục và sửa chữa file sau khi chuyển.
# e2fsck -pf /dev/hdXX
Tùy chọn -p tự động sửa chữa file hệ thống.
Tùy chọn -f buộc phải kiểm tra file hệ thống ngay cả khi nó có vẻ sạch sẽ.
Chuyển đổi từ Ext3 sang Ext4
Để bật các tính năng của Ext4 trên file Ext3 thì hãy sử dụng lệnh.
# tune2fs -O extents,uninit_bg,dir_index /dev/hdX
Tương tự, bạn phải chạy lệnh sau để fix lỗi file sau khi chuyển.
# e2fsck -pf /dev/hdXX
Cảnh báo: Bạn nên chạy những lệnh trên ở một server test nhé, đừng chạy trên server chính, trừ khi bạn là một quản trị viên chuyên nghiệp.