Linux中磁盤管理與文件系統創建掛在

磁盤管理

Linux中哲學思想:Linux一切皆文件,所有訪問磁盤設備就如同訪問一個文件一樣,因此要想使用需要一個文件接口

如何向設備中輸入數據?

    首先將設備在系統上映射成一個文件,在此文件上進行讀寫操作就相當于對設備進行讀寫,對程序而言首先是打開一個文件open(),然后執行read()或者write(),最后關閉文件closed()

設備分類

    塊設備:Block ,存取單位為塊

    字符設備:char ,存取單位為字符

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

設備文件和設備的對應關系:一個設備文件只能被一個設備關聯,如果一個設備文件關聯兩個設備文件,第一個設備的內容將會被第二個設備內容覆蓋

設備號碼:每個設備在內核集中都是靠設備號進行標識

設備號分類:主設備號:major number 用于標識不同設備

      次設備號:minor numbei 用于標識統一類型下的不同設備

查看設備號:

    19.png

  其中8為主設備號,0、1、2…為次設備號

設備名稱:不同的硬盤接口會顯示不同的設備名稱

    并行:

        IDE :理論傳輸速度133MB/s

        scsi:傳輸速度640MB/s

    串口:

        sata:6Gbps

        sas:6Gbps

        usb:480MB/s

硬盤轉速:rpm 5400rpm /每分鐘轉動5400轉

    IDE:

        centos5以前在顯示名稱:/dev/hd

        centos6、7以后設備名稱為/dev/sd

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

        不同設備: a- z

        /dev/sda, /dev/sdb, …

    

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

        /dev/sda1, /dev/sda5

    虛擬機磁盤:

        /dev/vd

硬盤結構:

    組成:盤片(雙面讀寫)、軸、馬達、磁頭、機械臂

    20.png

磁盤存儲專業術語

    磁道 track:每個盤片被分成N個同心圓,每個同心圓稱為磁道,使用來真正存儲數據的

    扇區 sector:每個磁道按512個字節為單位等分,被劃分的區域叫做扇區

    柱面 cylinder:每次盤片都是雙面讀寫的的,每個盤片上相同位置都會有一個相同的編號,所謂的相同的編號的磁道稱為柱面

    

磁盤分區

    為什么要進行磁盤分區:

    1、優化I/o性能

    2、實現磁盤的配額限制管理

    3、提高修復速度

    4、隔離系統和程序

    5、安裝多個操作系統

磁盤分區方式:    

    MBR 和GPT

    

    MBR :master boot record ,使用32表示扇區數,最大不能超過2TB

    

    MBR:存儲在0磁道,0扇區中前512字節

        0-446字節:存儲boot loader ,引導加載

        446-510:存儲分區表,每16字節存貯一個分區表,這也是為什么一個磁盤只能分4個主分區或3個主分區和一個擴展分區的原因

        后2個字節:存儲有效信息55aa表示有效

    

    MBR分區圖

        21.png

查看MBR內容:

    22.png

為了防止MBR被破壞,系統無法正常啟動,需要備份MBR ,備份方法如下

    23.png

恢復MBR dd if=/testdir/Mbr of=/dev/sda bs=1 count=512

    注意:擴展分區中的邏輯分區不能備份,因邏輯分區保存在擴展分區中,并非MBR中

    

GPT分區

    

    GPT:GUID patition table 支持128個分區,使用 64位,支持8Z( 512Byte/block ) 64Z ( 4096Byte/block)

    使用 128位UUID 表示磁盤和分區 GPT分區表自動備份在頭和尾兩份,并有CRC校驗位

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

   

    

    uuidgen :create a new UUID value ,每個磁盤在

創建分區命令

    fdisk 

    使用格式

    fdisk [-uc] [-b sectorsize] [-C cyls] [-H heads] [-S sects] device

      常用選項:-l:列出分區表

           -u:指定分區顯示格式,默認是扇區顯示 -u=cylinder 則為以柱面顯示分區信息

           -c:指定顯示是否已dos顯示,默認不以dos顯示,dos格式要求分區中整個兒柱面必須在一個分區中,否則會提示錯誤

    fdisk /dev/sda :對硬盤sda進行分區,fdisk是交互式命令,在進行分區時有好多的子命令

         m:列出幫助

        d:刪除分區

         n:添加分區,

        p:打印分區信息

        w:保存分區信息退出

        q:不保存退出

        t:轉換分區格式

        l:累出分區類型

        

    

 開始分區啦!

     1、fdisk /dev/sdb :注意,當磁盤中已經有擴展分區了,再添加分區不顯示擴展分區選項e,只能添加主分區和l(邏輯分區)

  

    24.png

    

    2,選擇分區類型l邏輯分區,p主分區,擴展分區

    26.png

    3w:保存退出

    

 

顯示系統下的生效的設備(內存中已經識別的設備):

    lsblk

    ll /dev/sd*

    cat /proc/partitions 

    

    有時候增加的分區不能及時加載到內存,需要手動讓內核重新讀取分區表,以下有三種方法

    1、partx -a /dev/sdb

        -d 從內存中將分區信息刪除

        -l:列出分區信息

        partx -a -n|–nr 2:3 只重新加載2和3分區

        partx -d –rn 2:3 從內存中將2 3分區刪除

    2、kpart -a /dev/sdb

     3、partrpobe /dev/sdb 不適用于centos6版本

磁盤管管理工具2

    parted

    顯示磁盤分區信息:parted /dev/sdb print 

    顯示所有磁盤信息:parted -l

    刪除第一個分區:parted /dev/sdb rm 1

    創建分區 :part /dev/sdb mkpart primary  1(分區其實位置) 1024(結束位置) 

    改變磁盤分區格式:parted /dev/sdb mklabel gpt|msdos gpt:GPT分區格式 msdos :MBR分區格式

    
    27.png 

 GPT分區工具gdisk

     

   需要先將分區表定義成GPT分區格式

    parted /dev/sdb mklabel gpt ,其余的和fdisk類似

    

               

文件系統

定義:文件系統是操作系統用于明確存儲設備或分區上的文件的方法和數據結構;即在存儲設備上組織文件的方法。操作系統中負責管理和存儲文件信息的軟件結構

      稱為文件管理系統,簡稱文件系統。

    

    從系統角度來看,文件系統是對文件存儲設備的空間進行組 織和分配,負責文件存儲并對存入的文件進行保護和檢索的
    系統。具體地說,它負責為用戶建立文件,存入、讀出、修 改、轉儲文件,控制文件的存取,安全控制,日志,壓縮,

    加密等。

文件系統分類:

    Linux文件系統: ext2, ext3, ext4, xfs( SGI) , btrfs(
    Oracle) , reiserfs, jfs( AIX) , swap
    swap: 交換分區
    光盤: iso9660
    Windows: fat32(優盤中格式在Linux中顯示為vfat), ntfs
    Unix: FFS( fast) , UFS( unix) , JFS2
    網絡文件系統: NFS, CIFS
    集群文件系統: GFS2, OCFS2( oracle)
    分布式文件系統: ceph, moosefs, mogilefs, glusterfs,Lustre

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

    Linux系統能實現不同文件系統共存,和一切接文件色的思想是利用了虛擬文件系統(VFS)

查看系統中支持的文件系統:cat /proc/fielsystem

創建文件系統命令三種方法:其實是等價的只是寫法不同

    一、 mkfs.file_Type /dev/sdb1

       fiel_Type:種類ext4 ext3 xfs ext2 vfat 等

    二、mkfs -t /dev/sdb

          -t:指定文件類型      

          -L '/mnt/sdb1' 設定卷標,相當于起了個別名

    三、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 #: 默認5%,為管理人員預留空間占總空間的百分比
          – O FEATURE[,…]:啟用指定特性
          – O ^FEATURE:關閉指定特性

        

使用塊設備的三種方法

    1、使用UUID (推薦使用方法,應為uuid固定,并且唯一)2、使用卷標也就是mkfs -L指定的 3、使用設備名稱/dev/sdb2

查看塊設備信息命令:

    blkid [option] [設備名]

        -U 通過UUID找到指定的設備

        -L通過卷標找到指定的設備

    

_ueditor_page_break_tag__ueditor_page_break_tag_

        Linux中磁盤管理與文件系統創建掛在

        Linux中磁盤管理與文件系統創建掛在

 

管理ext類型設備卷標

    e2lable /dev/sdb2 '/mnt/sdb2'

通過lable(卷標)或者、UUID查找設備

    findfs UUID=uuid號

    findfs LABLE='lable名' 

    

重新設定ext系列文件的屬性

    tune2fs 

    

    – l:查看指定文件系統超級塊信息; super block
    – L 'LABEL':修改卷標
    – m #:修預留給管理員的空間百分比,有些空間只能管理員使用,普通用戶不能使用
    – j: 將ext2升級為ext3
    – O: 文件系統屬性啟用或禁用 , –O ^has_journal
    – o: 調整文件系統的默認掛載選項, –o ^acl
    – U UUID: 修改UUID號;

    dumpe2fs:

    – h:查看超級塊信息 =tune2fs -l

     dumpe2fs  /dec/sdb2 查看分區用分組管理,信息更詳細

 塊:文件最小存儲單位,塊大小分類1024 2048 4096 格式化時可以改變

 超級塊:用于存儲文件系統的控制信息的數據結構。描述文件系統的狀態、文件系統類型、大小、區塊數、索引節 點數等,存放于磁盤的特定扇區中

    

文件系統修復

    當用tune2fs查看文件系統超級塊信息時 filesystem state:記錄了文件系統狀態,當狀態為not clean 時說明文件系統異常

    可用fsck對其進行修復或者常發生于死機或者非正常關機之后掛載為文件系統標記為“ dirty”

    fsck: File System Check
    fsck.FS_TYPE
    fsck – t FS_TYPE
    – a: 自動修復錯誤
    – r: 交互式修復錯誤
注意: FS_TYPE一定要與分區上已經文件類型相同;

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

    – y:自動回答為yes

    – f:強制修復

  

掛載

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

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

    注意:掛載的文件一般為空,如果不為空掛載完成后原有的文件會被隱藏  

    mount:通過查看/etc/mtab文件顯示當前已掛載的所有設備

   使用格式: 

        mount device   mount_point

        mount /dev/sdb2 /mnt/sdb2

        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, configfs
    dir:掛載點
        事先存在;建議使用空目錄

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

    選項:   

    -t vsftype:指定要掛載的設備上的文件系統類型
    – r: readonly,只讀掛載
    – w: read and write, 讀寫掛載

    – n: 不更新/etc/mtab,相當于#mount

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

    – L 'LABEL': 以卷標指定掛載設備
    -U 'UUID': 以UUID指定要掛載的設備
    – B, — bind: 綁定目錄到另一個目錄上
查看內核追蹤到的已掛載的所有設備:

    cat /proc/mounts :軟鏈接文件,鏈接到/proc/myself/mounts

    /etc/mtab軟鏈接到/pro/mounts

    

    – o options: (掛載文件系統的選項),多個選項使用逗號分隔
        async:異步模式
        sync:同步模式,內存更改時,同時寫磁盤
        atime/noatime:包含目錄和文件
        diratime/nodiratime:目錄的訪問時間戳
        auto/noauto:是否支持自動掛載,是否支持- a選項
        exec/noexec:是否支持將文件系統上運行應用程序
        dev/nodev:是否支持在此文件系統上使用設備文件
        suid/nosuid:不否支持suid和sgid權限
        remount:重新掛載
        ro:只讀
        rw: 讀寫
        user/nouser:是否允許普通用戶掛載此設備,默認管理員才能掛載
        acl:啟用此文件系統上的acl功能,默認centos中自己添加的設備不自動開啟此功能

        Defaults:相當于rw, suid, dev, exec, auto, nouser, async

卸載

    卸載之前查看掛載情況

        findmnt /dev/sdb |findmnt

    查看正在訪問文件系統的進程,當進程占用時系統是無法卸載文件系統的

        lsof mount_point

        fuser -v mount_point

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

        fuser -km mount_point

    

    卸載

    umount mount_point

    umount device

將設備考到普通文件

    mknod 文件名  b(設備類型) 要拷貝設備主編號 要拷貝設備的次編號 

    34.png

    

    35.png

        

    

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

(0)
wangnannanwangnannan
上一篇 2016-08-26
下一篇 2016-08-26

相關推薦

  • 互聯網的實現

    互聯網的實現 全世界幾十億臺電腦,連接在一起,兩兩通信。上海的某一塊網卡送出信號,洛杉磯的另一塊網卡就收到了,兩者實際上根本就不知道對方的物理位置,這難道不是一件很神奇的事情嗎? 互聯網的**核心**是一些列協議,總稱為“互聯網協議”(Internet Protocol Suite)。它們對電腦如何連接和組網做出了詳細的規定。 互聯網協議入門 概述 五層模型…

    Linux干貨 2017-05-05
  • 三大家族輕松管理CentOS 7網絡屬性配置

    一、簡單介紹        在CentOS 7中對網絡管理還是有不少變化的,例如管理服務的命令變為systemctl,許多命令可以更改后直接生效,還有許多獨有的工具,本文以CentOS 6與CentOS 7對比進行講解,下面現總體介紹一下網絡屬性配置工具。    &nb…

    Linux干貨 2016-04-25
  • 學習伊始宣言

    學習后的狀態 以人事相宜為追求,優化職業資質 以勝任愉快為目標,保持職業體能 以創造績效為主導,開發職業意識 以適應市場為基點,修養職業道德 學習宣言 如果不踏出第一步就永遠也不可能到達目的地,讓我們從此刻出發

    Linux干貨 2016-11-28
  • iptables防火墻

    Linux防火墻基礎 在Internet中,企業通過架設各種應用系統來為用戶提供各種網絡服務,例如Web網站,電子郵件系統,FTP服務器,數據庫系統等等,而防火墻就是用來保護這些服務器,過濾企業不需要的訪問甚至是惡意的入侵。 Linux防火墻體系主要工作在網絡層,針對TCP/IP數據包實施過濾和限制,屬于典型的包過濾防火墻。Linux防火墻體系基于內核編碼實…

    Linux干貨 2017-01-10
  • 計算機起源與Linux簡述

    什么是計算機?  計算機(computer)俗稱電腦,是一種用于高速計算的電子計算機器,可以進行數值計算,又可以進行邏輯計算,還具有存儲記憶功能。是能夠按照程序運行,自動、高速處理海量數據的現代化智能電子設備。 它由硬件系統和軟件系統組成,沒有安裝任何軟件的計算機被稱為裸機。硬件系統由運算器,控制器,存儲器,輸入設備,輸出設備幾部分組成;…

    Linux干貨 2017-03-29
  • Keepalived介紹 , 配置說明 , 及實際應用

    1. Keepalived介紹 Keepalived是一個基于VRRP協議來實現的服務高可用方案,可以利用其來避免IP單點故障,類似的工具還有heartbeat、corosync、pacemaker。但是它一般不會單獨出現,而是與其它負載均衡技術(如lvs、haproxy、nginx)一起工作來達到集群的高可用。 1.1 VRRP協議 VRRP全稱 Virt…

    Linux干貨 2016-11-04

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-08-26 11:28

    看完博客會對1磁盤管理有一個概覽性的認識,但在邏輯表達的組織上顯得略微混亂,如果能再優化下邏輯規劃會更讓人印象深刻

欧美性久久久久