Linux xuất hiện như một sản phâm nguồn mớ miễn phí và đến nay đã có thê sánh vai với các hệ điều hành thương phẩm như MS Windows, Sun Solaris v.v. Linux ra đời từ một dự án hồi đầu những năm 1990 có mục đích tạo ra một hệ điều hành kiêu UNIX cài đặt trên máy tính cá nhân chạy với bộ vi xử lý Intel, tương hợp họ máy tính IBMPC (còn gọi tắt là PC). Từ lâu, UNIX đã nổi tiếng là một hệ điều hành mạnh, tin cậy và linh hoạt, nhưng vì khá đắt nên chủ yếu chỉ dùng cho các trạm tính toán hoặc máy chủ cao cấp.Ngày nay Linux có thể cài đặt trên nhiều họ máy tính khác nhau, không chỉ riêng cho họ PC. Qua Internet, Linux được hàng nghìn nhà lập trình khắp trên thế giới tham gia thiết kế, xây dựng và phát triền, với mục tiêu không lệ thuộc vào bất kỳ thương phẩm nào và đế cho mọi người đều có thể sử dụng thoải mái. Khởi thuỷ, Linux xuất phát từ ý tưởng của Linus Torvalds, khi đó chàng sinh viên Đại học Helsinki ở Phần Lan đã muốn thay thế Minix, một hệ điều hành nhỏ kiểu UNIX.về cơ bản, Linux bắt chước UNIX cho nên cũng có nhiều un điếm của UNIX. Tính đa nhiệm thực sự của Linux cho phép chạy nhiều chương trình cùng lúc. Với Linux, bạn có thể đồng thời thực hiện một số thao tác, thí dụ chuyến tệp, in ấn, sao tệp, nghe nhạc, chơi game v.v.Linux là hệ điều hành đa người dùng, nghĩa là nhiều người có thê đăng nhập và cùng lúc sử dụng một hệ thống. Uu điểm này có vẻ không phát huy mấy trên máy PC ở nhà, song ở trong công ty hoặc trường học thì nó giúp cho việc dùng chung tài nguyên, từ đó giảm thiểu chi phí đầu tư vào máy móc.Ngay cả khi ở nhà, bạn cũng có thể đăng nhập vào Linux với nhiều account khác nhau qua các terminal ảo và tô chức dịch vụ trên mạng riêng cho mình bàng cách sử dụng Linux với nhiều modem.
MỤC LỤC MỤC LỤC / LỜI GIỚI THIỆU CÁC TỪ VIẾT TẮT Chương Tim hiếu hệ điều hành Linux 1.1 Linux gì? 1.2 Tạ i Linux phát triển? 1.3 C ác phát hành Linux .7 1.4 Lợi Linux 1.5 Ai phát triển Linux ? Chương Phân vùng đĩa cứng .10 2.1 Giói thiệu chung 10 2 Hệ thống File EXT2 10 2.1 Giới thiệu 10 2.2.2 Tổ chức đĩa 12 2.2.2.1 Superblock 14 2.2.2.2 Group Descriptor 20 2.2.2.3 Block Bitmap 21 2.2.2.4 Inode Bitmap 21 2.2.2.5 Inode Table 22 2.2.2.6 Data Blocks 28 2.2.3 Cấu trúc thu mục 28 2.2.3.1 Định dạng Directory File 28 2.2.3.2 Ví dụ Directory 30 2.2.3.4 Indexed Directory Format 31 2.2.4 Inodes, File Identiíìers 35 2.2.4.1 Inode Number .36 2.4.2 Định vị cấu trúc Inode 36 2.2.4.3 Định vị Inode Table 37 2.2.5 Các Thuộc Tính Của File 37 2.2.5.1 Các thuộc tính chuẩn 37 2.2.5.2 Các thuộc tính mở rộng 37 2.2.6 Quản trị hệ thống file EXT2 .38 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX 2.4 Hệ thống File EXT4 42 2.4.1 Giới thiệu 43 2.4.2 Khả nâng cấp mở rộng 43 2.4.2.1 Hệ Thống Tệp Tin Lớn 44 2.4.2.2 Đặc điểm .44 2.4.2.3 L ưu file theo nhóm block (Extents) .45 2.4.2.4 Chống phân mảnh trực tuyến .46 2.4.2.5 Cải tiến độ tin cậy 47 4.4.2.6 Đem số inode (index-node) chưa dùng việc làm lệnh e2fsck nhanh 47 2.4.2.7 Kiểm tra tổng thể (checksum) 49 2.4.2.8 Các đặc điểm 50 Kết luận 56 TÀI LIỆU THAM KHẢO .57 Nhóm 7- Lớp TDL&MMT Đợt LỜI GIỚI THIỆU Trong năm gần HDH Linux ngày trở nên phổ biến trường học môi trường công nghiệp Hệ điều hành này, với chức tính ôn định cho phép tồn song song với hệ điều hành thương mại khác Hơn nữa, phổ biến mã nguồn Linux Internet đóng góp nhiều cho phồ cập Linux Một nhũng đặc điểm quan trọng Linux hồ trợ nhiều hệ thống tập tin Điều làm cho linh động tồn với nhiều hệ điều hành khác Từ phiên đầu tiên, Linux hồ trợ 15 loại tập tin : ext, ext2, xia, minix, umsdos, msdos, vfat, proc, smb, ncp, ĨSO9660, sysv, hpfs, affs ufs Trong Linux, Unix, hệ thống tập tin truy xuất thông qua cấu trúc thừa kế đơn thay thiết bị xác định (như tên ổ đĩa số hiệu đĩa) Linux thêm hệ thống tập tin vào thiết lập (mount) Tất hệ thống tập tin thiết lập vào thư mục gọi thư mục thiết lập Khi đĩa khởi tạo, đĩa chia thành nhiều partitions Mỗi partition có hệ thống tập tin Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Chưong Tìm hiểu hệ điều hành Linux 1.1 Linux gì? Linux xuất sản phâm nguồn mớ miễn phí đến có thê sánh vai với hệ điều hành thương phẩm MS Windows, Sun Solaris v.v Linux đời từ dự án hồi đầu năm 1990 có mục đích tạo hệ điều hành kiêu UNIX cài đặt máy tính cá nhân chạy với vi xử lý Intel, tương hợp họ máy tính IBM-PC (còn gọi tắt PC) Từ lâu, UNIX tiếng hệ điều hành mạnh, tin cậy linh hoạt, đắt nên chủ yếu dùng cho trạm tính toán máy chủ cao cấp Ngày Linux cài đặt nhiều họ máy tính khác nhau, không riêng cho họ PC Qua Internet, Linux hàng nghìn nhà lập trình khắp giới tham gia thiết kế, xây dựng phát triền, với mục tiêu không lệ thuộc vào thương phẩm đế cho người sử dụng thoải mái Khởi thuỷ, Linux xuất phát từ ý tưởng Linus Torvalds, chàng sinh viên Đại học Helsinki Phần Lan muốn thay Minix, hệ điều hành nhỏ kiểu UNIX bản, Linux bắt chước UNIX có nhiều un điếm UNIX Tính đa nhiệm thực Linux cho phép chạy nhiều chương trình lúc Với Linux, bạn đồng thời thực số thao tác, thí dụ chuyến tệp, in ấn, tệp, nghe nhạc, chơi game v.v Linux hệ điều hành đa người dùng, nghĩa nhiều người có thê đăng nhập lúc sử dụng hệ thống Uu điểm không phát huy máy PC nhà, song công ty trường học giúp cho việc dùng chung tài nguyên, từ giảm thiểu chi phí đầu tư vào máy móc Ngay nhà, bạn đăng nhập vào Linux với nhiều account khác qua terminal ảo tô chức dịch vụ mạng riêng cho bàng cách sử dụng Linux với nhiều modem Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Bản thân việc độc lập với công ty lớn tiềm tàng điểm yếu Linux Khi chưa có mạng lưới riêng cung cấp dịch vụ bảo trì tất nhiên người ta ngại sử dụng Linux Tuy thế, với phát triển Internet, tổ chức hỗ trợ người dùng Linux tạo nên Website fomm để tháo gỡ cho bạn nhiều vấn đề khó khăn Hơn Linux không chạy tốt với số phần cứng phổ biến, chí việc hỏng hóc xoá liệu xảy ra, Linux thay đổi khó thử nghiệm đầy đủ trước đưa lên Internet Linux đồ chơi sẵn có, thiết kế nhằm mang đến cho người sử dụng cảm giác tham gia vào dự án Tuy nhiên thực tế cho thấy Linux chạy tương đối ốn định cho bạn may không tốn đe học sử dụng UNIX, họ hệ điều hành chuyên nghiệp nhiều người dùng máy chủ trạm tính toán cao cấp 1.2 Tại Linux phát triễn? Trước hết, Linux phát triển hệ điều hành miễn phí có khả đa nhiệm cho nhiều người sử dụng lúc máy tính tương thích với PC So với hệ điều hành thương phấm, Linux giúp bạn phải nâng cấp lại không cần trả tiền, phần lớn phần mềm ứng dụng cho Hơn nữa, Linux ứng dụng cung cấp với mã nguồn miễn phí mà bạn có thê lấy từ Internet, sau chỉnh sửa mở rộng chức chúng theo nhu cầu riêng Linux có khả thay số hệ điều hành thuộc họ UNIX đắt tiền Neu nơi làm việc mà bạn sử dụng UNIX nhà bạn thích sử dụng hệ giống rẻ tiền Linux giúp bạn dễ dàng truy cập, lướt qua Website gửi nhận thông tin mạng Internet Neu bạn quản trị viên UNIX nhà bạn sử dụng Linux đổ thực công việc quản trị hệ thống Một nguyên nhân khác làm cho Linux dễ đến với người dùng cung cấp mã nguồn mở cho người Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Chính điều khiến số tổ chức, cá nhân hay quốc gia đầu tư vào Linux nhằm mớ rộng lựa chọn phần mềm đóng kín mã nguồn Họ cho ràng, có dịch vụ hậu không đảm bảo dùng sản phẩm đóng kín Internet, thông tin cá nhân hay quốc gia họ có bị gửi tổ chức hay quốc gia khác hay không Thí dụ Trung Quốc phát triển hệ điều hành Hồng Kỳ từ kemel Linux đổ không bị lệ thuộc Microsoữ Windows, họ tự nghiên cứu vi xử lý Hồng Tâm để thay cho họ chip Intel Tại Việt Nam, việc nghiên cứu xây dựng hệ điều hành từ kemel Linux thu số thành công định Chắc bạn biết đến Vietkey Linux CMC RedHat Linux (phiên tiếng Việt RedHat Linux 6.2) Gần đây, công ty tiếng IBM, Sun, Intel, Oracle bắt đầu nghiên cứu Linux xây dựng phần mềm ứng dụng cho 1.3 Các phát hành Linux Nhiều người biết đến nhà sản xuất phần mềm RedHat, ManDrake, SuSE, Corel Caldera Có thể bạn nghe đến tên phiên Linux Slackvvare, Debian, TurboLinux VA Linux, v.v Quả thật, Linux phát hành nhiều nhà sản xuất khác nhau, mồi phát hành chương trình chạy nhóm tệp lõi (kernel) Linus Tordvalds Mồi dựa kemel đó, thí dụ RedHat Linux 6.2 sử dụng phiên kernel 2.2.4 Hãng RedHat làm chương trình quản lý đóng gói RPM (RedHat Package Manager), công cụ miễn phí giúp cho tự đóng gói phát hành phiên Linux Thí dụ OpenLinux Caldera tạo 1.4 Lọi Linux Tại chọn Linux thay chọn nhũng hệ điều hành khác chạy PC DOS, Windows 95/98, Windows NT, Windows 2000 ? Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Linux cung cấp cho bạn môi trường học lập trình mà chưa có hệ sánh Với Linux, bạn có đầy đủ mã nguồn, sản phẩm mang tính thưong mại thường không tiết lộ mã nguồn Cuối cùng, Linux mang đến cho bạn co hội sống lại bầu không khí cách mạng vi tính trước Cho đến giừa thập niên 1970, máy tính điện tử sân chơi riêng tổ chức lớn, hạn quyền, tập đoàn doanh nghiệp trường đại học Người dân thường không thê sử dụng thành tựu kỳ diệu công nghệ thông tin Ngày Linux làm cách mạng lĩnh vực phần mềm hệ thống Linux cờ tập họp người không muốn bị kiểm sát hãng khống lồ nhân danh kinh tế thị trường đế làm xơ cứng óc sáng tạo cải tiến Với Linux bạn khai thác nhiều mạnh UNIX Trong số hệ điều hành thông dụng nay, Linux hệ điều hành miễn phí nhiều người sử dụng rộng rãi Bản thân Linux hỗ trợ sẵn sàng giao thức mạng TCP/IP, giúp bạn dễ dàng kết nối Internet gửi thư điện tử Linux thường kèm XFree86 giao diện đồ hoạ cho người sử dụng (GUI) phát hành miễn phí XFree86 cung cấp cho bạn chức phổ biến sổ thương phẩm khác, chẳng hạn Windows Linux có hàng ngàn ứng dụng, từ chương trình bảng tính điện tử, quản trị sở dừ liệu, xử lý văn đến chương trình phát triển phần mềm cho nhiều ngôn ngữ, chưa kê nhiều phần mềm viễn thông trọn gói Ngoài Linux có hàng loạt trò chơi giải trí ký tự đồ hoạ Phần lớn chương trình tiện Ích ứng dụng có sẵn cho Linux lại không tiền mua Các bạn phải trả chi phí cho việc tải chúng từ Internet xuống trả cước phí bưu điện Đen với Linux, giới lập trình có loạt công cụ phát triển chương trình, bao gồm biên dịch cho nhiều ngôn ngữ lập trình hàng đầu nay, chẳng hạn c, C++ Bạn dùng ngôn ngừ Pascal thông qua trình biên dịch FreePascal Neu bạn không thích sử dụng ngôn ngữ vừa Nhóm 7- Lớp TDL&MMT Đợt Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX kể, Linux có sẵn công cụ Flex Bison để bạn xây dựng ngôn ngừ riêng cho Hai khái niệm đề cập nhiều hệ thống mở (open System) tính liên tác (interopcrability) gắn với khả hệ điều hành liên lạc với Phần lớn hệ mở đòi hỏi phải thoả mãn tương thích tiêu chuẩn IEEE POSIX (giao diện hệ điều hành khả chuyển) Linux đáp ứng tiêu chuân lưu hành với mã nguồn mớ 1.5 Ai phát triền Linux ? Nói chung, Linux hệ thống xây dựng hacker cho hacker Mặc dù xã hội từ hacker thường có hàm ý tiêu cực, song theo nghĩa ban đầu hacker tội phạm Hacker tìm hiêu có bên hệ thống chi tiết có khả sửa chữa hệ thống bị hỏng hóc Đa số hacker không xâm nhập hệ thống tiền bạc ác ý, sau có người vượt qua giới hạn bị tập thể hacker gọi cracker (tin tặc) hay hacker mũ đen Giới hacker cảm thấy bị xúc phạm người xem họ lũ phá hoại gọi chung tin tặc Thực ra, hacker chân chính, gọi hacker mũ trắng, có công việc phát kẽ hở phần mềm, giúp người chủ nhân phần mềm cảnh giác trước công giới tin tặc Cũng nhò' công bảo vệ mà Linux ứng dụng Linux (nói rộng phần mềm nguồn mở) ngày an toàn Ngoài đời, phần lớn người sử dụng UNIX cấp cho số account với quyền hạn thu hẹp, người bình thường thử nghiệm đầy đủ câu lệnh UNIX Với Linux bạn có phiên hoạt động tuông tự' UNIX cho phép quản trị, sử dụng, vào thoải mái không giới hạn, điều gặp sống Nhóm 7- Lớp TDL&MMT Đợt Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX — block group — (1024 bytes) superblock 1group descriptors 1block bitmap 1inode bitmap 23 inode table 28 1412 data blocks Và to chức hệ thống fíle Ext2 20MB: Figure 1-2 Bố trí liệu phân vùng 20MB offset # of blocks description boot record — block group -(1024 bytes) superblock 1group descriptors 1block bitmap 1inode bitmap 214 inode table 219 7974 data blocks — block group — 8193 superblock backup 8194 group descriptorsbackup 8195 block bitmap 8196 inode bitmap 8197 214 intxle table 8408 7974 data blocks — block group — 16385 block bitmap 16386 inode bitmap 16387 214 inode table 16601 3879 data blocks ] Supe Group Data block inoớe inode r Descripio Bltmap Bitmap iàble Data blocks Các Blacblockrs group làm tăng phân mảnh tập tin, bời nhân (kemel) cố gắng giữ data nphụ nbloc block thuộc vào tập tin block group blacks block Iblock nbkxksgiống nhau, Mỗi bkxkmột block group bao gồm thông ks tin sau: block Sự bố trí phân vùng Ext2 block group Một supcrblock hệ thống tập tin Tất cảMột block có kíchmiêu thướctảvà lun group trữ liên tiếp nhau, nhân có saogroup nhóm cáccùng ký hiệu block thể tìmMột thấy vị trí block group đĩa từ số chi mục kiểu nguyên block bitmap liệu Một bảng inode Trong đĩa mềm chứa block group điều khiển tất block hệ Một khoanh liệu thuộc tập tin, ví dụ block data thống Neu tập tin, không đĩa cứng 10GB có thông thê dễtin dàng chia 30 block group mộtthì block chứa có nghĩa nào, thành block trống vậy, block group điều khiến số lượng block cụ Việc bố trí đĩa có thê đoán trước vói điều kiện bạn biết vài thông tin Vị trí đầu block, block grouptrên trúcgroup, dừ liệu đường dẫn sau: kích thước số block mộtcấu block sốkhác inodenhau liệt mộtkêblock group phần thông hơn, xác định trạng thái hệ Thông tin lại, cung cấp xác nhiều định hay tínhtin toán tù’cấu cấu trúc trúc củaliệu superblock thống Nếu tập tin có hành Sautinđây tổ chức tậpdo tinđóExt2 đĩatrổng mềm:có không thông superblock, đĩahệsẽthống vô ích; nếutrên đủ khoảng sằn tạo hay nhiều lưu superblock đĩa Block bitmap Inode bitmap dùng để xác định block entry inode trống sửtrí dụng Cáctrên datađĩa block nơi lưu trữ nhiều loại tập tin Lưu ý Figure 1-1.đêBố liệu mềm offset # of blocks description boot record Nhóm 7- Lớp TDL&MMT Đợt 12 13 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX phiên (Ext4), phát minh vào năm 2006 Hệ thống tập tin kết họp với khả mớ rộng nâng cao hiệu suất giúp cho hệ thống tập tin rộng lớn hơn, trì độ tin cậy tính ổn định Phiên phù họp với khối lượng công việc lớn hơn, đa dạng mong đợi đê thay phiên EXT4 phát triển dựa fíle hệ thống Ext3 Trong lần cải tiến Ext4 cải tiến nhiều so với Ext3 (được cải tiến từ Ext2 lên, chủ yếu thêm vào cập nhật nhật ký), Ext4 lại thay đồi cấu trúc dừ liệu fíle hệ thống chang hạn việc lưu trữ tập tin liệu Đã tạo tập tin hệ thống với cải tiến thiết kế, hiệu suất tốt hơn, độ tin cậy cao nhiều tính tiên tiến 2.4.1 Giói thiệu Phiên hệ thống tập tin Linux phổ biến độ tin cậy cao, giàu tính thiết lập, hiệu suất tương đối tốt, khả tương thích mạnh mẽ phiên Thiết kế cứng nhắc phiên tòng mang lại danh tiếng ôn định mạnh mẽ, hạn chê khả mở rộng quy mô hoạt động cấu hình lớn Với áp lực đòi hỏi dung lượng ổ cúng ngày lón hồ trợ thay đối kích thước trực tuyến phiên 3, yêu cầu giải khả mở rộng hiệu suất phiên cấp bách hon hết Hiện nay, giới hạn tồn đọng phải đối mặt với phiên kích cỡ tối đa tập tin hệ thống 16 TB vào 28/6/2006, Theidore Ts'o, nhà trì EXT3, thông báo kế hoạch cho việc phát triển EXT4 Một phiên phát triển ext4 xuất phiên kemel Linux 2.6.19 Ngày 11/10/2008, vá lồi đánh dấu ext4 mã ổn định, kết thúc giai đoạn phát triến giới thiệu ext4 Kemel 2.6.28, có chứa hệ thống tập tin ext4, cuối phát hành vào ngày 25/12/2008 Ngày 15/1/2010, Google tuyên bố nâng cấp sở hạ tầng lưu trữ tù' ext2 sang ext4 Ngày 14/12/2010 họ thông báo họ sử dụng ext4, thay YAFFS, Android 2.3 2.4.2 Khả nâng cấp mỏ’ rộng Mục tiêu phiên trở thành hệ thống tệp tin lớn hon Trong phần sê thảo luận tính mở rộng có sẵn phiên Nhóm 7- Lớp TDL&MMT Đợt 43 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX 2.4.2.1 Hệ Thống Tệp Tin Lớn Dung lượng 32 bit phiên nguyên nhân làm giới hạn kích thước hệ thống tập tin 16 TB hành Đe mở rộng giới hạn hệ thống tệp tin, phương pháp đơn giản tăng dung lượng bit sử dụng đế đại diện cho số lượng khối sau sửa chừa tất tham chiếu cho dừ liệu khối siêu liệu Trước đây, phiên có báo lỗi cấp độ với khả hỗ trợ số lượng khối vật lý lên tới 48 bit Ớ phiên 4, thay mở rộng số lượng khối lên đến 64 bit, người phát triển phiên định mở rộng đồ với số khối 48 bit Cả hai điều nhằm nâng cao lực hệ thống tập tin cải thiện độ lớn tập tin cách hiệu Với số khối 48 bit, phiên hỗ trợ hệ thống tập tin với kích thước tối đa lên đến 2(48+12) = 260 bytes (1 EB) với kích cờ khối KB Sau thay đoi số lượng khối liệu 48 bit, bước chỉnh sửa cho xác tham chiếu đến khối siêu liệu tuông ứng Siêu liệu tồn siêu khối, mô tả nhóm, joumal Các trường thêm vào phần cuối cấu trúc siêu khối đê lưu trữ 32 bit quan trọng cho biến block- counter, s íree blocks count, s blocks count, s_r_blocks_count Ke từ địa chi khối thay đôi hệ thống tập tin đăng tạp chí, khối lóp nhật ký (JBD) yêu cầu để hồ trợ địa khối 48 bit Vì thế, JBD phân nhánh thành JBD2 đe hỗ trợ số khối 32 bit, lúc phiên chia hai Mặc dù có phiên sử dụng JBD2, cung cấp hồ trợ ghi lại nhật ký chung hai hệ thống tập tin 32 bit 64 bit Một câu hỏi đặt lại chọn 48 bit thay hồ trợ 64 bit Ở tốc độ tại, hệ thống tập tin 1EB sễ phải 119 năm đế hoàn thành e2fsck đầy đủ 65536 lần so với hệ thống tập tin 264 khối (64 ZB) 2.4.2.2 Đặc điểm Sau mở rộng giới hạn tạo số khối 32-bit, dung lượng hệ thống tập tin bị hạn chế số lượng nhóm khối hệ thống tập tin Với 128 MB mặc định (227 byte) kích thước nhóm khối, ext4 có thề có 27/64 = 221 nhóm khối Điều giới hạn toàn kích thước hệ thống tập tin 21 * 227 = 248 byte 256TB Các giải pháp cho vấn đề sử dụng tính nhóm siêu khối (META_BG), có ext3 cho tất phiên 2.6 Với tính METABG, hệ thống tập tin ext4 phân chia thành nhiều nhóm siêu khối Mỗi nhóm siêu khối cụm nhóm khối có nhóm cấu trúc mô tả lưu trữ khối Nhóm 7- Lớp TDL&MMT Đợt 44 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX tập tin lớn có độ phân tán cao thưa thớt , cần nhiều extent Trong trường họp này, extent có độ sâu ko đôi sử dụng đế lun trữ ánh xạ file Ieaf nodes ext4_exte nt_he ade r ext4_extent_idx eh_magic ei_block eh_entries eỉ_leaf eh_max eh_depth Cách eh_generation ei leaf hi ei_unused bố trí extent Gốc lưu trữ cấu trúc inode ext4 extent lưu trừ nút Mồi nút bắt đầu với tiêu đề extent, có số lượng mục hợp lệ nút, khả Cấu năngtrúc extent mục nút lun trừ, độ sâu cây, số magic Các số magic có the sử dụng để phân biệt phiên khác Như thảo luận trước đó, trường khối vật lý cấu trúc extent chiếm 48 extent, cải tiến thực tính năng, chẳng hạn tăng bit số khối ( block ) 64-bit Một extent đơn tượng trung cho 215 khối tiếp giáp 128Mb với 4Kb kích thước 2.4.2.4 Chong phân mảnh trực tuyến khối Mặccódùthểkỹđược thuậtlưu ghitrữ trễtrong làm giảm độ phân thời gian mộtnày hệ Bốn extent cấu trúc inodemảnh ext4 mộtsau cách trực tiếp Điều thống file lớn bị phân mảnh Một công cụ xoá phân mảnh Online (e4defrag) nói chung đủ đế đại diện cho tập tin nhỏ tiếp giáp Đối với xây dựng đế xử lý việc Có thề dùng công cụ đế xoá phân Nhóm 7- Lớp TDL&MMT Đợt 46 45 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX mảnh file riêng rẽ hệ thống file Công cụ chổng phân mảnh tập tin cá nhân toàn hệ thống tập tin Đối với tập tin, công cụ tạo inode tạm thời phân bổ mức độ tiếp giáp với inode tạm thời sử dụng nhiều khối phân bổ Sau chép tập tin liệu gốc vào nhớ cache trang xóa trang bẩn để khối inode tạm thời Cuối cùng, di chuyển khối trỏ từ inode tạm thời cho inode gốc 2.4.2.5 Cải tiến độ tin cậy Độ tin cậy quan trọng ext3 lý khiến phổ biến Vì vậy, nhà phát triển ext4 đặt nhiều nồ lực vào việc trì độ tin cậy định dạng tập tin Có thề dễ dàng thiết kế định dạng tập tin 64-bits không nhiều người dùng, giới công nghệ chưa cần dùng nhiều dung lượng đến mức Mặc dù sử dụng kỹ thuật lưu nhật ký (ịoumaling) RAID, có định dạng tập tin lỗi xuất bên đĩa cứng Dòng vùng bảo vệ phát chủ động tránh lỗi bàng kết hợp thiết kế siêu liệu, bên có phần thừa (re-dundancy) tổ chức theo nhiều cấp độ, sê kiểm tra tổng thể tính toàn vẹn dừ liệu Neu xảy lồi dùng lệnh kiểm tra tính toàn vẹn (fsck) đề phát sửa chữa lại tập tin hệ thống Một nhũng mối quan tâm tất định dạng tập tin tốc độ xác nhận sửa lỗi lại tập tin sau bị lồi (corruption) Với dung lượng lưu trữ RAID mức họp lý, lệnh fsck đầy đủ định dạng tập tin ext3 dung lượng 2TB từ đến đế tạo tập tin coi "sạch sẽ" Quá trình fsck tăng lên thành nhiều ngày có lượng lớn khối tập tin chia sẻ, cần trải qua nhiều trình để sửa chữa Một sổ đặc điểm, ví dụ phần mở rộng định dạng tập tin, gắn thẳng vào vùng siêu dừ liệu ext4 định nghĩa sẵn Rất nhiều nhũng thay đổi, xử lý, thiết kế đổ chắn ext4 trở thành định dạng hoàn hảo 4.4.2.6 Đem số inode (index-node) chưa dùng việc làm lệnh e2fsck nhanh Trong lệnh e2fsck, việc kiểm tra inode chưa dùng tốn thời gian trình xử lý Nó yêu cầu phải đọc tất inode lớn bảng inodc từ đĩa cứng, quét xem tồn tại, không tồn tại, inode chưa Nhóm 7- Lớp TDL&MMT Đợt 47 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX sử dụng, sau xác minh cập nhật thành khối đồ bit (bitmaps) cổ định Các nhóm bảng inode chưa phân tích sè đánh dâu đặc diêm đê cho phép trình quét bỏ qua cách an toàn Việc có thê làm trình e2fsck giảm từ đến 20 phút, phụ thuộc vào nhiều hay tập tin cần xử lý Đặc điểm dùng lệnh mke2fs tune2fs thông qua tùy chọn “-O uninit_group” gõ vào từ dòng lệnh Với đặc điểm này, nhân (kernel) lưu trữ số lượng inode chưa sử dụng, cất vào cuối mồi khối bảng inode Ket là, e2fsck có the bỏ qua trình đọc quét khối từ đĩa cứng Nó gắn mặc định khối inode chưa sử dụng Đe đảm bảo số inode chưa dùng an toàn để lệnh e2fsck sử dụng, nhóm inode định danh kiểu kiếm tra CRC16 thêm vào bên trong, cho phcp tất dừ liệu (tields) bên xác minh lại Kiểu định dạng tập tin ext3 sử dụng từ 1% đến 10% inode chúng, phần lớn inode giừ cổ định phần đầu bảng inode, hủy bó trình xử lý inode cố định tăng tốc nhờ bỏ qua bước xử lý Bộ nhân trung tâm (kemel) không tăng số lượng inode chưa dùng lên, tập tin bị xóa Bộ đếm cập nhật lệnh e2fsck chạy Trong trường họp có nhiều khối inode bị xóa, lệnh e2fsck xếp lại lần chạy Thời gianísck số Inode ■ ext3: files o ext3 lOOk files ▼ ext3 2.1M íiles ▲ ext-ị lOOkỉiles ► ext-ị 2.1M ũles Tông sô inode (triệu) Tốc độ lệnh e2fsck tăng lên ứng với sổ khối inode chưa phân tích Hình cho thấy với định dạng ext3 lệnh e2fsck tăng lên tỉ lệ thuận với tông số inode định dạng tập tin, không ke đến số lượng inode sử dụng Ớ định dạng ext3, e2fsck số thời gian xử lý tập tin 2,1 triệu tập tin Ớ định dạng ext4, với sổ inode đánh dấu nhiều, lệnh e2fsck phụ thuộc vào số inode sử dụng Như hình cho thấy, số fsck (giây) định dạng Nhóm 7- Lớp TDL&MMT Đợt 48 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX tập tin ext4 khoảng 100.000 tập tin phần nhỏ định dạng ext3 với 100.000 tập tin Ngoài việc đếm inode chưa sử dụng, lệnh mke2fs lệnh e2fsck đánh dấu khối nhóm inode đồ bít inode chưa phân tích, nhân (kernel) không cần đọc chúng từ đĩa cứng cố định nhóm với Tương tự, lệnh e2fsck không cần đọc đồ bit từ đĩa cứng, không đóng vài trò quan trọng việc tăng tốc nhớ Điều quan trọng lệnh mke2fs không ghi đồ bít bảng inode theo định dạng thời gian gõ lệnh “mke2fs -O lazy_bg” trước Ghi bảng inode khoảng thời gian định.Và gây vấn đề với định dạng tập tin lớn số lượng trang lỗi tạo thời gian ngắn 2.4.2.7Kiểm tra tổng thể (checksum) Việc thêm siêu liệu kiếm tra tông quát vào định dạng ext4 cho phép định dạng dễ dàng phát lỗi sai sót, tự tìm cách sửa lỗi thích họp thay tin tưởng vào dừ liệu lấy từ đĩa cứng Các mô tả nhóm dừ liệu thêm phần kiểm tra tổng thể vào trước đoạn (section) nhóm Tiếp theo, việc kiểm tra tổng thể phải kiểm tra Nhật ký (journal), chứa mật độ cao siêu liệu quan trọng, luôn ghi liên tục Do thay đổi lỗi ngẫu nhiên sê phát từ Những kiểm tra thong thể thêm vào nhật ký định dạng ext4 tương đối hoàn thiện Trong định dạng ext3 ext4, trình trao đôi liệu lưu nhật ký có cấu trúc gồm khối mở đầu khối chứa dừ liệu Trong suốt trình tiến hành ghi nhật ký, khối chứa liệu không gửi đến đĩa cứng khối mở đầu khối siêu liệu mô tả đầy đủ, sau tất ghi vào đĩa cứng Quá trình trao đổi dừ liệu cần đợi khối dừ liệu trước ghi vào hoàn toàn đĩa, bắt đầu dùng đê chỉnh sửa định dạng tập tin Với trình lun tập tin riêng biệt, khối chứa dừ liệu tập tin bị trùng sổ thứ tự với khối mở đầu tập tin, hiệu cho trình trao đổi liệu làm lại vào lúc khôi phục tập tin Neu không khớp nhau, trình khôi phục nhật ký kết thúc Tập tin bị lỗi Tuy nhiên thực tế có nhiều nguyên nhân dẫn đến tập tin bị lỗi định dạng Với kiêu kiêm tra tông thê nhật ký, nhật ký tính toán dựa theo mã CRC32 tất khối trình trao đôi liệu (bao gồm khối mở đầu), Nhóm 7- Lớp TDL&MMT Đợt 49 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX việc kiểm tra tổng thể ghi vào khối chứa liệu trình trao đối Neu việc kiếm tra tông thê không khóp với nhật ký lưu tập tin, tức có dầu hiệu nhiều khối siêu liệu không ghi vào đĩa cứng bị đứt trao đối liệu Sau trình trao đoi liệu (cả trình sau đó) bị hủy bỏ máy tính bị treo, khối chứa dừ liệu không ghi nừa Ke từ trình kiểm tra tổng thể nhật ký cho phép nhận khối dừ liệu chưa ghi vào nhật ký, không cần trình lưu tập tin riêng rẽ trước Khối chừa dừ liệu ghi đồng thời với tất phần lại tập tin lúc trình trao đổi tập tin Quá trình thật làm tăng xử lý định dạng tập tin lên (khoảng 20%), thay làm tải hệ thống trước Có thể thêm phần kiểm tra tổng thể vào phần đuôi mở rộng tập tin, đồ cố định bít, inode, đường dẫn tập tin Điều có thê làm nhờ vào việc lưu nhật ký trình trao đổi tập tin Thà thời gian tính toán kiểm tra tổng thể định dạng tập tin thay đổi, ghi lại nhật ký thay đôi tập tin sửa chữa bị lỗi vào lúc khôi phục Các khối liệu chứa siêu dừ liệu với liệu kiểm tra ghi lại lúc vào tập tin 2.4.2.8 Các đặc điêm Các đặc điểm 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ưu dấu vết thời gian tập tin đên nanô-giây có thê lưu tùng phiên inode Hai đặc diêm nhằm quản lý tập tin bị thay đổi nhũng thay đổi tập tin Ext3 lưu dấu vết thời gian cho tập tin đến giới hạn giây Nhưng với chip tốc độ cao ngày thay đổi nhiều tập tin giây Trong định dạng ext4, kê từ sử dụng inode lớn hon, có the lưu lại dấu vết thời gian xác đến nanô-giây Với độ rộng 32 bít cho trường atime, mtime ctime, có thêm trường crtime tạo tập tin tạo mới, thêm vào inode định dạng ext4 30 bít đầu dùng đề lun liệu nanô-giây, bít lại sử dụng để mở rộng thời gian, tính theo kỷ nguyên đến 272 năm Các phiên NFSv4 máy khách cần cập nhật tập tin từ máy chủ, theo thứ tự đê liệu máy khách Ngay ctime hồ trợ đến nanôgiây, dấu vết thời gian tập tin không cần cập nhật đến mức nanô-giây Các inode định dạng ext4 chia làm phiên cách Nhóm 7- Lớp TDL&MMT Đợt 50 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX cấp đếm chung 64-bít cho inode Bộ đếm tăng lên tập tin có thay đôi Bộ đếm khởi tạo tập tin bắt đầu đươc tạo Việc tràn đếm gần xảy được, tổng sổ đếm tính toán kiềm tra Phiên thứ i trường inode giới thiệu gồm 128 bít, 32 bít dùng cho inode thường 32 bit dùng cho inode cờ lớn Nâng cấp định dạng Ext3 phát triển để 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 người sử dụng Trong ext4 nỗ lực để giữ lại khả tương thích với ext3 nhiều tốt, không tương thích cách xếp dừ liệu đĩa cứng bị thay đổi Mặc dù vậy, người dùng dễ dàng nâng cấp định dạng tập tin từ ext3 lên ext4, giống 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, nâng cấp định dạng lên ext4 mà không cần lưu 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 nhớ mở rộng (extents) vài đặc điểm định dạng ext4, mà không cần phải lưu nâng cấp tập tin Bằng cách dựng lên (mounting) tập tin có định dạng ext3 thành ext4 (với phân vùng nhớ phép truy cập), tập tin tạo sử dụng phân vùng nhớ mở rộng, chất gián tiếp trỏ đến khối đồ bit ext3 có bề thể ext4 Một cờ (flag) bên bảng inode giúp phân biệt định dạng này, cho phép hai tồn bên định dạng tập tin Tất đặc điếm ext4 dựa vào phân vùng nhớ mở rộng, ví dụ xác định vị trí, gắn nhiều khối inode cố định, sử dụng tập tin gán phân vùng nhớ mở rộng Một công cụ tạo để nâng cấp định dạng tập tin hệ thống từ ext3 sang ext4 Công cụ nâng cấp thực hai chức chính: Nâng cấp ánh xạ từ trỏ gián tiếp sang phân vùng nhớ mở rộng, mở rộng chiều dài inode lên 256 bytes • Nâng cấp phân vùng nhớ mở rộng: bước đầu tiền thực trực tuyến (online) sử dụng công cụ chống phân mảnh Trong suốt trình xử lý, tập tin bước thay đôi ánh xạ sang phân vùng nhớ mở rộng Bằng cách này, tập tin chuyển đổi sang phân vùng nhớ mở rộng chống phân mảnh lúc Nhóm 7- Lớp TDL&MMT Đợt 51 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX • Nâng cấp inode: Mở rộng cấu trúc inodc phải thực thông qua ngoại tuyến (offline) Trong trường hợp dừ liệu lưu, toàn định dạng tập tin hệ thống sê quét chuyển đổi sang phân vùng nhớ mở rộng mở rộng chiều dài inode Đối với người chưa muốn chuyên sang dùng định dạng tập tin ext4 muốn sử dụng đặc trung ext4, chuấn bị tập tin ext3 họ đê nâng cấp ngoại tuyến sau Neu tập tin ext3 định dạng với cấu trúc có chiều dài inode lớn, 256 byte lớn hon, đặc trưng phân vùng nhớ mở rộng ext4 dùng 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 điểm chiều dài inodc lớn, sử dụng lun vết thời gian xác đến nanô-giây, người sử dụng cần dùng nâng cấp ngoại tuyến Chuyển định dạng xuống ext3 từ ext4 Không phức tạp việc nâng cấp lên ext4 tù' ext3, việc chuyển định dạng ngược trở lại ext3 dễ dàng Người dùng việc dựng lại (remount) định dạng tập tin với tùy chọn noextents sau lệnh mount, chép tất tập tin tạm đối tên trùng tên với tập tin cũ Sau tất tập tin chuyển đổi ngược trở lại ánh xạ gián tiếp vào khối bit, cờ INCOM-PAT_EXTENTS phải xóa 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 kiểm tra tốc độ thực thi định dạng ext4, so sánh với định dạng ext3 XFS, bàng kiềm tra định dạng tập tin hệ thống Định dạng ext4 kiểm tra với phân vùng nhớ mở rộng cấp phát nhớ trễ (delayed allocation) phép truy cập Bài chấm diêm phân tích chọn thay đổi đáng kể ext4 chấm điểm mà chọn là: Flexible Filesystem Benchmark (FFSB), Postmark, IOzone FFSB điều chỉnh đê có thê chứa sô lượng lớn tập tin, dùng đê kiêm tra đặc tính phân vùng mở rộng định dạng ext4 Postmark dùng để đánh giá hiệu (períòrmance) ext4 với số lượng nhỏ tập tin Cuối cùng, dùng IOzone đổ tính toán khối lượng thực thi trung bình định dạng tập tin ext4 Các kiểm tra chạy nhân 2.6.2l-rc4 với vùng cấp phát nhớ trễ bật Cả định dạng ext3 ext4 dựng chế độ ghi đò tập Nhóm 7- Lớp TDL&MMT Đợt 52 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX tin, chế độ vùng mở rộng nhớ, cấp phát nhớ trễ đặt hợp lý Còn định dạng XFS đặt tùy chọn mặc định dựng (mount) tập tin Hai kiêm tra FFSB IOzone chạy CPU nhân tốc độ 2.8 Ghz hãng Intel(R) Xeon(TM), Hệ thống gồm RAM GB X, ổ đĩa cứng 68GB ultra320 SCSI (ÌOOOO vòng phút) Postmark chạy CPU nhân tốc độ 700 MHz chíp Pentium(R) III với RAM GB, ổ đĩa cứng GB SCSI (7200 vòng phút) Ket kiềm tra bao gồm tập tin dừ liệu định dạng raw để trang chủ wiki ext4 http://ext4.wiki.kernel.org Kiểm tra FFSB FFSB công cụ chấm điểm định dạng tập tin hệ thống mạnh, giả lập nhiều hệ thống cân bàng tải khác đế kiểm tra tập tin Chúng ta kiểm tra việc tạo tập tin dung lượng lớn sử dung đa luồng Kiềm tra thực với khoảng luồng chạy đa nhiệm song song, kiếm tra đồng thời 24 tập tin, tập tin dung lượng tới 1GB cần kiểm tra tốc độ tạo tập tin tốc độ ghi tập tin vào đĩa cứng FFSB - Large File Creation □ Throughput MB/sec % CPU usage Bài kiểm tra FFSB định dạng khác Ket là, ta thấy, tốc độ ghi tập tin đị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 xfs ext4 ngang Đúng mong đợi, việc phân bố nhớ mở rộng cho phép cấp phát nhớ trễ có hiệu làm tăng khả xử lý tập tin dung lượng lớn lớn Kiểm tra Postmark Nhóm 7- Lớp TDL&MMT Đợt 53 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Postmark biết đến kiểm tra giả lập hòm thư từ máy chủ phải xử lý nhiều thư gửi từ máy khách, theo đường đơn-luồng (single- threaded) gửi đến thường có dung lượng tập tin nhận nhỏ nhỏ Bài kiêm tra Postmark đọc ghi định dạng khác Biểu đồ cho thấy ext4 vượt trội khoảng 30% so với định dạng lại Trong điểu khiển trung tâm (CPU) hoạt động tuông tự nhau, không bị tải Bởi siêu dừ liệu ext4 nén lại phân vùng nhớ mở rộng Ta thấy trình ghi nhanh đọc tất ghi vào nhó' (memory) Ket cho thấy ràng, bên cạnh việc xử lý tốt nhừng tập tin có dung lượng lớn, định dạng ext4 xử lý nuột tập tin dung lượng nhỏ mà không ảnh hưởng đến tốc độ chung hệ thống Nhóm 7- Lớp TDL&MMT Đợt 54 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Kiểm tra IOzone Chuẩn bị cho kiểm tra bàng Iozone, hệ thống khởi động với 64MB nhớ sẵn sàng đê đọc ghi liệu Bài kiêm tra tiến hành với khoảng 8MB ghi bao gồm nhiều tập tin với nhiều kiều dung lượng khác Các phép thử ghi, ghi đè, đọc, đọc lại, ghi ngẫu nhiên, đọc ngẫu nhiên thực kiêm tra kỹ ỈOzone VVrite Read Write Read Kết kiêm tra với Iozone: tốc độ trao đôi 512MB tập tin Hình cho thấy kết việc đọc ghi 512MB tập tin Tổng kết lại ta thấy kết có tăng tốc vượt trội ext4 so với ext3, đặc biệt với trình ghi đè, ghi ngẫu nhiên đọc lại Trong kiểm tra này, xfs có tốc độ đọc tốt ext4 cho tốc độ ghi tốt Như trao đôi bên trên, định dạng tập tin kiêu ext4 mang lại nhiêu đặc diêm nôi bật ext3, làm cho ext4 trở thành định dạng phô biên cho tảng cần xử lý tập tin lớn Đã có nhiều đặc điểm hoàn thiện để ext4 trở nên phô biến tảng Linux, mà điều định dạng tập tin đơn giản, tối im, với độ cân tốt, đáng tin cậy, tốc độ thực thi nhanh ôn định Những người dùng định dạng ext3 sớm phải nhận ràng họ nên cập nhật lên định dạng ext4, định dạng gia đình ext mang nhiều đặc điểm vượt trội Nhóm 7- Lớp TDL&MMT Đợt 55 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Kết luận Như ta có thê thây từ đời đên này, tính đên thời điêm tại, Linux có nhiều biến phiên khác nhau, xây dựng phát triên riêng biệt công ty phần mềm cá nhân Hiện nay, sau 20 năm tồn phát triển, Linux sử dụng rộng rãi toàn giới, máy tính cá nhân, máy chủ, đến thiết bị di động, máy nghe nhạc, máy tính bảng, máy ATM chí siêu máy tính Ngày nay, Linux xem biểu tượng chia sẻ cộng đồng, phát triển cộng đồng ủng hộ hoàn toàn miễn phí Với tính ngày tiên tiến, hệ thống File nâng cấp, hoàn thiện đáp ứng nhu cầu người sử dụng Hệ điều hành Linux ngày phát triển tương lai Nhóm 7- Lớp TDL&MMT Đợt 56 ... đĩa chia thành nhiều partitions Mỗi partition có hệ thống tập tin Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Chưong Tìm hiểu hệ điều hành Linux 1.1 Linux gì? Linux xuất... Revision điều có nghĩa 11 bit inode bitmap Nhóm 7- Lớp TDL&MMT Đợt 21 Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX Đề tài: Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành. .. Kiến trúc hệ thống File EXT2, EXT3, EXT4 hệ điều hành họ LINUX 2.4 Hệ thống File EXT4 42 2.4.1 Giới thiệu 43 2.4.2 Khả nâng cấp mở rộng 43 2.4.2.1 Hệ Thống Tệp