磁盤配額、Raid及邏輯卷LVS

磁盤配額、Raid及邏輯卷LVS

磁盤配額

Linux是多用戶的操作系統,同一時間可能有多個用戶登錄到系統上進行操作,某些用戶可能會寫入很多數據,占用大量磁盤空間,導致其他用戶沒有磁盤空間可用。如何限定某個用戶對磁盤的使用空間大小,以及可使用的inode多少,也就是限定可創建多少個文件,這就是磁盤配額管理的作用。

磁盤配額特點

在內核中執行;

以文件系統為單位啟用;

對不同組或者用戶的策略不同;

可根據塊或者節點進行限制;

可執行軟限制(soft limit)或硬限制(hard limit)

磁盤配額管理的設定

1、/etc/fstab中啟用文件系統掛載選項usrquota、grpquota,根據需要,只針對用戶啟用或只針對組啟用,也可以兩個都啟用;一般對/home目錄做配額,下面以/home為例。

磁盤配額、Raid及邏輯卷LVS 

注:目錄內的內容需先備份出來;剛設置時需要重新掛載文件系統才能使用。

2、初始化數據庫

quotacheck -cug  /home

磁盤配額、Raid及邏輯卷LVS 

使用quotacheck命令后會在目錄內生產兩個數據文件。分別為用戶或組配額的數據庫文件。

注:在直接使用quotacheck命令時,系統可能會提示權限不足,這是selinux的緣故。setenforce 0可臨時更改selinux安全模式。如下圖:

磁盤配額、Raid及邏輯卷LVS 

3、開啟或關閉配額功能

quotaon /home

查看配額開啟狀態

quotaon -p /home

關閉配額功能

quotaoff  /home

磁盤配額、Raid及邏輯卷LVS 

4編輯用戶具體配額信息

edquota user_name

磁盤配額、Raid及邏輯卷LVS 

可根據大小或inodes節點數進行設定,大小默認單位為Bytes;

edquota -p username1 username2 命令可設定用戶1的配額方案與用戶2的一樣。

 

此外還可以用非交互式的命令來設定;

setquota USERNAME 軟容量  硬容量  軟數量  硬數量  /DIR

4、查看用戶配額情況;

quota username  查看某用戶的配額情況;

repquota /dir 查看某目錄所有進行了配額限制的用戶的情況;

注意:只有目錄中已存在某用戶的文件此時此用戶的配額限制才會有效。

 

RAID管理

RAID(Redundant Array of Independent Disks獨立磁盤冗余陣列)是一個使用多個硬盤,在幾塊硬盤上分散存儲或者重復存儲數據的系統。RAID不僅有助于避免數據丟失,還能把因為硬件故障造成的停機時間減少到最?。ㄍǔD芙档偷?),同時還有可能提高性能。RAID可以使用硬件來實現,也可以由軟件來實現。

RAID特點:

提高IO能力:磁盤并行讀寫;

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

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

RAID實現的方式:

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

內接式RAID:主板集成RAID控制器,安裝OS前在BIOS里配置;

Software RAID:利用軟件實現RAID功能;

RAID工作原理

RAID能做兩件基本的事情。

首先,raid通過把數據分散到多塊硬盤上,因而能讓多個硬盤同時工作或讀取一條數據流,所以提供性能。

其次,RAID在多個硬盤上復制或者鏡像數據,降低了由于一塊硬盤發生故障帶來的風險。

 

RAID級別

RAID0:只提高性能。這個模式使用兩個或者多個容量相同的硬盤來縮短寫數據和訪問時間;

磁盤配額、Raid及邏輯卷LVS 

RAID1:只提供冗余性。它同時在兩個或者多個硬盤上復制數據。這個模式鏡像數據但卻可能會降低性能,因為必須不止一次寫數據。

磁盤配額、Raid及邏輯卷LVS 

RAID4:這個模式把數據分片存儲,但是需要用一個硬盤保存校驗信息,因此會花些時間等待寫校驗盤。除非有非常正當的理由使用RAID4,否則一般選則RAID5。

RAID5:通過把數據和校驗信息都分片存儲,這個模式既創建了一個冗余結構,同時又降低了讀寫時間。RAID5至少需要3塊硬盤,允許一塊硬盤損壞。

磁盤配額、Raid及邏輯卷LVS 

RAID6:采用兩塊硬盤分片存儲校驗信息,因此更加提高了冗余性。至少需要4快硬盤,允許2快硬盤損壞。

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

混合類型級別

RAID50:先做RAID5,再做RAID0,性能冗余皆有提升,空間利用率(n-2)/2,至少6快硬盤;

磁盤配額、Raid及邏輯卷LVS 

 

RAID01:先做RAID0,再做RAID1,性能提升冗余都有,至少4塊硬盤,空間利用率1/2;

磁盤配額、Raid及邏輯卷LVS 

 

RAID10:先做RAID1,再做RAID0,性能提升冗余都有,至少4塊硬盤,空間利用率1/2

磁盤配額、Raid及邏輯卷LVS 

 

JBOD(Just a Bunch Of Disks)將多塊磁盤的空間合并一個大的連續空間使用.不提升讀寫速率,也不提供冗余。

常用級別:RAID-0, RAID-1, RAID-5, RAID-10, RAID-50, JBOD

 

配置RAID

Linux使用mdadm來管理軟RAID,可以將任何塊設備做成RAID,支持將磁盤的某個分區、也支持整個磁盤創建為RAID設備利用分區創建的時候,需要將分區類型修改為fd,利用整個磁盤創建時,則直接指定磁盤即可。

Linux軟raid支持的RAID級別:LINEAR, RAID0, RAID1, RAID4,RAID5, RAID6, RAID10

madadm命令用法:

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

    常用mode:       

    -A, –assemble:裝配已存在的磁盤陣列;

    -C, –create:創建新的磁盤陣列;

    -I, –incremental:增加單個設備到磁盤陣列;

    -G, –grow:改變盤陣的大?。?/span>

    常用options(in create,build,or grow mode):

    -n, –raid-devices=#:指定RAID中活動的設備數量;

    -x, –spare-devices=#:指明空閑盤的個數;

    -c, –chunk=:指明塊大小,2^n,單位K,默認為512K

    -l, –level=:指明要創建的RAID的級別;

    -a, –auto{=yes|no}:指明如何創建設備文件,yes表示按標準方式。

 

范例:創建RAID  使用mdadm創建一個10G的RAID5,分別使用四塊同樣大小的硬盤。

1、創建

mdadm -C /dev/md0 -a yes -l5 -n3 -x1 /dev/sd{b,c,d,e}

磁盤配額、Raid及邏輯卷LVS 

在創建raid的時候,/proc/mdstat文件顯示出進度信息;這個文件總是反映raid當前的狀態,在添加硬盤或者替換故障硬盤的時候,觀察這個文件非常有用(watch cat /proc/mdstat)

磁盤配額、Raid及邏輯卷LVS 

 使用mdadm -D /dev/md0 可以查看詳細信息

磁盤配額、Raid及邏輯卷LVS 

使用mdadm -Ds /dev/md0 >> /etc/mdadm.conf 可以生成raid的配置文件/etc/mdadm.conf,mdadm命令在啟動或停止的時候會讀到這個文件,此時可以用配置文件重新啟用raid;

 

2、格式化 創建好raid后接著進行格式化

mkfs.ext4 /dev/md0

 

3、掛載 格式化后進行掛載就可以使用了,同理要每次系統啟動時自動掛載,須在/etc/fstab中配置好(建議用UUID配置,設備名重啟后可能會變動);

磁盤配額、Raid及邏輯卷LVS 

 

管理測試RAID

模擬磁盤故障

mdadm  /dev/md0 -f  /dev/sda1

移除磁盤

mdadm  /dev/md0 –r  /dev/sda1

移除認為損壞的設備,添加新的設備

mdadm  /dev/md0 -a  /dev/sda1

 

其他管理命令

增加raid設備的磁盤數量(增長模式)

mdadm -G /dev/md# -n # -a /DEVICE

-n指定要增長到幾塊磁盤,-a指定增加進去的磁盤

停用RAID設備(先取消掛載)

mdadm -S /dev/md#

重新啟用之前停用的RAID設備(前提是導出過配置文件)

mdadm -As /dev/md#

完全刪除停止RAID設備

1、停用RAID設備:mdadm -S /dev/md#

2、刪除保存過的RAID配置文件:rm -f /etc/mdadm.conf

3、刪除創建過RAID分區:fdisk 命令

4、如果發現無法完全刪除分區信息,利用mdadm –zero-superblock  /DEVICE 將每個分區信息刪除

LVM

LVM(Logical Volume Manager,邏輯卷管理器)是一種可選的子系統,他提供了硬盤分區的一種超強版本.

它可以將多個單獨的物理硬盤指定成物理卷PV(Physical volume,由PE組成),再在物理卷上組成"卷組”(volume group).卷組的總容量接著可以分配給邏輯卷(logical volume),后者按照普通的塊設備來訪問.

磁盤配額、Raid及邏輯卷LVS 

邏輯卷的管理機制能讓實現:

更高效的使用和分配存儲空間;

在不同的物理設備之間移動邏輯卷;

隨時擴大和縮小邏輯卷的大??;

保存整個文件系統的“快照”

不必中斷設備就能替換聯機設備。

PV管理工具

創建pv(利用分區創建pv時,需要將分區類型改為8e)

      pvcreate /dev/DEVICE

顯示pv信息

pvs [PhysicalVolume 簡要顯示pv信息;

pvdisplay [PhysicalVolume…] 顯示pv詳細信息;

將指定的設備從pv中移除

pvremove /dev/DEVICE  

移動pv

pvmove  /dev/DEVICE  

當縮減VG大小時,需要先將被縮減的設備上的文件移動到同一個VG上面的其他設備上,此時需要用pvmove來實現數據的轉移

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]

 

范例1:創建邏輯卷/dev/vg0/lv0,使用硬盤/dev/sdb(20G)和分區/dev/sdd1(10G)

1、創建pv

pvcreate /dev/sdb /dev/sdd1

磁盤配額、Raid及邏輯卷LVS 

2創建卷組vg

vgcreate vg0 /dev/sdb /dev/sdd1

磁盤配額、Raid及邏輯卷LVS 

創建了一個30G的卷組,默認PE大小4M,空閑30G。

3、創建lv

lvcreate -n lv0 -L 10G vg0

磁盤配額、Raid及邏輯卷LVS 

vg0中創建了一個10G的邏輯卷/dev/vg0/lv0,名稱為lv0;

此時的/dev/vg0/lv0其實是軟鏈接指向/dev/dm-0

磁盤配額、Raid及邏輯卷LVS 

 

4、格式化

mkfs.ext4 /dev/vg0/lv0

此時使用blkid命令已經可以看到lv0文件系統了。

磁盤配額、Raid及邏輯卷LVS 

 

5、掛載lv–使用mount命令手動掛載或寫入配置文件/etc/fstab就可以使用了。

mount /dev/vg0/lv0 /mnt/lvm

磁盤配額、Raid及邏輯卷LVS 

 

范例2:擴展邏輯卷

1)lvextend -L +5G /dev/vg0/lv0  增加5個G

2)resize2fs /dev/vg0/lv0  更新文件系統大?。?/span>

步驟一也可以使用-r選項表示同時更新文件系統,此時第二步可省略eg. lvextend -L +5G -r /dev/vg0/lv0  磁盤配額、Raid及邏輯卷LVS

可直接在線擴展不需要先umount文件系統

可使用lvextend  -l  +100%FREE /dev/vg0/lv0將所有空閑vg擴展到邏輯卷lv。

磁盤配額、Raid及邏輯卷LVS 

 

范例3:增加硬盤至卷組

1)pvcreate  /dev/sdd2

2)vgextend vg0 /dev/sdd2

磁盤配額、Raid及邏輯卷LVS 

增加一個10G的分區/dev/sdd2,增加完后卷組vg0由30G變成40G.

 

范例4:縮減邏輯卷(須確??s減后的邏輯卷能容納縮減前lv內的數據,不然數據會丟失)

1、取消掛載

umount /dev/vg0/lv0  

2、強制檢查文件系統

e2fsck -f /dev/vg0/lv0

磁盤配額、Raid及邏輯卷LVS 

 

3、縮減文件系統,例如至10G

resize2fs /dev/vg0/lv0 10G

磁盤配額、Raid及邏輯卷LVS 

4、縮減lv大小

lvreduce -L 10G /dev/vg0/lv0

磁盤配額、Raid及邏輯卷LVS 

5、重新掛載mount -a

 

范例5:刪除某塊磁盤,如刪除/dev/sdd2(不需要取消掛載)

1、將此塊磁盤上的PE移動到同卷組內其他磁盤上(其他磁盤剩余空間須足夠)

pvmove /dev/sdd2

2、縮減vg大小

vgreduce vg0 /dev/sdd2

磁盤配額、Raid及邏輯卷LVS 

3、刪除pv

pvremove /dev/sdd2

磁盤配額、Raid及邏輯卷LVS 

 

范例6:刪除整個邏輯卷

1、取消掛載umount

2、刪除邏輯卷(邏輯卷內容會清空)

lvremove /dev/vg0/lv0

磁盤配額、Raid及邏輯卷LVS 

3、刪除卷組

vgremove vg0

4、刪除物理卷

pvremove device…

 

邏輯卷管理器快照

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

快照將當時的系統信息記錄下來,就好像照相一般,若將來有任何數據改動了,則原始數據會被移動到快照區,沒有改動的區域則由快照區和文件系統共享。

磁盤配額、Raid及邏輯卷LVS 

由于快照區與原本的LV共用很多PE的區塊,因此快照須與被快照的LV在同一個VG上!系統恢復的時候的文件數量不能高于快照區的實際容量。

對于需要備份或者復制的現有數據集臨時拷貝以及其它操作來說,快照是最合適的選擇。

在生成快照時會分配給它一定的空間,但只有在原來的邏輯卷或者快照有所改變才會使用這些空間,所以快照中只含有原來的邏輯卷中更改的數據,建立快照的卷大小一般只需要原始邏輯卷的15%~20%就夠了。也可以使用lvextend放大快照。

 

快照管理命令

為現有邏輯卷創建快照

#lvcreate -L 1G -s -n snap-data -p r /dev/vg0/data

掛載快照

#mkdir -p /mnt/snap

#mount -o ro /dev/vg0/data /mnt/snap

刪除快照

#umount /mnt/snap

#lvremove /dev/vg0/data

范例:創建快照

lvcreate -L 2G -s -n lv0_snapshot -p r /dev/vg0/lv0

磁盤配額、Raid及邏輯卷LVS 

磁盤配額、Raid及邏輯卷LVS 

說明:給邏輯卷/dev/vg0/lv0創建一個2G的快照lv0_snapshot-s 表明邏輯卷類型為快照,-p r表明為只讀。此時快照可直接掛載,不需要格式化了。

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

(0)
beyondbeyond
上一篇 2016-09-19 13:47
下一篇 2016-09-19 13:47

相關推薦

  • N26-第二周作業

    linux上的文件管理命令:     1. cp命令:         作用:復制文件或目錄         單文件復制:    …

    Linux干貨 2017-02-15
  • MySQL/MariaDB DML操作之Select

    前言 上文我們已經講解了MySQL/MariaDB的基礎知識和DDL相關操作,接下來我們來說一下MySQL/MariaDB的DML操作,因select查詢較復雜也較重要,所以本文主要是對select查詢的詳解。 DML操作 DML之select 投影查詢 select col_name,[col_name1,…] from …

    Linux干貨 2015-05-07
  • 推薦-Nginx專題: upstream模塊和緩存的簡單使用

    Nginx專題: upstream模塊和緩存的簡單使用 nginx 負載均衡 Nginx專題: upstream模塊和緩存的簡單使用 前言: 實驗拓撲 實驗環境 Nginx_Upstream模塊介紹 upstream使用方法 upstream使用示例 Nginx_Cache介紹 緩存靜態資源 總結 前言: 本文接著上篇Nginx專題: 從編譯安裝到…

    Linux干貨 2016-04-07
  • 數據結構應用詳解-

    概述 最小生成樹——無向連通圖的所有生成樹中有一棵邊的權值總和最小的生成樹 拓撲排序 ——由偏序定義得到拓撲有序的操作便是拓撲排序。建立模型是AOV網 關鍵路徑——在AOE-網中有些活動可以并行地進行,所以完成工程的最短時間是從開始點到完成點的最長路徑的長度,路徑長度最長的路徑叫做關鍵路徑(Critical Path)。 最短路徑——最短路徑問題是…

    Linux干貨 2015-04-07
  • Linux文件類型

    Linux文件類型常見的有:普通文件、目錄文件、字符設備文件和塊設備文件、符號鏈接文件等。 1、普通文件,顏色為白色 純文本檔 二進制文件 數據格式文件 2、目錄文件,顏色為藍色 當我們在某個目錄下執行,看到有類似 drwxr-xr-x ,這樣的文件就是目錄,目錄在Linux是一個比較特殊的文件。首字符是【d】字母。 3、字符設備和塊設備…

    Linux干貨 2016-10-16
  • LINUX的初探

    一般而言,計算機的組成遵循著“馮諾依曼體系結構”。這種結構的體現實質上是一種存儲程序的原理,把程序本身當作數據來對待,程序和該程序處理的數據用同樣的方式來存儲。這種結構的要點是:計算機的數制采用二進制;計算機應該按照程序順序執行。

    2018-03-04
欧美性久久久久