Bạn nên sử dụng hệ thống tệp Linux nào?
Khi định dạng phân vùng trên PC Linux, bạn sẽ thấy nhiều tùy chọn hệ thống tệp. Các tùy chọn này không cần quá nhiều. Nếu bạn không chắc chắn nên sử dụng hệ thống tệp Linux nào, có một câu trả lời đơn giản.
Câu trả lời nhanh: Sử dụng Ext4 nếu bạn không chắc chắn
Chúng tôi sẽ đi sâu vào cỏ dại và giảm bớt sự khác biệt giữa các hệ thống tệp khác nhau ngay lập tức, nhưng nếu bạn không chắc chắn: Sử dụng Ext4.
Ext4 là hệ thống tệp mặc định trên hầu hết các bản phân phối Linux vì một lý do. Đây là phiên bản cải tiến của hệ thống tệp Ext3 cũ hơn. Đây không phải là hệ thống tệp tiên tiến nhất, nhưng điều đó tốt: Điều đó có nghĩa là Ext4 rất vững chắc và ổn định.
Trong tương lai, các bản phân phối Linux sẽ dần dần chuyển sang BtrFS. BtrFS vẫn đang phát triển và chứng kiến rất nhiều sự phát triển, vì vậy bạn sẽ muốn tránh nó trên các hệ thống sản xuất. Nguy cơ tham nhũng dữ liệu hoặc các vấn đề khác không đáng để cải thiện tiềm năng về tốc độ.
Tuy nhiên, xin lưu ý rằng, điều này mà sử dụng lời khuyên Ext4 này chỉ áp dụng cho các phân vùng hệ thống Linux và các phân vùng trên đĩa khác chỉ Linux sẽ truy cập. Nếu bạn định dạng ổ đĩa ngoài mà bạn muốn chia sẻ với các hệ điều hành khác, bạn không nên sử dụng Ext4 vì Windows, macOS và các thiết bị khác không thể đọc được hệ thống tệp Ext4. Bạn sẽ muốn sử dụng exFAT hoặc FAT32 khi định dạng ổ đĩa ngoài trên Linux.
Nếu bạn đang thiết lập các phân vùng trên ổ đĩa khởi động Linux chính của mình, bạn cũng sẽ muốn tạo một phân vùng trao đổi có kích thước ít nhất vài GB khi thiết lập các phân vùng đó. Phân vùng này được sử dụng cho không gian hoán đổi trên mạng. Nó tương tự như tệp hoán trang trên Windows. Linux hoán đổi bộ nhớ sang không gian trao đổi khi RAM của nó đầy. Phân vùng này phải được định dạng là hoán đổi hoán đổi thay vì với một hệ thống tệp cụ thể.
Nhật ký là gì?
Một điều bạn sẽ chú ý khi lựa chọn giữa các hệ thống tập tin là một số trong số chúng được đánh dấu là hệ thống tập tin nhật ký trên mạng và một số thì không. Điều này quan trọng.
Nhật ký được thiết kế để ngăn ngừa tham nhũng dữ liệu từ sự cố và mất điện đột ngột. Giả sử hệ thống của bạn đang trong quá trình ghi một tệp vào đĩa và nó đột nhiên mất nguồn. Nếu không có nhật ký, máy tính của bạn sẽ không biết liệu tệp đã được ghi hoàn toàn vào đĩa hay chưa. Các tập tin sẽ vẫn còn trên đĩa, bị hỏng.
Với một tạp chí, máy tính của bạn sẽ lưu ý rằng nó sẽ ghi một tệp nhất định vào đĩa trong tạp chí, ghi tệp đó vào đĩa và sau đó xóa công việc đó khỏi tạp chí. Nếu mất điện giữa chừng khi viết tệp, Linux sẽ kiểm tra nhật ký của hệ thống tệp khi khởi động và tiếp tục mọi công việc đã hoàn thành một phần. Điều này ngăn ngừa mất dữ liệu và tham nhũng tập tin.
Ghi nhật ký làm chậm hiệu suất ghi đĩa xuống một chút, nhưng nó đáng giá trên máy tính để bàn hoặc máy tính xách tay. Nó không quá nhiều như bạn nghĩ. Các tập tin đầy đủ không được viết cho tạp chí. Thay vào đó, chỉ có siêu dữ liệu tệp, inode hoặc vị trí đĩa được ghi lại trong tạp chí trước khi nó được ghi vào đĩa.
Mọi hệ thống tệp hiện đại đều hỗ trợ ghi nhật ký và bạn sẽ muốn sử dụng hệ thống tệp hỗ trợ ghi nhật ký khi thiết lập máy tính để bàn hoặc máy tính xách tay.
Các hệ thống tệp không cung cấp nhật ký có sẵn để sử dụng trên các máy chủ hiệu suất cao và các hệ thống khác như vậy mà quản trị viên muốn giảm hiệu suất bổ sung. Chúng cũng lý tưởng cho các ổ đĩa flash di động, nơi bạn không muốn có chi phí cao hơn và viết nhật ký bổ sung.
Sự khác biệt giữa tất cả các hệ thống tệp Linux đó là gì?
Trong khi Microsoft phát triển Windows và Apple kiểm soát macOS, Linux là một dự án nguồn mở được phát triển bởi cộng đồng. Bất cứ ai (hoặc bất kỳ công ty nào) có kỹ năng và thời gian đều có thể tạo ra một hệ thống tệp Linux mới. Đó là một lý do tại sao có rất nhiều lựa chọn. Dưới đây là sự khác biệt:
- Gia hạn là viết tắt của hệ thống tập tin Extended Extended, và là lần đầu tiên được tạo riêng cho Linux. Nó đã có bốn phiên bản chính. Ext Ext là phiên bản đầu tiên của hệ thống tệp, được giới thiệu vào năm 1992. Đây là một bản nâng cấp lớn từ hệ thống tệp Minix được sử dụng vào thời điểm đó, nhưng thiếu các tính năng quan trọng. Nhiều bản phân phối Linux không còn hỗ trợ Ext.
- Ext2 không phải là một hệ thống tập tin nhật ký. Khi được giới thiệu, đây là hệ thống tệp đầu tiên hỗ trợ các thuộc tính tệp mở rộng và 2 ổ terabyte. Ext2 thiếu một tạp chí có nghĩa là nó ghi vào đĩa ít hơn, điều này làm cho nó hữu ích cho bộ nhớ flash như ổ đĩa USB. Tuy nhiên, các hệ thống tệp như exFAT và FAT32 cũng không sử dụng nhật ký và tương thích hơn với các hệ điều hành khác nhau, vì vậy chúng tôi khuyên bạn nên tránh Ext2 trừ khi bạn biết bạn cần nó vì một số lý do.
- Ext3 về cơ bản chỉ là Ext2 với nhật ký. Ext3 được thiết kế để tương thích ngược với Ext2, cho phép các phân vùng được chuyển đổi giữa Ext2 và Ext3 mà không cần bất kỳ định dạng nào. Nó đã tồn tại lâu hơn Ext4, nhưng Ext4 đã có từ năm 2008 và được thử nghiệm rộng rãi. Tại thời điểm này, bạn nên sử dụng Ext4.
- Ext4 cũng được thiết kế để tương thích ngược. Bạn có thể gắn hệ thống tệp Ext4 dưới dạng Ext3 hoặc gắn hệ thống tệp Ext2 hoặc Ext3 dưới dạng Ext4. Nó bao gồm các tính năng mới hơn giúp giảm phân mảnh tệp, cho phép khối lượng và tệp lớn hơn và sử dụng phân bổ trễ để cải thiện tuổi thọ bộ nhớ flash. Đây là phiên bản hiện đại nhất của hệ thống tệp Ext và là mặc định trên hầu hết các bản phân phối Linux.
- BtrFS, phát âm là Bơ Bơ hay còn gọi là Better Better FS, ban đầu được thiết kế bởi Oracle. Nó là viết tắt của hệ thống tập tin B-Tree, và cho phép tổng hợp ổ đĩa, trên các ảnh chụp nhanh, nén trong suốt và chống phân mảnh trực tuyến. Nó chia sẻ một số ý tưởng tương tự được tìm thấy trong ReiserFS, một hệ thống tệp mà một số bản phân phối Linux được sử dụng để sử dụng theo mặc định. BtrFS được thiết kế để thoát khỏi chuỗi các tập tin Ext của tập tin Ext. Ted Ts'o, người duy trì hệ thống tệp Ext4, coi Ext4 là giải pháp ngắn hạn và tin rằng BtrFS là con đường phía trước. Hy vọng sẽ thấy BtrFS trở thành mặc định trong cả máy chủ doanh nghiệp và máy tính để bàn dành cho người tiêu dùng trong vài năm tới khi nó được thử nghiệm thêm.
- ReiserFS là một bước tiến lớn cho các hệ thống tệp Linux khi nó được giới thiệu vào năm 2001 và nó bao gồm nhiều tính năng mới mà Ext sẽ không bao giờ có thể thực hiện được. ReiserFS đã được thay thế bởi Reiser4, đã cải thiện nhiều tính năng chưa hoàn chỉnh hoặc thiếu trong bản phát hành đầu tiên vào năm 2004. Nhưng sự phát triển của Reiser4 bị đình trệ sau khi nhà phát triển chính, Hans Reiser, bị tống vào tù năm 2008. Reiser4 vẫn không trong nhân Linux chính và không có khả năng đến đó. BtrFS là sự lựa chọn lâu dài tốt hơn.
- ZFS được thiết kế bởi Sun microsystems cho Solaris và hiện thuộc sở hữu của Oracle. ZFS hỗ trợ rất nhiều tính năng nâng cao bao gồm tổng hợp ổ đĩa, ảnh chụp nhanh và phân chia đĩa động - BtrFS sẽ mang nhiều tính năng này đến Linux theo mặc định. Mỗi tệp có một tổng kiểm tra, vì vậy ZFS có thể biết liệu một tệp có bị hỏng hay không. Sun ZFS có nguồn mở theo giấy phép Sun CDDL, có nghĩa là nó không thể được bao gồm trong nhân Linux. Tuy nhiên, bạn có thể cài đặt hỗ trợ ZFS trên bất kỳ bản phân phối Linux nào. Ubuntu hiện cũng cung cấp hỗ trợ ZFS chính thức bắt đầu với Ubuntu 16.04. Ubuntu sử dụng ZFS theo mặc định cho các container.
- XFS được phát triển bởi Silicon Graphics vào năm 1994 cho hệ điều hành SGI IRX và được chuyển sang Linux vào năm 2001. Nó tương tự như Ext4 theo một số cách, vì nó cũng sử dụng phân bổ chậm để giúp phân mảnh tệp và không cho phép chụp nhanh. Nó có thể được mở rộng, nhưng không bị thu hẹp khi đang bay. XFS có hiệu suất tốt khi xử lý các tệp lớn, nhưng có hiệu suất kém hơn các hệ thống tệp khác khi xử lý nhiều tệp nhỏ. Nó có thể hữu ích cho một số loại máy chủ chủ yếu cần xử lý các tệp lớn.
- JFS, hay Hệ thống tệp nhật ký của Nhật Bản, được IBM phát triển cho hệ điều hành AIX của IBM vào năm 1990 và sau đó được chuyển sang Linux. Nó tự hào sử dụng CPU thấp và hiệu suất tốt cho cả các tệp lớn và nhỏ. Các phân vùng JFS có thể được thay đổi kích thước động, nhưng không bị thu hẹp. Nó đã được lên kế hoạch rất tốt và có hỗ trợ trong hầu hết mọi bản phân phối chính, tuy nhiên thử nghiệm sản xuất của nó trên các máy chủ Linux không rộng như Ext, vì nó được thiết kế cho AIX. Ext4 được sử dụng phổ biến hơn và được thử nghiệm rộng rãi hơn.
- Trao đổi là một tùy chọn khi định dạng ổ đĩa, nhưng không phải là một hệ thống tệp thực tế. Nó được sử dụng làm bộ nhớ ảo và không có cấu trúc hệ thống tệp. Bạn không thể gắn kết nó để xem nội dung của nó. Hoán đổi được sử dụng như không gian cào trên mạng của hạt nhân Linux để tạm thời lưu trữ dữ liệu không phù hợp với RAM. Nó cũng được sử dụng để ngủ đông. Trong khi Windows lưu trữ tệp hoán trang của mình dưới dạng tệp trên phân vùng hệ thống chính, Linux chỉ dành một phân vùng trống riêng cho không gian trao đổi.
- FAT16, FAT32, và exFAT: Các hệ thống tệp FAT của Microsoft thường là một tùy chọn khi định dạng ổ đĩa trong Linux. Các hệ thống tệp này không bao gồm nhật ký, vì vậy chúng rất lý tưởng cho các ổ USB ngoài. Chúng là một tiêu chuẩn thực tế mà mọi hệ điều hành - Windows, macOS, Linux và các thiết bị khác - đều có thể đọc được. Điều này làm cho chúng trở thành hệ thống tệp lý tưởng để sử dụng khi định dạng ổ đĩa ngoài mà bạn muốn sử dụng với các hệ điều hành khác. FAT32 cũ hơn. exFAT là tùy chọn lý tưởng, vì nó hỗ trợ các tệp có kích thước trên 4 GB và phân vùng có kích thước trên 8 TB, không giống như FAT32.
Cũng có các hệ thống tệp Linux khác, bao gồm các hệ thống tệp được thiết kế dành riêng cho lưu trữ flash trong các thiết bị nhúng và trên thẻ SD. Nhưng đây là những tùy chọn bạn thường thấy nhất khi sử dụng Linux.