3/8/2016 File hệ thống file Linux | Góc IT GÓC IT CHIA SẼ KIẾN THỨC TIN HỌC DỰ ÁN LINUX TOÀN TẬP DỰ ÁN LPI TOÀN TẬP IT JOBS SITEMAP SUPPORT GÓC LINUX UNIX FACEBOOK LIKE GÓC TÀI LIỆU File và hệ thống file trên Linux Facebook Like By admin On August 12, 2013 FSHARE BÀI MỚI BÀI XEM NHIỀU 0 GIT – I. Hệ thống file Có hai cách hiểu tùy theo ngữ cảnh: RSS GÓCIT RSS Posts ĐĂNG KÝ NHẬN BÀI VIẾT MỚI A Một hệ thống file (file system) là một kiểu lưu Adding and Troubleshooting Static Routes on Red Hat based Linux Distributions [Script] Quản trị server với Python [ Phần 2] [Script] Quản trị server với Python [ Phần 1] Email Address Căn bản Python [ Phần 3 ] ĐĂNG KÍ Căn bản Python [ Phần 2 ] trữ và tổ chức các file và dữ liệu trong file để Nhập địa chỉ email dễ tìm kiếm và truy cập. Hiện tại trong Linux phổ của bạn để đăng biến hai kiểu hệ thống file là ext3 và ext4 ký nhận được thông báo bài viết B Một hệ thống file là một cây thư mục bao gồm BÀI NGẪU NHIÊN mới qua email một thư mục gốc (/), các thư mục con và các file chứa trong đó Trên mỗi partition chỉ có thể có một kiểu hệ thống file (được tạo ra khi format: ext3, ext4, fat, ntfs, …). Nhưng một cây thư mục có thể đặt trên nhiều partition: thư mục gốc / đặt ở partition sda2, thư mục /home đặt ở sda5, v.v… tùy ý người dùng chọn khi cài đặt http://www.gocit.vn/bai-viet/file-va-he-thong-file-tren-linux/ 1/12 3/8/2016 File hệ thống file Linux | Góc IT Các kiểu hệ thống file: Hệ thống file ổ cứng (Disk file systems): FAT, NTFS, ext2/3/4, HFS, …Riêng file trong Compact Disk hoặc DVD lưu theo hệ thống file ISO 9660 hoặc UDF. Từ Linux 2.6 và Windows Vista, đĩa DVD có thể ghi theo format Mount Rainier (mở rộng của UDF) như đĩa mềm Hệ thống file flash (Flash file systems): tối ưu cho ghi vào bộ nhớ flash (ổ USB) Hệ thống file mạng (Network file systems): SMB, NFS Hệ thống file ổ cứng mạng (Shared disk file systems): dùng truy cập các file lưu trên các cụm ổ cứng trong mạng (SAN). Thuộc loại này có GFS của Red Hat, GPFS của IBM và nhiều thứ nữa … Đơn vị lưu trữ file trên ổ cứng (và các thiết bị lưu trữ quay hình tròn?) Sector (cung từ): là đơn vị lưu trữ vật lý nhỏ nhất trên ổ cứng. Dung lượng một sector từ 512B đến 1,2 hoặc 4KiB (cấp số mũ 2 của 8bit) Cluster (nhóm cung từ): khi lưu file nếu http://www.gocit.vn/bai-viet/file-va-he-thong-file-tren-linux/ 2/12 3/8/2016 File hệ thống file Linux | Góc IT quản lý theo sector thì quá nhỏ, dữ liệu quản lý nhiều, làm chậm quá trình đọc, ghi Cluster là đơn vị lưu trữ nhỏ nhất để lưu file trên ổ cứng gồm từ 1128 sector liên tục Đơn vị lưu trữ file logic Block: là đơn vị lưu trữ logic nhỏ nhất được cấp khi lưu dữ liệu. Dung lượng một block (block size) tùy theo: với hệ thống file ext3, một block có thể là 1,2 hoặc 4 KB Block dùng cho cả các thiết bị lưu trữ quay hình tròn (ổ cứng, CD, đĩa mềm) lẫn các thiết bị lưu trữ không quay (ổ USB, băng từ). Tức là nó là đơn vị lưu trữ logic Extent: là một nhóm block liên tục. Một số hệ thống file (JFS2, XFS, ext4) dùng đơn vị lưu trữ được cấp khi lưu dữ liệu không phải là block mà là một nhóm block (gọi là một extent). Dữ liệu được lưu đủ một extent trong bộ nhớ trước khi ghi vào ổ cứng, do đó tốc độ ghi và đọc nhanh hơn và cũng giảm được lượng metadata cần quản lý. Nếu không dùng extent, metadata được cập nhật cho từng block dữ liệu, khi dùng extent, metadata chỉ cập nhật cho từng nhóm block. Ví dụ ext4 ghép các block 4KB thành extent tới 128MB Superbloc: Superblock gồm các thông tin chung về một hệ thống file: dung lượng, dung lượng block, các block đã ghi và còn trống, vị trí và dung lượng bảng inode, … Nếu superblock bị hỏng thì hệ thống file không mount được và do đó không truy cập được. Vì vậy hệ điều hành định kỳ sẽ tạo các bản backup của superblock ngoài bản chính (primary superblock) http://www.gocit.vn/bai-viet/file-va-he-thong-file-tren-linux/ 3/12 3/8/2016 File hệ thống file Linux | Góc IT [root@localhost zxc]# dumpe2fs /dev/sda2 | grep i superblock dumpe2fs 1.41.11 (14Mar2010) Primary superblock at 0, Group descriptors at 11 Backup superblock at 32768, Group descriptors at 3276932769 Backup superblock at 98304, Group descriptors at 9830598305 Nội dung chi tiết của superblock(ví dụ với partition /dev/sda2): dumpe2fs h /dev/sda2 Nội dung chi tiết của toàn bộ hệ thống file trên một partition /dev/sda2, xuất ra thành file sda2.txt cho dễ đọc: dumpe2fs /dev/sda2 > sda2.txt Hai lệnh trên đều chạy với quyền root (với Ubuntu thêm sudo vào đầu) II. Cây thư mục II.1inode inode là một cấu trúc dữ liệu chứa các metadata của mỗi file, thư mục trong các hệ thống file Linux Trong một inode có các metadata sau: Dung lượng file tính bằng bytes Device ID : mã số thiết bị lưu file User ID : mã số chủ nhân của file Group ID.: mã số nhóm của chủ file File mode : gồm kiểu file và các quyền truy http://www.gocit.vn/bai-viet/file-va-he-thong-file-tren-linux/ 4/12 3/8/2016 File hệ thống file Linux | Góc IT cập file (permissions) Hệ thống phụ và các cờ hạn chế quyền truy cập file Timestamps: các mốc thời gian khi: bản thân inode bị thay đổi (ctime), nội dung file thay đổi (mtime) và lần truy cập mới nhất (atime) Link count : số lượng hard links trỏ đến inode Các con trỏ (từ 1115 con trỏ) chỉ đến các blocks trên ổ cứng dùng lưu nội dung file Theo các con trỏ này mới biết file nằm ở đâu để đọc nội dung Có hai chú ý trong nội dung inode: 1. Inode không chứa tên file, thư mục 2. Các con trỏ là thành phần quan trọng nhất: nó cho biết địa chỉ các block lưu nội dung file và tìm đến các block đó có thể truy cập được nội dung file Mỗi inode có một số inode, tạo thành một bảng inode ghi ở một khu vực riêng trên ổ cứng Chú ý là trong inode không có tên file. Tên file được lưu trong thư mục cùng với số inode của nó (xem lệnh ls i dưới đây) Khi truy cập đến một file, hệ điều hành từ tên file tìm ra số inode rồi dùng số inode để đọc nội dung inode, từ đó theo các con trỏ để đọc nội dung file http://www.gocit.vn/bai-viet/file-va-he-thong-file-tren-linux/ 5/12 3/8/2016 File hệ thống file Linux | Góc IT Trong hình trên, lệnh ls l liệt kê nội dung của thư mục /home/zxc. Lệnh thứ hai ls i liệt kê các số inode của các đối tượng trong thư mục: thư mục DATA có số inode là 5, file icsw.png có số inode là 430555 Lệnh stat cho biết chi tiết về nội dung inode: [zxc@Man2010 ~]$ stat /home/zxc/Downloads/ND145CP.rtf File: `/home/zxc/Downloads/ND145CP.rtf’ Size: 68738 Blocks: 144 IO Block: 4096 regular file Device: 80ah/2058d Inode: 151395 Links: 1 Access: (0644/rwr–r–) Uid: (10001/ zxc) Gid: (10001/ zxc) Access: 20100325 14:34:29.000000000 +0700 Modify: 20100325 14:34:23.000000000 +0700 Change: 20100325 14:34:23.000000000 +0700 Lệnh stat có nhiều option (xem stat –help), ví dụ hai lệnh sau cho biết số bloc dùng lưu file và dung lượng một block (đơn vị byte): [zxc@Man2010 ~]$ stat c %b http://www.gocit.vn/bai-viet/file-va-he-thong-file-tren-linux/ 6/12 3/8/2016 File hệ thống file Linux | Góc IT /home/zxc/Downloads/ND145CP.rtf 144 [zxc@Man2010 ~]$ stat c %B /home/zxc/Downloads/ND145CP.rtf 512 III. Tên file và hard link, soft link Trong một hệ thống file, mỗi file có một và chỉ một inode, mỗi inode cũng chỉ có một số inode duy nhất. Nhưng một file có thể có nhiều tên file tùy theo số hard link trỏ đến nó Một hard link là một liên kết (link) trỏ đến vị trí lưu một file trên ổ cứng: Nếu đổi tên, xóa hoặc di chuyển file gốc sang thư mục khác, hard link vẫn mở được file đó vì nó vẫn trỏ đến vị trí lưu file cố định trên ổ cứng Tên hard link có thể khác tên file gốc, hard link có thể nằm trong một thư mục khác với thư mục của file gốc. Vì vậy một file có thể có nhiều tên file nằm ở các thư mục khác nhau. Khi truy cập vào hard link (ví dụ nhấn chuột) sẽ truy cập đến file (mở hoặc chạy) Nếu đồng thời mở một file từ các hard link và tên file gốc, khi sửa ở một bản, các bản khác cũng sẽ thay đổi theo sau khi refresh hoặc reload vì thực chất là sửa trên cùng một file Nếu xóa hard link hoặc xóa tên file gốc nhưng còn một hard link, file vẫn không bị xóa. File chỉ bị xóa khi không còn cái gì trỏ đến vị trí lưu nó. Như vậy muốn xóa một file, phải xóa tên file và tất cả các hard link của nó Hard link không tạo được với thư mục và http://www.gocit.vn/bai-viet/file-va-he-thong-file-tren-linux/ 7/12 3/8/2016 File hệ thống file Linux | Góc IT không tạo được với file nằm trên một partition khác Hard link được tạo bởi lệnh ln: ln Soft link (còn gọi là Symbolic link hoặc symlink) là một liên kết tạo một đường dẫn khác đến thư mục hoặc file gốc Ví dụ file gốc passwd có đường dẫn là /etc/passwd. Trong thư mục /home/zxc tạo một soft link đặt tên là “mật khẩu” trỏ đến file TRANG CHỦ GÓC IT GÓC LINUX – UNIX FORUMS SEARCH đó. Như vậy đường dẫn mới đến file /etc/passwd là /home/zxc/mật khẩu. Khi HỎI ĐÁP IT JOBS truy cập đến một trong hai đường dẫn trên đều là truy cập đến file passwd Nếu đổi tên, xóa hoặc chuyển file gốc sang thư mục khác thì soft link mất tác dụng, không truy cập được đến file đó nữa. Khác với hard link, khi xóa file có soft link, file bị xóa thật Có thể tạo soft link với thư mục và file nằm trên partition khác Soft link tạo bằng lệnh ln s Tóm lại thì tên file, hardlink, softlink giống và Gởi phản hồi khác nhau cái gì? Tên file giống như tên khai sinh và tên các hardlink giống như các bí danh (tên gọi khác). Chúng đều tham chiếu trực tiếp tới một số inode cụ thể và từ đó tới inode trỏ tới các block đang lưu file trên ổ cứng. Đi từ tên file hay hardlink đều thông qua số inode để đến cùng một chỗ trên ổ cứng Softlink không tham chiếu trực tiếp đến số inode mà tham chiếu đến “cấp trung gian” là tên file (kèm theo đường dẫn ở một thư mục cụ thể), từ tên file mới đến số inode rồi inode để truy cập vào file. Vì vậy nếu “cấp trung gian” là tên file http://www.gocit.vn/bai-viet/file-va-he-thong-file-tren-linux/ 8/12 3/8/2016 File hệ thống file Linux | Góc IT thay đổi, file bị di chuyển hoặc xóa là softlink “bơ vơ” không truy cập được vào nội dung file nữa Hardlink chỉ tạo được với file nằm trên cùng một partition, không tạo được với thư mục hoặc với file nằm trên partition khác Softlink tạo được với thư mục và tạo được với thư mục, file nằm trên partition khác Game Master Do you like playing games? [HCM] Senior QC IV. Hệ thống file Linux có bị phân mảnh không? Về nguyên tắc thì có, nhưng phân mảnh không đáng kể và không ảnh hưởng lớn đến tốc độ truy cập file. Người dùng bình thường không cần quan tâm đến vấn đề này V. Kiểm tra hệ thống file Hệ thống file được kiểm tra bằng lệnh fsck (file system check). Lệnh này kiểm tra theo 5 giai đoạn (phase): Phase 1: Check Blocks and Sizes – kiểm tra các inode Phase 2: Check PathNames – kiểm tra sự tương thích giữa inode và thư mục Phase 3: Check Connectivity – các thư mục có được kết nối vào hệ thống file ? Phase 4: Check Reference Counts – sửa các sai lệch về số link ở hai phase trên Phase 5: Check Cylinder Groups – kiểm tra các block chưa dùng có phù hợp với bảng inode không Mỗi lần hệ thống khởi động, lúc partition chính http://www.gocit.vn/bai-viet/file-va-he-thong-file-tren-linux/ 9/12 3/8/2016 File hệ thống file Linux | Góc IT chưa mount, fsck tự động chạy và kiểm tra, sửa các lỗi nhỏ (nếu có thể) Nếu lỗi nặng, fsck không tự sửa được nó sẽ thông báo: /dev/sda4: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY (Tại partition /dev/sda4 có lỗi không tương thích, hãy chạy fsck bằng tay) Lệnh tương đương trong windows là chkdsk và scandisk. Điểm khác là fsck kiểm tra được cả các partition NTFS và FAT Sau khoảng 2530 lần khởi động, fsck sẽ thực hiện một lần kiểm tra kỹ lưỡng hệ thống file Khi đó, quá trình boot sẽ lâu hơn thường lệ và có thông báo trên màn hình V.1Kiểm tra các badblocks Badblock là những block bị hỏng vật lý, dữ liệu không ghi được vào đó hoặc ghi bị sai. Vì vậy định kỳ cần kiểm tra, đánh dấu các badblock để hệ điều hành biết, không ghi dữ liệu vào đó nữa (nhất là với các ổ cứng cũ) Có hai lệnh (chạy bằng quyền root): fsck c /dev/sda2 (thay sda2 bằng ký hiệu partition cần kiểm tra) badblocks /dev/sda2 Chia sẻ: Tweet Like this: http://www.gocit.vn/bai-viet/file-va-he-thong-file-tren-linux/ 10/12 3/8/2016 File hệ thống file Linux | Góc IT Loading Comments comments 1. Thủ thuật về ổ cứng trên Linux 2. Ubuntu 12.04 LTS (Precise Pangolin) 3. Ubuntu 12.10 (Quantal Quetzal) 4. Xử lý dữ liệu phân tán bằng Hadoop Tags: Disk, Linux, Root, Ubuntu, Windows Bài viết liên quan Thủ thuật về ổ cứng trên Linux (0) Get hardware information on Linux with lshw command (0) Ý nghĩa các thông số trong fstab (3) Xử lý dữ liệu phân tán bằng Hadoop (1) Ubuntu 12.10 (Quantal Quetzal) (2) Tags: Disk, Linux, Root, Ubuntu, Windows RELATED POSTS Tìm hiểu File System của Linux Linux kernel sysctl Configure Bugzilla with gmail smtp Lab Linux – Network Information Service – NIS Cấu hình HAProxy và Keepalived Handling nginx Failover With KeepAlived http://www.gocit.vn/bai-viet/file-va-he-thong-file-tren-linux/ 11/12 3/8/2016 File hệ thống file Linux | Góc IT ĐỂ LẠI LỜI NHẮN Previous Article CÁC GÓI PHẦN MỀM VÀ HỆ THỐNG QUẢN LÝ GÓI PHẦN MỀM Next Article SAMBA ADD A USER ©2015 Tin Tức Công Nghệ Designed by Gocit.vn All Site Contents © Copyright 2016 Góc IT. All Rights Reserved. Powered by GocIT Linux, Centos, Ubuntu, Debian, Server, Command line, Virtual, VMware, Xenserver, Ebook, Monitor, Opensource http://www.gocit.vn/bai-viet/file-va-he-thong-file-tren-linux/ 12/12