磁盤管理

                         磁盤管理

磁盤管理簡介

   我們的計算機是有五大部件組成:輸入設備、輸出設備、運算器、控制器和存儲器。其中運算器和控制器我們稱之為CPU 。其實我們的計算機只要擁有了CPU和內存,就可以獨立完成計算任務了。但是內存屬于隨機存儲設備,斷電會導致數據的丟失。因此,我們需要其它存儲設備來彌補內存這個不足,如:磁盤、光盤等。

磁盤可以彌補內存斷電易失的不足,同時還提供更大空間來儲存我們的計算機數據等一系列的優點。那么在操作系統上,我們是用什么方式來讀寫磁盤內的數據呢??

大家都知道,對linux系統而言,其哲學思想之一就是一切皆文件。因此,在linux系統上對磁盤所有的操作都是通過文件接口來實現的。那么,我們拿到一個新的磁盤連接到計算機上,怎么樣實現正常使用呢?這個就需要三個過程:創建分區、格式化、掛載。

1、創建分區:我們通過創建分區,我們可以便于磁盤的規劃、文件的管理;可有效地利用磁盤空間;提高系統運行效率有利于病毒的防治和數據的安全(如:如果不分區磁盤,操作系統被病毒入侵,重裝系統后,磁盤上的數據都會被刪除,所以我們要分區,分區后就不會出現這中情況,因為我們將操作系統裝在一個獨立的分區,即使重裝系統,也不會影響其他分區的數據。)等一系列優點。

2、格式化:格式化其實就是為磁盤裝載文件系統,以便于我們更好使用和管理磁盤

3、掛載;所謂掛載就是將額外文件系統與根文件系統某現存的目錄建立起關聯關系,進而使得此目錄做為其它文件訪問入口的行為。所以只有將磁盤設備掛載,才能實現真正使用和管理磁盤。

 

                   第一部分 磁盤分區

一、磁盤簡介

           

  (一)磁盤接口類型
     1、并行:
        IDE 133MB/s
        SCSI 640MB/s
     2、串口:
        SATA 6Gbps
        SAS 6Gbps
        USB 480MB/s
        rpm: rotations
        per minute

  (二)機械磁盤(HDD)和固態硬盤(SSD)

     1、 相較于HDD, SSD在防震抗摔、傳輸速率、功耗、重量、噪有明顯優勢, SSD傳輸速率性能是HDD2
     2、相較于SSD, HDD在價格、容量、使用壽命上占有絕對優勢硬盤有價,數據無價,目前SSD不能完全取代HHD

  (三)磁盤設備的文件命名

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

     1、 不同設備: a-z區分
       /dev/sda, /dev/sdb, …
 

     2、 同一設備上的不同分區:

       1,2, …
       /dev/sda1, /dev/sda5
   (四) 磁盤存儲術語

       機械式磁盤構造:盤片,軸,馬達,機械臂,磁頭
          head:磁頭
          track磁道):每個盤片被切割成N個同心圓,稱之為磁道

          sector(扇區):磁盤上每個磁道被分成若干個弧段,這些弧段我們稱之為扇區
          cylinder(柱面):每個盤面上相同的位置都有一相同的編號,所有相同編號的磁道稱之為柱面

   (五)兩種分區方式: MBR, GPT              

      1、MBR分區
          1)、 MBR: Master Boot Record, 1982年, 使用32位扇區數, 分區不超過2T
          2)如何分區:按柱面
            0磁道0扇區: 512bytes
            446bytes: boot loader
            64bytes:分區表,16bytes標識一個分區
            2bytes: 55AA
          3)、支持:4個主分區; 3主分區+1擴展(N個邏輯分區)
      2、 GPT分區
          1)、GPT:GUID Globals Unique Identifierspartitiontable 支持128個分區,使用64位,支持8Z512Byte/block 64Z 4096Byte/block
          2)、 使用128UUID(Universally Unique Identifier) 示磁盤和分區 GPT分區表自動備份在頭和尾兩份,并有CRC校驗位UEFI (統一擴展固件接口)硬件支持GPT,使操作系統 

二、磁盤分區

    (一)、創建MBR類分區使用fdisk命令

        fdisk -l [-u] [device…]   創建MBR分區

           -l:列出指定的磁盤的分區表狀況;

                                   -u:搭配”-l”參數列表,會用分區數目取代柱面數來表示每個分區的起始地址;

        fdisk 創建分區是一個交互式界面,由許多字命令
           子命令:
             p 分區列表
             t 更改分區類型
             n 創建新分區
             d 刪除分區
             w 保存并退出
             q 不保存并退出

    (二)創建GPT類分區 gdisk parted

       1、gdisk與fdisk使用方法相似

       2、parted

        parted的操作都是實時生效的,小心使用
        用法: parted [選項]… [設備 [命令 [參數]…]…]
            parted /dev/sdb mklabel gpt|msdos 對指定磁盤設定類型
            parted /dev/sdb print列出指定磁盤分區信息
            parted /dev/sdb mkpart primary # N (默認單位M):給指定磁盤創建一個N大小的主分區 ,其中#代表分區
            parted /dev/sdb rm #刪除指定磁盤分區,#為分區號

            parted -l列出磁盤分區信息

三、內核識別分區

    創建分區后需要內核識別才能使用,不然下次開機,所有的分區信息都會沒有了。

    內核識別分區對于CentOS系統來講:方法如下

      entos6通知內核重新讀取硬盤分區表
         新增分區用
          partx -a /dev/DEVICE
          kpartx -a /dev/DEVICE -f: force
        刪除分區用
          partx -d –nr M-N /dev/DEVICE

          注意:N-M表示從N號分區到M號分區

      CentOS 5, 7: 

          partprobe [/dev/DEVICE]

                

 

                    第二部分 磁盤管理之格式化

 一、文件系統

     文件系統是操作系統用于明確存儲設備或分區上的文件的方法和數據結構;在存儲設備上組織文件的方法。操作系統中負責管理和存儲文件息的軟件結構稱為文件管理系統,簡稱文件系統。
     從系統角度來看,文件系統是對文件存儲設備的空間進行組織和分配,負責文件存儲并對存入的文件進行保護和檢索的系統。具體地說,它負責為用戶建立文件,存入、讀出、修改、轉儲文件,控制文件的存取,安全控制,日志,壓縮,加密等
   (一)常見的幾種文件系統

      Linux文件系統: ext2(Extended file system), ext3,ext4, xfs SGI , btrf Oracle , reiserfs, jfsAIX , swap
      光盤: iso9660
      Windows fat32(不能是設定權限), ntfs
      Unix: FFS fast , UFS unix , JFS2
      網絡文件系統: NFS(不適合并發訪問), CIFS
      集群文件系統: GFS2, OCFS2 oracle
      分布式文件系統: fastdfs,ceph, moosefs, mogilefs,glusterfs, Lustre
      RAW:未經處理或者未經格式化產生的文件系統

   (二)文件系統分類
      根據其是否支持“journal”功能:
      1)、 日志型文件系統: ext3, ext4, xfs, …
      2)、非日志型文件系統: ext2, vfat

   (三)Linux的虛擬文件系統:VFS
      允許眾多不同的文件系統共存,并支持跨文件系統的文件操作,這是因為有虛擬文件系統的存在。虛擬文件系統,即VFS(Virtual File System)是 Linux 內核中的一個軟件抽象層。它通過一些數據結構及其方法向實際的文件系統如 ext2vfat 提供接口機制。VFS 是一套代碼框架(framework),它處于文件系統的使用者與具體的文件系統之間,將兩者隔離開來。這種引入一個抽象層次的設計思想,即“上層不依賴
于具體實現,而依賴于接口;下層不依賴于具體實現,而依賴于接口”,它在 Linux內核中隨處可見。

   (四)查看當前支持的文件系 

      cat /proc/filesystems

(五) blkid:塊設備屬性信息查看
      blkid [OPTION]… [DEVICE]
        -U UUID: 根據指定的UUID來查找對應的設備
        -L LABEL:根據指定的LABEL來查找對應的設備

二、磁盤格式化命令

(一) mkfs命令:
      (1) # mkfs.FS_TYPE /dev/DEVICE

      FS_TYPE:表示文件系統類型

      -t {ext2|ext3|ext4}指定文件系統的類型
        -b {1024|2048|4096}指定塊大小

      -L ‘LABEL’指定設備卷標

      -i #: 為數據空間中每多少個字節創建一個inode;此大小不應該小于block的大小
        -N #:為數據空間創建個多少個inode
        -I 一個inode記錄占用的磁盤空間大小, 128—4096
        -m #: 默認5%,為管理人員預留空間占總空間的百分

      -O:指定分區特性
   () # mkfs -t FS_TYPE /dev/DEVICE
        -L ‘LABEL’: 設定卷標

      -t:指定文件系統類型
   (三)創建ext文件系統的專用命令
      mke2fs ext系列文件系統專用管理工具
                   

      -t {ext2|ext3|ext4}指定文件系統的類型
        -b {1024|2048|4096}指定塊大小

      -L ‘LABEL’指定設備卷標
        -j: 相當于 -t ext3 增加日志功能,創建ext3:mkfs.ext3 = mkfs -t ext3 = mke2fs -j = mke2fs -t ext3
        -i #: 為數據空間中每多少個字節創建一個inode;此大小不應該小于block的大小
        -N #:為數據空間創建個多少個inode
        -I 一個inode記錄占用的磁盤空間大小, 128—4096
        -m #: 默認5%,為管理人員預留空間占總空間的百分比
        -O FEATURE[,…]:啟用指定特性
        -O ^FEATURE:關閉指定特性

三、文件系統管理命令

(一)e2label:管理ext系列文件系統的LABEL
      e2label DEVICE [LABEL]

(二)  findfs :查找分區
       findfs [options] LABEL=<label>
       findfs [options] UUID=<uuid>

   (三)tune2fs:重新設定ext系列文件系統可調整參數的值
        -l:查看指定文件系統超級塊信息; super block
        -L ‘LABEL’:修改卷標
        -m #:修預留給管理員的空間百分比
        -j: ext2升級為ext3
        -O: 文件系統屬性啟用或禁用, –O ^has_journal
        -o: 調整文件系統的默認掛載選項, –o ^acl
        -U UUID: 修改UUID
   (四)dumpe2fs
        -h:查看超級塊信息,不顯示分組信息

          超級塊的內容包括:文件系統的大小、空閑塊數目、空閑塊索引表、空閑節點數、空閑節點索引表、封鎖標記等,超級塊是系統為文件分配存儲空間和回收存儲空間的依據。

四、文件系統檢測和修復
       常發生于死機或者非正常關機之后,掛載為文件系統標記為no clean
    注意:一定不要在掛載狀態下修復
      fsck: File System Check
        fsck.FS_TYPE
      fsck -t FS_TYPE
        -p: 自動修復錯誤
        -r: 交互式修復錯誤
        FS_TYPE一定要與分區上已經文件類型相同
      e2fsck ext系列文件專用的檢測修復工具
        -y:自動回答為yes
        -f:強制修復

 

                  第三部分 文件系統掛載

一、掛載使用mount
  注意:1、一個設備可以掛載到多個掛載點

   2、一個目錄不可以同時掛載多個設備

   3、掛載點下原有文件在掛載完成后會被臨時隱藏掛載點目錄一般為空

掛載方法: mount DEVICE MOUNT_POINT
        mount:通過查看/etc/mtab文件顯示當前已掛載的所有設備
        mount [-fnrsvw] [-t vfstype] [-o options] device dir
         device:指明要掛載的設備;
            (1) 設備文件:例如/dev/sda5
            (2) 卷標: -L ‘LABEL’, 例如 -L ‘MYDATA’
            (3) UUID, -U ‘UUID’:例如 -U ‘0c50523c-43f1-45e7-85c0-a126711d406e’
            (4) 偽文件系統名稱: proc, sysfs, devtmpfs, configfsdir

       掛載點
            事先存在;建議使用空目錄

       選項:
            -t vsftype:指定要掛載的設備上的文件系統類型
            -r: readonly,只讀掛載
            -w: read and write, 讀寫掛載
            -n: 不更新/etc/mtab mount不可見
            -a:自動掛載所有支持自動掛載的設備(定義在了/etc/fstab文件中,且掛載選項中有auto功能)
            -L ‘LABEL’: 以卷標指定掛載設備
            -U ‘UUID’: UUID指定要掛載的設備
           -B, –bind: 綁定目錄到另一個目錄上
      常用命令選項
            -o options (掛載文件系統的選項),多個選項使用逗號分隔
             async:異步模式
             sync:同步模式,內存更改時,同時寫磁盤
             atime/noatime:包含目錄和文件
             diratime/nodiratime:目錄的訪問時間戳
             auto/noauto:是否支持自動掛載,是否支持-a選項
             exec/noexec:是否支持將文件系統上運行應用程序
             dev/nodev:是否支持在此文件系統上使用設備文件
             suid/nosuid:不否支持suidsgid權限
             remount:重新掛載

           ro:只讀
             rw 讀寫
             user/nouser:是否允許普通用戶掛載此設備,默認管理員才能掛載acl:啟用此文件系統上的acl功能
          Defaults:相當于rw, nosuid, dev, exec, auto, nouser, async
二、卸載命令 umount
   卸載時:可使用設備,也可以使用掛載點       

卸載:
    umount DEVICE
    umount MOUNT_POINT
三、查看掛載情況:
    findmnt MOUNT_POINT
四、查看正在訪問指定文件系統的進程:
    lsof MOUNT_POINT
    fuser -v MOUNT_POINT(查看那個用戶在訪問此設備)
      終止所有在正訪問指定的文件系統的進程:
      fuser -km MOUNT_POINT

五、關于掛載的配置文件/etc/fstab

將掛載信息寫入配置文件,磁盤才能正常使用
   使用mount -a 命令掛載/etc/fstab中的所有文件系統
   /etc/fstab 每行定義一個要掛載的文件系統;

    磁盤管理


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

              設備文件、 LABEL(LABEL=””)、 UUID(UUID=””)、偽文件系統名稱(proc,
sysfs)
        第二段:掛載點
        第三段:文件系統類型
        第四段:掛載選項
        第五段:轉儲頻率

          0:不做備份

          1:每天轉儲
            2:每隔一天轉儲
        第六段:自檢次序
            0:不自檢
            1:首先自檢;一般只有rootfs才用1

 

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

(0)
zqzq
上一篇 2017-04-22
下一篇 2017-04-23

相關推薦

  • 推薦-LVM

    LVM LVM Linux應用 1.LVM簡介 LVM:Logical Volume Manager,邏輯卷管理器。LVM利用Linux內核的device-mapper模塊來實現存儲系統的虛擬化(系統分區獨立于底層硬件)。通過LVM,你可以實現存儲空間的抽象化并在上面建立虛擬分區(virtual partitions),可以更簡便地擴大和縮小分區,可以增刪分…

    2016-04-11
  • 馬哥linux 0726作業

    1,課堂練習 顯示當前日期,格式:2016-08-08 顯示前天是星期幾 設置當前日期為2008-08-08 08:00 使用字符端登陸時,顯示當前登錄終端號,主機名和當前時間 1,首先我們知道當前登錄信息的配置文件在/etc/issue中 2,然后我們查詢幫助看看issue的具體描述查到了相關的mingetty的命令當中關于當中的一些選項就是我們需要的三個…

    Linux干貨 2016-08-04
  • Linux文本處理及用戶組管理命令練習

    一.文本處理基礎命令 (1).? 列出當前系統上所有已經登錄的用戶的用戶名。 ? ? ? ? ? 完成命令:who ?| ?cut ?-d’ ‘? -f1 ?| ?uniq ?-u 示例: (2).取出最后登錄到當前系統對的用戶的相關信息。 ? ? ? ? 完成命令:w ?|? tail -1 示例: (3).取出當前系統上被用戶當作…

    2018-03-11
  • CentOS下命令基礎練習

    馬哥教育網絡班23期+第五周課堂作業 CentOS下命令基礎練習 1、顯示當前系統上root、fdeora或user1用戶的默認shell 2、找出/etc/rc.d/init.d/functions文件中某單詞后面跟一組小括號的行,形如:hello() 3、使用echo命令輸出一個絕對路徑 使用grep取出其基名 擴展:取出其路徑名 (…

    Linux干貨 2016-10-24
  • 文件系統初步了解

    Linux文件系統的基礎特性: 1文件名嚴格區分大小寫 2所有文件都們于根目錄下,FHS 3路徑以/做為分隔符 4每個文件的名稱可使用除/以外任意字符,單個名稱最長不能超出255個字 FHS:Filesystem Hierarchy Standard(文件系統目錄標準)的縮寫 多數Linux版本采用這種文件組織形式,類似于Windows操作系統中c盤的文件目…

    Linux干貨 2015-04-27
  • linux權限管理

          今天來講講linux里面權限的問題,在linux系統中,有這么幾類權限,r,w,x,s,t這么幾類權限,系統中為什么要有權限這個東西呢,linux一切皆文件,有些文件不想讓某些人看到,那么這個時候就需要設置文件的訪問的權限了,文件的擁有者一般都是有權力修改刪除文件的,但擁有者以外的人未必就能刪除修…

    Linux干貨 2016-08-04

評論列表(1條)

  • renjin
    renjin 2017-04-28 09:43

    對linux下的磁盤管理進行了詳細的介紹,內容總結的非常不錯,包括對磁盤管理的介紹,工具的詳細用法等等,但是版本還是要注意一下,那樣就更好了。

欧美性久久久久