高級文件系統管理

高級文件系統管理

本章內容

? 設定文件系統配額
? 設定和管理軟RAID設備
? 配置邏輯卷
? 設定LVM快照
? btrfs文件系統

配置配額系統

?綜述
? 在內核中執行
? 以文件系統為單位啟用
? 對不同組或者用戶的策略不同
    根據塊或者節點進行限制
        ? 執行軟限制( soft limit)
        ? 硬限制( hard limit)
?初始化
? 分區掛載選項: usrquota、 grpquota
? 初始化數據庫: quotacheck

為用戶設定配額

?執行
? 開啟或者取消配額: quotaon、 quotaoff
? 直接編輯配額: edquota username
? 在shell中直接編輯:
    setquota usename 4096 5120 40 50 /foo
? 定義原始標準用戶
    edquota -p user1 user2

報告配額狀態

?報告
? 用戶調查: quota
? 配額概述: repquota
? 其它工具: warnquota

RAID

? 提高IO能力:
    磁盤并行讀寫
? 提高耐用性;
    磁盤冗余來實現
? 級別:多塊磁盤組織在一起的工作方式有所不同
? RAID實現的方式:
    外接式磁盤陣列:通過擴展卡提供適配能力
    內接式RAID:主板集成RAID控制器
        安裝OS前在BIOS里配置
    Software RAID:

RAID級別

? RAID-0:
    讀、寫性能提升;
    可用空間: N*min(S1,S2,...)
    無容錯能力
    最少磁盤數: 2, 2
? RAID-1:
    讀性能提升、寫性能略有下降;
    可用空間: 1*min(S1,S2,...)
    有冗余能力
    最少磁盤數: 2, 2N
? RAID-4:
    多塊數據盤異或運算值,存于專用校驗盤10

? RAID-5:
    讀、寫性能提升
    可用空間: (N-1)*min(S1,S2,...)
    有容錯能力:允許最多1塊磁盤損壞
    最少磁盤數: 3, 3+
? RAID-6:
    讀、寫性能提升
    可用空間: (N-2)*min(S1,S2,...)
    有容錯能力:允許最多2塊磁盤損壞
    最少磁盤數: 4, 4+11

RAID混合類型級別

? RAID-10:
    讀、寫性能提升
    可用空間: N*min(S1,S2,...)/2
    有容錯能力:每組鏡像最多只能壞一塊
    最少磁盤數: 4, 4+
? RAID-01、 RAID-50
? RAID7: 可以理解為一個獨立存儲計算機,自身帶有操作系統和管理工具,可以獨立運行,理論上性能最高的RAID模式
? JBOD: Just a Bunch Of Disks
    功能:將多塊磁盤的空間合并一個大的連續空間使用
    可用空間: sum(S1,S2,...)
? 常用級別: RAID-0, RAID-1, RAID-5, RAID-10,
RAID-50, JBOD12

軟RAID

? mdadm:為軟RAID提供管理界面
? 為空余磁盤添加冗余
? 結合內核中的md(multi devices)
? RAID設備可命名為/dev/md0、 /dev/md1、 /dev/md2、/dev/md3等等13

軟件RAID的實現

? mdadm:模式化的工具
? 命令的語法格式: mdadm [mode] <raiddevice> [options]<component-devices>
? 支持的RAID級別: LINEAR, RAID0, RAID1, RAID4,RAID5, RAID6, RAID10
? 模式:
    創建: -C
    裝配: -A
    監控: -F
    管理: -f, -r, -a
? <raiddevice>: /dev/md#
? <component-devices>: 任意塊設備14

? -C: 創建模式
    -n #: 使用#個塊設備來創建此RAID;
    -l #:指明要創建的RAID的級別;
    -a {yes|no}:自動創建目標RAID設備的設備文件;
    -c CHUNK_SIZE: 指明塊大小;
    -x #: 指明空閑盤的個數;
? 例如:創建一個10G可用空間的RAID515

? -D:顯示raid的詳細信息;
    mdadm -D /dev/md#
? 管理模式:
    -f: 標記指定磁盤為損壞
    -a: 添加磁盤
    -r: 移除磁盤
? 觀察md的狀態:
    cat /proc/mdstat
? 停止md設備:
    mdadm -S /dev/md#16

軟RAID配置實例

? 使用mdadm創建并定義RAID設備
#mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1
/dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
? 用文件系統對每個RAID設備進行格式化
#mke2fs -j /dev/md0
? 測試RAID設備
? mdadm允許檢查RAID設備的狀況
#mdadm --detail|D /dev/md0
? 增加新的成員
#mdadm –G /dev/md0 –n4 -a /dev/sdf117

軟RAID測試和修復

? 模擬磁盤故障
#mdadm /dev/md0 -f /dev/sda1
? 移除磁盤
#mdadm /dev/md0 –r /dev/sda1
? 從軟件RAID磁盤修復磁盤故障
? 替換出故障的磁盤然后開機
? 在備用驅動器上重建分區
? #mdadm /dev/md0 -a /dev/sda1
? mdadm、 /proc/mdstat及系統日志信息18

軟RAID管理

? 生成配置文件: mdadm –D –s >> /etc/mdadm.conf
? 停服務: mdadm –S /dev/md0
? 激活: mdadm –A –s /dev/md0 激活
? 刪除raid信息: mdadm –zero-superblock /dev/sdb1

邏輯卷管理器

?允許對卷進行方便操作的抽象層,包括重新設定文件系統的大小
?允許在多個物理設備間重新組織文件系統
? 將設備指定為物理卷
? 用一個或者多個物理卷來創建一個卷組
? 物理卷是用固定大小的物理區域( Physical Extent,PE)來定義的
? 在物理卷上創建的邏輯卷是由物理區域( PE)組成
? 可以在邏輯卷上創建文件系統

LVM介紹

? LVM: Logical Volume Manager, Version: 2
? dm: device mapper: 將一個或多個底層塊設備組織成一個邏輯設備的模塊
? 設備名: /dev/dm-#
? 軟鏈接:
    /dev/mapper/VG_NAME-LV_NAME
        /dev/mapper/vol0-root
    /dev/VG_NAME/LV_NAME
        /dev/vol0/root

LVM更改文件系統的容量

?LVM可以彈性的更改LVM的容量
通過交換PE來進行資料的轉換,將原來LV內的PE轉移到其他的設備中以降低LV的容量,或將其他設備中的PE加到LV中以加大容量

刪除邏輯卷

? 刪除邏輯卷必須先刪除LV,再刪除VG,最后刪除PV
? 點擊邏輯卷管理器的“卷組” ->“邏輯視圖”的LV邏輯卷
? 點擊“移除選擇的邏輯卷”,再刪除VG,最后刪除PV。

pv管理工具

? 顯示pv信息
pvs:簡要pv信息顯示
pvdisplay
? 創建pv
pvcreate /dev/DEVICE

vg管理工具

? 顯示卷組
vgs
vgdisplay
? 創建卷組    
vgcreate [-s #[kKmMgGtTpPeE]] VolumeGroupName                PhysicalDevicePath [PhysicalDevicePath...]
? 管理卷組
vgextend VolumeGroupName PhysicalDevicePath   [PhysicalDevicePath...]
vgreduce VolumeGroupName PhysicalDevicePath        [PhysicalDevicePath...]
? 刪除卷組
先做pvmove,再做vgremove

lv管理工具

? 顯示邏輯卷
lvs
Lvdisplay
? 創建邏輯卷
lvcreate -L #[mMgGtT] -n NAME VolumeGroup
? 刪除邏輯卷
lvremove /dev/VG_NAME/LV_NAME
? 重設文件系統大小
fsadm [options] resize device [new_size[BKMGTEP]]
resize2fs [-f] [-F] [-M] [-P] [-p] device [new_size]

擴展和縮減邏輯卷

? 擴展邏輯卷:
    # lvextend -L [+]#[mMgGtT] /dev/VG_NAME/LV_NAME
    # resize2fs /dev/VG_NAME/LV_NAME
? 縮減邏輯卷:
    # umount /dev/VG_NAME/LV_NAME
    # e2fsck -f /dev/VG_NAME/LV_NAME
    # resize2fs /dev/VG_NAME/LV_NAME
    #[mMgGtT]
    # lvreduce -L [-]#[mMgGtT] /dev/VG_NAME/LV_NAME
# mount

邏輯卷管理器快照

? 快照是特殊的邏輯卷,它是在生成快照時存在的邏輯卷的準確拷貝
? 對于需要備份或者復制的現有數據集臨時拷貝以及其它操作來說,快照是最合適的選擇。
? 快照只有在它們和原來的邏輯卷不同時才會消耗空間。
? 在生成快照時會分配給它一定的空間,但只有在原來的邏輯卷或者快照有所改變才會使用這些空間
? 當原來的邏輯卷中有所改變時,會將舊的數據復制到快照中。
? 快照中只含有原來的邏輯卷中更改的數據或者自生成快照后的快照中更改的數據
? 建立快照的卷大小只需要原始邏輯卷的15%~20%就夠了。也可以使用lvextend放大快照。

? 快照就是將當時的系統信息記錄下來,就好像照相一般,若將來有任何數據改動了,則原始數據會被移動到快照區,沒有改動的區域則由快照區和文件系統共享。
由于快照區與原本的LV共用很多PE的區塊,因此快照去與被快照的LV必須要要在同一個VG上!系統恢復的時候的文件數量不能高于快照區的實際容量。

使用LVM快照

? 為現有邏輯卷創建快照
#lvcreate -l 64 -s -n snap-data -p r /dev/vg0/data
? 掛載快照
#mkdir -p /mnt/snap
#mount -o ro /dev/vg0/snap-data /mnt/snap
? 刪除快照
#umount /mnt/databackup
#lvremove /dev/vg0/databackup

練習1、創建一個至少有兩個PV組成的大小為20G的名為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創建快照,并嘗試基于快照備份數據,驗正快照的功能

高級文件系統管理

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

(0)
1515218807015152188070
上一篇 2016-09-01 08:49
下一篇 2016-09-01 08:49

相關推薦

  • bash腳本編程實例

    bash腳本編程實例 1.寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間的所有主機的在線狀態 在線的主機使用綠色顯示 不在線的主機使用紅色顯示 #!/bin/bash for i in {1..254};do if /bin/ping -W 1 -c 1 172.16.250.${i} >> /dev/…

    Linux干貨 2017-08-20
  • 馬哥教育網絡班22期+第3周課程練習

    1、列出系統上所有已登陸的用戶的用戶名,注意:同一個用戶登錄多次,只顯示一次即可。     who | cut -d' ' -f1 | uniq 2、取出最后登錄到當前系統的用戶的相關信息;    &…

    Linux干貨 2016-09-26
  • 第二周博客作業

      '經過了兩周的學習,對Linux有了更深的認識,學習到了很多的新知識,在此進行總結。一、Linux上的文件管理類命令都有哪些,其常用的使用方法及相關示例演示。答:Linux常用的文件管理類命令主要有以下幾個:  cp,mv,rm,mkdir,rmdir,install,touch;  cp命令:  作用是拷貝文件或文件夾,其用法為:  cp […

    Linux干貨 2016-12-12
  • DNS基礎知識

    一、DNS介紹:   1、DNS: Domain  Name Service,域名解析服務;      部署方式為分布式部署,如圖所示:        2、查詢類型:     遞歸查詢:僅發出一次請求,要求對方回復最終結果&nbs…

    Linux干貨 2015-05-18
  • 利用 yum 查找某個命令屬于哪個包

    當我們在安裝一個不熟悉的命令是,會遇到個問題:Error: Nothing to do 而你又不知道該命令的是屬于哪個rom包,莫慌~我們可以借助一個叫yum的基于rpm的軟件包管理器。 以 dig 這個命令為例,當我安裝它時會出現如下情況  [root@localhost ~]# yum install dig  Loaded plug…

    Linux干貨 2016-03-27
  • Linux 基礎知識(六.一)

    一、模式及模式間的切換 (一)模式介紹 1、vim文本編輯器提供了三種基本模式,分別是編輯模式(命令模式)、輸入模式以及末行模式(命令行模式) (二)模式間的切換 二、基礎操作 (一)單文件的打開與關閉 1、單文件的打開:vim [options]… /path/to/somefile 2、單文件打開時的常用選項: (1)+#:表示當文件打開時,…

    Linux干貨 2016-11-14
欧美性久久久久