Các đặc điểm mới vẫn đang được tiếp tục thêm vào định dạng tập tin ext4. Hai đặc điểm đáng mong đợi ở định dạng tập tin ext4 là lưu dấu vết thời gian về tập tin đến từng nanô-giây và có thể lưu từng phiên bản của inode. Hai đặc điểm này đều nhằm quản lý khi nào tập tin bị thay đổi và những sự thay đổi của tập tin.
Ext3 chỉ lưu dấu vết thời gian cho từng tập tin đến giới hạn giây. Nhưng với chip tốc độ cao ngày nay thì nó có thể thay đổi nhiều tập tin chỉ trong một giây. Trong định dạng ext4, kể từ khi sử dụng inode lớn hơn, đã có thể lưu lại dấu vết thời gian chính xác đến nanô-giây. Với độ rộng 32 bít cho các trường atime, mtime và ctime, có thêm một trường mới là crtime được tạo ra khi tập tin được tạo mới, và được thêm vào inode của định dạng ext4. 30 bít đầu được dùng để lưu dữ liệu của nanô-giây, 2 bít còn lại được sử dụng để mở rộng thời gian, tính theo kỷ nguyên đến 272 năm tiếp theo.
Các phiên bản NFSv4 ở máy khách cần các cập nhật của tập tin từ máy chủ, theo thứ tự để dữ liệu ở máy khách luôn là mới nhất. Ngay cả khi ctime được hỗ trợ đến nanô-giây, thì dấu vết thời gian của tập tin cũng không cần cập nhật đến mức nanô-giây. Các inode của định dạng ext4 được chia làm các phiên bản bằng cách cấp một bộ đếm chung 64-bít cho mỗi inode. Bộ đếm này tăng lên mỗi khi tập tin có thay đổi. Bộ đếm được khởi tạo khi tập tin bắt đầu đươc tạo ra. Việc tràn bộ đếm là gần như không thể xảy ra được, vì tổng số bộ đếm đã được tính toán và kiểm tra. Phiên bản thứ i của các trường inode được giới thiệu gồm 128 bít, trong đó 32 bít dùng cho inode thường và 32 bit dùng cho inode cỡ lớn.
Nâng cấp định dạng
Ext3 được phát triển để có thể tương thích ngược với định dạng tập tin kiểu ext2, phụ thuộc vào đặc trưng của người sử dụng. Trong khi ext4 nỗ lực để giữ lại khả năng tương thích với ext3 càng nhiều càng tốt, đôi khi vẫn không tương thích nếu cách sắp xếp dữ liệu trên đĩa cứng bị thay đổi.
Mặc dù vậy, người dùng vẫn có thể dễ dàng nâng cấp định dạng tập tin từ ext3 lên ext4, giống như có thể nâng cấp từ ext2 lên ext3. Có nhiều cách để người dùng có thể trực tiếp định dạng kiểu ext4 cho tập tin, hoặc nâng cấp định dạng lên ext4 mà không cần sao lưu và khôi phục lại tập tin đó.
Nâng cấp từ ext3 sang ext4
Rất đơn giản để nâng cấp định dạng cho người dùng ext3 bắt đầu sử dụng phân vùng bộ nhớ mở rộng (extents) và một vài đặc điểm của định dạng ext4, mà không cần phải sao lưu hoặc nâng cấp tập tin. Bằng cách dựng lên (mounting) một tập tin đã có định dạng ext3 thành ext4 (với phân vùng bộ nhớ được phép truy cập), tập tin mới tạo ra được sử dụng phân vùng bộ nhớ mở rộng, nhưng bản chất nó vẫn còn gián tiếp trỏ đến khối bản đồ bit ext3 và chỉ có bề ngoài được thể hiện là ext4. Một cái cờ (flag) bên trong bảng inode giúp phân biệt giữa 2 định dạng này, cho phép cả hai cùng tồn tại bên trong một định dạng tập tin. Tất cả các đặc điểm của ext4 cơ bản dựa vào phân vùng bộ nhớ mở rộng, ví dụ như xác định vị trí, gắn nhiều khối inode cố định, có thể sử dụng được ngay khi tập tin được gán phân vùng bộ nhớ mở rộng.
Một công cụ cũng được tạo ra để có thể nâng cấp định dạng tập tin hệ thống từ ext3 sang ext4. Công cụ nâng cấp này thực hiện hai chức năng chính: Nâng cấp ánh xạ từ con trỏ gián tiếp sang phân vùng bộ nhớ mở rộng, và mở rộng chiều dài inode lên 256 bytes.
• Nâng cấp phân vùng bộ nhớ mở rộng: bước đầu tiền có thể thực hiện trực
tuyến (online) và sử dụng công cụ chống phân mảnh. Trong suốt quá trình xử lý, tập tin sẽ từng bước được thay đổi ánh xạ sang phân vùng bộ nhớ mở rộng. Bằng cách này, tập tin sẽ được chuyển đổi sang phân vùng bộ nhớ mở rộng và chống phân mảnh cùng một lúc.
• Nâng cấp inode: Mở rộng cấu trúc của inode thì phải được thực hiện thông
qua ngoại tuyến (offline). Trong trường hợp này thì dữ liệu đã được sao lưu, toàn bộ định dạng tập tin hệ thống sẽ được quét và chuyển đổi sang phân vùng bộ nhớ mở rộng và mở rộng chiều dài inode.
Đối với những người chưa muốn chuyển sang dùng định dạng tập tin ext4 nhưng muốn sử dụng các đặc trưng của ext4, thì cũng có thể chuẩn bị tập tin ext3 của họ để nâng cấp ngoại tuyến sau đó. Nếu một tập tin ext3 được định dạng với cấu trúc có chiều dài inode lớn, 256 byte hoặc lớn hơn, thì đặc trưng về phân vùng bộ nhớ mở rộng của ext4 có thể dùng được ngay và luôn. Sau đó người dùng muốn nâng cấp hoàn chỉnh lên ext4, ví dụ nâng cấp các đặc điểm như chiều dài inode lớn, sử dụng bộ lưu vết thời gian chính xác đến nanô- giây, thì người sử dụng cần dùng bộ nâng cấp ngoại tuyến.
Chuyển định dạng xuống ext3 từ ext4
Không phức tạp như việc nâng cấp lên ext4 từ ext3, việc chuyển định dạng ngược trở lại ext3 khá dễ dàng. Người dùng chỉ việc dựng lại (remount) định dạng tập tin với tùy chọn noextents sau lệnh mount, sao chép tất cả các tập tin tạm và đổi tên nó trùng tên với tập tin cũ. Sau đó tất cả các tập tin sẽ được chuyển đổi ngược trở lại ánh xạ gián tiếp vào khối các bit, và cờ INCOM-PAT_EXTENTS phải được xóa đi bằng lệnh tune2fs, sau đó định dạng tập tin có thể dựng lên (mount) thành ext3.
Tốc độ thực thi
Chúng ta sẽ kiểm tra tốc độ thực thi của định dạng ext4, so sánh với định dạng ext3 và XFS, bằng 3 bài kiểm tra định dạng tập tin hệ thống. Định dạng ext4 được kiểm tra với phân vùng bộ nhớ mở rộng và cấp phát bộ nhớ trễ (delayed allocation) được phép truy cập. Bài chấm điểm sẽ phân tích và chọn ra những thay đổi đáng kể của ext4. 3 bài chấm điểm mà chúng ta chọn ở đây là: Flexible Filesystem Benchmark (FFSB), Postmark, và IOzone. FFSB được điều chỉnh để có thể chứa được một số lượng lớn các tập tin, dùng để kiểm tra đặc tính phân vùng mở rộng của định dạng ext4. Postmark được dùng để đánh giá hiệu năng (performance) của ext4 với một số lượng nhỏ tập tin. Cuối cùng, chúng ta dùng IOzone để tính toán khối lượng thực thi trung bình của định dạng tập tin ext4.
Các bài kiểm tra được chạy trên bộ nhân 2.6.21-rc4 với vùng cấp phát bộ nhớ trễ được bật. Cả 2 định dạng ext3 và ext4 đều được dựng ở chế độ ghi đè tập tin, và các chế độ vùng mở rộng bộ nhớ, cấp phát bộ nhớ trễ được đặt hợp lý. Còn định dạng XFS chúng ta đặt các tùy chọn mặc định khi dựng (mount) tập tin.
Hai bài kiểm tra FFSB và IOzone được chạy trên cùng một CPU 4 nhân tốc độ 2.8 Ghz của hãng Intel(R) Xeon(TM), Hệ thống gồm RAM 2 GB x, ổ đĩa cứng 68GB ultra320 SCSI (10000 vòng phút). Postmark cũng chạy trên một CPU 4 nhân tốc độ 700 MHz chíp Pentium(R) III với RAM 4 GB, ổ đĩa cứng 9 GB SCSI (7200 vòng phút). Kết quả của bài kiểm tra bao gồm cả tập tin dữ liệu định dạng raw được để tại trang chủ wiki của ext4. http://ext4.wiki.kernel.org.
Kiểm tra bằng FFSB
FFSB là một công cụ chấm điểm định dạng tập tin hệ thống rất mạnh, có thể giả lập nhiều hệ thống cân bằng tải khác nhau để kiểm tra tập tin. Chúng ta sẽ kiểm tra việc tạo ra một tập tin dung lượng khá lớn sử dung đa luồng. Kiểm tra được thực hiện với khoảng 4 luồng chạy đa nhiệm song song, kiểm tra đồng thời 24 tập tin, mỗi tập tin dung lượng tới 1GB. Cần kiểm tra tốc độ tạo ra tập tin và tốc độ ghi tập tin vào đĩa cứng.
Bài kiểm tra FFSB của các định dạng khác nhau.
Kết quả là, như ta thấy, tốc độ ghi tập tin của định dạng ext4 tăng lên từ 35% đến 40% so với định dạng ext3. Tốc độ thực thi ghi tập tin của xfs và ext4 là ngang nhau. Đúng như mong đợi, việc phân bố bộ nhớ mở rộng và cho phép cấp phát bộ nhớ trễ đã có hiệu quả làm tăng khả năng xử lý tập tin dung lượng lớn và rất lớn.
Kiểm tra bằng Postmark
Postmark được biết đến là một bài kiểm tra giả lập một hòm thư từ máy chủ phải xử lý rất nhiều thư gửi từ máy khách, theo các đường đơn-luồng (single- threaded) gửi đến và thường có dung lượng tập tin nhận được là nhỏ hoặc rất nhỏ.
Biểu đồ ở trên cho thấy ext4 vượt trội hơn khoảng 30% so với 2 định dạng còn lại. Trong khi bộ điểu khiển trung tâm (CPU) vẫn hoạt động tương tự nhau, không bị quá tải hơn. Bởi vì các siêu dữ liệu của ext4 đã được nén lại trong phân vùng bộ nhớ mở rộng. Ta cũng thấy quá trình ghi nhanh hơn đọc vì tất cả được ghi vào trong bộ nhớ chính (memory).
Kết quả này đã cho thấy rằng, bên cạnh việc có thể xử lý tốt những tập tin có dung lượng lớn, định dạng ext4 còn có thể xử lý rất nuột những tập tin dung lượng nhỏ mà không ảnh hưởng đến tốc độ chung của hệ thống.
Kiểm tra bằng IOzone
Chuẩn bị cho bài kiểm tra bằng Iozone, hệ thống đã được khởi động với 64MB bộ nhớ sẵn sàng để đọc ghi dữ liệu. Bài kiểm tra được tiến hành với khoảng 8MB bản ghi bao gồm rất nhiều tập tin với nhiều kiểu dung lượng khác nhau. Các phép thử như ghi, ghi đè, đọc, đọc lại, ghi ngẫu nhiên, và đọc ngẫu nhiên được thực hiện kiểm tra kỹ.
Kết quả kiểm tra với Iozone: tốc độ trao đổi 512MB tập tin
Hình trên cho thấy kết quả của việc đọc ghi 512MB tập tin. Tổng kết lại ta thấy kết quả là đã có sự tăng tốc vượt trội của ext4 so với ext3, đặc biệt là với quá trình ghi đè, ghi ngẫu nhiên và đọc lại. Trong bài kiểm tra này, xfs vẫn có tốc độ đọc khá tốt còn ext4 cho tốc độ ghi khá tốt.
Như chúng ta đã trao đổi bên trên, định dạng tập tin kiểu mới ext4 đã mang lại nhiều đặc điểm nổi bật hơn ext3, làm cho ext4 trở thành định dạng phổ biến cho nền tảng cần xử lý các tập tin lớn. Đã có rất nhiều đặc điểm được hoàn thiện để ext4 trở nên phổ biến trong nền tảng Linux, mà điều cơ bản nhất đó là một định dạng tập tin đơn giản, tối ưu, với độ cân bằng tốt, đáng tin cậy, tốc độ thực thi nhanh và ổn định. Những người dùng định dạng ext3 sẽ sớm phải nhận ra rằng họ nên cập nhật lên định dạng ext4, một định dạng trong cùng gia đình ext nhưng mang trong mình rất nhiều đặc điểm vượt trội.
Kết luận
Như vậy ta có thể thấy từ khi ra đời đến này, tính đến thời điểm hiện tại, Linux đã có rất nhiều biến thể và phiên bản khác nhau, được xây dựng và phát triển riêng biệt bởi các công ty phần mềm và các cá nhân. Hiện nay, sau hơn 20 năm tồn tại và phát triển, Linux được sử dụng rộng rãi trên toàn thế giới, trên các máy tính cá nhân, các máy chủ, đến các thiết bị di động, máy nghe nhạc, máy tính bảng, các máy ATM và thậm chí trên cả các siêu máy tính… Ngày nay, Linux được xem là biểu tượng của sự chia sẻ cộng đồng, được phát triển bởi cộng đồng và được ủng hộ vì hoàn toàn miễn phí. Với những tính năng ngày càng tiên tiến, hệ thống File được nâng cấp, hoàn thiện đáp ứng nhu cầu của người sử dụng. Hệ điều hành Linux sẽ ngày càng phát triển trong tương lai.
TÀI LIỆU THAM KHẢO Các cuốn sách tham khảo :
[1] Trần Thạch Tùng, Bảo mật và Tối ưu trong Red Hat Linux, 2003
[2] Tiêu Đông Nhơn, Giáo trình hệ điều hành Linux, NXB ĐH QG TP.HCM
[3] Tiêu Đông Nhơn, Giáo trình dịch vụ mạng Linux, NXB ĐH QG TP.HCM
[4] Huỳnh Thúc Cước, Giáo Trình HĐH Linux, Viện Công Nghệ Thông Tin
[5] Tham khảo File: Ext4-File-System 6/2007 IBM Linux Technology Center
Các địa chỉ Website tham khảo :
[1] http://www.diendanlinux.org [2] http://www.quantrimang.com [3] http://google.com.vn
[4] http://en.wikipedia.org