文章目錄
Linux運維——高級文件系統管理
一、磁盤配額
1、磁盤配額的概念
- 控制用戶或用戶組使用磁盤空間以及文件個數的功能
2、磁盤配額條件
- 內核必須支持磁盤配額
grep CONFIG_QUOTA /boot/config-3.10.0-1062.12.1.el7.x86_64
- 系統中必須默認安裝了quota工具,Linux默認是安裝的
rpm -qa | grep quota
- 安裝
yum install quota
要支持磁盤配額的分區必須開啓磁盤配額功能,這個功能需要手動開啓。
3、概念
- 用戶配額和組配額
- 磁盤容量限制和文件個數限制
- 軟限制和硬限制
- 寬限時間
如果用戶的空間佔用數處於軟限制和硬限制之間,系統會在用戶登錄時警告用戶磁盤將滿,這個時間就是寬限時間,默認爲7天。如果達到寬限時間,用戶的磁盤佔用量還超過軟限制,那麼軟限制就會升級爲硬限制。
4、磁盤配額示例
4.1分區
- 將一個 5 GB 的分區掛載到/disk目錄中
4.2建立用戶和用戶組
groupadd test
useradd -G test user1
useradd -G test user2
useradd -G test user3
passwd user1
passwd user2
passwd user3
4.3在分區中開啓磁盤配額
mount -o remount,usrquota,grpquota /disk
# 重新掛載/disk分區,並加入用戶和用戶組的磁盤配額功能
- 永久生效需要修改
/etc/fstab
文件
[UUID號] [要掛載到的目錄] [文件系統格式] defaults,usrquota,grpquota 0 0
4.4建立磁盤配額文件
quotacheck [選項] [分區名]
-u, --user 檢查用戶文件
-g, --group 檢查小組文件
-c, --create-files 創建新的配額文件
-b, --backup 創建舊配額文件的備份
-f, --force 強制檢查,即使取消了配額
-i, --interactive 交互模式
-n, --use-first-dquot 使用第一個拷貝的複製結構
-v, --verbose 打印更多的信息
-d, --debug 打印更多信息
-m, --no-remount 不以只讀方式重新安裝文件系統
-M, --try-remonut 嘗試以只讀方式重新掛載文件系統,即使失敗也要繼續
-R, --exclude-root 檢查所有文件系統時排除root用戶
-F, --format=formatname 檢查特定格式的配額文件
-a, --all 檢查所有文件系統
-h, --help 幫助信息
-V, --version 版本信息
使用此功能需要關閉
selinux
# 獲取當前狀態
getenforce
# 暫時關閉
setenforce 0
# 開啓
setenforce 1
# 永久關閉需要修改/etc/selinux/config文件
SELINUX=disabled
- 建立磁盤配額文件
quotacheck -avu
4.5設置用戶配額限制
edquota [選項] [用戶名或組名]
-u [用戶名] 設定用戶配額
-g [組名] 設定組配額
-t 設定寬限時間
-p 複製配額限制。如果已經設定好某個用戶的配額限制,其他用戶的配額限制如果和這個用戶相同,那麼可以直接複製配額限制,而不用都手工配置
- 設置
user1
的配額
edquota -u user1
Disk quotas for user user1 (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/sdb1 0 40000 50000 0 8 10
4.6啓動和關閉配額
啓動配額:
quotaon [選項] [分區名]
-a 依據/etc/mtab文件啓動所有的配額分區。如果不加-a需要指定分區名
-u 啓動用戶配額
-g 啓動組配額
-v 顯示啓動過程的信息
- 開啓
quotaon -vu /disk/
關閉配額:
quotaoff [選項] [分區名]
命令選項與quotaon相同
- 關閉
quotaoff -vu /disk/
4.7磁盤配額查詢
- 使用
quota
查詢用戶或用戶組的配額:
quota [選項] [用戶名或組名]
-u [用戶名] 查詢用戶的配額
-g [組名] 查詢組的配額
-v 顯示詳細信息
-s 以習慣單位顯示容量大小,如M,G
quota -uvs user1
- 使用
repquota
查詢文件系統配額
repquota [選項] [分區名]
-a 依據/etc/mtab文件查詢配額,不加-a選項時需要加分區名
-u 查詢用戶配額
-g 查詢組配額
-v 顯示詳細信息
-s 以習慣單位顯示容量大小
repquota -auvs
4.8測試
dd if=/dev/zero of=/disk/test bs=1M count=60
sdb1: warning, user block quota exceeded.
sdb1: write failed, user block limit reached.
dd: 寫入"/disk/testfile" 出錯: 超出磁盤限額
記錄了49+0 的讀入
記錄了48+0 的寫出
51195904字節(51 MB)已複製,0.147113 秒,348 MB/秒
4.9非交互設定用戶磁盤配額
setquota -u 用戶名 容量軟限制 容量硬限制 個數軟限制 個數硬限制 分區名
二、LVM 邏輯卷管理
1、簡介
LVM 是 Logical Volume Manager 的簡稱,中文爲邏輯卷管理
- 物理卷(PV,Physical Volume):就是真正的物理硬盤或分區
- 卷組(VG,Volume Group):將多個物理卷合起來就組成了卷組,組成同一個卷組的物理卷可以是同一個硬盤的不同分區,也可以是不同硬盤上的不同分區。我們可以把卷組想象爲一個邏輯硬盤。
- 邏輯卷(LV,Logical Volume):卷組是一個邏輯硬盤,硬盤必須分區之後才能使用,這個分區我們稱爲邏輯卷。邏輯卷可以格式化和寫入數據,我們可以把邏輯卷想象成爲分區。
- 物理擴展(PE,Physical Extend):PE是用來保存數據的最小單元,我們的數據實際上都是寫入PE當中,PE的大小是可以配置的,默認是4 MB。
2、建立LVM的步驟
- 首先需要將物理硬盤分成分區,當然也可以是整塊物理硬盤
- 然後把物理分區建立成爲物理卷(PV),也可以直接把整塊硬盤都建立爲物理卷
- 將物理卷整合成爲卷組(VG),卷組就可以動態的調整大小,可以把物理分區加入卷組,也可以把物理分區從卷組中刪除
- 最後就是把卷組在劃分成爲邏輯卷(LV),後進行格式化和掛載
3、物理卷管理
3.1硬盤分區
創建方式就是使用fdisk交互命令,不過需要注意的是分區的系統ID不再是Linux默認的分區,需要修改爲LVM的ID號8e。
3.2建立物理卷
pvcreate [設備文件名]
在創建物理卷時,可以將一個分區創建爲物理卷,也可以將一個磁盤創爲物理卷
3.3刪除物理卷
pvremove [設備文件名]
3.4查看物理卷
pvscan # 信息較少
pvdisplay # 可以查看全部信息
4、卷組管理
4.1建立卷組
vgcreate [選項] 卷組名 物理卷名
-s 指定PE的大小
4.2查看卷組
vgscan # 命令可查看內容較少
vgdisplay # 可以查看全部信息
4.3增加捲組容量
vgextend 卷組名 要添加的設備文件名
4.4減少卷組容量
vgreduce 卷組名 要移除的設備文件名
4.5刪除卷組
vgremove 卷組名
5、邏輯卷管理
5.1建立邏輯卷
lvcreate [選項] [-n 邏輯卷名] 卷組名
-L 指定邏輯卷大小,單位爲MB,GB,TB等
-l 按照PE個數指定邏輯卷大小
-n 邏輯卷名,指定邏輯卷名
5.2查看邏輯卷
lvscan # 命令可查看內容較少
lvdisplay # 可以查看全部信息
5.3調整邏輯卷大小
lvresize [選項] 邏輯卷設備文件名
-L 設置容量大小,單位 KB,GB,TB等,使用+表示增加使用-表示減少。如果直接寫大小,表示設置邏輯卷爲指定大小
-l 按照PE的個數調整邏輯卷大小
- 使修改生效
resize2fs [選項] [設備文件名] [調整的大小]
-f 強制調整
5.4刪除邏輯卷
lvremove 邏輯卷設備文件名