設定文件系統配額node
1.分區掛載選項:linux
usrquota、grpquota (能夠設置爲分區開機自動掛載選項)shell
2.初始化數據庫:數據庫
quotacheck -cug dirnamevim
-u 生成user.quota文件centos
-g 生成group.quota文件app
3.爲用戶設定配額:dom
quotaon、quotaoff dirname 開啓/取消配額ide
edquota username 直接編輯當前用戶自身配額性能
-u username 查看其它用戶磁盤配額
setquota username 4096 5120 40 50 /foo 在shell中直接編輯
-p user1 user2 定義原始標準用戶
4.報告配額狀態:
quota 查看當前用戶配額
quota username 查看指定用戶配額
requota 掛載點 配額概述
warnquota 警報
-u usename (給指定用戶發郵件,在/var/mail/目錄下查看)
-g groupname (當組的配額超出時給組管理員發郵件,管理員需在/etc/quotagrpadmin 中指定,格式爲: groupname:username)
--------------------※實驗一:用戶磁盤配額※-----------------------
①vim /etc/fstab 在/home後設置defaults,usrquota(用戶配額),grpqu(組配額)
②quotacheck -cug /home 生成quota文件
③quotaon /home 開啓quota
④cd username 切換至用戶的家目錄
⑤edquota username 編輯用戶quota,其內容以下
[root@centos6 caocao]# edquota -u caocaoDisk quotas for user caocao (uid 508): 已經有的block大小(kb) 軟限額 硬限額 已經有的inode數量 Filesystem blocks soft hard inodes soft hard /dev/sda6 64 102400 122880 16 200 280
⑥quota -u username 查看用戶配額
[root@centos6 ~]# quota -u caocaoDisk quotas for user caocao (uid 508): 寬限天數(當超出這個天數後,超出配額的文件將會被強制刪除) Filesystem blocks quota limit grace files quota limit grace /dev/sda6 76 102400 122880 17 200 280
⑦su - username(必須交互式登陸用戶才能測試出來配額設定結果)
測試caocao用戶的配額設定:
[root@centos6 home]# su - caocao[caocao@centos6 ~]$ for i in {18..199};do touch test$i;done 建立[caocao@centos6 ~]$ quotaDisk quotas for user caocao (uid 508): Filesystem blocks quota limit grace files quota limit grace /dev/sda6 92224 102400 122880 199 200 280 [caocao@centos6 ~]$ touch test200 [caocao@centos6 ~]$ quota Disk quotas for user caocao (uid 508): Filesystem blocks quota limit grace files quota limit grace /dev/sda6 92224 102400 122880 200 200 280 [caocao@centos6 ~]$ touch test201 #超過限額sda6: warning, user file quota exceeded.[caocao@centos6 ~]$ quota #當超過限額時,file位置出現*,grace出現提示位Disk quotas for user caocao (uid 508): Filesystem blocks quota limit grace files quota limit grace /dev/sda6 92224 102400 122880 201* 200 280 7days
--------※ 實驗二:遷移/home(將home由/遷移至某一分區)※--------
1.知識點及注意事項:
①生產環境中可能存在不一樣用戶同時在線訪問家目錄,這會致使家目錄掛載失敗從而遷移失敗,因此,須要切換到單用戶模式,阻止其餘用戶在線訪問。
init 0 關機
1 單用戶模式
3 多用戶模式
4 用戶自定義
5 多用戶+圖形化
6 重啓
②此過程當中須要將新建分區掛載兩次。第一次時由於要將/home數據寫入分區。第二次將分區掛載到/home下。
2.實驗步驟:
init 0 進入單用戶模式
vim /etc/selinux/config =permissive 關閉selinux
fdisk /dev/sda 建立/dev/sda6 (注意當sda5爲拓展分區時,不要選擇系統默認起始柱面,而要本身選擇起始柱面)
mkfs.ext4 /dev/sda6
df 查看/home是否被掛載,如掛載現將其卸載
mount /dev/sda6 /mnt 掛載分區實現數據遷移
cp -a /home/* /home.bak 備份/home(別忘了多備份一份數據偶)
mv /home/* /mnt 將/home下的文件移到/dev/sda6下
rm -rf /home 刪除/home
umount /dev/sda6 卸載sda6
mkdir /home
mount /dev/sda6 /home 將sda6掛載到/home下
vim /etc/fstab 設置開機自動掛載sda6到/home,新增內容以下,能夠經過blkid 分區名 來查看UUID。
UUID="6c8be0be-d54c-4bd6-a6cb-8b6f11aacc23" /home ext4 defaults 0 2
此時,/home下擁有以前的全部數據,且掛載到了sda6下,完成遷移
reboot 重啓
當home目錄下數據較少時,咱們可經過遷移home目錄,將/home掛載到更大的分區上的方法來實現/home的擴容,但實際生產環境中可能用戶家目錄下的數據量會很是之龐大,遷移起來將會花費很是多的時間,那咱們能不能在不遷移用戶家目錄的狀況下來實現擴容呢,毫無疑問,答案是確定的,再講完下面的RAID後,LVM就會幫咱們解決這個老大難問題。
RAID
一:什麼是raid??
多個磁盤合成一個「陣列」來提供更好的性能、冗餘,或者二者都提供。
二:經常使用raid類型及特色:
三:mdadm 建立軟RAID
①格式:
mdadm [mode] <raiddevice> [options] <devices>
②mode&&options
-C --create 建立
options:
-n 所使用的塊設備的數量
-l 指定raid級別
-a{yes/no} 自動建立raid設備的設備文件
-c chunk_size 指定chunk大小
-x 指明空閒盤的個數(熱備盤) raid0 沒有熱備盤
-G raid設備 -n # -c 塊設備名 往raid中添加設備(通常都要從新指定 -n)
-A 裝配
-F 監控
-f,-r,-a 管理
-f 標記指定磁盤爲損壞
-a 添加磁盤
-r 移除磁盤
③<raiddevice>:/dev/md#
④<devices>:任意的塊設備(磁盤或磁盤分區)
注意:當使用分區組成raid設備時,要先將其分區格式轉換成raid格式,例如咱們想要新建raid0設備,有兩個分區組成,步驟以下:
1.轉換分區格式
[root@centos6 ~]# fdisk /dev/sdbCommand (m for help): tSelected partition 1Hex code (type L to list codes): fdCommand (m for help): p Device Boot Start End Blocks Id System/dev/sdb1 1 1306 10490413+ fd Linux raid autodetect #轉換成功,保存退出同上再轉換/dev/sdc1爲raid格式
2.建立raid
mdadm -C
⑤查看raid信息
mdadm -D /dev/md# 查看指定RAID的詳細信息(detail)
cat /proc/mdstat 查看md的進度
配置軟RAID
①建立一個raid5類型,md0
mdadm -C /dev/md0 -a yes -l 5 -n 3 -x 1 /dev/sdb1 /dev/sdc1 /dev/sdd1 /dev/sde1
②格式化
mkfs.ext4 /dev/md0
③檢測
④檢查raid設備的情況
[root@centos6 ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Thu Aug 10 04:24:47 2017
Raid Level : raid5
Array Size : 41910272 (39.97 GiB 42.92 GB)
Used Dev Size : 20955136 (19.98 GiB 21.46 GB) #熱備盤大小
Raid Devices : 3
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Thu Aug 10 04:27:00 2017
State : clean
Active Devices : 3
Working Devices : 4
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 512K
Name : centos6.9:0 (local to host centos6.9)
UUID : eff8381d:fb18016b:ee06c91d:ef2a7086
Events : 20
Number Major Minor RaidDevice State
0 8 16 0 active sync /dev/sdb
1 8 32 1 active sync /dev/sdc
4 8 48 2 active sync /dev/sdd
3 8 64 - spare /dev/sde #熱備盤
⑤往raid中添加新設備
mdadm /dev/md0 -a /dev/sdf1
軟raid的檢測和修復
①模擬故障
mdadm /dev/md0 -f /dev/sda1 模擬磁盤故障
mdadm /dev/md0 –r /dev/sda1 移除磁盤
②修復故障步驟:
1)替換出故障的磁盤而後開機
2)在備用驅動器上重建分區
3) mdadm /dev/md0 -a /dev/sda1 向raid設備添加磁盤
軟raid管理:
生成配置文件:
mdadm -D -s >/etc/mdada.conf 將全部的raid信息保存到配置文件
mdadm -D -s raid名 >>/etc/mdada.conf 將指定的raid的信息追加到配置文件
中止設備:mdadm –S /dev/md0 (stop)
激活設備:mdadm –A –s /dev/md0
強制啓動:mdadm –R /dev/md0
刪除raid信息:mdadm --zero-superblock /dev/sdb1
注意:
當沒有生成配置文件時,停掉raid設備後再次重啓時須要指定組成RAID的磁盤名,爲了方便重啓raid,咱們能夠生成配置文件,這樣在重啓時就不須要指定磁盤,具體步驟以下:
[root@centos6 ~]# mdadm -A /dev/md0 /dev/sdb /dev/sdc /dev/sdd /dev/sde #沒有生成配置文件以前啓動md0mdadm: /dev/md0 has been started with 3 drives and 1 spare.[root@centos6 ~]# mdadm -Ds /dev/md0 >> /etc/mdadm.conf #生成配置文件[root@centos6 ~]# mdadm -S /dev/md0 #再次關閉md0mdadm: stopped /dev/md0[root@centos6 ~]# mdadm -A /dev/md0 #不加參數,直接重啓md0,重啓成功mdadm: /dev/md0 has been started with 3 drives and 1 spare.
常見raid操做:刪除raid
1.查看raid是否掛載,如掛載,卸載raid2.查看raid的成員:[root@centos6 ~]# mdadm -D /dev/md03.關閉raid[root@centos6 ~]# mdadm -S /dev/md0 4.刪除raid信息:[root@centos6 ~]# mdadm --zero-superblock /dev/sdb[root@centos6 ~]# mdadm --zero-superblock /dev/sdc[root@centos6 ~]# mdadm --zero-superblock /dev/sdd[root@centos6 ~]# mdadm --zero-superblock /dev/sde5.刪除raid配置文件中該raid信息[root@centos6 ~]# vim /etc/mdadm.conf
配置邏輯卷
一:邏輯卷原理
將幾個物理分區(或磁盤)經過軟件組合成一塊獨立的大磁盤(VG),再將VG分區造成可以使用的分區(LV),最終就可以掛載使用。
二:PV PE VG LV 是什麼??
PE 物理拓展塊
一個PE塊默認爲4MB,vg中最多包含65534個PE,即一個VG大小爲256G。調整PE大小能夠影響VG大小(文件系統的擴大和縮小和他有關!!!!)
PV 物理卷:
經過fdisk將分區格式化爲8e(LVM)格式,createpv將格式化後的分區轉化爲最底層的PV,以後經過它建立VG。
VG 邏輯卷組
由多個物理的磁盤或分區組成的大磁盤(由PV組成)
LV 邏輯卷
由VG切割而成,而LV不能隨意指定大小,由於LV也是由PE組成,因此只能是4的倍數。格式爲‘/dev/vgname/lvname’。
如圖一,能夠直觀反應邏輯卷彈性更改文件系統容量原理:
①VG的拓展原理:新增PV,經過這些PV使VG能夠獲取更多的PE。
②LV的拓展和縮減原理:添加所屬VG中沒有使用的PE;將LV內沒有使用的PE轉移到其餘設備以下降容量。
三:LV各組件的實現流程:
※ PV階段:
pvcreate 將物理分區新建成pv
pvscan/pvs 顯示已有的pv
pvdisplay 詳細顯示已有的pv狀態
pvremove 刪除pv(將分區的pv屬性刪除)
※ VG階段(vgname自定義):
vgcreate 新建vg
-s 指定PE大小
vgscan 顯示系統已有vg
vgdisplay 湘詳細顯示vg信息
vgextend 拓展vg(pvs查看pv,添加沒有使用的pv到vg)
格式:vgextend vgname pvname
vgreduce 縮減vg(刪除pv到)
vgchange 設置vg是否啓動(active)
vgremove 刪除一個vg
※ LV階段:
lvcreate 新建lv
格式:lvcreate -L lv容量 -n lvname vgname(說明lv佔用着vg中的PE)
注意:lv容量應該是PE大小的倍數
lvscan 顯示系統中已有lv
lvdisplay 詳細顯示lv
lvextend 增容lv
lvreduce 降容lv
lvremove 刪除lv
lvresize 對lv進行容量大小調整
注:vg名爲自定義。但lv名爲/dev/vgname/lvname
到這裏,lv已經建立成功。lv建立成功後就能進入咱們熟悉的文件系統階段了。
※ lv分區的格式化、掛載。
------------------------實驗三:拓展邏輯卷-------------------------
囉嗦兩句:
不一樣於文件系統中的普通磁盤分區,lv分區能夠經過從vg中得到PE來實現擴容,這在真實生產環境中能夠說是很是方便,下面就讓咱們看看具體操做步驟吧
1.fdisk 新建8e分區
2.pvcreate 新建pv
3.vgextend 將pv加到lv所屬vg中
3.lvresize 將新加入的pv中的PE加入到lv中
4.resize2fs 將文件系統的容量確實增長
題內話: resize2fs命令格式
resize2fs [ -f ] devicename [size]
能夠不加size選項,當加size時,就必須跟上大小單位,如M、G等,表示只向文件系統中添加指定大小的數據。
若是是xfs文件系統 用xfs_growfs,格式以下:
xfs_growfs /dev/vg01/lv01
具體操做過程以下:
1.[root@localhost ~]# pvs #查看已有pv
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg1 lvm2 a-- 4.98g 0
/dev/sdb2 vg1 lvm2 a-- 4.98g 4.41g
2.[root@localhost ~]# fdisk -l /dev/sdb #新建 /dev/sdb3
Device Boot Start End Blocks Id System
/dev/sdb1 2048 10487807 5242880 8e Linux LVM
/dev/sdb2 10487808 20973567 5242880 8e Linux LVM
/dev/sdb3 20973568 31459327 5242880 8e Linux LVM
3.[root@localhost ~]# pvcreate /dev/sdb3 #建立pv
Physical volume "/dev/sdb3" successfully created.
[root@localhost ~]# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb1 vg1 lvm2 a-- 4.98g 0
/dev/sdb2 vg1 lvm2 a-- 4.98g 4.41g
/dev/sdb3 lvm2 --- 5.00g 5.00g
4.[root@localhost ~]# vgextend vg1 /dev/sdb3 #拓展vg
[root@localhost ~]# vgs
VG #PV #LV #SN Attr VSize VFree
vg1 3 1 0 wz--n- 14.95g 9.39g
5.[root@localhost ~]# vgdisplay #查看vg中PE的使用狀況
--- Volume group ---
VG Name vg1
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 3
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size 14.95 GiB
PE Size 16.00 MiB
Total PE 957 PE總數
Alloc PE / Size 356 / 5.56 GiB 已使用PE個數,還有601個空餘
Free PE / Size 601 / 9.39 GiB
VG UUID HOZg8f-bPOD-DovL-t3TQ-Xhsp-pJls-4QewSF
6.[root@localhost ~]# lvresize -l +200 /dev/vg1/lv1 #lv擴容
7.[root@localhost ~]# lvdisplay #查看lv擴容後的大小
--- Logical volume ---
LV Path /dev/vg1/lv1
LV Name lv1
VG Name vg1
LV UUID iAzH6J-xhP6-L63H-JP6x-wOXM-Zay1-rVq36h
LV Write Access read/write
LV Creation host, time localhost.localdomain, 2017-08-27 22:38:07 +0800
LV Status available
# open 1
LV Size 8.69 GiB
Current LE 556
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 8192
Block device 253:0
10.[root@localhost ~]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 47G 5.2G 42G 11% /
devtmpfs 898M 0 898M 0% /dev
tmpfs 912M 144K 912M 1% /dev/shm
tmpfs 912M 9.1M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 1.9G 169M 1.7G 9% /boot
/dev/sda3 47G 3.7G 43G 8% /app
tmpfs 183M 20K 183M 1% /run/user/0
/dev/sr0 7.8G 7.8G 0 100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vg1-lv1 5.4G 23M 5.1G 1% /mnt/lv1
到這裏,lv擴容已經完成,但真實文件系統中的容量並無增長,這是別忘了咱們要重置文件系統的lv大小
11.[root@localhost ~]# resize2fs /dev/mapper/vg1-lv1 #重置文件系統中lv大小
12.[root@localhost ~]# df -h #拓展成功
/dev/mapper/vg1-lv1 8.5G 25M 8.0G 1% /mnt/lv1