高級文件系統管理的相關理解

1.RAID是什么

    RAID:Redundant Arrays of Inexpensive Disks,是指由多個磁盤合成一個陣列,來提供更好的性能,冗余或者兩者都提供。在生產生活中,通常一個硬盤往往不能滿足我們的存儲需要,這是就需要通過RAID磁盤陣列來對磁盤進行“擴容”,來滿足我們的日常需要,相比較于單一的大容量的硬盤,使用RAID陣列可以更好的節約成本到達同樣的效果,所以,RAID陣列技術被廣泛的應用于我們的生產生活中。

    RAID能提供的優點:

         提高IO能力

         磁盤并行讀寫

         提高耐用性

         磁盤冗余實現

    RAID實現方式:

         外界式磁盤陣列:通過擴展卡提供適配能力

         內接式RAID:主板集成raid控制器

         Software RAID

    級別:多塊磁盤組織在一起的工作方式有所不同

     RAID-0:0,條帶卷,strip

     RAID-1:1,鏡像卷,mirror

     RAID-2:

    

     RAID-5:

     RAID-6:

     RAID01:

     RAID10:

    RAID-0 讀寫性能提升

    可用空間N*min(s1,s2,s3…) 

    無容錯能力 

    最少磁盤數2,2+

blob.png

        RAID-0陣列就是將多個磁盤組成一個大容量的“新硬盤”,數據傳輸過來,以trunk值分別存儲到不同的硬盤中,這樣每個盤都有分攤了這個數據的一部分,從而提高了“大硬盤”的存儲能力,但是,有一個硬盤出現故障時,這個“大硬盤”將無法進行數據讀取,從而導致大硬盤也呈現“故障”狀態,RAID-0只是單純增加硬盤容量。

    RAID-1 讀性能提升,寫性能略有下降

    可用空間1*min(s1,s2…)

    有冗余能力

    最少磁盤數2

blob.png

    RAID-1磁盤陣列:硬盤B作為A的鏡像,當數據傳輸過來,A盤存儲這份數據,B盤也存儲這份數據,當作A盤的備份,當A盤出現故障時,B盤就頂替上去,保證了硬盤甚至于整個程序,服務的正常運行,有了冗余能力,但是,這樣磁盤的利用率就變為磁盤數的1/2。

    RAID-5:讀寫性能提升

     (N-1)*min(s1,s2,s3…)

     有容錯能力 1塊磁盤

     最少磁盤數 3

blob.png

    RAID-5磁盤陣列:與RAID-4類似,用一個盤存放校驗值,不過在4的基礎上有了改進,在實際生產中,做校驗盤的硬盤很容易損壞,經常性的讀寫,RAID-5,它實現了動態的存儲校驗值,第一次數據存儲在A,B盤上,C盤存儲校驗值,下一次數據存儲在A,C盤上,B盤存儲校驗值,第三次B,C盤存儲數據,A盤存儲校驗值,輪替的進行,從而減輕了某個存儲校驗值的硬盤的壓力,有冗余能力,當一個盤故障時,可以通過其他兩個盤進行抑或操作算出故障盤的數據,也能保證程服務正常運行。

    RAID-6:最少磁盤數 4

     讀寫性能提升

     可用空間(N-2)*min(s1,s2…)

     用容錯能力 2塊磁盤

blob.png

    RAID-6磁盤陣列:使用兩塊硬盤作為存放校驗值的盤,當其中一個存放校驗值的盤故障時且一塊數據盤也出現故障時,還可以通過另一個存放校驗值的盤計算出故障數據盤的數據,也可以保證服務的正常運行,但在企業中運用并不多。  

    混合類型

     RAID-10 先做1,后做0

     讀寫性能提升

     可用空間N*min(s1,s2…)/2

     有容錯能力每組鏡像只能最多壞一塊

     最少磁盤數 4

blob.png

        RAID-10:先做1,再做0,先使用兩塊磁盤進行RAID-1,保證數據有冗余性,有備份,當主盤故障時,備份盤可以頂替上,再做RAID-0,這樣就可以使數據存儲在不同的硬盤上,實現了對磁盤的擴容,從而既達到0的效果,又達到1的效果。

        

     RAID-01  先做0,后做1  

blob.png

    RAID-01:先做0,再做1,先將磁盤組成RAID-0陣列,實現數據分開存儲,實現硬盤的擴容,再做1,即對先前做的0陣列進行1操作,為他們做備份,實現硬盤的冗余性,當主硬盤中一塊故障時,備份區的硬盤能夠為服務提供數據,同樣保障了服務程序的正常運行,但主硬盤區和備份區域都出現故障時,這個磁盤陣列則會呈現故障狀態,所以RAID-01比RAID-10性能方面還是有些差別的。 

    RAID7:可以理解為一個獨立存儲的計算機,自身帶有操作系統和管理工具,可以獨立運行,理論上性能最高的RAID模式

    

     JBOD:just a bunch of disks 

     功能:將多塊磁盤的空間合并成一個大的連續空間使用

     可用空間:sum(s1+s2…)

     常用級別

     RAID-0 RAID-1 RAID-5 RAID-10 RAID-50 JBOD

    實現方式

     硬件實現方式

     軟件實現方式

    Centos 6上的軟件RAID實現

    結合內核中的md(multi devices)


Mdadm:模式化工具

     語法格式:mdadm [mode] <raiddevice> [options]<component-device>

blob.png

     支持的RAID級別:LINERA RAID0 RAID1 RAID4 RAID5 RAID6 RAID10

     模式:

     創建模式  -C

     裝配模式  -A

     監控模式  -F

     管理模式  -f:標記指定磁盤為損壞

     -r:移除磁盤

     -a:添加磁盤

     觀察md狀態

     cat /proc/md#

blob.png

blob.png

     <raiddevice>: /dev/md#

     <component-devices>:任意塊設備

     -C 創建模式

     -n #:使用#個塊設備來創建此RAID

     -l #: 指明要創建的RAID級別

     -a{yes|no} 自動創建目標RAID設備的設備文件

     -c chunk_size 指明塊大小

     -x # 指明空閑盤的個數

     -D 顯示RAID詳細信息

     停止md設備

     mdadm –S /dev/md#

blob.png


     watch 命令

     -n # :刷新時間,單位為秒

LVM邏輯卷管理器

     Logical Volume Manager     Version:2

     dm:device mapper  將一個或多個底層塊設備組織成一個邏輯設備的模塊

         /dev/dm-#

         /dev/mapper/VG_name-LV_name

         /dev/VG_name/LV_name

blob.png

  

  在硬盤上進行分區,可以滿足一些情況,但這樣的分區,它的存儲空間容量就固定了,不能進行擴容或者其他變更分區容量的操作,這樣便會給磁盤管理對來一些不便的影響,而LVM邏輯卷管理可以喊好的解決這種問題,所以,在實際生產生活中,這種技術也有相當廣泛的應用。 

    通過多個物理卷來創建一個卷組,,物理卷使用固定大小的物理區域來定義,在卷組之上可以根據需要劃分成多個邏輯卷。 

     Pv管理工具

     Pvs 簡要顯示pv信息

     Pvdisplay 詳細顯示信息

       Pvcreate /dev/device 創建pv

    

     Vg管理工具

     Vgs 

     Vgdisplay

            vgcreate /dev/vg# /dev/device

 

        Lv管理工具

blob.png

        lvs

        lvdisplay

             lvcreate /dev/vg# 


      

磁盤管理:

    卸載命令

    umount  /dev/device

    查看掛載情況

    findmnt mount_point

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

    lsof mount_point

    fuser -v mount_point

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

    fuser -km mount_point

blob.png

       

    文件掛載配置文件

    /etc/fstab

blob.png

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

掛載點

文件系統類型

掛載選項

轉儲頻率 0 表示不轉儲 1 每天都備份 2 表示每隔一天備份

自檢次序 0 表示不自檢 1表示優先自檢


交換分區

    交換分區是系統RAM的補充

    基本設置包括:

        創建交換分區或者文件

        使用mkswap寫入特殊簽名

        在/etc/fstab文件中添加適當的條目

        使用swapon激活交換空間

    swapon [option]…[device]

        -a 激活所有的交換分區

        -p priority 指定優先級

    swapoff 禁用


移動介質的掛載

    訪問前介質必須被掛在

    摘除前介質必須被卸載

    eject 彈出光驅

    mount /dev/cdrom /mnt/

    創建ISO文件

        cp /dev/cdrom /root/centos7.iso

        mkisofd -r -o /root/etc.iso /etc

    刻錄光盤

        wodim -v -eject centos.iso


free 內存空間使用狀態

    -m 以MB為單位

    -g 以GB為單位

blob.png

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

    -H 以1000為單位

    -T 文件系統類型

    -h human readable

    -i 顯示節點數

    -P 以posix兼容格式顯示

 blob.png


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

    -h human readable

    -s summary

blob.png


dd工具

    dd if=/path/to/src of=/path/to/dst bs=# count=#

    bs 復制單元大小

    count 復制多少個bs

    of 寫到文件中  if 從文件讀取

    ibs 一次讀多少個byte  obs 一次寫入多少個byte 

    cbs 一次轉化多少個byte

    skip 從開頭忽略blocks個ibs大小的塊

    seek 從開頭糊了blocks個obs大小的塊

    conv=conversion[,conversion…]用指定的參數轉化文件

        ascii 轉化EBCDIC為ascii

        ebcdic 轉化ascii為ebcbic

        block 轉化為長度為cbs的記錄,不足用空格補充

        unblock 替代cbs長度的每一行尾的空格為新行

        lcase 把大寫字符轉換為小寫字符

        ucase 把小寫字符轉化為大寫字符

        swab 交換輸入的每對字節

        noerror 出錯時不停止

        notrunc 不截斷輸出文件

        sync 把每個輸入塊填充到ibs個字節,不足部分用空字符補齊

    dd if=/dev/sda1 of=/dev/sdc1 bs=1 count=64 skip=446 seek=446 conv=notrunc

blob.png

使用dd命令可以是實現數據的備份

    dd if=/dev/sdx of=/dev/sdy

    備份全盤數據 

    dd if=/dev/sdx | gzip > /path/to/image.gz

    數據恢復

    dd if=/path/to/image.gz of=/dev/sdx

    gzip -dc /path/to/image.gz | dd of=/dev/sdx


習題

1:創建一個可用空間為1G的RAID1設備,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup目錄

對硬盤分區,并調整system id


blob.png

查看分區是否被識別

blob.png

分區格式化

blob.png

創建RAID-1

blob.png

mkfs.ext4 /dev/md/dm0

blob.png

修改/etc/fstab

blob.png

生成配置文件

blob.png

blob.png


2:創建由三塊硬盤組成的可用空間為2G的RAID5設備,要求其chunk大小為256k,文件系統為ext4,開機可自動掛載至/mydata目錄

創建共2G的單個分區

blob.png

blob.png

blob.png


3、創建和擴展邏輯卷

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png

blob.png



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

(0)
Stupid_LStupid_L
上一篇 2016-08-30
下一篇 2016-08-30

相關推薦

  • 計算機及Linux基礎介紹

    Linux及計算機基礎介紹 計算機的組成及其功能 What:計算機的組成是什么? 計算機的主要部件: CPU:可分為運算器、控制器、寄存器、緩存等 存儲器:比如內存。執行程序時,會將程序及相關數據加載進內存,供CPU讀取 輸入設備:比如:鍵盤。用于下達指令及輸入數據。 輸出設備:比如顯示器。用戶顯示和輸出指令執行的結果等 馮諾依曼體系中提出的五大部件為:運算…

    Linux干貨 2016-09-19
  • raid各級別特性

      簡介 RAID是一個我們經常能見到的名詞。但卻因為很少能在實際環境中體驗,所以很難對其原理 能有很清楚的認識和掌握。本文將對RAID技術進行介紹和總結,以期能盡量闡明其概念。 RAID全稱為獨立磁盤冗余陣列(Rdeundant Array of Independent Disks),基本思想就是把 多個相對便宜的硬盤組合起來,成為一個硬盤陣列組…

    Linux干貨 2016-01-19
  • 馬哥教育網絡班19期+第九周課程練習

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin),分別這兩類用戶的個數,通過字符串比較來實現。 #!/bin/bash for user_shell in `awk -F: '{print $7}'&nbsp…

    Linux干貨 2016-07-01
  • Shell腳本編程基礎之一

      Linux為高效管理系統,提供了CLI命令行接口,供用戶在命令提示符下輸入命令,它有很多bash shell基礎特,根據這些特性能夠很靈活的使用命令,也支持使同時輸入多個命令執行,命令之間用冒號分隔;但是要完成復雜多次重復性的操作,非常不便,系統管理工作變得很是繁忙,很難輕松完成工作任務;不過Linux的shell支持腳本編程,通過編寫純文本格…

    Linux干貨 2016-08-15
  • Openssl——為你的信息保駕護航

    OpenSSL基礎 ·傳輸層協議:TCP,UDP,SCTP         port:進程地址,進程向內核注冊使用某端口(獨占) ·同一主機上的進程間通信:IPC,message queue,shm,semerphor ·不同主機上的進程間通信:socket  &nbs…

    Linux干貨 2016-09-22
  • 專屬個人的聊天機器人的實現——圖靈機器人

    先體驗一下:圖靈機器人智能聊天體驗:http://www.tuling123.com/openapi/cloud/proexp.jsp 1、簡介        本篇為大家介紹使用圖靈機器人api實現聊天機器人的方法,該api本身已經擁有了智能聊天的功能,但我們可以自定義知識庫的方式簡單實現專屬個人的聊天機器人。 2、開…

    Linux干貨 2016-03-28

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-01 13:15

    不錯,內容充實,格式優美,能迅速吸引眼球并能勾起讀者繼續的欲望

欧美性久久久久