歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux基礎 >> 關於Linux

Linux磁盤管理及文件系統

1、Linux磁盤管理   識別硬盤設備:/dev/sd   標記不同的硬盤設備:/dev/sd[a-z]   標記同一設備上的不同分區:/dev/sd[a-z][1-]   1-4: 主或擴展分區標識   5+:邏輯分區標識       2、設備文件:特殊文件   設備號:     major, minor     major: 設備類型     minor: 同一類型下的不同設備     “塊”:block,隨機設備     “字符”:character,線性設備       3、分區工具:   (1)fdisk, parted, sfdisk     注:最多支持在一塊硬盤上的15個分區;   fdisk工具的使用:   分區管理交互式命令:     p: 顯示     n: 創建     d: 刪除     t: 修改分區ID     l: 列出所有支持ID類型     w: 保存退出     q: 放棄修改並退出     m: 獲取幫助       (2)創建完成之後,查看內核是否已經識別新的分區:     # cat /proc/partitions       例子:   [root@localhost ~]# cat /proc/partitions major minor  #blocks  name   8  0  125829120 sda 8  1  512000 sda1 8  262423040 sda2 8  3 2097152 sda3  253  041447424 dm-0  253  110485760 dm-1  253  210485760 dm-2         (3)有三個命令可以讓內核重讀磁盤分區表:     CentOS 5: partprobe [DEVICE]     CentOS 6,7:      partx     kpartx         partx命令:    partx DEVICE    partx -a DEVICE    partx -a -n M:N DEVICE         kpartx命令:    kpartx -af DEVICE       例子:   [root@localhost ~]# partx -a /dev/sda [root@localhost ~]# cat /proc/partitions major minor  #blocks  name   8  0  125829120 sda 8  1  512000 sda1 8  262423040 sda2 8  3 2097152 sda3 8  431 sda4 8  510488317 sda5 8  620980858 sda6  253  041447424 dm-0  253  110485760 dm-1  253  210485760 dm-2 [root@localhost ~]# ls /dev/sda sdasda1  sda2  sda3  sda4  sda5  sda6     4、Linux文件系統管理   (1)文件系統:   VFS:Virtual File System     Linux:ext2, ext3, ext4, reiserfs, xfs, btrfs, swap     光盤:iso9660     Windows: fat32(vfat), ntfs     Unix: ffs, ufs, jfs, jfs2     網絡文件系統:nfs, cifs     集群文件系統:ocfs2, gfs2     分布式文件系統:ceph,      moosefs, mogilefs, hdfs, gfs, glusterfs       (2)日志型文件系統   非日志型文件系統:ext2   日志型文件系統:ext3       (3)swap:交換分區           5、創建文件系統:   在分區上執行格式化(高級格式化)   要使用某種文件系統,滿足兩個條件:   內核中:支持此種文件系統   用戶空間:有文件系統管理工具       (1)創建工具:mkfs (make filesystem)   mkfs -t type DEVICE   mkfs.type DEVICE       (2)ext系列文件系統的專用管理工具:   mke2fs -t {ext2|ext3|ext4} DEVICE     -b BLOCK: 1024, 2048, 4096     -L ‘LABEL‘: 設定卷標       (3)blkid命令:   UUID---Universally Unique Identifiers   全局唯一標識符:    blkid DEVICE     LABEL, UUID, TYPE       例子:   [root@localhost ~]# blkid /dev/sda1 /dev/sda1: UUID="dbde3019-886c-4eb3-8a79-b15825f7f929" TYPE="ext4" 6、Linux文件系統管理:   (1)創建文件系統:   mkfs, mkfs -t type = mkfs.type   ext:mke2fs    mke2fs [OPTION]... DEVICE     -t {ext2|ext3|ext4}     -b {1024|2048|4096}     -L ‘LABEL‘     -j: mke2fs -t ext3     -i #:     -N #:     -m #: 預留磁盤空間占據多大百分比的空間為後期管理使用;     O FEATURE[,...]     -O ^FEATURE:關閉此特性     has_journal       (2)文件系統屬性查看及調整工具:   e2label #不影響分區中的數據   e2lable DEVICE [LABEL]       (3)顯示ext系列文件系統的屬性,或調整其屬性;   tune2fs #不影響分區中的數據     -l:顯示超級塊中的信息;顯示整個文件的屬性及布局等相關信息;     -L ‘LABEL‘:修改卷標;     -m #: 調整預留給管理員的管理空間百分比;     -j: ext2 --> ext3     -O:文件系統屬性的啟動或關閉      -o:文件系統默認掛載選項的啟用或關閉       (4)dumpe2fs:     -h: 僅顯示超級塊信息;       例子:   [root@localhost ~]# mke2fs -L lisir -t ext4 /dev/sda5 mke2fs 1.41.12 (17-May-2010) 文件系統標簽= 操作系統:Linux 塊大小=4096 (log=2) 分塊大小=4096 (log=2) Stride=0 blocks, Stripe width=0 blocks 655776 inodes, 2622079 blocks 131103 blocks (5.00%) reserved for the super user ........   [root@localhost ~]# tune2fs -o acl /dev/sda5  #開啟acl tune2fs 1.41.12 (17-May-2010) [root@localhost ~]# tune2fs -L lisir01 /dev/sda5  #修改卷標 tune2fs 1.41.12 (17-May-2010) [root@localhost ~]# tune2fs -l /dev/sda5  #查看分區信息 tune2fs 1.41.12 (17-May-2010) Filesystem volume name:lisir01 Last mounted on: <not available> Filesystem UUID: 1d305c60-761e-447e-b585-6c2416d13228 Filesystem magic number:  0xEF53 Filesystem revision #: 1 (dynamic) Filesystem features:has_journal ext_attr resize_inode dir_index filetype extent flex_bg sparse_super large_file huge_file uninit_bg dir_nlink extra_isize Filesystem flags:signed_directory_hash Default mount options: acl     7、文件系統檢測:   注:由於硬盤常年讀寫,系統會造成系統文件損壞,導致重啟後無法登陸到系統,fsck不僅可以對文件系統進行掃描,還能修正文件系統的一些問題。值得注意的是fsck掃描文件系統時一定要在單用戶模式、修復模式或把設備umount後進行。   (1)fsck: Filesystem check   fsck -t type   fsck.type     -a: 自動修復錯誤     -r: 交互式修復錯誤     -f: 強制檢測       (2)e2fsck:ext系列文件系統專用的檢測修復工具;     -y: 自動回答為“yes”     f:force       (3)文件系統的掛載和使用:   kernel --> rootfs(分區)   rootfs分區:   bin, sbin, etc, lib, lib64, dev, tmp, proc, sys   /sbin/init   將額外文件系統與根文件系統某現存的目錄建立起關聯關系,進而使得此目錄做為其它文件系統訪問 入口的行為,稱之為掛載;   解除此關聯關系的過程:卸載;   掛載點:mount point, 設備掛載至目錄;   注意:掛載點在掛載在之後,其內部原有的文件會被暫時隱藏;建立使用空目錄做為掛載點;       例子:   [root@localhost ~]# fsck.ext4 -a /dev/sda5  #自動修復sda5磁盤錯誤 lisir01: clean, 11/655776 files, 79700/2622079 blocks [root@localhost ~]# fsck.ext4 -f /dev/sda5  #強制檢測磁盤sda5 e2fsck 1.41.12 (17-May-2010) 第一步: 檢查inode,塊,和大小 第二步: 檢查目錄結構 第3步: 檢查目錄連接性 Pass 4: Checking reference counts 第5步: 檢查簇概要信息 lisir01: 11/655776 files (0.0% non-contiguous), 79700/2622079 blocks 8、掛載方法:   mount:通過讀取/etc/mtab文件來顯示當前系統所有已經掛載的設備;   mount -a:掛載/etc/fstab文件中的所有支持自動掛載的文件系統;       mount [options] [-o options] DEVICE MOUNT_POINT     [options]:命令選項     [-o options]:掛載選項       -o 掛載選項:     async:異步模式     sync: 同步模式     atime/noatime:是否更新訪問時間戳;     diratime/nodiratime:是否更新目錄的訪問時間戳;     auto/noauto: 是否允許此設備被自動掛載;     exec/noexec:是否允許執行此文件系統上應用程序;     dev/nodev:是否支持在此設備上使用設備文件;     suid/nosuid:     remount:重新掛載     ro     rw     user/nouser: 是否允許普通掛載此設備;     acl:是否支持此設備上使用facl;     defaults:rw, suid, dev, exec, auto, nouser, and async       DEVICE: 要掛載的設備     (1) 設備文件:/dev/sda5     (2) 卷標:-L ‘LABEL‘     (3) UUID:-U ‘UUID‘     (4) 偽文件系統名稱       MOUNT_POINT: 掛載點     常用選項:     -t type:文件系統類型     -r: 以“只讀”方式掛載此文件系統     -w: 以“讀寫”方式掛載此文件系統     -n:每個文件系統在掛載時都會自動更新/etc/mtab文件,-n用於禁止此功能;     此時,如果想查看掛載的所有文件系統:cat /proc/mounts     -a: 自動掛載所有支持自動掛載的設備;     -B:綁定目錄至另一個目錄上;       umount:卸載命令     # umount DEVICE     # umount MOUNT_POINT       查看正在訪問指定掛載點的進程:     # fuser -v MOUNT_POINT       終止所有正在訪問指定的掛載點的進程:     # fuser -km MOUNT_POINT       例子:   [root@localhost ~]# umount /mydata/ umount: /mydata: device is busy.   (In some cases useful info about processes that use the device is found by lsof(8) or fuser(1)) [root@localhost ~]# fuser -v /mydata/ 用戶  進程號 權限命令 /mydata/:root 3764 ..c.. bash [root@localhost ~]# fuser -km /mydata/ /mydata/: 3764c [root@localhost ~]# umount /mydata/     9、交換分區:   (1)free命令:   查看memory和swap的使用狀態     -m: 以MB為單位     -g: 以GB為單位        (2)mkswap:創建交換分區   mkswap [option] DEVICE     -L ‘LABEL‘     (3)swapon:啟用交換分區   swapon [option] [DEVICE]     -a: 激活所有交換分區     -p PRIORITY: 設定其優先級;       (4)swapoff:禁用交換分區   swapoff [option] [DEVICE]       例子:   [root@localhost ~]# mkswap -L swap01 /dev/sda6 Setting up swapspace version 1, size = 20980852 KiB LABEL=swap01, UUID=3835c7ba-8b9b-4047-931c-a19eed79d7c4 [root@localhost ~]# swapon -s Filename  TypeSize Used Priority /dev/sda3 partition 2097148 0 -1 [root@localhost ~]# swapon -a /dev/sda6 [root@localhost ~]# swapon -s Filename  TypeSize Used Priority /dev/sda3 partition 2097148 0 -1 /dev/sda6 partition 20980852  0 -2 [root@localhost ~]# free -m  total used free  shared buffers  cached Mem:  988  728  260 318  327 -/+ buffers/cache:  382  606 Swap:  22537 022537     10、文件系統等空間占用信息的查看工個:   (1)df: disk free    -h: human-readable    -i: inode數量    -P: 以Posix兼容的格式輸出       (2)du: disk usage    -h: human-readable    -s: summary       11、文件系統相關掛載配置文件:/etc/fstab   每行定義一個文件系統;   要掛載的設備:     設備文件、LABEL=、UUID=、偽文件系統名稱   掛載選項:     defaults、acl   轉儲頻率:     0: 不轉儲     1: 每天轉儲     2: 每隔一天轉儲   自檢次序:     0:不自檢     1:首先自檢,通常只有/才為1     2:       12、文件系統上的鏈接文件:   硬鏈接:   兩個路徑指向同一個inode   不能對目錄進行;   不能跨分區進行   指向同一個inode的多個不同路徑; 創建文件的硬鏈接會增加inode的引用計數;刪除硬鏈接僅是刪除 其一個訪問路徑,只到最後一個路徑被刪除;        符號鏈接:   鏈接文件的數據指向另一個文件路徑;   可以對目錄進行;   可以跨分區;   指向的是另一個文件路徑;而非inode;   對文件創建符號鏈接不會增加其引用計數;刪除原文件,符號鏈接文件也將無法;   ln [-s] SRC DEST     -s:symbolic link      -v:verbose       例子:   [root@localhost ~]# ln -s /etc/fstab ./123 [root@localhost ~]# ll 總用量 100 lrwxrwxrwx. 1 root root 10 9月7 15:28 123 -> /etc/fstab  
Copyright © Linux教程網 All Rights Reserved