一.磁盤配額的相關知識
(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
-
由于quota是針對文件系統的,查看/home是不是獨立文件系統
-
位避免不必要的權限問題,建議關掉selinux
-
給/home目錄加上usrquota掛載選項
-
用quotacheck -a 檢查文件系統并創建配置文件
-
開啟quota并查看其狀態
-
針對tian用戶設置quota
-
給tianzhi用戶設置磁盤配額
-
切換到tian用戶下,創建一個300M大小文件;顯示超過警報線
-
創建一個520M文件;結果顯示創建失敗
二.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容錯功能
-
新建分區,分區標識符為fd,其他幾個分區類似
-
創建raid
-
查看/dev/md0信息
-
把/dev/md0格式化后掛載到/mnt/raid下邊
-
在/mnt/raid新建文件f1,使得/dev/sdd1處于出錯狀態
-
查看md0信息
發現原來的空閑分區/dev/sde2處于工作狀態,而/dev/sdd1處于出錯狀態
-
最后發現在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創建快照,并嘗試基于快照備份數據,驗正快照的功能
-
創建兩個分區id為8e的分區,如下所示
-
創建pv,并顯示信息
-
創建PE大小為16MB的卷組testvg,大小為15G
-
創建大小為5G的邏輯卷testlv
5.格式化邏輯卷后,把掛載邏輯卷到/users下
實際上lvm使用的設備是放在/dev/mapper/目錄下,所以會看到上訴第二個紅線所畫部分
6.新建用戶archlinux,要求其家目錄為/users/archlinux,而后su切換至archlinux用戶,復制/etc/pam.d目錄至自己的家目錄
顯示當前文件所占大小
7.擴展testlv到7G大小,查看數據大小
發現數據大小不變,數據應該沒有丟失
查看邏輯卷所在文件系統大小,發現大小依舊為5G
8.用resize2fs改變文件系統大小
查看數據大小,發現大小沒變
8.收縮/testlv至3G,要求不損壞數據
(1)先用resize2fs直接縮小文件系統大小,發現不支持在線修改
(2)取消/dev/testvg/testlv掛載,然后檢查文件系統
(3)縮減所建文件系統的大小到3G
(4)為不損壞數據,縮小后的lvm大小必須大于數據大小
發現縮減后的lvm大小遠大于文件數據大小
9.對/dev/testvg/testlv創建快照
(1)為/dev/testvg/testlv創建快照
(2)掛載到/snapshot下,結果如下
(3)查看快照區與被快照區的內容
(4)在/users下添加issue文件,查看快照去區使用情況
(5)把快照區內容打包備份,然后取消快照區的掛載;要不一會兒格式化被快照區,快照區會溢滿
(6)卸載快照區,重新格式化快照區,然后掛載到/users下,再把打包文件解壓縮到/users下
發現/users下并沒有新添加的issue文件,快照功能實現
原創文章,作者:mengzhiqian,如若轉載,請注明出處:http://www.www58058.com/42635
寫的很好·哦,堅持寫下去,不要半途而廢哦,