1. Trang chủ
  2. » Công Nghệ Thông Tin

File và hệ thống file trên linux góc IT

12 822 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 12
Dung lượng 422,94 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

B­ Một hệ thống file là một cây thư mục bao gồm một thư mục gốc /, các thư mục con và các file chứa trong đó.. Một số hệ thống file JFS2, XFS, ext4 dùng đơn vị lưu trữ được cấp khi lưu d

Trang 1

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   GÓC TÀI LIỆU

File và hệ thống file

trên Linux

By admin On August 12, 2013

GIT – I. Hệ thống file

Có hai cách hiểu tùy theo ngữ cảnh:

A­ Một hệ thống file (file system) là một kiểu lưu

trữ và tổ chức các file và dữ liệu trong file để

dễ tìm kiếm và truy cập. Hiện tại trong Linux phổ

biến hai kiểu hệ thống file là ext3 và ext4.

B­ Một hệ thống file là một cây thư mục bao gồm

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

FACEBOOK LIKE

Facebook Like

RSS GÓCIT

RSS ­ Posts

ĐĂNG KÝ NHẬN BÀI VIẾT MỚI

Nhập địa chỉ email của bạn để đăng

ký nhận được thông báo bài viết mới qua email

Email Address

ĐĂNG KÍ

BÀI MỚI

BÀI XEM NHIỀU BÀI NGẪU NHIÊN

1

2 3

4 5

FSHARE

   

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]

Căn bản Python [ Phần 3 ]

Căn bản Python [ Phần 2 ]

Trang 2

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

Trang 3

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ừ 1­128 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)

Trang 4

­i superblock

dumpe2fs 1.41.11 (14­Mar­2010)

Primary superblock at 0, Group descriptors at 1­1

Backup superblock at 32768, Group descriptors at

32769­32769

Backup superblock at 98304, Group descriptors at

98305­98305

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.1­inode

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

Trang 5

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ừ 11­15 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

Trang 6

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 <path/filename> 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/­rw­r–r–) Uid: (10001/ zxc) Gid:

(10001/ zxc)

Access: 2010­03­25 14:34:29.000000000 +0700

Modify: 2010­03­25 14:34:23.000000000 +0700

Change: 2010­03­25 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

Trang 7

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à

Trang 8

partition khác

Hard link được tạo bởi lệnh ln: ln <path/tên

file> <tên hard link>.

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

đó. Như vậy đường dẫn mới đến file

/etc/passwd là /home/zxc/mật khẩu. Khi

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 <path/tên file>

<tên soft link>

Tóm lại thì tên file, hardlink, softlink giống và

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

SEARCH

HỎI ĐÁP IT JOBS

Trang 9

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

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 Path­Names – 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

Game Master ­ Do you like playing games? [HCM] Senior QC Engineer ­ Salary $1500+ _ URGENT NEED

Trang 10

Tweet 0

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 25­30 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.1­Kiể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ẻ:

Like this:

Trang 11

HAProxy và

Keepalived

Tìm hiểu File System của Linux

Linux kernel sysctl

Handling

nginx

Failover

With

KeepAlived

Configure Bugzilla with gmail smtp

Lab Linux – Network Information Service – NIS

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

Loading

Trang 12

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ệ.

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 

Designed by  Gocit.vn

Ngày đăng: 28/08/2016, 13:42

TỪ KHÓA LIÊN QUAN

w