配置配額系統(tǒng)
?在內(nèi)核中執(zhí)行
?以文件系統(tǒng)為單位啟用
?對(duì)不同組或者用戶的策略不同
根據(jù)塊或者節(jié)點(diǎn)進(jìn)行限制
?執(zhí)行軟限制(soft limit)
?硬限制(hard limit)
?分區(qū)掛載選項(xiàng):usrquota、grpquota
?初始化數(shù)據(jù)庫:quotacheck
?開啟或者取消配額:quotaon趣竣、quotaoff
?直接編輯配額:edquota username
?在shell中直接編輯:
setquota usename 4096 5120 40 50 /foo
?定義原始標(biāo)準(zhǔn)用戶
edquota -p user1 user2
示例:對(duì)/home下的kbq用戶進(jìn)行配額:
將home遷移到一個(gè)獨(dú)立的磁盤分區(qū)(具體見實(shí)驗(yàn)) quotacheck -cu /home(對(duì)home下的用戶創(chuàng)建配額機(jī)制)
若上述命令有報(bào)錯(cuò)蚂维,是由于SElinux减拭,后續(xù)會(huì)有介紹 [root@centos7 ~]#getenforce Enforcing
[root@centos7 ~]#setenforce 0
[root@centos7 ~]#getenforce
Permissive
進(jìn)行上述操作后再創(chuàng)建配額機(jī)制即可歪脏。
創(chuàng)建成功后在/home目錄下回生成一個(gè)aquota.user的二進(jìn)制文件(表示創(chuàng)建配額成功火俄。)
[root@centos7 ~]#quotaon -p /home
group quota on /home (/dev/sdb2) is off
user quota on /home (/dev/sdb2) is off
在/etc/fstab中的defaults后面加userquota
[root@centos7 ~]#quotaon /home
[root@centos7 ~]#quotaon -p /home
group quota on /home (/dev/sdb2) is off
user quota on /home (/dev/sdb2) is on
#edquota kbq即可對(duì)kbq用戶進(jìn)行配額的編輯了。
注意:grpquota針對(duì)的是用戶的所屬組而不是屬主。
RAID
磁盤并行讀寫
?提高耐用性专甩;
磁盤冗余來實(shí)現(xiàn)
?級(jí)別:多塊磁盤組織在一起的工作方式有所不同
外接式磁盤陣列:通過擴(kuò)展卡提供適配能力
內(nèi)接式RAID:主板集成RAID控制器
安裝OS前在BIOS里配置
軟件RAID:通過OS實(shí)現(xiàn)
RAID-0:條帶卷,strip
讀钉稍、寫性能提升涤躲;
可用空間:N*min(S1,S2,...)
無容錯(cuò)能力
最少磁盤數(shù):2, 2
RAID-1: 鏡像卷,mirror
讀性能提升贡未、寫性能略有下降种樱;
可用空間:1*min(S1,S2,...)
有冗余能力
最少磁盤數(shù):2, 2N
RAID-4:
多塊數(shù)據(jù)盤異或運(yùn)算值,存于專用校驗(yàn)盤
RAID-5:
讀俊卤、寫性能提升
可用空間:(N-1)*min(S1,S2,...)
有容錯(cuò)能力:允許最多1塊磁盤損壞
最少磁盤數(shù):3, 3+
RAID-6:
讀嫩挤、寫性能提升
可用空間:(N-2)*min(S1,S2,...)
有容錯(cuò)能力:允許最多2塊磁盤損壞
最少磁盤數(shù):4, 4+
RAID-10:
讀、寫性能提升
可用空間:N*min(S1,S2,...)/2
有容錯(cuò)能力:每組鏡像最多只能壞一塊
最少磁盤數(shù):4, 4+
實(shí)驗(yàn):制作RAID 5
準(zhǔn)備了4塊硬盤消恍,sdc岂昭,sdd,sde狠怨,sdf1 (均為30G)并且使sdf1的屬性為fd且為備用盤约啊。
#開始制作 mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sd{c,d,e,f1}
#在制作期間可能需要一段時(shí)間,可用cat /proc/mdstat命令查看進(jìn)度(也可用mdadm -D /dev/md0)
#在生成md0這個(gè)設(shè)備之后需要將其存入配置文件中 (這個(gè)文件的作用在于若該raid設(shè)備被禁用了之后若沒有這個(gè)文件raid設(shè)備將無法啟動(dòng)佣赖。) mdadm -Ds /dev/md0 > /etc/mdadm.conf
#創(chuàng)建完成后對(duì)該設(shè)備創(chuàng)建文件系統(tǒng)
mkfs.ext4 /dev/md0 建立一個(gè)掛載點(diǎn)并將md0掛上
mkdir /mnt/raid
mount /dev/md0 /mnt/raid
#為了實(shí)驗(yàn)需要復(fù)制一些文件到raid下
cp /etc/passwd /mnt/raid/f1?
cp /etc/passwd /mnt/raid/f2
?cp /etc/passwd /mnt/raid/f3
測(cè)試寫速度:dd if=/dev/zero of=/mnt/raid/bigfile bs=1M count=1024
測(cè)試讀速度:dd if=/dev/zero of=/mnt/raid/bigfile bs=1M count=1024
要想保存住恰矩,一定要寫入配置文件中。
raid10的制作:(具體步驟參考raid5)
方法1
#先建立底層建筑2個(gè)raid1的設(shè)備md0和md1 mdadm -C /dev/md0 -a yes -l 1 -n 2 /dev/sdb{1,2}
mdadm -C /dev/md1 -a yes -l 1 -n 2 /dev/sdc{1,2}
#再將2個(gè)raid1設(shè)備做raid0 mdadm -C /dev/md2 -a yes -l 0 -n 2 /dev/md{0,1}
方法2:
mdadm -C /dev/md0 -a yes -l 10 -n 4 /dev/sdb{1,2} /dev/sdc{1,2}
?命令的語法格式:mdadm[mode] [options]?
支持的RAID級(jí)別:LIEAR, RAID0, RAID1, RAID4, RAID5, RAID6, RAID10
模式:
? ? 創(chuàng)建:-C ? ?裝配: -A ? ?監(jiān)控: -F ? ? 管理:-f, -r, -a
-n #: 使用#個(gè)塊設(shè)備來創(chuàng)建此RAID
-l #:指明要?jiǎng)?chuàng)建的RAID的級(jí)別
-a {yes|no}:自動(dòng)創(chuàng)建目標(biāo)RAID設(shè)備的設(shè)備文件 -c CHUNK_SIZE: 指明塊大小
-x #: 指明空閑盤的個(gè)數(shù)
? ? ? ?mdadm -D /dev/md#
? ? ? ?-f: 標(biāo)記指定磁盤為損壞 ? -a: 添加磁盤 ? ? -r: 移除磁盤
? ? ? ?cat /proc/mdstat
使用mdadm創(chuàng)建并定義RAID設(shè)備
#mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
用文件系統(tǒng)對(duì)每個(gè)RAID設(shè)備進(jìn)行格式化
#mke2fs -j /dev/md0 測(cè)試RAID設(shè)備
#mdadm --detail|D /dev/md0
#mdadm –G /dev/md0 –n4 -a /dev/sdf1
? ? ? ? ? mdadm /dev/md0 -f /dev/sda1
? ? ? ? ? mdadm /dev/md0 –r /dev/sda1
從軟件RAID磁盤修復(fù)磁盤故障
替換出故障的磁盤然后開機(jī)
在備用驅(qū)動(dòng)器上重建分區(qū)
mdadm /dev/md0 -a /dev/sda1
mdadm外傅、/proc/mdstat及系統(tǒng)日志信息
mdadm –D –s >> /etc/mdadm.conf
mdadm –S /dev/md0
mdadm –A –s /dev/md0 激活
mdadm –R /dev/md0
mdadm --zero-superblock/dev/sdb1
注意:在刪除raid時(shí) 1 umount 取消掛載 2 mdadm -S /dev/md0 停止raid設(shè)備 3 rm -f /etc/mdstat
4 vim /etc/fstab 修改配置文件 5 mdadm --zero-superblock /dev/sda7
徹底清除超級(jí)塊信息 清除Raid成員上raid元數(shù)據(jù)
邏輯卷管理器(LVM)
突出優(yōu)勢(shì):可擴(kuò)展性
原理: 底層為磁盤或分區(qū),用fdisk命令將其system id改為8e (Linux LVM)
第二層為創(chuàng)建PV和查看PV(physical volumes)
創(chuàng)建的命令:pvcreate 設(shè)備名
查看:pvs 或者 pvdisplay
第三層為用PV創(chuàng)建VG
工具為vgcreate,vgdisplay
第四層為從VG中切割出LV
工具lvcreate lvdisplay
第五層為格式化后掛載使用
工具:mkfs mount
實(shí)驗(yàn):創(chuàng)建邏輯卷的步驟:
pvcreate /dev/sd{b5,c}
#將/dev/sdb5,/dev/sdc 打包創(chuàng)建為物理卷
此時(shí)可以pvs查看有無成功。
vgcreate -s 16M vg0 /dev/sd{c,b5}
#將已創(chuàng)建為物理卷的2個(gè)卷合成一個(gè)卷組 -s后跟PE的大小 并設(shè)置這個(gè)卷組的名稱
lvcreate -n lv0 -l 1000 vg0
#-n 后跟創(chuàng)建的邏輯卷名稱 萎胰,-l 為此邏輯卷的大斜蚣睢(-L +xx為添加至xx) 針對(duì)vg0卷組操作
lvdisplay
--- Logical volume ---
LV Path /dev/vg0/lv0
LV Name lv0
VG Name vg0
#生成的邏輯卷/dev/vg0/lv0其實(shí)是一個(gè)軟連接指向../dm-0
-l 是以PE為單位 也可以跟100%free -L 后面跟大小容量
實(shí)驗(yàn):擴(kuò)展邏輯卷
假設(shè)我們現(xiàn)在的邏輯卷組的空間不夠了,可以設(shè)置一個(gè)分區(qū)為物理卷后再添加奥洼。
pvcreate /dev/sde
#將該磁盤變成物理卷
vgextend vg0 /dev/sde
#對(duì)vg0這個(gè)卷組擴(kuò)展/dev/sde這個(gè)物理卷
lvextend -L 60G /dev/vg0/lv0
#擴(kuò)展至60G 對(duì)于lv0這個(gè)邏輯卷來說。
resize2fs /dev/vg0/lv0
#因?yàn)樘砑拥奈锢砭頉]有文件系統(tǒng)晚胡,所以需要對(duì)其進(jìn)行同步灵奖。(該命令只針對(duì)ext系列的文件系統(tǒng),若要對(duì)xfs文件系統(tǒng)進(jìn)行同步需用xfs_grows +設(shè)備名估盘。命令瓷患。) 若先一步到位不在最后不用同步可用選項(xiàng)-r
lvextend -r -L 60G /dev/vg0/lv0
實(shí)驗(yàn):縮減邏輯卷
不支持在線使用,有損失數(shù)據(jù)的風(fēng)險(xiǎn)遣妥,需在縮減之前做備份擅编。
xfs文件系統(tǒng)不支持縮減。
umount /mnt/lv0
#需進(jìn)行離線操作箫踩,取消掛載爱态。
e2fsck -f /dev/vg0/lv0
#在執(zhí)行某些重大操作前必須檢查文件的完整性
resize2fs /dev/vg0/lv0 30G
#先縮減文件系統(tǒng)的空間
lvreduce -L 30G /dev/vg0/lv0
#在縮減邏輯卷的大小
mount /dev/vg0/lv0 /mnt/lv0 #進(jìn)行掛載使用
注!>持印:操作期間不要掛載操作锦担。
實(shí)驗(yàn):移除PV
1 vgdisplay 空閑空間
pvdisplay
2 pvmove /dev/sdb
將/dev/sdb中的數(shù)據(jù)移到其它卷組成員中
3 vgreduce vg0 /dev/sdb
將/dev/sdb 從vg0組中移除
4 pvremove /dev/sdb
將/dev/sdb 從物理卷中移除 5 卸載硬盤
實(shí)驗(yàn):跨主機(jī)遷移LV
1 查看LV對(duì)應(yīng)的卷組是由幾個(gè)PV組合的
/dev/sdc /dev/sdd
2 查看下VG名稱,確保在目標(biāo)主機(jī)上的名稱不要沖突
vgrename vg0 newvg0
lvrename /dev/vg0/lv0 /dev/newvg0/newlv0
3在源主機(jī)
umount /dev/newvg0/lv0
vgchange -an newvg0
vgexport newvg0
4 將對(duì)應(yīng)所有PV慨削,接入到目標(biāo)主機(jī)
5 在目標(biāo)主機(jī)
pvscan
vgimport newvg0
vgchange -ay newvg0 激活
mount /dev/newvg0/newlv0 /mnt/newlv0