磁盤配額、軟RAID使用、LVM管理

一.磁盤配額的相關知識

(1)工作原理及方式

        *以文件系統為單位啟動

        *以特定的用戶或組為對象

        *根據塊或節點進行限制

        *在內核中運行

        *VFAT系統不支持quota

(2)初始化

        *分區掛載選項:usrquota grpquota

        *初始化數據庫:quotacheck  掃描文件系統并新建quota配置文件

            quota [option] [/mount_point]

                -a 掃描所有在/etc/mtab內,含有quota支持的文件系統,加上此參數后,掛載點可以不寫,因為掃描所有系統了

                -v 顯示過程

                -u 針對用戶掃描文件與目錄的使用情況,會新建aquota.user

                -g 針對用戶組掃描文件與目錄的使用情況,會新建aquota.group

(3)執行

                *開啟或者取消配額:quotaon、quotaoff   參數和quotacheck的a v u g 參數作用一致

                *直接編輯配額:edquota username

                    edquota使用詳解:edquota -t

                    dequota -p 范本賬號 -u 新賬號

                                -u user

                                -g group

                                -t 修改寬限時間

                                -p 復制范本

                *在shell中直接編輯:

                        setquota username softblock hardblock softinode hardinode 設置配額的文件系統

                *定義原始標準用戶

                        edquota -p user1 user2

(4)報告

    *用戶調查 quota

            -u 顯示出該用戶的quota,不加用戶,顯示執行者quota

            -g 顯示該用戶組的quota

            -v 顯示每個用戶在文件系統中的quota值

            -s 使用1024位倍數來制定單位,會顯示如M之類的單位

    *配額概述:repquota

        -a 直接到/etc/mstab查詢具有quota標志的文件系統,并報告quota的結果

        -v 輸出的數據含有文件系統相關的詳細信息

        -u 顯示用戶的quota值,默認選項

        -g 顯示個別組的quota值

        -s 使用G M為單位顯示結果

    *其他工具:warnquota   當針對某用戶的磁盤限額達到soft值時,執行此命令會發郵件給該用戶

實例:針對/home目錄設置quota,并給tian,tianzhi用戶設置quota

  1. 由于quota是針對文件系統的,查看/home是不是獨立文件系統

    1.png

  2. 位避免不必要的權限問題,建議關掉selinux

    2.png

  3. 給/home目錄加上usrquota掛載選項

    3.png

  4. 用quotacheck -a 檢查文件系統并創建配置文件

    4.png

  5. 開啟quota并查看其狀態

    5.png

  6. 針對tian用戶設置quota

    6.png

  7. 給tianzhi用戶設置磁盤配額

    7.png

  8. 切換到tian用戶下,創建一個300M大小文件;顯示超過警報線

    8.png

  9. 創建一個520M文件;結果顯示創建失敗

    9.png

二.RAID(Redudant Arrays of Inexpensive Disks)  結合內核中的md(multi devices)

(1)多個磁盤合成一個陣列來提供更好的性能、冗余

        提高I/O能力:磁盤并行讀寫

        提高耐用性:磁盤冗余來實現

        級別:多塊磁盤組合在一起的方式不同

(2)raid實現方式

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

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

        安裝OS前在BIOS里設置

    Software Raid:

(3)RAID級別

        RAID-0:

        讀、寫性能提升;

        可用空間:N*min(S1,S2,…)

        無容錯能力

        最少磁盤數:2, 2

        RAID-1:

        讀性能提升、寫性能略有下降;

        可用空間:1*min(S1,S2,…)

        有冗余能力

        最少磁盤數:2, 2N

        RAID-4:

        多塊數據盤異或運算值,存于專用校驗盤

        RAID-5:

        讀、寫性能提升

        可用空間:(N-1)*min(S1,S2,…)

        有容錯能力:允許最多1塊磁盤損壞

        最少磁盤數:3, 3+

        RAID-6:

        讀、寫性能提升

        可用空間:(N-2)*min(S1,S2,…)

        有容錯能力:允許最多2塊磁盤損壞

        最少磁盤數:4, 4+

        RAID-10:  比RAID-01性能好

        讀、寫性能提升

        可用空間:N*min(S1,S2,…)/2

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

        最少磁盤數:4, 4+

        RAID-01、RAID-50

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

        ?JBOD:Just a Bunch Of Disks

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

        可用空間:sum(S1,S2,…)

(4)mdadm:為軟RAID提供管理界面(感覺不好用)

    mdadm [mode] <raiddevice> [options] <component-devices>

    創建磁盤陣列

        mdadm –create –auto=yes /dev/md[0-9] –raid-device=n –level=[0 1 5] –spare-device=m /dev/sdx….

    查看磁盤陣列信息

        mdadm –detail 磁盤陣列名

        cat /proc/mdstat

    管理磁盤陣列

        mdadm –manage /dev/md[0-9] [–add 設備] [–remove 設備] [–fail 設備]

    軟磁盤陣列配置文件

        /etc/mdadm.conf

        生成配置文件  mdadm -D  -s >> /etc/mdadm.conf

    關閉磁盤陣列

        mdadm –stop /dev/md*

實例:用5塊磁盤創建一個raid5,并模擬實現raid5容錯功能

  1. 新建分區,分區標識符為fd,其他幾個分區類似

    1.1.png

  2. 創建raid

    1.2.png

  3. 查看/dev/md0信息

    1.3.png

  4. 把/dev/md0格式化后掛載到/mnt/raid下邊

    1.4.png

    1.5.png

  5. 在/mnt/raid新建文件f1,使得/dev/sdd1處于出錯狀態

    1.6.png

  6. 查看md0信息

    1.7.png

    發現原來的空閑分區/dev/sde2處于工作狀態,而/dev/sdd1處于出錯狀態

  7. 最后發現在centos6.8環境下,不管模擬幾塊硬盤出錯誤,文件都能看,而且不是以內文件小于chunk的原因,

    由于此處僅是幫助理解raid原理,故不作深究

三.邏輯卷相關知識詳解

(1)邏輯卷可以彈性調整文件系統的容量,raid在于性能與數據的保全

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

        *設備名:/dev/dm-#

        *軟鏈接:

         /dev/mapper/VG_NAME-LV_NAME

            /dev/mapper/vol0-root

        /dev/VG_NAME/LV_NAME

            /dev/vol0/root

        *PE默認大小為4M

        *邏輯卷存儲方式: 線性方式,類似于raid 0

                                    交錯方式(triped):類似于raid 1

(2)pv管理工具

        pvcreate:將物理分區新建為pv

        pvscan:查詢系統內哪些磁盤具有pv

        pvdisplay:顯示目前系統上pv狀態

        pvs:簡要pv信息

        pvremove:讓該分區不具有pv屬性

        pvmove :移動PE

(3)vg管理工具

        vgcreate  [-s n[mgt]] 指定PE大小   單位大小寫均可

        vgscan

        vgs

        vgdisplay

        vgremove:刪除一個VG

        vgextend:在VG內增加額外的PV

        vgreduce:在VG內刪除pv

        vgchange:設置VG是否啟動

(4)lv管理工具

        lvcreate

        lvscan

        lvs

        lvdisplay

        lvextend    可以確實改變文件系統大小

        lvreduce

        lvremove

        lvresize:對LV容量大小進行調整

        lvcreate [-L n[mgt]] [-n LV名稱] VG名稱

        lvcreate [-l n] [-n LV名稱] VG名稱

        參數:

            -L 后邊接容量,最小單位是PE

            -l 后邊接的是PE的個數

            -n 接的是LV的名稱

重設文件系統大小

    fsadm[options] resize device [new_size[BKMGTEP]]

    resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]

(5)xfs_growfs device     xfs文件系統確實增長   不可減少

(6)lvm的系統快照

        *快照是特殊的邏輯卷,它是在快照生成時邏輯卷的準確拷貝

        *快照只有在他們和原來的邏輯卷不同時才會消耗空間

        *快照中只含有原邏輯卷中更改的數據以及手動在快照文件中改變的數據

        *快照去與被快照的lv卷在同一個vg中

    快照區的新建:

        lvcreate -l #1 -s -n 快照去設備名稱 被快照lv卷

    利用快照區復原系統:

           1 把快照區當下文件全部備份

           2取消快照區的掛載,如果先取消被快照區,會把快照去溢滿

           3 取消被快照區的掛載,重新格式化、掛載被快照區,然后把備份文件解壓縮到被掛載區

           4 利用快照去構建測試環境:

    創建快照區

          1  取消被快照區的掛載(可有可無,隱藏起來較好)

          2  隨意操作快照區

          3 重新格式化快照區,并在次創建快照區

作業:

1、創建一個至少有兩個PV組成的大小為15G的名為testvg的VG;要求PE大小為16MB, 而后在卷組中創建大小為5G的邏輯卷testlv;掛載至/users目錄
2、新建用戶archlinux,要求其家目錄為/users/archlinux,而后su切換至archlinux用戶,復制/etc/pam.d目錄至自己的家目錄
3、擴展testlv至7G,要求archlinux用戶的文件不能丟失
4、收縮testlv至3G,要求archlinux用戶的文件不能丟失
5、對testlv創建快照,并嘗試基于快照備份數據,驗正快照的功能

  1. 創建兩個分區id為8e的分區,如下所示

    1.png

  2. 創建pv,并顯示信息

    2.png

    3.png

  3. 創建PE大小為16MB的卷組testvg,大小為15G

    4.png

  4. 創建大小為5G的邏輯卷testlv

5.png

5.格式化邏輯卷后,把掛載邏輯卷到/users下

6.png

實際上lvm使用的設備是放在/dev/mapper/目錄下,所以會看到上訴第二個紅線所畫部分

6.新建用戶archlinux,要求其家目錄為/users/archlinux,而后su切換至archlinux用戶,復制/etc/pam.d目錄至自己的家目錄

7.png

8.png

顯示當前文件所占大小

1.png

7.擴展testlv到7G大小,查看數據大小

2.png

發現數據大小不變,數據應該沒有丟失

查看邏輯卷所在文件系統大小,發現大小依舊為5G

3.png

8.用resize2fs改變文件系統大小

5.png

查看數據大小,發現大小沒變

4.png

8.收縮/testlv至3G,要求不損壞數據

(1)先用resize2fs直接縮小文件系統大小,發現不支持在線修改

6.png

(2)取消/dev/testvg/testlv掛載,然后檢查文件系統

7.png

(3)縮減所建文件系統的大小到3G

1.png

8.png

(4)為不損壞數據,縮小后的lvm大小必須大于數據大小

9.png

發現縮減后的lvm大小遠大于文件數據大小

9.對/dev/testvg/testlv創建快照

(1)為/dev/testvg/testlv創建快照

2.png

(2)掛載到/snapshot下,結果如下

4.png

(3)查看快照區與被快照區的內容

5.png

(4)在/users下添加issue文件,查看快照去區使用情況

6.png

(5)把快照區內容打包備份,然后取消快照區的掛載;要不一會兒格式化被快照區,快照區會溢滿

7.png

(6)卸載快照區,重新格式化快照區,然后掛載到/users下,再把打包文件解壓縮到/users下

11.png

12.png

13.png

發現/users下并沒有新添加的issue文件,快照功能實現

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

(0)
mengzhiqianmengzhiqian
上一篇 2016-09-06 08:51
下一篇 2016-09-06 08:51

相關推薦

  • 馬哥教育網絡班21期+第八周課程練習

    1、請描述網橋、集線器、二層交換機、三層交換機、路由器的功能、使用場景與區別。 網橋:也叫做橋接器,工作在OSI七層中第二層數據鏈路層,主要是用來連接兩個局域網的一種存儲或者轉發設備,它能將一個大的LAN分隔      為多個網段,也可以將多個LAN互聯為一個邏輯LAN,網橋是在數據層上實現的局域網互聯;即使…

    Linux干貨 2016-09-08
  • Linux命令小總結

                     隨著對Linux學習的深入,Linux命令也越來越多的。雖然我們可以通過man等幫助查詢我 忘記的命令,但寫腳本本質是由命令有序的堆砌而運行的。下面讓我來總結一番我們學習過的命令 &nb…

    2017-07-30
  • 編譯安裝——吐血經驗,內附腳本

    程序包編譯安裝: 源碼包:name-VERSION-release.src.rpm         rpm由源碼包安裝后,使用rpmbuild命令制作成二進制格式的rpm包,而后再安裝        &nbsp…

    Linux干貨 2016-08-24
  • 8月20日軟件包管理

    軟件包管理 本章內容 軟件運行環境 軟件包基礎 Rpm包管理 yum管理 定制yum倉庫 編譯安裝 軟件運行環境 API:Application Programming Interface     POSIX:Portable OS 程序源代碼–>預處理–>編譯–>…

    Linux干貨 2016-08-21
  • web服務介紹二)

    apache指令說明:http://httpd.apache.org/docs/2.2/mod/directives.html Listen 172.18.100.67:8081  監聽某個指定地址和端口啟動前檢查一下語法:    httpd -t 如果要監聽多個端口,要多行寫    Listen 80&nb…

    Linux干貨 2017-04-20
  • vim文本編輯器詳解

    啟動vim                             &…

    Linux干貨 2016-08-15

評論列表(1條)

  • 馬哥教育
    馬哥教育 2016-09-20 10:58

    寫的很好·哦,堅持寫下去,不要半途而廢哦,

欧美性久久久久