Quản tr ị h ệ thống tập tin Đặng Thanh Bình
Contents Kiến trúc hệ thống tập tin FHS Hệ thống tập tin nhật ký Không gian hoán chuyển Quản trị tập tin cơ bản 2
Introduction File system đề cập đến các tập tin và thư mục được lưu trên máy tính. Một file system có thể có một grong các định dạng khác nhau, gọi là file system type Xác định cách thức thông tin được lưu trữ Một số FS tạo ra các bản sao của dữ liệu, trong khi một FS khác có thể giúp tăng tốc truy cập dữ liệu. 3
CẤU TRÚC FILE SYSTEM
Phân loại tập tin Các hệ thống tập tin chia tập tin thành 2 loại: Các tập tin chia sẻ được và không chia sẻ được Tập tin biến và tập tin tĩnh Variable file, chẳng hạn các file văn bản, có thể được thay đổi nội dung liên tục Static file, chẳng hạn các tập tin nhị phân, không thay đổi nội dung trừ khi người quản trị thao tác. 5
File System Hierarchy Standard (FHS) Linux sử dụng Filesystem Hierarchy Standard (FHS) Chuẩn này quy định về tên, vị trí và phân quyenf cho nhiều loại tập tin và thư mục Tương thích với chuẩn đồng nghĩa với nhiều điều, nhưng dưới đây là 2 điều quan trọng nhất Tương thích với các hệ thống dùng chung chuẩn Khả năng mount phân vùng /usr/ dưới dạng chỉ đọc có thể mount CD-ROM 6
Tổ chức của FHS /boot: chứa các static file để boot hệ thống, chẳn hạn Linux kernel /dev: chứa các device node thể hiện các thiết bị gắn vào máy tính hoặc thiết bị ảo được cung cấp bởi kernel udev demon quản lý việc khởi tạo và remove các thiết bị quản lý trong /dev/ 7
FHS Organization /etc: chứa các file cấu hình /lib: chứa các file thư viện để chạy các file nhị phân trong /bin/ và /sbin/ 8
FHS Organization /media: chứa các thư mục con được dung làm mount point cho các thiết bị lưu trữ removeable như flash USB, DVD, CD-ROM, đĩa Zip /mnt: các FS được mount tạm thời, chẳng hạn các điểm mount NFS /opt: nơi lưu các gói phần mềm /proc: chứa các tập tin đặc biệt giúp lấy thông tin từ hoặc gửi thông tin đến kernel 9
FHS Organization /sbin: các file thực thi được dùng bởi root user /usr: nơi lưu trữ các tập tin có thể dùng để chia sẻ giữa các máy khác nhau /var: Variable data file Còn được dùng để chứa các file log, file tạm 10
EXT4 FILE SYSTEM
Journaling File System Theo dõi những thay đổi trong tương lai của FS và ghi nhận trong 1 hệ thống nhật ký (journal) trước khi thực hiện thay đổi thực sự Nhật ký thường là 1 hệ thống log vòng (circular log) được lưu trên 1 vùng dành riêng trên đĩa Khi có crash hoặc lỗi nguồn điện, hệ thống có thể tự khôi phục và ít bị lỗi 12
Journaling File System Phân loại Journal vật lý: Tạo ra bản sao của mỗi block sẽ được ghi xuống FS. Nếu có lỗi, dễ dàng trở lại trạng thái trước đó Đòi hỏi dung lượng lưu trữ gấp đôi. Journal luận lý: Chỉ lưu những thay đổi trên metadata của file vào log Chấp nhận kém đi về khả năng chịu lỗi để tăng hiệu năng 13
Journaling File System Quy trình thêm nội dung vào tập tin gồm 3 thao tác ghi như sau: Ghi lên inode của tập tin, để ghi nhận rằng kích thước của file tăng lên Ghi lên free space map, để định vị 1 dung lượng đĩa cho phần nội dung mới Ghi lên phần không gian mới định vị, để cho nội dung mới vào tập tin Với FS metadata-only, bước 3 sẽ không được log. Nếu bước 3 chưa hoàn tất, sau đó bước 1+2 được lặp lại trong quá trình recovery, file sẽ được thêm dữ liệu rác 14
Tạo ext4 File System Quy trình: Định dạng phân vùng bằng lệnh mkfs. Đặt nhãn cho phân vùng bằng lệnh e2label. 15
SWAP SPACE
Giới thiệu Không gian hoán chuyển được dùng khi RAM đầy Khi hệ thống cần thêm bộ nhớ và RAM đầy, các trang inactive trong memory được di chuyển sang swap space Swap space nằm trên ổ cứng, vốn có thời gian truy xuất chậm hơn RAM. 17
Giới thiệu Swap space có thể là Một partition hoán chuyển (nên dùng) Swap file Kết hợp giữa swap partition với swap file M = Lượng RAM (GB), S = Dung lượng swap (GB) 18
Thêm Swap Space Giả sử chúng ta nâng RAM từ 128 MB lên 256 MB, nhưng không gian swap chỉ là 256 MB. Chúng ta cần nâng swap space lên 512 MB Có 3 lựa chọn Tạo 1 swap partition mới Tạo 1 swap file mới Mở rộng kích thước swap trên LVM2 logical volume có sẵn 19
Thêm Swap Space Mở rộng Swap trên LVM2 Logical Volume 20
Thêm Swap Space Tạo một LVM2 Logical Volume để Swap 21
Thêm Swap Space Tạo Swap File 1. Xác định kích thước của swap file mới tính bằng MB và nhân cho 1024 để xác định số block. Ví dụ, block size của một swap file 64 MB là 65536. 2. Gõ lệnh sau với count là block size mong muốn 22
Thêm Swap Space Tạo Swap File 3. Tạo swap file bằng lệnh sau 4. Để enable swap file ngay lập tức nhưng không tự động enable lúc boot: 5. Để enable vào lúc khởi động, sửa file /etc/fstab để thêm vào dòng sau 6. Kiểm tra xem swap file có hiệu lực chưa: cat /proc/swaps hoặc free 23
Xóa Swap Space Giảm Swap trên một LVM2 Logical Volume 24
Xóa Swap Space Xóa LVM2 Logical Volume dành để Swap 25
Xóa Swap Space Xóa một Swap File 26
QUẢN TRỊ HỆ THỐNG TẬP TIN
Thư mục /dev Device file: file đại diện cho 1 system device Thường nằm trong thư mục /dev Xác định cách thức truyền dữ liệu đến và từ thiết bị Character device: truyền dữ liệu đến và từ thiết bị theo từng ký tự Block device: truyền các block dữ liệu bằng cách sử dụng bộ nhớ chính làm buffer Tốc độ truyền nhanh Floppy disk, CD-ROM, DVD, USB flash drive, hard disk drive, 28
Loại hệ thống tập tin ext2, ext3 chuẩn file system cũ vfat Windows 9x FAT32 ntfs Windows NT/2000/XP NTFS iso9660 CD-ROM smbfs hệ thống file chia sẻ dùng Samba (SMB) nfs Network File System proc filesystem ảo /proc ext3, ext4, reiserfs, xfs, jfs journal filesystem 29
Phân vùng ổ cứng chuẩn 30
Phân vùng ổ cứng chuẩn Một ví dụ về phân vùng Linux 31
Phân vùng ổ cứng chuẩn Phân vùng dual-boot 32
Làm việc với các phân vùng fdisk: Tạo phân vùng sau khi cài đặt Ví dụ: fdisk /dev/sda Mở ra giao diện riêng của fdisk, như lệnh mysql hay ftp Có rất nhiều tùy chọn để làm việc được đưa ra trong giao diện fdisk cfdisk: tiện ích giao diện đồ họa để tạo, quản lý, xóa partition Reboot máy tính sau khi dùng lệnh fdisk và cfdisk để đảm bảo thay đổi có tác động 33
Các option của fdisk a toggle a bootable flag b edit bsd disklabel c toggle the dos compatibility flag d delete a partition l list known partition types m print this menu n add a new partition o create a new empty DOS partition table p print the partition table q quit without saving changes s create a new empty Sun disklabel t change a partition's system id u change display/entry units v verify the partition table w write table to disk and exit x extra functionality 34
Hard Disk Partitions Ví dụ Bước 1: Tạo phân vùng (gõ lệnh này sau đó vào tạo) fdisk /dev/hda Bước 2: Tạo filesystem mới mkfs -t fstype filesys blocks blocks: kích thước của fs (1024-byte block) # mkfs -t ext3 /dev/hda6 # mkfs -t vfat /dev/hda7 35
Mount Mount: thao tác móc nối thiết bị, giúp user có thể truy cập thiết bị qua cây thư mục Mount point: thư mục mà thiết bị được mount vào The mounted device temporarily covers up the contents of the mount point Any existing directory can be a mount point In order to prevent making files inaccessible, create empty directories used specifically for mounting devices 36
Mounting The directory structure prior to mounting 37
Mounting The directory structure after mounting a floppy device 38
Mounting mount command When used with no options or arguments, lists currently mounted filesystems -a: mount tất cả fs mô tả trong /etc/fstab -o: tuỳ chọn mount remount: mount lại một fs đã mount ro: read-only 39
Mounting umount command umount directory device # umount /mnt/backup # umount /dev/hda1 # mount -t iso9660 /dev/hdd /mnt/cdrom -a: unmount filesystems described in /etc/mtab 40
File /etc/fstab Auto mount filesystems when booting Example 41
File /etc/fstab device mounting_directory filesystem_type options 0 0 options auto/noauto auto: the device will be mounted automatically noauto: the device will not be mounted automatically. "automatically" : either at boot or when the command mount -a is issued. user/nouser user allows all standard (and root) users to mount the device nouser only allows the root user to mount the device 42
File /etc/fstab device mounting_directory filesystem_type options 0 0 options ro: Mount the device in read only mode. rw: Mount the device in read/write mode. sync/async sync writes data to the device on the fly (as soon as a command is issued) async writes data later. suid: This allos suid and sgid bits to be effective on the mounted file system. defaults: Use all default options (rw, suid, dev, exec, auto, nouser, and async) 43
File /etc/fstab device mounting_directory filesystem_type options 0 0 The final section is actually the dump/fsck section Basically if you set these bits to 0 (off) the mounted devices will not be checked by either dump or fsck You will rarely, if ever, need anything but zeros here. 44