Linux磁盤和文件系統管理

Linux磁盤和文件系統管理

linux磁盤管理

一、Linux設備類型

    硬盤有機械硬盤(HDD)和固態硬盤(SSD)之分。機械硬盤即是傳統普通硬盤,主要由:盤片,磁頭,盤片轉軸及控制電機,磁頭控制器,數據轉換器,接口,緩存等

    幾個部分組成。

    

        機械式硬盤

            track:磁道,存儲信息的位置

            cylinder:柱面

            sector:扇區

            MBR:全稱為Master Boot Record,即硬盤的主引導記錄。硬盤的0柱面、0磁頭、1扇區稱為主引導扇區(也叫主引導記錄MBR),該扇區總共512字節;

                 它由主引導程序、硬盤分區表DPT(Disk Partition table)和分區有效標志。

                 boot loader(主引導程序):占446bytes

                 Partition table(用來存取分區表):占64bytes;硬盤中分區有多少以及每一分區的大小都記在其中,其中每16bytes標識一個分區;所以對于早期硬盤

                    (非UEFI)來講在基于MBR方式管理時一塊硬盤最多只能有4個分區;或者3主分區+1擴展(擴展可以使用N個邏輯分區)

                 magic number:占2個字節,對于大端模式處理器該值固定為0*55AA,存為55AA表示前面500個字節是有效的,否則是無效的

                        

                    注意:硬盤單盤容量大于2T,MBR機制無法識別2T及大于2T的硬盤 ,此時需使用GTP機制

                 

二、磁盤接口類型及命名

        1、并行:

            IDE    接口速率:133MB/s

            SCSI    接口速率:640MB/s

        2、串口:相對于并行設備類型速率更高

            SATA:   接口速率: 6Gbp/s

            SAS:     接口速率: 6Gbp/s 

            USB:    接口速率:480MB/s

        3、磁盤命名

            磁盤一般以/dev/DEV_FILE方式命名

            磁盤設備的設備文件命名:

                IDE接口設備:/dev/hd

                SCSI,SATA,SAS,USB等接口設備:/dev/sd

                                   不同設備:/dev/sd[a-z],如:/dev/sda,/dev/sdb….

                       同一設備上的不同分區:1,2,3,…如:/dev/sda1,/dev/sda2,…

                                

三、磁盤分區管理工具:

     1、Linux中的分區的主要管理工具有:fdisk、parted,sfdisk,本文中主要介紹使用fdisk工具。

          注意:使用fdisk工具分區時,對于一塊硬盤來講,最多只能管理15個分區。

     2、fdisk命令:

                   語法命令:fdisk [option] [DEVICE]

                   子命令:m:獲取幫助,顯示出所有子命令

                            fdisk命令子命令m.png

                           p:print,顯示已有分區

                           n:new,創建

                           d:delete,刪除

                           w:write,寫入磁盤并退出

                           q:quit,放棄更新并退出

                        l:列表分區id

                        t:調整分區id

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

                        cat /proc/partations,如果內核沒有識別,使用下列命令手動通知內核重新讀取硬盤分區表

                        partx -a /dev/DEVICE(centos6、7)

                        partprobe[/dev/DEVIC](centos5)

    

Linux文件系統管理


一、Linux文件系統類型:

        

         1、Linux文件系統:ext2,ext3,ext4,xfs,btrfs,reiserfs,jfs,swap

                    swap:交換分區

                    光盤:iso9660

                    Unix:FFS,UFS,JFS2

                    網絡文件系統:NFS,CIFS

                    系群文件系統:GFS2,OCFS2

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

              根據其是否支持“journal”功能分為:

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

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

          2、文件系統的組成部分:

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

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

              Linux的虛擬文件系統:VFS

          3、文件存儲結構

                Linux分區.png

                  

                            分區的第一個部分是啟動區(Boot block),它主要是為計算機開機服務的。Linux開機啟動后,會首先載入MBR,隨后MBR從某個硬盤的啟動區加載程序。

                    程序負責進一步的操作系統的加載和啟動。為了方便管理,即使某個分區中沒有安裝操作系統,Linux也會在該分區預留啟動區。

                    啟動區之后的是超級區(Super block)。它存儲有文件系統的相關信息,包括文件系統的類型,inode的數目,數據塊的數目。

              Inode:Index Node又稱文件索引節點,是文件基本信息的存放地(如讀寫屬性、owner等,但不包括文件名)和數據塊指針(直接、間接及三級指針)存放地。

                                           節點位圖inode bitmap:對應表是每個inode空閑與否的狀態信息

                            數據塊:文件的具體內容存放地。

                            當查看某個文件時,會先從inode table中查出文件屬性及數據存放點,再從數據塊中讀取數據

                        inode.png

               其中文件的inode結構如下(inode里所包含的文件信息可以通過stat filename查看得到):

                

                            Inode結構.jpg

          4、鏈接文件:

                硬鏈接:是給文件一個副本,同時建立兩者之間的連接關系。修改其中一個,與其連接的文件同時被修改。

                                                不能對目錄進行

                                                不能跨分區進行

                                                指向同一個inode的過個不同路徑,創建文件的硬鏈接即為inode創建新的引用路徑,因此會增加其引用計數


                                軟鏈接,也叫符號鏈接:是對源文件在新的位置建立一個“快捷”,所以,當源文件刪除時,符號連接的文件將僅僅

                                                剩下個文件名了,當然刪除這個連接,也不會影響到源文件,但對連接文件的使用、引用都是直接調用源文件的。

                                                可以對目錄進行

                                                可以跨分區

                                                指向另一個文件的路徑,其大小為指向的路徑字符串的長度,不增加或減少目標文件inode的引用計數。

二、Linux文件系統相關命令:

           1、創建文件系統:mkfs

                用法:mkfs [-V] [-t fstype] [fs-options] filesys [blocks]

                

                             (1)mkfs.FS_TYPE /dev/DEVICE

                                                ext4

                             (2)mkfs -t FS_TYPE /dev/DEVICE

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

                            -t{ext2|ext3|ext4}

                            -b:{1024|2048|4096}

                            -L:‘LABEL

                            -j:相當于 -t ext3

                            -i #:為數據空間中每多少個字節創建一個inode;此大小不應該小于block的大小

                            -N #:為數據空間創建個多少個inode

                            -m #:為管理員預留的空間占據的百分比

                            -O FEATURE[,…..]:啟用指定特性

                                    -O ^FEATURE:關閉制定特性

                       mkswap:創建交換分區

                            mkswap [OPTION] device

                                    -L ‘LABEL’

                            前提:調整其分區的ID為82

                        blkid:塊設備屬性信息查看

                        blkid [OPTION]…[DEVIE]

                                -U UUID:根據指定的UUID來查找對應的設備

                                -L LABEL:根據指定的LABEL來查找對應的設備

                        e2label:管理ext系列文件系統的LABEL

                                e2label DEVICE [LABEL]

                        tune2fs:重新設定ext系列文件系統可調整參數的值

                                -l:查看指定文件系統超級塊信息:super block

                                -L ‘LABEL’:修改卷標

                                -m #:修改預留給管理員的空間百分比

                                -j:將ext2升級為ext3

                                -O:文件系統屬性啟用或禁用

                                -o:調整文件系統的默認掛載選項

                                -U UUID:修改UUID號

                        dumpe2fs

                                -h:查看超級塊信息

           2、文件系統檢測:

                        fsck:file system check

                        fsck.FS_TYPE

                        fsck -t FS_TYPE

                             -a:自動修復

                             -r:交互式修復錯誤

                        NOTE:FS_TYPE一定要與分區上文件類型相同

                        e2fsck:ext系列文件專用的檢測修復工具

                                -y:自動回答為yes

                                -f:強制修復

            3、文件系統的掛載

                    將額外文件系統與根文件系統某現存的目錄建立起關聯關系,進而使得此目錄做為其它訪問入口的行為稱之為掛載

                解除此關聯關系的過程稱之為卸載

                把設備關聯掛載點:Mount Point

                    blob.png

                 掛載命令mount:

                    mount DEVICE MOUNT_POINT

                    mount:通過查看/etc/mtab文件顯示當前系統已掛載設備,查看內核追蹤到的已掛載的所有設備:cat /proc/mounts

                    mount [-fnrsvw] [-t vfstype] [-o options] device dir

                    device:指明要掛載的設備

                        (1)設備文件:例如/dev/sda5

                        (2)卷標:-L ‘LABEL’:例如-L ‘MYDATA’

                        (3)UUID,-U ‘UUID’:例如-U ‘2029dba3-0402-4eb6-ae7c-dcc0c9e42c05

                        (4)偽文件系統名稱:proc,sysfs,dectmpfs,configfs只需要名字,不需要設備

                     dir:掛載點

                        事先存在:建議使用空目錄

                        進程正在使用中的設備無法被卸載

                     常用選項:

                        -t vsftype:指定要掛載的設備上的文件系統類型可省略

                        -r :readonly,只讀掛載;

                        -w:read and write,讀寫掛載

                        -n:不更新/etc/mtab

                        -a:自動掛載所有支持自動掛載的設備(定義在了/etc/fstab文件中,且掛載選項中有“自動掛載功能”)

                        -L ‘LABEL’:以卷標指定掛載設備

                        -U ‘UUID’:以UUID指定掛載設備

                        -B,–bind:綁定目錄到另一個目錄上

                        -o options:(掛載文件系統的選項)

                            async:異步模式

                            sync:同步模式(數據可靠性高,性能差)

                            atime/noatime:包含目錄和文件

                            diratime/nodiratime:目錄的訪問時間戳

                            auto/noauto:是否支持自動掛載

                            exec/noexec:是否支持將文件系統上應用程序運行為進程

                            dev/nodev:是否支持在此文件系統上使用設備文件

                            suid/nosuid:

                            remount:重新掛載

                            ro:

                            rw:

                            user/nouser:是否允許普通用戶掛載此設備

                            acl:啟用此文件系統上的acl功能(centos6默認關閉,centos7默認啟用)

                                注意:上述選項可多個同時使用,彼此使用逗號分隔

                                默認掛載選項:defaults

                                    rw,suid,dev,exec,auto,nouser,and async

                 掛載交換分區

                    啟用:swapon

                        swapon [OPTION]….[DEVICE]

                                -a:激活所有的交換分區

                                -p:PRIORITY:指定優先級

                     禁用:swapoff  [OPTION]….[DEVICE]

            4、文件系統的卸載

                 卸載命令:umount DEVICE

                           umount MOUNT_POINT

                 查看正在訪問指定文件系統的進程

                        fuser -v MOUNT_POINT

                 終止所有正在訪問指定的文件系統的進程

                        fuser -km MOUNT_POINT

            5、文件系統相關的查看命令

                內存空間使用狀態

                    free [OPTIONG]

                        -m:以MB為單位

                        -g:以GB為單位

                文件系統空間占用等信息的查看工具

                        df:

                            -h:human-readable

                            -i:inodes instead of blocks

                            -P:以POSIX兼容的格式輸出

                查看某目錄總體空間占用狀態

                        du:

                        du[OPTION]…DIR

                            -h:human-readable

                            -s:summary

            6、文件掛載的配置文件

               文件掛載的配置文件/etc/fstab

                        文件系統配置文件.png

                    每行定義一個要掛載的文件系統:

                    要掛載的設備或偽文件系統    掛載點    文件系統類型    掛載選項    轉儲頻率    自檢次序

                       要掛載的設備或偽文件系統:

                            設備文件、LABEL(LABEL=" ") 、UUID(UUID=" ")、偽文件系統名稱(proc、sys)

                       掛載選項:

                            defaults

                        轉儲頻率:

                            0:不做備份

                            1:每天轉儲

                            2:每隔一天轉儲

                        自檢次序:

                            0:不自檢

                            1:首先自檢;一般只有rootfs才用1





                



原創文章,作者:Net18-天津-康康,如若轉載,請注明出處:http://www.www58058.com/14592

(0)
Net18-天津-康康Net18-天津-康康
上一篇 2016-04-11
下一篇 2016-04-12

相關推薦

  • 第四周博客作業

    1、復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其它用戶均沒有任何訪問權限。 [root@localhost ~]# cp -r /etc/skel /home/tuser1 [root@localhost ~]# ls …

    Linux干貨 2016-12-28
  • 使用httpd反向代理模塊實現tomcat負載均衡集群(下)

    上一篇講解了http使用mod_http和mod_ajp代理模塊實現tomcat負載均衡,下面我們來講解使用http的mod_jk實現taomcat的負載均衡集群: 注意:http的mod_jk是第三方擴展模塊,在新http版本中以不支持,在httpd 1.3和2.0效果較好 6、使用mod_jk實現tomcat負載均衡集群 6.1安裝mod_jk [roo…

    Linux干貨 2015-07-21
  • 運維學習筆記-Puppet之Hiera初探

    為什么使用Hiera? Puppet中的manifest同時包含靜態的代碼(判斷/循環邏輯,依賴關系,類定義,資源類型定義等等)和動態的數據(類聲明時的參數值和資源聲明時的屬性值)。說代碼是靜態的是因為如果在設計階段考慮比較全面,代碼寫成之后是很少變化的。但是數據要根據具體情況賦予不同的值。如果manifest設計的不是很靈活,比如某些數據被固化(hardc…

    Linux干貨 2016-07-07
  • 我的學習宣言,不忘初心

    Dear 馬哥: 我相信選擇馬哥教育是正確的。 我將用洪荒之力的努力來成為一名合格的馬幫門徒! 一定不學中國足球。 敬禮 自學生 朱宏

    Linux干貨 2016-10-30
  • 第五天03條件判斷與循環

           選擇執行     選擇執行:注意:if語句可嵌套                           單分支       &n…

    Linux干貨 2016-08-18
  • 磁盤配額、Raid及邏輯卷LVS

    磁盤配額、Raid及邏輯卷LVS 磁盤配額 Linux是多用戶的操作系統,同一時間可能有多個用戶登錄到系統上進行操作,某些用戶可能會寫入很多數據,占用大量磁盤空間,導致其他用戶沒有磁盤空間可用。如何限定某個用戶對磁盤的使用空間大小,以及可使用的inode多少,也就是限定可創建多少個文件,這就是磁盤配額管理的作用。 磁盤配額特點 在內核中執行; 以文件系統為單…

    Linux干貨 2016-09-19

評論列表(2條)

  • stanley
    stanley 2016-04-11 17:06

    寫的很認真,如果輔以樣式優化一定能頭條,樣式建議使用markdown

    • Net18-天津-康康
      Net18-天津-康康 2016-04-11 17:15

      @stanley還在學習中,對markdown還不太熟悉

欧美性久久久久