1、 設定文件系統配額
綜述
• 在內核中執行
• 以文件系統爲單位啓用
• 對不一樣組或者用戶的策略不一樣
根據塊或者節點進行限制
• 執行軟限制(soft limit)
• 硬限制(hard limit)
初始化
• 分區掛載選項:usrquota、grpquota
• 初始化數據庫:quotachecknode
爲用戶設定配額 執行 • 開啓或者取消配額:quotaon、quotaoff • 直接編輯配額:edquota username • 在shell中直接編輯: setquota usename 4096 5120 40 50 /foo 報告 • 用戶調查:quota username • 配額概述:repquota /mountpoint
實驗:實現配額linux
對用戶磁盤配額限制:
1 啓用配額功能
vim /etc/fstab
UUID=b0421d9a-8072-4be5-9526-070535ac0a8e /home ext4 usrquota,grpquota 0 0
2 建立配額數據庫
quotacheck -cug /home (selinux/config文件 必須是 Permissive)
3 啓用數據庫
quotaon /home
4 指用戶的空間限制
edquota wang
Disk quotas for user wang (uid 500):
Filesystem blocks soft hard inodes soft hard
/dev/sda6 1164 800000 1000000 159 162 165
5 測試shell
對組磁盤配額限制:
groupadd sales
usermod -G sales xiaojun
usermod -G sales zilong
checkquota -cug /home 針對用戶和組建立配額數據庫
quotaon /home 啓用數據庫
edquota -g sales 指定組內用戶總空間
newgrp sales 將當前用戶組臨時切換爲sales
dd if=/dev/zero of=test2 bs=1M count=200
測試數據庫
實驗:遷移/Home到新獨立分區vim
1 創建新分區 2 創建文件系統 3 mkdir /mnt/home mount /dev/sda6 /mnt/home 4 cp /home/* /mnt/home -av 5 tar cvf /app/home.tar /home scp remote 6 init 1 斷開網絡,在遠程不要執行 7 rm -rf /home/* 8 vim /etc/fstab UUID=b0421d9a-8072-4be5-9526-070535ac0a8e /home ext4 defaults 0 0 9 mount -a umount /mnt/home 10 init 5 還到原有模式
2、 設定和管理軟RAID設備
什麼是raid
RAID:Redundant Arrays of Inexpensive( Independent) Disks
多個磁盤合成一個「陣列」來提供更好的性能、冗餘,或者二者都提供
centos
RAID-0 (兩塊一樣大小的硬盤作實驗)
讀、寫性能提高;
可用空間:N*min(S1,S2,...) 無容錯能力
最少磁盤數:2, 2 網絡
RAID-1:磁盤利用率爲50%
raid各個盤刪除、建立文件操做同時進行,不能防止人爲操做,防止的是物理硬件損壞app
raid5
數據和校驗位均勻的存放在各個硬盤上,最多容許1塊硬盤損壞
一旦有一塊硬盤損壞,使用spare disk(備用磁盤)頂替比較好,這樣需經過其它三塊硬盤計算出損壞硬盤上的數據,也會增長CPU負載,影響性能。 raid5磁盤利用率爲n-1/nide
raid6
相比raid5有每行有兩塊校驗數據塊,最多容許2塊硬盤損壞,磁盤利用率爲n-2/n工具
raid 10
讀、寫性能提高
可用空間:N*min(S1,S2,...)/2
有容錯能力:每組鏡像最多隻能壞一塊
最少磁盤數:4, 4+
raid 01
多塊磁盤先實現RAID0,再組合成RAID1
mdadm:模式化的工具
命令的語法格式:mdadm [mode] <raiddevice> [options] <component-devices>
模式:
建立:-C 建立raid
裝配: -A start 激活raid
-S 中止raid
-f 模擬raid中設備損壞
監控: -F
管理:-f, -r, -a
實驗:
建立raid0(性能高,沒有冗餘能力,數據容易丟失 好比:可存放內存和日誌數據 )
一、準備一樣大小的硬盤或分區
參考/dev/sdb硬盤建立一樣大小分區
dd if=/dev/sdb of=/dev/sdd bs=512 count=1
Hex code (type L to list codes): fd
inux raid autodetect
二、建立raid0(-a 自動建立raid設備 -c chunk大小 -n raid成員設備數)
mdadm -C /dev/md0 -a yes -l 0 -c 40 -n 3 /dev/sd{a6,b1,d1}
mdadm -D /dev/md0(可查raid設備詳細信息)
生成的信息寫到文件中才能開機啓動時找到/dev/md0設備並啓動
mdadm -Ds > /etc/mdadm.conf
針對raid0建立文件系統
mkfs.ext4 /dev/md0
掛載
UUID=a8d13d32-c057-4112-8cc7-356ba3321b02 /mnt/md0 ext4 defaults 0 0
mkdir /mnt/md0
mount -a
mount /mnt/md0
測試寫速度
dd if=/dev/zero of=/mnt/md0/file bs=1M count=1024
軟RAID管理
生成配置文件:mdadm –D –s >> /etc/mdadm.conf
中止設備:mdadm –S /dev/md0
激活設備:mdadm –A –s /dev/md0
強制啓動:mdadm –R /dev/md0
刪除raid信息:mdadm --zero-superblock /dev/sdb1
3、 配置邏輯卷
邏輯卷管理器
容許對捲進行方便操做的抽象層,包括從新設定文件系統的大小
容許在多個物理設備間從新組織文件系統
• 將設備指定爲物理卷
• 用一個或者多個物理捲來建立一個卷組
• 物理卷是用固定大小的物理區域(Physical Extent,PE)來定義的
• 在物理捲上建立的邏輯卷
是由物理區域(PE)組成
• 能夠在邏輯捲上建立文件系統
LVM介紹
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的容量(前提是卷組有空餘的空間)
經過交換PE來進行資料的轉換,將原來LV內的PE轉移到其餘的設備中以下降LV的容量,或將其餘設備中的PE加到LV中以加大容量
實驗:縮減Lv
umount /mnt/lv1
fsck -f /dev/vg0/lv1
resize2fs /dev/vg0/lv1 43G
lvreduce -L 43G /dev/vg0/lv1
mount -a
實驗:遷移pv
當物理卷硬盤損壞,將該物理卷搬到該卷組的其它物理卷中
而後繼續下面刪除pv實驗 (模擬物理卷硬盤損壞需刪除pv)
4、設定LVM快照
快照是特殊的邏輯卷,它是在生成快照時存在的邏輯卷的準確拷貝
快照只有在它們和原來的邏輯卷不一樣時纔會消耗空間
在生成快照時會分配給它必定的空間,但只有在原來的邏輯卷或者快照有所改變纔會使用這些空間
當原來的邏輯卷中有所改變時,會將舊的數據複製到快照中。
快照中只含有原來的邏輯卷中更改的數據或者自生成快照後的快照中更改的數據
創建快照的卷大小隻須要原始邏輯卷的15%~20%就夠了,也可使用lvextend放大快照
快照就是將當時的系統信息記錄下來,就好像照相通常,若未來有任何數據改動了,則原始數據會被移動到快照區,沒有改動的區域則由快照區和文件系統共享
因爲快照區與本來的LV共用不少PE的區塊,所以快照去與被快照的LV必須在同一個VG.系統恢復的時候的文件數量不能高於快照區的實際容量
實驗1、建立邏輯卷快照(-p r 只讀權限)
lvcreate -n lv1_snapshot -L 1G -s -p r /dev/vg1/lv1
掛載(centos7不能將快照卷掛載到目錄) mkdir /mnt/lv1_snapshot;mount /dev/vg1/lv1_snapshot /mnt/lv1_snapshot 更改被快照卷的文件 ![](https://s1.51cto.com/images/blog/201712/09/a8fe8b9163e0b19461112c0224ee8803.png?x-oss-process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=)
實驗、使用快照卷還原數據
一、快照卷和被快照卷都要取消掛載
umount /mnt/lv1;umount /mnt/lv1_snapshot
二、使用快照還原(快照卷和被更改後的快照卷合併恢復原始快照卷)lvconvert --merge /dev/vg1/lv1_snapshot