您好,登錄后才能下訂單哦!
※配置配額系統
磁盤配額就是管理員可以為用戶所能使用的磁盤空間進行配額限制,每一用戶只能使用最大配額范圍內的磁盤空間,比如一些網盤就是基于這個功能來做的,分配給用戶固定的空間,花錢買,可以將空間設置的更大。
功能作用
磁盤配額可以限制指定賬戶能夠使用的磁盤空間,這樣可以避免因某個用戶的過度的使用磁盤空間造成其它用戶無法運行或工作甚至影響系統運行。這個功能不止是linux有,windows系統當中也有磁盤配額。
綜述
它是在內核中運行的,以文件系統為單位啟用,對不同組合用戶的策略不同,根據塊或者節點進行限制
執行軟限制(soft limit)
硬限制(hard limit)
初始化
分區掛載選項:usrquota、grpquota
當你相對某個分區做磁盤配額時,需要在/etc/fstab中的掛載選項寫上這兩項才能做磁盤配額,完成之后需要重新掛載(mount –o remount device mount_point)
初始化數據庫:quotacheck
quotacheck [ -gubcfinvdMmR ] [ -F quota-format ] -a | filesystem
選項:
-c:創建
-u:對某個用戶設置磁盤配額
-g:對某個組設置磁盤配額
-m:不用重新掛載
例如我想對/home做磁盤配額就需要初始化數據庫
quotacheck –cumg /home
初始化完成后會在/home目錄下生成兩個文件aquota.group,aquota.user
啟用配額
quotaon mount_point
關閉配額
quotaoff mount_point
編輯配額:通過打開文件編輯內容
Disk quotas for user hadoop (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/mapper/VolGroup-lv_home 2048 0 0 12 0 0
blocks:當前目錄下的文件總大小
soft:觸發警告的初始值,最低容量限制
hard:允許儲存最大的容量限制
inodes:當前目錄的文件數量
soft:文件的最小值
hadr:單個文件大小的最大值
當我們相對hadoop用戶設置磁盤配置時只需要更改blocks后面的soft和hard限制,大小根據自己的實際情況來定,也可以定義創建單個文件的大小
命令行直接編輯
setquota username 4096 5120 40 50 /home
這里的限制容量大小的默認值為字節
示例
setquota hadoop 4096 5120 40 50 /home
有時候需要批量設置某些用戶的磁盤配額,一個個重新創建太麻煩,這里介紹一種批量創建的方法:
edquota -p user1 user2將user1設定要的配額值給user2同樣設定
edquota -p xxxx `awk -F: ’$3 >499 {print $1}’ /etc/passwd`
查詢磁盤配額
quota
repquota -a
假如有多個分區為quota,可用repquota -u 掛載點 查詢單個分區的使用情況
※RAID
什么是RAID?
RAID(Redundant Arry of Inexpensive Disk)稱為廉價磁盤冗余陣列。RAID的基本想法是把多個便宜的小磁盤組合到一起,成為一個磁盤組,使性能達到或超過一個容量巨大、價格貴的磁盤,目前RAID技術大致分為兩種:基于硬件的RAID技術和軟件實現的RAID,其中linux下通過自帶的軟件(mdadm)就能實現RAID的功能,所以它配置靈活、管理方便。同時使用RAID,還可以實現將幾個屋里磁盤合并成為一個更大的虛擬設備,從而達到性能改進和數據冗余的目的,當然基于硬件的RAID解決的方案比基于軟件RAID技術在使用性能上稍勝一籌,具體表現在檢測和修復多為錯誤的能力、錯誤磁盤自動檢測和陣列重建等方面。
作用
提高IO能力,磁盤并行讀寫
提高耐用性,磁盤冗余來實現
級別,多塊磁盤組織在一起的工作方式有所不同
RAID實現的方式
外接式磁盤整理額:
通過擴展卡提供適配能力
內接式RAID:主板集成RAID控制器,安裝OS前在BIOS中配置
軟RAID,例如mdadm
RAID級別
RAID-0
也稱為為條帶模式,即把連續的數 據分散到多個磁盤上存取,如圖所示,當系統有數據請求就可以被多個磁盤并行的執行,每個磁盤執行屬于它自己的那部分數據請求,這種數據上的并行操作可以充 分利用總線的帶寬,顯著提高磁盤整體存取性能。因為讀取和寫入實在設備上并行完成的,讀取和寫入性能將會增加這通常是運行RAID-0的原因,但RAID-0沒有數據冗余,如果磁盤出現故障,那么僵無法恢復任何數據。成本低,要求至少兩個磁盤,一般只是在那些對數據安全性要求不高的情況下才被使用。
容錯性 | 無 | 冗余 | 無 |
熱備盤 | 無 | 讀性能 | 高 |
隨機寫性能 | 高 | 連續寫性能 | 高 |
需要的磁盤數 | 2或2N個 | 可用容量 | 100% |
典型應用 | 無故障的迅速讀寫,要求安全性不高,如圖形工作站 |
RAID-1
RAID-1又稱為鏡像,一個具有全冗余的模式,如圖,RAID可以用兩個或2n個磁盤,并使用0塊或更多的備用磁盤,每次寫數據時會同時寫入鏡像盤,這種陣列可靠性高,但其有效容量減小到總容量的一般,同時這些磁盤的大小應該相等,只要系統中任何一對鏡像盤中至少有一塊磁盤可以使用,甚至可以在一半數量的硬盤出現問題時系統都可以正常運行,出現硬盤故障的RAID系統不再可靠,應當及時的更換損壞的硬盤,否則剩余的鏡像盤也出現問題,那么整個系統就會崩,更換新盤后原有數據會需要很長時間同步鏡像,外界對數據的訪問不會受到影響,只是這時整個系統的性能有所下降,RAID 1磁盤控制器的負載相當大,用多個磁盤控制器可以提高數據的安全性和可用性。
容錯性 | 有 | 冗余 | 有 |
熱備盤 | 有 | 讀性能 | 高 |
隨機寫性能 | 低 | 連續寫性能 | 低 |
需要的磁盤數 | 2或2N個 | 可用容量 | 50% |
RAID-4
RAID4在一個磁盤上保存校驗信息,兵役RAID0的方式將數據寫入其他磁盤,如果一個磁盤出現故障,可以使用校驗信息來重建所有數據,如果兩個磁盤出現故障,那么所有數據豆漿丟失,RAID4不常使用,原因是將校驗信息存儲在同一個磁盤上,每次寫入其他磁盤時,都必須更新這些信息,大致大寫的寫入數據容易造成校驗判的瓶頸。
容錯性 | 有 | 冗余 | 有 |
熱備盤 | 有 | 讀性能 | 高 |
隨機寫性能 | 低 | 連續寫性能 | 低 |
需要的磁盤數 | 2或以上 | 可用容量 | (n-1)/n |
RAID-5
RAID可以理解為是RAID0和RAID1的折中方案,但沒有完全使用RAID1的鏡像理念,而是使用了就奇偶校驗信息來作為數據恢復的方式,沒有單獨指定的校驗盤,而是交的存取數據及奇偶校驗信息與所有磁盤上,在讀寫性能上都提升了,對于RAID5來說大部分數據傳輸只對一塊磁盤操作,可進行秉性操作,在RAID5中有寫損失,即每一次寫操作,將產生四個實際的讀寫操作,其中兩次讀舊的數據及就信息,兩次寫心得數據及奇偶信息。
容錯性 | 有 | 冗余 | 奇偶校驗 |
熱備盤 | 有 | 讀性能 | 高 |
隨機寫性能 | 低 | 連續寫性能 | 低 |
需要的磁盤數 | 3個或3個以上 | 可用容量 | (n-1)/n |
典型應用 | 隊數據傳輸要求安全性高如金融,數據庫,存儲 |
RAID6
RAID6是RAID家族中的新技術,是在RAID5的基礎上擴展而來的,所以同RAID5一樣,數據和校驗碼都是被分成數據塊然后分貝存儲到磁盤陣列的各個硬盤上。RAID加入了一個獨立的校驗磁盤,它把分布在磁盤上的校驗碼都備份在一起,這樣在磁盤整列就允許多個磁盤同時出現故障,但消耗了太多的磁盤空間。
容錯性 | 有 | 冗余 | 奇偶校驗 |
熱備盤 | 有 | 讀性能 | 高 |
隨機寫性能 | 低 | 連續寫性能 | 低 |
需要的磁盤數 | 4個或4個以上 | 可用容量 | (n-2)/n |
典型應用 | 隊數據傳輸要求安全性高如金融,數據庫,存儲 |
RAID-10
RAID-10是一個RAID0與RAID1的組合體,它是利用奇偶校驗實現條帶及鏡像,所以它記性了RAID0的快速和RAID1的安全,我們知道,RAID1在這里就是一個冗余的備份陣列,而RAID0則負責數據的讀寫速度,更多的情況是從主通路分出兩路,做Striping操作,即把數據分割,而這分出來的每一路則再分兩路,做Mirroring操作,即互做鏡像
容錯性 | 有 | 冗余 | 奇偶校驗 |
熱備盤 | 有 | 讀性能 | 高 |
隨機寫性能 | 高 | 連續寫性能 | 高 |
需要的磁盤數 | 4個或4個以上 | 可用容量 | 50% |
典型應用 | 隊數據傳輸要求安全性高如金融,數據庫,存儲 |
RAID-01
RAID-01以四個磁盤組成的RAID 0+1為例,其數據存儲方式如圖所示:RAID 0+1是存儲性能和數據安全兼顧的方案。它在提供與RAID 1一樣的數據安全保障的同時,也提供了與RAID 0近似的存儲性能。由于RAID 0+1也通過數據的100%備份功能提供數據安全保障,因此RAID 0+1的磁盤空間利用率與RAID 1相同,存儲成本高。當鏡像盤的中任意一個磁盤壞帶,數據將會丟失
軟RAID
通過軟件的方式來實現raid各個級別的功能,性能沒有硬件raid那么強大,但它可以用來在測試環境當中使用。linux當中使用mdadm這個工具來實現raid的功能
mdadm:為軟RAID提供管理界面
為空余磁盤添加冗余,結合內核中的md(mutil devices),RAID設備可命令為/dev/md0、/dev/md1等等
mdadm:模式化的工具
語法格式:mdadm [mode] <raiddevice> [options] <component-devices>
支持的RAID級別:Linux supports LINEAR md devices, RAID0 (striping), RAID1 (mirror-
ing), RAID4, RAID5, RAID6, RAID10, MULTIPATH, FAULTY, and CONTAINER.
模式:
創建模式 -C
專用選項
-l 指定raid級別
-n 指定設備數量
-a 自動為其創建設備文件 yes|no
-c 指定chunk大小一般設定為2^n,默認為64k
-x 指定空閑盤個數,當其中某個盤壞掉,自動頂上去
管理模式 -F
-a –add 添加磁盤
–r –remove 刪除磁盤
-f –fail 模擬損壞磁盤
mdadm /dev/md0 -a /dev/sdb1
mdadm /dev/md0 -r /dev/sdb2
mdadm /dev/md0 -f /dev/sdb3
監控模式 –F
查看軟raid的狀態,相當于查看/proc/mdstat
增長模式 –G
比如我要想某個raid設備當中添加一塊新磁盤以擴大raid的容量
mdadm –G /dev/md0 –n4 -a /dev/sdf1
裝配模式 -A
當raid設備時停止的狀態時,可以使用此模式將其激活
mdadm –A /dev/md0 /dev/sdb1 /dev/sdb2 /dev/sdb3
查看RAID的陣列的詳細信息
mdadm -D /dev/md0或者查看文件/proc/mdstat
停止陣列
mdadm -S /dev/md0
將當前RAID信息保存至配置文件,以便以后進行裝配
mdadm -D –s >/etc/mdadm.conf
刪除raid
在raid之前必須要先停止raid設備,然后刪除raid信息
mdadm –zero-superblock /dev/sdb1
mdadm –zero-superblock /dev/sdb2
mdadm –zero-superblock /dev/sdb3
示例:
創建一個可用空間為1G的RAID1設備,要求其chunk大小為128k,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup目錄
由于RAID1的利用率是100%,所以這里只需要創建一塊空間大小為1G的分區,將分區類型改為fd,然后創建raid,然后又要求需要一塊空閑盤,所以還得創建一個大小同為1G的分區,分區類型也得改為fd,開機需要自動掛載,這是需要將條目寫到/etc/fstab d當中去
第一步、分兩個區大小都為1G,完成后更改分區的類型為fd Linux auto raid類型
第二步、創建raid mdadm -C /dev/md0 –a yes -c 128k -l 1 -n 1 -x 1 /dev/sdc{5,6}
第三步、格式化 mke2fs –t ext4 /dev/md0
第四步、將條目寫到/etc/fstab中去,實現開機自動掛載
2:創建由三塊硬盤組成的可用空間為2G的RAID5設備,要求其chunk大小為256k,文件系統為ext4,開機可自動掛載至/mydata目錄
※邏輯卷管理
LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制,它由Heinz Mauelshagen在Linux 2.4內核上實現,目前最新版本為:穩定版1.0.5,開發版 1.1.0-rc2,以及LVM2開發版。Linux用戶安裝Linux操作系統時 遇到的一個常見的難以決定的問題就是如何正確地評估各分區大小,以分配合適的硬盤空間。與傳統的磁盤與分區相比,LVM為計算機提供了更高層次的磁盤存儲。它使系統管理員可以更方便的為應用與用戶分配存儲空間。在LVM管理下的存儲卷可以按需要隨時改變大小與移除(可能需對文件系統工具進行升級)
好處
允許對卷進行方便操作的抽象層,包括重新設定文件系統大小
允許在多個物理設備間重新組織文件系統
將設備指定為物理卷,用一個或多個物理卷來創建一個卷組
lvm可以彈性的更改lvm的容量
LVM基本術語
物理存儲介質:這里指系統的存儲設備如/dev/sda /dev/sdb等等
物理卷:物理卷就是指硬盤分區或邏輯上與磁盤分區具有同樣的功能
卷組:LVM卷組類似于lvm系統中的物理硬盤,其有物理卷組成。可以在卷組上創建一個或多個lvm分區,lvm卷組由一個或多個物理卷組成
邏輯卷:lvm的邏輯卷類似于硬盤分區,在邏輯卷之上可以建立文件系統
PE(physical extend)每個一個物理卷被劃分為PE的基本單元,具有唯一編號的PE是可以被LVM尋址的最小單元,默認為4MB,可以更改
LE:邏輯卷也被劃分成為LE的可被尋址的基本單位,在同一卷組中,LE的大小和PE是相同的。
簡單的說就是:
PV:是物理的磁盤分區
VG:LVM中的物理的磁盤分區,也就是PV,必須加入VG,可以將VG理解為一個倉庫或者是幾個大的硬盤。
LV:也就是從VG中劃分的邏輯分區
dm:device mapper:將一個或多個底層設備組織成一個邏輯設備的模塊
設備名:/dev/dm-#
軟連接
/dev/mapper/Vg_name-Lv_name
/dev/mapper/vol0-root
/dev/Vg_name_Lv_name
/dev/vol0/root
pv管理工具
pvs:簡要查看pv信息
pvdisplay:詳細查看pv信息,也可在后面跟某個設備,查看某個pv的詳細信息
創建pv
pvcreate
pvcreate [–commandprofile ProfileName] [-d|–debug] [-h|–help] [-t|–test]
[-v|–verbose] [–version] [-f[f]|–force [–force]] [-y|–yes] [–labelsector]
[–bootloaderareasize size] [-M|–metadatatype type] [–[pv]metadatacopies Num-
berOfCopies] [–metadatasize size] [–metadataignore {y|n}] [–dataalignment
alignment] [–dataalignmentoffset alignment_offset] [–restorefile file]
[–norestorefile] [–setphysicalvolumesize size] [-u|–uuid uuid] [-Z|–zero
{y|n}] PhysicalVolume [PhysicalVolume…]
pvcreate /dev/sdb1 /dev/sdb2 /dev/sdb3
vg管理工具
顯示卷組
vgs:簡要顯示vg信息
vgdisplay:詳細顯示vg信息
創建卷組
vgcreate
vgcreate [-s|–physicalextentsize PhysicalEx- tentSize[bBsSkKmMgGtTpPeE]] [–shared] [–systemid SystemID] [-t|–test] [-v|–verbose] [–version] [PHYSICAL DEVICE OPTIONS] VolumeGroupName PhysicalDe-vicePath [PhysicalDevicePath…]
vgcreate vg0 /dev/sdb1 /dev/sdb2 /dev/sdb3
管理卷組
vgextend 拉伸卷組
vgextend vg0 /dev/sdc1 /dev/sdc2
刪除卷組
vgremove,先將數據移動到指定的設備上,然后再刪除,將底層存在pv上的數據移動到其他硬盤,pvmove /dev/sdb{1,2,3} /dev/sdc{1,2,3}
vgreduce vg0 /dev/sdb{1,2,3} 將卷組上的pv移除
vgremove vg0 最后移除卷組
lv管理工具
lvs:簡要顯示邏輯卷的信息
lvdisplay:詳細顯示邏輯卷的信息
創建邏輯卷
lvcreate
lvcreate [-a|–activate [ [–cachesettings key=value] [-c|–chunksize ChunkSize] [{-l|–extents]LogicalExtentsNumber[%{FREE|PVS|VG}] | -L|–size LogicalVolumeSize}[-i|–stripes Stripes [-I|–stripesize StripeSize]]] [-h|-?|–help][-s|–snapshot] [-t|–test] [–type SegmentType] [-v|–verbose]
lvcreate -L [mMgGtT] -n lv_name vgname
-l # :使用多少個PE的容量來創建邏輯卷
-L :直接指定使用多大容量來創建卷組
重新設定文件系統的大小
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 擴大邏輯邊界
示例:
1、創建一個至少有兩個PV組成的大小為10G的名為testvg的VG;要求PE大小為16MB, 而后在卷組中創建大小為5G的邏輯卷testlv;掛載至/users目錄
第一步分兩個分區,并且大小為10G更改分區類型為8e
第二步、創建pv pvcreate /dev/sdc2 /dev/sdc3
第三步、創建卷組 vgcreate vg0 -s 16M /dev/sdc2 /dev/sdc3
第四部、創建卷組 lvcreate -L 20G –n testvg vg0
第五步、格式化掛載 mke2fs –t ext4 /dev/vg0/testlv ,mount /dev/vg0/testlv /users (如果目錄實現不存在需要創建)
第六步、為了開機能夠掛載寫到/etc/fstab 當中去
2、擴展testlv至7G,要求archlinux用戶的文件不能丟失
要擴展必須先要查看testlv他的卷組當中的剩余空間還夠不夠,如果卷組當中的剩余空間不夠的,需要再創建一個分區,然后拉伸卷組的空間,之后擴展邏輯卷,使用lvextend之后只是拉伸了物理空間,而邏輯空間的還是沒有改變,這里需要執行resize2fs device這條命令來動態拉伸邏輯卷的空間
第一步、查看卷組所剩空間大小vgdisplay vg0查看FREE PE那一項還有沒有空間,正好我這里是有的
第二步、拉伸邏輯卷 lvextend -L +2G /dev/vg0/testlv
第三步、使其生效 resize2fs /dev/vg0/testlv
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。