Linux磁盤知識,分區與文件系統

硬件設備在Linux系統中的表現

    設備文件

     I/O Ports: I/O設備地址

     一切皆文件:

        open(), read(), write(), close()

     設備類型:

        塊設備: block,存取單位“塊”,磁盤

        字符設備: char,存取單位“字符”,鍵盤

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

     設備號碼:

        主設備號: major number, 標識設備類型

        次設備號: minor number, 標識同一類型下的不同設備

   

硬盤接口類型

并行:

    IDE: 133MB/s

    SCSI: 640MB/s

串口:

        SATA: 6Gbps

        SAS: 6Gbps

        USB: 480MB/s

    rpm: rotations per minute(轉速)


設備文件

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

IDE: /dev/hd

SCSI, SATA, SAS, USB: /dev/sd

    不同設備: a-z

    /dev/sda, /dev/sdb, …

同一設備上的不同分區: 1,2, …

    /dev/sda1, /dev/sda5


硬盤物理結構


    硬盤存儲術語

     head:磁頭

     track:磁道

     cylinder: 柱面

     secotr: 扇區, 512bytes

   

        使用分區空間

         設備識別

         設備分區

         創建文件系統

         標記文件系統

         在/etc/fstab文件中創建條目

         掛載新的文件系統


    磁盤分區

為什么是分區?

優化I/O性能

實現磁盤空間配額限制

提高修復速度

隔離系統和程序

安裝多個OS

硬盤分區

       為什么是分區?

        優化I/O性能

        實現磁盤空間配額限制

        提高修復速度

        隔離系統和程序

        安裝多個OS


    分區

     兩種分區方式: MBR, GPT

     MBR: Master Boot Record, 1982年, 使用32位表示扇區數,分區不超過2T

     如何分區:按柱面

     0磁道0扇區: 512bytes

        446bytes: boot loader

        64bytes:分區表

        16bytes: 標識一個分區

        2bytes: 55AA

      4個主分區; 3主分區+1擴展(N個邏輯分區)


    MBR分區結構


    GPT分區

         GPT:GUID patition table 支持128個分區,使用64位,支

        持8Z(512Byte/block ) 64Z (4096Byte/block)

         使用128位UUID 表示磁盤和分區 GPT分區表自動備份在頭

        和尾兩份,并有CRC校驗位

         UEFI (統一擴展固件接口)硬件支持GPT


        GPT分區結構

        EFI部分又可以分為4個區域: EFI信息區(GPT頭)、分區表、 GPT分區、備份區域

    管理分區

         列出塊設備

        blkid

         創建分區使用:

            fdisk 創建MBR分區,也支持GPT,對于一塊硬盤,最多只能管理15分區

            gdisk 創建GPT分區

            GNU parted 高級分區操作(創建、復制、調整大小等等)

         partprobe-重新設置內存中的內核分區表版本

         fdisk /dev/sdb

         gfisk /dev/sdb

         # fdisk -l [-u] [device…]

         子命令:

         p 分區列表

         t 更改分區類型

         n 創建新分區

         d 刪除分區

         w 保存并退出

         q 不保存并退出

        分區工具fdisk和gdisk

    

    同步分區表

         查看內核是否已經識別新的分區:

        # cat /proc/partations

           通知內核重新讀取硬盤分區表

            新增分區用

        partx -a -n M:N /dev/DEVICE

        kpartx -a /dev/DEVICE -f: force

    刪除分區用

        partx -d -n M:N /dev/DEVICE

        centos6: –nr N-M

         CentOS 5, 7: 使用partprobe

         partprobe [/dev/DEVICE]

    

    parted命令

         parted的操作都是實時生效的,小心使用

         用法: parted [選項]… [設備 [命令 [參數]…]…]

        parted /dev/sdb mklabel gpt|msdos

        parted /dev/sdb print

        parted /dev/sdb mkpart primary 1 200 (默認M)

        parted /dev/sdb rm 1

        parted -l

    

    文件系統

         文件系統是操作系統用于明確存儲設備或分區上的文件的方

        法和數據結構;即在存儲設備上組織文件的方法。操作系統

        中負責管理和存儲文件信息的軟件結構稱為文件管理系統,

        簡稱文件系統。

         從系統角度來看,文件系統是對文件存儲設備的空間進行組

        織和分配,負責文件存儲并對存入的文件進行保護和檢索的

        系統。具體地說,它負責為用戶建立文件,存入、讀出、修

        改、轉儲文件,控制文件的存取,安全控制,日志,壓縮,

        加密等。

    

    文件系統類型

     Linux文件系統: ext2, ext3, ext4, xfs( SGI) , btrfs(

            Oracle) , reiserfs, jfs( AIX) , swap

            swap: 交換分區

        光盤: iso9660

     Windows: fat32, ntfs

     Unix: FFS( fast) , UFS( unix) , JFS2

     網絡文件系統: NFS, CIFS

     集群文件系統: GFS2, OCFS2( oracle)

     分布式文件系統: ceph, moosefs, mogilefs, glusterfs,Lustre

     RAW:未經處理或者未經格式化產生的文件系統

    

    文件系統分類

         根據其是否支持"journal"功能:

            日志型文件系統: ext3, ext4, xfs, …

            非日志型文件系統: ext2, vfat

        文件系統的組成部分:

            內核中的模塊: ext4, xfs, vfat

        用戶空間的管理工具: mkfs.ext4, mkfs.xfs,mkfs.vfat

         Linux的虛擬文件系統: VFS

         查前支持的文件系統: cat /proc/filesystems  

    

    創建文件系統

             mkfs命令:

            (1) # mkfs.FS_TYPE /dev/DEVICE

            ext4

            xfs

            btrfs

            vfat

            (2) # mkfs -t FS_TYPE /dev/DEVICE

            -L 'LABEL': 設定卷標

    

    創建ext文件系統

         mke2fs: ext系列文件系統專用管理工具

        -t {ext2|ext3|ext4}

        -b {1024|2048|4096}

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

(0)
317376161317376161
上一篇 2016-08-29
下一篇 2016-08-29

相關推薦

  • N22-?Linux系統的基礎命令

                                     Linux系統的基礎命令 命令的語法通用格式:# COMMAND OPTIONS  ARGUMENTS COMMA…

    Linux干貨 2016-08-15
  • SNAT,DNAT,端口轉發

    利用iptables配置NAT

    2018-03-01
  • N25第三周作業

    .列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登陸多次,則只顯示一次即可。 此題主要考察命令who,cut,sort以及管道的基本用法:who:列出當前已登陸的用戶名,登陸設備名,時間以及ip地址。 cut:    顧名思義就是截取之意, -d 指定要截取信息的分隔符,此處是以空格為分隔符,-f指定要截取的字段,此…

    Linux干貨 2016-12-20
  • 第一篇

     新的征程又開始了,努力吧!

    Linux干貨 2016-12-26
  • Python函數式編程指南(三):迭代器

    這一篇我們將討論迭代器。迭代器并不是函數式編程特有的東西,但它仍然是函數式編程的一個重要的組成部分,或者說是一個重要的工具。 轉載請注明原作者和原文地址:) 3. 迭代器 3.1. 迭代器(Iterator)概述 迭代器是訪問集合內元素的一種方式。迭代器對象從集合的第一個元素開始訪問,直到所有的元素都被訪問一遍后結束。 迭代器不能回退,只能往前進行迭代。這并…

    Linux干貨 2015-03-11
  • TCP 的那些事兒(下)

    這篇文章是下篇,所以如果你對TCP不熟悉的話,還請你先看看上篇《TCP的那些事兒(上)》 上篇中,我們介紹了TCP的協議頭、狀態機、數據重傳中的東西。但是TCP要解決一個很大的事,那就是要在一個網絡根據不同的情況來動態調整自己的發包的速度,小則讓自己的連接更穩定,大則讓整個網絡更穩定。在你閱讀下篇之前,你需要做好準備,本篇文章有好些算法和策略,可能會引發你的…

    Linux干貨 2016-08-15
欧美性久久久久