Filesystem là gì? Tri thức cơ bản về Filesystem – sentayho.com.vn

Trong bài viết dưới đây, chúng tôi sẽ giới thiệu sở hữu bạn đọc những tri thức cơ bản về filesystem, tìm hiểu những loại filesystem, phương pháp tạo filesystem và nhiều thông tin hữu ích khác về hệ thống tập tin này.

1. Filesystem là gì?

Filesystem là những phương pháp và những cấu trúc dữ liệu mà 1 hệ điều hành dùng để theo dõi những tập tin trên ổ đĩa hoặc phân vùng. Có thể tạm dịch filesystem là hệ thống tập tin. Ấy là phương pháp những tập tin được tổ chức trên ổ đĩa. Thuật ngữ này cũng được dùng để chỉ 1 phân vùng hoặc ổ đĩa được dùng để lưu trữ những tập tin hoặc loại hệ thống tập tin. Vì vậy, ví dụ ai ấy nói “Tôi có 2 filesystem” nghĩa là khách hàng ấy có 2 phân vùng, trong ấy 1 phân vùng lưu trữ những file, hoặc 1 phân vùng dùng “prolonged filesystem”, nghĩa là loại filesystem.

  • Tìm hiểu khái niệm cơ bản về hệ thống file trong Linux
  • Tìm hiểu hệ thống tập tin và thư phần trên hệ điều hành Linux

Sự khác biệt giữa 1 ổ đĩa hoặc phân vùng và hệ thống tập tin được lưu trên ấy là siêu quan yếu. 1 vài chương trình (bao gồm cả chương trình tạo ra những hệ thống tập tin) hoạt động quản lý trên những sector thô của 1 ổ đĩa hoặc phân vùng. Trường hợp có 1 hệ thống tập tin tồn tại, nó sẽ bị phá hủy hoặc hỏng hóc nghiêm trọng. Gần như những chương trình hoạt động trên 1 hệ thống tập tin, do ấy chúng sẽ ko hoạt động trên 1 phân vùng ko chứa 1 (hoặc có chứa 1 loại sai).

Để 1 phân vùng hoặc 1 ổ đĩa có thể được dùng như 1 hệ thống tập tin, nó cần được khởi tạo và những cấu trúc dữ liệu của kiểu hệ thống tập tin ấy cần bắt buộc được ghi vào ổ đĩa. Quy trình này được gọi là tạo hệ thống tập tin.

Gần như những loại hệ thống tập tin UNIX đều có cấu trúc chung tương tự động nhau, mặc dầu những chi tiết cụ thể khác nhau khá nhiều. Những loại niệm chủ chốt là superblock, inode, knowledge block, listing block và indirection block. Những superlock chứa thông tin về hệ thống tập tin như 1 toàn thể, chẳng hạn như kích thước của nó (thông tin chính xác trên đây phụ thuộc vào hệ thống tập tin). Inode chứa toàn bộ những thông tin về 1 tập tin, ngoại trừ tên của nó. Tên được lưu trữ trong thư phần, cùng sở hữu số lượng lớn những inode. Phần nhập thư phần bao gồm tên tập tin và số lượng inode đại diện cho tập tin ấy. Inode chứa số lượng lớn những khối dữ liệu, được dùng để lưu trữ dữ liệu trong tập tin. Có ko gian cho 1 số khối dữ liệu trong inode, tuy nhiên, ví dụ cần thiết, sẽ có thêm ko gian cho con trỏ tới những khối dữ liệu được phân bổ tự động động. Những khối phân bổ này là những khối gián tiếp, tên chỉ ra rằng để tìm khối dữ liệu, trước tiên khách hàng bắt buộc tìm số của nó trong khối gián tiếp.

Những hệ thống tập tin UNIX thường cho phép tạo ra 1 quạt hổng trong tập tin (điều này được thực hành bằng cuộc gọi hệ thống Iseek(), đánh giá trang chỉ dẫn), có nghĩa là hệ thống tập tin chỉ đánh lừa rằng nó trên 1 nơi cụ thể trong tệp có 0 byte, nhưng ko có sector đĩa thực tế nào được dành riêng cho địa điểm ấy trong tệp (nghĩa là tập tin sẽ dùng ít ko gian ổ đĩa hơn). Điều này thường đặc biệt xảy ra sở hữu những tệp nhị phân bé, thư viện chia sẻ Linux, 1 vài cơ sở dữ liệu và 1 số trường hợp đặc biệt khác. (Những quạt hổng được thực hành bằng phương pháp lưu trữ 1 giá trị đặc biệt như liên hệ của khối dữ liệu trong khối gián tiếp hoặc inode. Liên hệ đặc biệt này có nghĩa là ko có khối dữ liệu nào được phân bổ cho 1 phần của tập tin, do ấy, có 1 quạt hổng trong file).

2. Filesystem galore

Linux tương trợ 1 vài loại hệ thống tập tin. Trong bài viết này, những hệ thống quan yếu nhất là:

Minix

Minix là hệ thống thời gian dài đời nhất và được cho là đáng tin cậy nhất, nhưng nó khá hạn chế về những tính năng (1 số nhãn thời kì (time stamp) bị thiếu, cao nhất} 30 kí tự động tên tập tin) và hạn chế về khả năng (cao nhất} 64 MB cho từng filesystem)

Xem Thêm  Surimi là gì? Quy trình chế tạo Surimi và những nhà máy chế tạo Surimi uy tín | Hải Thanh SeaFood

Xia

Xia là phiên bản sửa đổi của hệ thống tập tin minix – nâng cao giới hạn về tên tập tin và kích thước hệ thống tập tin, nhưng ko giới thiệu tính năng new nào cả. Xia cũng ko phổ cập} nhiều nhưng những báo cáo cho thấy hệ thống này hoạt động siêu phải chăng.

Ext3

Hệ thống tập tin ext3 có tất những tính năng của ext2. Tuy nhiên, sự khác biệt là sự có mặt của journaling. Điều này cải thiện hiệu suất và thời kì phục hồi phòng lúc hệ thống bị treo. Chính điều ấy làm cho ext3 phổ cập} hơn ext2.

Ext2

Ext2 là hệ thống nhiều tính năng nhất của những tập tin hệ thống Linux đời đầu. Nó được thiết kế để dễ dàng tương thích sở hữu phiên bản new, do ấy những phiên bản code new của hệ thống tập tin ko đề nghị viết lại hệ thống tập tin hiện có.

Ext

Là phiên bản cũ hơn của ext2, phiên bản này ko tương thích sở hữu những phiên bản new. Nó hầu như ko bao giờ được dùng trong những cài đặt new nữa và gần như khách hàng đều chuyển đổi sang ext2.

Reiserfs

Là 1 hệ thống tập tin mạnh hơn. Việc dùng journaling sẽ làm cho mất ít dữ liệu hơn.

Jfs

JFS là 1 hệ thống tập tin có journaling được thiết kế bởi IBM để làm cho việc trong những môi trường hiệu suất cao.

Xfs

XFS được thiết kế lần đầu bởi Silicon Graphics để hoạt động như 1 hệ thống tập tin có journaling 64-bit. XFS cũng được thiết kế để duy trì hiệu năng cao sở hữu những file lớn và hệ thống tập tin.

Bên cạnh ra, tương trợ cho 1 số hệ thống tập tin bên bên cạnh hoạt động, để dễ dàng trao đổi những file sở hữu những hệ điều hành khác. Những hệ thống tập tin bên bên cạnh hoạt động giống như những chương trình gốc, ngoại trừ việc chúng thường thiếu 1 số tính năng UNIX thông thường hoặc có những hạn chế kì lạ khác.

Msdos

Msdos có khả năng tương thích sở hữu những hệ thống tập tin FAT của MS-DOS (gồm OS/2 và Home windows NT )

Umsdos

Umsdos mở rộng driver hệ thống tập tin msdos trong Linux để nhận được tên tập tin dài, chủ sở hữu, quyền hạn, hợp tác và những file thiết bị. Điều này cho phép 1 hệ thống tập tin msdos thông thường được dùng như thể nó là 1 Linux, do ấy umsdos loại bỏ sự cần thiết cho 1 phân vùng riêng của Linux.

Vfat

Đây là phần mở rộng của hệ thống tập tin FAT được gọi là FAT32. Nó tương trợ kích thước ổ đĩa lớn hơn FAT. Gần như những đĩa Home windows đều là vfat.

Iso9660

Iso9660 là hệ thống tập tin CD-ROM tiêu chuẩn, phần mở rộng Rock Ridge phổ cập} cho tiêu chuẩn CD-ROM cho phép tên tệp dài hơn được tương trợ tự động động.

Nfs

Nfs là 1 hệ thống tập tin mạng cho phép chia sẻ 1 filesystem giữa nhiều máy tính để cho phép dễ dàng truy cập vào những tập tin từ chúng.

Smbfs

Là 1 hệ thống tập tin mạng cho phép chia sẻ 1 filesystem sở hữu 1 máy tính MS Home windows. Nó tương thích sở hữu những giao thức chia sẻ file Home windows.

Hpfs

Là hệ thống tập tin OS/2

Sysv

Là hệ thống tập tin SystemV/386, Coherent và Xenix .

NTFS

Là hệ thống tập tin tiên tiến nhất của Microsoft phân phối khả năng truy cập và ổn định tệp nhanh hơn những hệ thống tập tin của Microsoft trước đây.

Sự lựa chọn của hệ thống tập tin để dùng phụ thuộc vào tình hình. Trường hợp tính tương thích hoặc những nguyên nhân khác làm cho cho 1 trong những hệ thống tập tin ko bắt buộc bản gốc trở nên cần thiết, thì lựa chọn ấy cần được dùng. Trường hợp có thể chọn tự động do, thì có lẽ phương pháp thông minh nhất là dùng ext3 bởi nó chứa toàn bộ những tính năng của ext2 và là 1 hệ thống tập tin journaling. Để biết thêm thông tin về tập tin, hãy đọc phần 5.10.6 bên dưới.

Xem Thêm  188BET – Chỉ dẫn Cá Cược tại 188BET| Hyperlink 188bet & Đăng Ký

Bên cạnh ra còn có proc, có thể truy cập như thư phần /proc, có thể coi đây là 1 filesystem dù thực sự thì ko bắt buộc. Hệ thống proc giúp bạn dễ dàng truy cập những cấu trúc dữ liệu nhân (kernel knowledge constructions) nhất định, chẳng hạn như danh sách tiến trình (course of). Nó làm cho cho những cấu trúc dữ liệu trông giống như 1 hệ thống tập tin, và hệ thống này có thể được thực hiện sở hữu toàn bộ những công cụ tập tin thông thường. Thí dụ, để có danh sách của toàn bộ những tiến trình, bạn có thể dùng lệnh sau:

$ ls -l /proc complete 0 dr-xr-xr-x 4 root root 0 Jan 31 20:37 1 dr-xr-xr-x 4 liw customers 0 Jan 31 20:37 63 dr-xr-xr-x 4 liw customers 0 Jan 31 20:37 94 dr-xr-xr-x 4 liw customers 0 Jan 31 20:37 95 dr-xr-xr-x 4 root customers 0 Jan 31 20:37 98 dr-xr-xr-x 4 liw customers 0 Jan 31 20:37 99 -r-r-r- 1 root root 0 Jan 31 20:37 units -r-r-r- 1 root root 0 Jan 31 20:37 dma -r-r-r- 1 root root 0 Jan 31 20:37 filesystems -r-r-r- 1 root root 0 Jan 31 20:37 interrupts -r- 1 root root 8654848 Jan 31 20:37 kcore -r-r-r- 1 root root 0 Jan 31 11:50 kmsg -r-r-r- 1 root root 0 Jan 31 20:37 ksyms -r-r-r- 1 root root 0 Jan 31 11:51 loadavg -r-r-r- 1 root root 0 Jan 31 20:37 meminfo -r-r-r- 1 root root 0 Jan 31 20:37 modules dr-xr-xr-x 2 root root 0 Jan 31 20:37 web dr-xr-xr-x 4 root root 0 Jan 31 20:37 self -r-r-r- 1 root root 0 Jan 31 20:37 stat -r-r-r- 1 root root 0 Jan 31 20:37 uptime -r-r-r- 1 root root 0 Jan 31 20:37 model $

Lưu ý rằng mặc dầu nó được gọi là hệ thống tập tin nhưng ko có 1 phần nào của hệ thống tập tin proc làm cho việc quản lý trên ổ đĩa. Nó chỉ tồn tại trong hệ thống ảo của nhân hệ thống. Trường hợp kiếm tìm những phần của hệ thống tập tin proc, nhân hệ thống làm cho phần ấy hiển thị trên đâu ấy, dù thực tế ko bắt buộc vậy. Vì thế, mặc dầu có tập tin /proc/kcore nhiều MB, nó vẫn ko chiếm 1 tí ko gian ổ đĩa nào.

3. Nên dùng filesystem nào?

Thường có ít điểm trong việc dùng nhiều hệ thống tập tin. Hiện nay, ext3 là filesystem phổ cập} nhất bởi nó là 1 hệ thống tập tin có journaling (journaling là khả năng ghi lại những hoạt động của hệ thống lúc thực hiện trên dữ liệu, giúp tìm ra file bị lỗi nhanh chóng mà ko cần quét toàn bộ file và giúp quy trình khôi phục dữ liệu đáng tin cậy hơn). Nó là lựa chọn khôn ngoan nhất. Reiserfs cũng là 1 lựa chọn phổ cập} bởi nó cũng có journaling. Tùy thuộc} thuộc vào chi chi phí cho những cấu trục kế toán, tốc độ, độ tin cậy (được nhận thức), khả năng tương thích và những nguyên nhân khác, khách hàng được khuyên là nên dùng hệ thống tập tin khác. Điều này được quyết định theo từng trường hợp cụ thể.

1 filesystem dùng journaling cũng được gọi là hệ thống tập tin journaling. 1 hệ thống tập tin journaling duy trì bản ghi, biên bản, về những gì đã xảy ra trên hệ thống tập tin. Trong trường hợp hệ thống bị treo, hoặc ví dụ con bạn chạm bắt buộc nút nguồn, hệ thống tập tin journaling sẽ dùng bản ghi của filesystem để tái tạo những dữ liệu đã mất và chưa được lưu. Việc này làm cho khả năng mất dữ liệu giảm đi và có thể sẽ trở nên 1 tính năng tiêu chuẩn trong những hệ thống tập tin Linux. Tuy nhiên, giống như những hệ thống khác, những lỗi vẫn có thể xảy ra. Vì vậy, hãy nhớ sao lưu dữ liệu của bạn trong trường hợp khẩn cấp.

Đọc phần 5.10.6 để biết thêm chi tiết về những tính năng của những loại hệ thống tập tin khác nhau.

4. Tạo filesystem

Những filesystem được tạo ra, tức là được khởi tạo sở hữu lệnh mkfs. Thực sự có 1 chương trình biệt lập cho từng loại hệ thống tập tin. Mkfs chỉ là 1 giao diện khách hàng chạy chương trình thích hợp phụ thuộc vào loại filesystem mong muốn. Loại này được chọn sở hữu tùy thuộc} chỉnh -t fstype.

Xem Thêm  Bánh ướt thịt nướng – bí quyết làm cho bánh ngon chuẩn vị tại nhà

Những chương trình được gọi bởi mkfs có giao diện dòng lệnh khá khác nhau. Những tùy thuộc} chọn phổ cập} và quan yếu nhất được tóm tắt dưới đây:

-t fstype

Chọn loại tập tin hệ thống.

-c

Kiếm tìm những khối xấu và khởi tạo danh sách chặn xấu cho thích hợp.

-l filename

Đọc danh sách chặn xấu ban đầu từ tập tin tên.

Bên cạnh ra còn có nhiều chương trình được viết để thêm những tùy thuộc} chọn cụ thể lúc tạo 1 hệ thống tập tin cụ thể. Thí dụ, sentayho.com.vn3 thêm 1 tùy thuộc} chọn -b để cho phép những quản trị viên xác định kích thước khối cần được dùng. Đảm bảo để tìm ra ví dụ có 1 chương trình cụ thể có sẵn cho loại tập tin hệ thống mà bạn muốn dùng. Để biết thêm thông tin về việc xác định những kích cỡ khối dùng, xem thêm trên phần 5.10.5 bên dưới.

Để tạo 1 hệ thống tập tin ext2 trên đĩa mềm, cần đưa ra những lệnh sau:

$ fdformat -n /dev/fd0H1440 Double-sided, 80 tracks, 18 sec/monitor. Whole capability 1440 KB. Formatting … performed $ badblocks /dev/fd0H1440 1440 $>$ bad-blocks $ sentayho.com.vn2 -l bad-blocks /dev/fd0H1440 mke2fs 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10 360 inodes, 1440 blocks 72 blocks (5.00%) reserved for the tremendous person First knowledge block=1 Block measurement=1024 (log=0) Fragment measurement=1024 (log=0) 1 block group 8192 blocks per group, 8192 fragments per group 360 inodes per group Writing inode tables: performed Writing superblocks and filesystem accounting info: performed $

Trước tiên, đĩa mềm bắt buộc được định dạng (tùy thuộc} chọn -n ngăn chặn xác nhận, nghĩa là đánh giá khối xấu). Tiếp tục những khối xấu đã được kiếm tìm sở hữu badblocks, sở hữu đầu ra được chuyển hướng tới 1 tập tin – badblocks. Cuối cùng, hệ thống tập tin được tạo ra sở hữu danh sách chặn xấu được khởi tạo sở hữu bất kì badblocks nào được tìm thấy.

Tùy thuộc} chọn -c có thể đã được dùng sở hữu mkfs thay thế vì badblocks và 1 tập tin biệt lập. Hãy xem dí dụ dưới đây.

$ sentayho.com.vn2 -c /dev/fd0H1440 mke2fs 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10 360 inodes, 1440 blocks 72 blocks (5.00%) reserved for the tremendous person First knowledge block=1 Block measurement=1024 (log=0) Fragment measurement=1024 (log=0) 1 block group 8192 blocks per group, 8192 fragments per group 360 inodes per group Checking for unhealthy blocks (read-only take a look at): performed Writing inode tables: performed Writing superblocks and filesystem accounting info: performed $

Tùy thuộc} chọn -c thuận tiện hơn việc dùng riêng những badblocks, nhưng badblocks lại cần thiết trong việc đánh giá sau thời điểm hệ thống tập tin được tạo ra.

Quy trình chuẩn bị những hệ thống tập tin trên những đĩa cứng hoặc phân vùng tương tự động như cho những đĩa mềm, ngoại trừ việc định dạng là ko cần thiết.

5. Kích thước khối filesystem

Kích thước khối xác định kích thước mà hệ thống tập tin sẽ dùng để đọc và ghi dữ liệu. Những kích thước khối lớn hơn sẽ giúp cải thiện hiệu suất I/O lúc dùng những tập tin lớn, chẳng hạn như cơ sở dữ liệu. Điều này xảy ra bởi những ổ đĩa có thể đọc hoặc ghi dữ liệu trong thời kì dài hơn trước lúc kiếm tìm khối kế tiếp.

Mặc khác, ví dụ bạn có nhiều tập tin bé hơn trong filesystem, dí dụ như /and so forth, có khả năng là nhiều ko gian ổ đĩa sẽ bị lãng chi phí.

Thí dụ, ví dụ bạn đặt kích thước khối là 4096 hoặc 4K và bạn tạo 1 tập tin có kích thước 256 byte, nó vẫn sẽ chiếm 4K dung lượng trên đĩa cứng của bạn. Đối sở hữu tập tin có vẻ bình thường, nhưng lúc hệ thống tập tin của bạn chứa hàng trăm hoặc hàng nghìn tập tin, điều này có thể làm cho nâng cao thêm.

Kích thước khối cũng có thể tác động tới kích cỡ tập tin được tương trợ cao nhất} trên 1 số hệ thống tập tin, bởi nhiều filesystem tiên tiến bị giới hạn ko bắt buộc bởi kích thước khối hay kích thước tập tin, mà bởi số lượng những khối. Vì vậy, bạn sẽ cần dùng công thức “block measurement * max # of blocks = max block measurement”.

6. So sánh những loại filesystem

Bảng 1: So sánh những loại filesystem