Linux的磁盤管理:

Linux的磁盤管理:

Linux的核心:一切介文件:
    open,read,write,close

塊設備:block,存取單位‘塊’,磁盤
字符設備:char 存取單位‘字符’,鍵盤

設備文件:關聯至一個設備驅動程序,進而能夠跟與之對應硬件設備進行通信:

設備號碼:
    主設備號:major number:標識設備類型:
    次設備號:minor number:表示同一類型的不同設備:
設備類型基本上都存放在/dev下:使用ls-l可以看到

[root@localhost dev]# ls -l
total 0
crw-rw----. 1 root root     10,  57 Jul 14 22:02 autofs
drwxr-xr-x. 2 root root         660 Jul 14 22:01 block
drwxr-xr-x. 2 root root          60 Jul 14 22:01 bsg
drwxr-xr-x. 3 root root          60 Jul 14 22:01 bus
drwxr-xr-x. 2 root root        2660 Jul 14 22:02 char
crw-------. 1 root root      5,   1 Jul 14 22:01 console
lrwxrwxrwx. 1 root root          11 Jul 14 22:01 core -> /proc/kcore
drwxr-xr-x. 3 root root          80 Jul 14 22:01 cpu
crw-rw----. 1 root root     10,  61 Jul 14 22:01 cpu_dma_latency
crw-rw----. 1 root root     10,  62 Jul 14 22:01 crash
drwxr-xr-x. 6 root root         120 Jul 14 22:01 disk
lrwxrwxrwx. 1 root root           3 Jul 14 22:01 fb -> fb0
crw-rw----. 1 root root     29,   0 Jul 14 22:01 fb0
lrwxrwxrwx. 1 root root          13 Jul 14 22:01 fd -> /proc/self

綜上可以看到前一個代表的主設備號,后面標記這主設備下各個不同的設備:

硬盤接口類型:
    并行:
        IDE:133MB/s
        SCSI:640MB/s
    串口:
        SATA:6Gbps
        SAS:6Gbps
        USB:480MB/s

磁盤設備的設備文件名稱:
    /dev/DEV_FILE

IDE:/dev/hd
SCSI,SATA,SAS,USB:/dev/sd
    不同設備可以使用:a-z

同一設備上的不同分區:1.2.3。。。。。


機械式硬盤:
    track:磁道
    cylinder:柱面
    secotr:扇區
    一個扇區=512bytes
    綜上所述:按柱面進行分區


???同一個磁盤只能有3個主分區任意個邏輯分區???  

Linux上的分區管理工具:fdisk,parted,sfdisk
    fdisk:對于單塊硬盤來說,最多只能管理15個分區??!

[root@localhost ~]# fdisk -l

Disk /dev/sda: 128.8 GB, 128849018880 bytes
255 heads, 63 sectors/track, 15665 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00073dc7

Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1          64      512000   83  Linux
Partition 1 does not end on cylinder boundary.
/dev/sda2              64        2675    20971520   83  Linux
/dev/sda3            2675        3981    10485760   83  Linux
/dev/sda4            3981       15666    93858816    5  Extended



[root@localhost ~]# fdisk -l /dev/sda1

Disk /dev/sda1: 524 MB, 524288000 bytes
255 heads, 63 sectors/track, 63 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

使用磁盤參數查看具體每個磁盤的參數:
    fdisk的命令中的分項:
        p:print,顯示已有分區
        n:new,創建一個新分區
        d:delete,刪除
        w:write 寫入磁盤并退出
        q:quit,放棄更新并退出
        m:獲取幫助
        l:列表所分區id
        t:調整分區id

查看內核是否已經識別新的分區:
    cat/proc/partations
[root@localhost ~]# cat /proc/partitions 
major minor  #blocks  name

   8        0  125829120 sda
   8        1     512000 sda1
   8        2   20971520 sda2
   8        3   10485760 sda3
   8        4          1 sda4
   8        5    2097152 sda5
   8        6   10486742 sda6

通知內核重新讀取硬盤分區表
partx -a /dev/DEVICE
[root@localhost ~]# partx -a /dev/sda
    BLKPG: Device or resource busy
    error adding partition 1
    BLKPG: Device or resource busy
    error adding partition 2
    BLKPG: Device or resource busy
    error adding partition 3
    BLKPG: Device or resource busy
    error adding partition 4
    BLKPG: Device or resource busy
    error adding partition 5
    BLKPG: Device or resource busy
    error adding partition 6
如果上訴命名不生效的時候可以使用:
    koartx  
    kpartx -a /dev/DEVICE

Linux文件系統管理:

Linux文件系統:ext2,ext3,ext4,btrfs,swap,xfs,jfs,reiserfs
swap:是交換分區,用來將磁盤當內存使用
光盤:iso9660

Windows:fat32,ntfs
    Unix:FFS,UFS,JFS2
    網絡文件系統:NFS,CIFS
    集群文件:GFS2,OCFS2
    分布式文件系統:cdph,
    moosefs,mogilefs,gluserFS,Lunstre

根據其是否支持:“journal”功能
    日志型文件系統:ext3,ext4,xfs....
    非日志型文件系統:ext2,vfat

文件系統的組成部分:
    內核中的模塊:ext4,xfs,vfat
    用戶空間的管理工具:mkfs.ext4,mkfs.xfs,mkfs.vfat

Linux虛擬文件系統:VFS
查看系統上可以使用的文件系統:
    cat/proc/filesystems
????這里實驗發現:如果在內核沒有識別新的分區的時候,開始對新分區的磁盤進行格式化,那么系統會報錯,指出系統上沒有此文件無法進行調用,所以對磁盤創建文件系統的時候先使用partx -a對已劃分的磁盤進行內核讀?。。。。???

mkfs命令:
(1)mkfs.FS_TYPE /dev/DEVICE
ext4
[root@localhost ~]# mkfs.ext4 /dev/sda6
mke2fs 1.41.12 (17-May-2010)
warning: 245 blocks unused.

Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
656640 inodes, 2621440 blocks
131084 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
8208 inodes per group
Superblock backups stored on blocks: 
    32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

xfs
[root@localhost ~]# mkfs.xfs -f /dev/sda5
meta-data=/dev/sda5              isize=256    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0        finobt=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
log      =internal log           bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

btrfs
root@localhost ~]# mkfs.btrfs -f /dev/sda5
btrfs-progs v3.19.1
See http://btrfs.wiki.kernel.org for more information.

Turning ON incompat feature 'extref': increased hardlink limit per file to 65536
Turning ON incompat feature 'skinny-metadata': reduced-size metadata extent refs
fs created label (null) on /dev/sda5
    nodesize 16384 leafsize 16384 sectorsize 4096 size 10.00GiB

vfat

mke2fs:ext系列文件系統專用管理工具
    -t {ext2|ext3|ext4}
    -b {1024|2048|4096}
    -L 'LABEL'
    -j: 相當于 -t ext3
        mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
    -i #: 為數據空間中每多少個字節創建一個inode;此大小不應該小于block的大小;
    -N #:為數據空間創建個多少個inode;
    -m #: 為管理人員預留的空間占據的百分比;
    -O FEATURE[,...]:啟用指定特性
        -O ^FEATURE:關閉指定特性

mkswap:創建交換分區
    mkswap [options] device
            -L 'LABEL'

    前提:調整其分區的ID為82;
其它常用工具:

blkid:塊設備屬性信息查看
    blkid [OPTION]... [DEVICE]
[root@localhost ~]# blkid /dev/sda6
/dev/sda6: LABEL="MYDATA" UUID="2bc19b3c-d451-473e-81ad-e28ed346f844" TYPE="ext4" 

    -U UUID: 根據指定的UUID來查找對應的設備
[root@localhost ~]# blkid -U 2bc19b3c-d451-473e-81ad-e28ed346f844
/dev/sda6

    -L LABEL:根據指定的LABEL來查找對應的設備
[root@localhost ~]# blkid -L MYDATA 
/dev/sda6


e2label:管理ext系列文件系統的LABEL
    # e2label DEVICE [LABEL]
[root@localhost ~]# e2label /dev/sda6 hahah
[root@localhost ~]# blkid /dev/sda6
/dev/sda6: LABEL="hahah" UUID="2bc19b3c-d451-473e-81ad-e28ed346f844" TYPE="ext4" 


tune2fs:重新設定ext系列文件系統可調整參數的值
    -l:查看指定文件系統超級塊信息;super block
    -L 'LABEL':修改卷標
    -m #:修預留給管理員的空間百分比
    -j: 將ext2升級為ext3
    -O: 文件系統屬性啟用或禁用
    -o: 調整文件系統的默認掛載選項
    -U UUID: 修改UUID號;

dumpe2fs:
    -h:查看超級塊信息  
每一個獨立的文件系統都對應了一個超級塊

文件系統檢測:
fsck: File System CheCk
fsck.FS_TYPE
    fsck -t FS_TYPE
    -a: 自動修復錯誤
    -r: 交互式修復錯誤

Note: FS_TYPE一定要與分區上已經文件類型相同;

e2fsck:ext系列文件專用的檢測修復工具
    -y:自動回答為yes; 
    -f:強制修復;

:如果U盤既要在Windows上使用又要在linux 上使用文件系統必須為Vfat=fat32

原創文章,作者:wostop,如若轉載,請注明出處:http://www.www58058.com/24932

(0)
wostopwostop
上一篇 2016-07-22
下一篇 2016-07-22

相關推薦

  • 馬哥教育21期網絡班—第二周課程+練習

    目錄管理類命令: mkdir, rmdir, tree mkdir mkdir [options] /path/to/somewhere -p: 存在于不報錯,且可自動創建所需的各目錄; -v: 顯示詳細信息 -m MODE: 創建目錄時直接指定權限; tree tree:  需要安裝  yum -y install …

    Linux干貨 2016-06-29
  • 進程管理

    進程概念 內核的功用:進程管理、文件系統、網絡功能、內存管理、驅動程序、安全功能等 Process(進程):運行中的程序的一個副本,是被載入內存的一個指令集合 進程ID (Process ID ,PID )號碼被用來標記各個進程 UID、GID、和SELinux語境決定對文件系統的存取和訪問權限 通常從執行進程的用戶來繼承 存在生命周期 task struc…

    2017-05-09
  • 備份練習

    課外整理 cp 功能: 復制文件或目錄說明: cp指令用于復制文件或目錄,如同時指定兩個以上的文件或目錄,且最后的目的地是一個已經存在的目錄,則它會把前面指定的所有文件或目錄復制到此目錄中。若同時指定多個文件或目錄,而最后的目的地并非一個已存在的目錄,則會出現錯誤信息參數:     -a 或 –archiv…

    Linux干貨 2016-08-08
  • N26 第二周博客作業

    1、Linux上的文件管理類命令都有哪些,其常用的使用方法及其相關示例演示。 常用的文件管理工具有: cp mv rm cp 命令 : copy 的簡寫 語法格式:    1) 單源復制 cp [OPTION]… [-T] SOURCE DEST      …

    Linux干貨 2017-02-24
  • 第二周作業

    第二周博客作業 1. Linux上常用的文件管理命令及使用 (1) CP命令:復制文件或文件夾語法格式        cp [OPTION]… [-T] SOURCE DEST     …

    Linux干貨 2016-12-16
  • Linux啟動流程

    內核級別: 1、POST開機加電自檢 BIOS加載CMOS信息并進行開機自檢,檢測硬件設備是否正常并進行硬件設備初始化 2、Boot Sequence(BIOS):定義設備啟動順序 BIOS定義設備啟動順序,并讀取啟動設備數據加載硬盤上的第一個扇區MBR。 3、Boot Loader(MBR):bootloader功能實現 Boot Loader提供一個菜單…

    Linux干貨 2016-11-23
欧美性久久久久