1 文件管理
用戶或組配額管理
為了設定每用戶對文件系統的使用個配額分配,文件系統配額統一管理
配置配額系統
在內核中實現執行
以文件系統為單位啟用
對不同組或者用戶的策略不同
根據塊或者節點進行限制
執行軟限制 soft limit
硬限制 hard limit
如果要實現配額分配需要掛載的文件系統支持 quota功能
在掛載選項中添加 usrquota,grpquota
并且初始化數據庫 quotacheck
quotacheck
-u初始化用戶quota
-g初始化組quota
為用戶開啟或關閉配額 quotaon quotaoff
直接編輯配額 edquota username mount_point對某個用戶進行磁盤配額分配
同時也可以 直接使用shell進行編輯
setquota username soft hard (inode)soft (inode)hard
定義原始標準用戶
edquota -p username 可以直接設定為原始的磁盤配額使用額度
報告配額狀態
用戶調查 quota username
配額概述 repquota /path/to/mount_point 可以查看指定用戶或組對本分區的磁盤使用率
2 RAID
RAID Redundant Array of Inexpensive(Independent) Disks
1988 年由加利福尼亞大學伯克利分校研發
將多個磁盤合成一個"陣列"來提供更好的性能,冗余或兩者都提供
RAID 的好處
提高IO能力
磁盤并行讀寫
提高耐用性
磁盤冗余來實現
級別 多塊磁盤組織在一起的工作方式有所不同
RAID實現的方式
外接式磁盤陣列 通擴展卡提供適配功能
內接式RAID 主板集成RAID控制器
安裝OS前在bios里設置
軟件RAID 通過OS實現
常見的RAID級別
RAID-0 條帶式 即將數據分成多分 分別存儲到不同磁盤但是當有一個磁盤損壞,整個數據將都不可以使用
可用空間 N*min(D1,D2...)
無容錯能力
最少磁盤 2
RAID-1 鏡像 即將數據存儲成兩份 當有一個損壞時,數據不會丟失,還可以繼續使用
讀性能提升,寫性能略有下降
可用空間 1*min(D1,D2...)
有冗余能力
最少磁盤 2
RAID-4 多塊數據盤異或運算,將異或數據存放到專用檢驗盤,但是不能同時壞兩張盤
可用空間(n-1)*min(D1,D2...)
最少磁盤數 3
RAID-5 是RAID0和RAID1 折中的方案,將校驗為存放到不同磁盤上
可用空間(n-1)*min(D1,D2...)
容錯能力最多1塊磁盤損壞
最少磁盤數 3
RAID-10 是先組合raid1然后在此基礎上在組合raid0
讀寫能力提升
可用空間 每一組鏡像最多壞一塊
最少磁盤數 4
軟RAID的實現
mdadm 模塊化工具
創建 -C
裝配 -A
監控 -F
管理 -f(損壞) -r(移除) -a(添加)
-C 創建模式
-n 是有多少塊設備創建此RAID 不加空閑磁盤
-l 指定RAIDjibie
-a {yes|no} 自動創建目標RAID設備的設備文件
-c 指定chunk_size 的大小
-x 指定空閑磁盤的個數
-D 顯示RAID的詳細信息
mdadm -D /dev/md#
-f 將某個磁盤標記為損壞
-a 添加磁盤
mdadm -G /dev/md# -n# -a /dev/sd##
-r 移除磁盤
生成配置文件 mdadm -D -s > /etc/mdadm.conf
停止設備 mdadm -S /dev/md#
激活設備 mdadm -A -s /dev/md#
強制啟動 mdadn -R /dev/md#
刪除RAID信息 mdadm --zero-super-block /dev/sd##
注意需要先將磁盤從raid中移除 在刪除raid信息
1 :創建一個可用空間為1G 的RAID1 設備,文件系統為ext4,有一個空閑盤,開機可自動掛載至/backup 目錄
1 mdadm -C /dev/md0 -l 1 -n 2 -x 1 /dev/sdc1 /dev/sdf1 mkfs.ext4 /dev/
2 編輯 /etc/fstab 添加一行
/dev/md0 /backup ext4 default 0 0
2 :創建由三塊硬盤組成的可用空間為2G 的RAID5 設備,要求其chunk 大小為256k ,文件系統為ext4 ,開機可自掛載至 至/mydata
1 mdadm -C /dev/md1 -l 5 -n 3 -c 256k /dev/sd{c1,d1,e1}
2 編輯 /etc/fstab 添加一行
/dev/md0 /mydata ext4 default 0 0
3 lvm
lvm logical volumn mangement 邏輯卷管理器
允許對多個進行方便操作的抽象層,包括重組設定文件系統的大小
允許在多個設備間重新組織文件系統
將設備指定為邏輯卷
用一個或多個物理卷來創建卷組
物理卷使用固定大小的物理區域(physical Extent,PE) 來定義
在物理卷上創建邏輯卷
可以在邏輯卷上創建文件系統
lvm
dm:device mapper 將多個底層設備塊組織成一個設備的模樣
設備名 /dev/dm-#
軟連接 /dev/mapper/vg_name/lv_name
/dev/mapper/lv_name
/dev/vg_name/lv_name
/dev/vg_name/lv_name
pv
pvcreate 創建pv
pvcreate -v device 帶過程的創建pv
pvremove device
pvmove 移動數據 將放到此分區中的數據放到其他同卷組的其他pv上
vg
vgcreate vgname device[pv]
-s 指定pe大小
vgextend volumegroup device
vgreduce volumegroup device 之前要做 pvremove device
vgremove vgname
lv
lvcreate
-s le 大小
-n lvname
-l pe 的個數
-L lv大小
lvcreate -L # -n lvname vgname
lvremove /dev/vg_name/lvname
擴展邏輯卷
lvextend -L [+]#單位 /dev/vg_name/lvname
lvextend -L 5G /dev/vg_name/lvname
邏輯空間雖然擴大了,但是文件系統大小并沒有變化所以接下來要擴展文件系統大小
e2fsck -f /dev/vg_name/lvname first
resize2fs /dev/vg_name/lvname lvmresize xfs resizevolumn
縮減邏輯卷 lvreduce
先縮減文件系統的邊界大小 然后修改物理邊界大小
1.卸載文件系統
2.e2fsck [xfs_repair] -f /dev/vg_name/lvname
3.resize2fs /dev/vg_name/lvname size
4.lvreduce -L [-]#單位 /dev/vg_name/lvname
5. mount
lvm的遷移
1 取消掛載
2 確保沒有重名的vg vgrename vgnamenewname
3 vgchange -an newname
4 vgexport newname
5 拆除磁盤
插到另一臺機子上
1 插入新主機
pvscan 重新掃描一下 pv
vgimport newname
vgchange -ay newname
1 、創建一個至少有兩個PV 組成的大小為20G 的名testvg的 的VG ;要求PE 大小為16MB, 而后在卷組中創建大小5G 的邏輯卷testlv ;掛載至/users 目錄
1 pvcreate /dev/sdb1 /dev/sdc1
2 vgcreate -b 16MB testvg /dev/sdb1 /dev/sdc
3 lvcreate -L 5G -n testlv testvg
4 mkfs.ext4 /dev/testvg/testlv
2、 新建用戶archlinux ,要求其家目錄為/users/archlinux,而后su 切換至archlinux 用戶,復制/etc/pam.d 目錄至自己
的家目錄
1 useradd archlinux -d /users/archlinux
2 cp /etc/pam.d /users/archlinux
3 、擴展testlv 至7G ,要求archlinux 用戶的文件不能丟失
1 umount fs
2 lvextend -L 7G /dev/tesvg/testlv
3 lvextend -r -L 7G /dev/tesvg/testlv 可以不用在擴展文系統
4 fsck.ext4 -f /dev/testvg/testlv
5 resize2fs /dev/testvg/test/lv 7G
6 mount
4 、收縮testlv 至3G ,要求archlinux 用戶的文件不能丟失
1 umount fs
2 fsck.ext4 -f /dev/testvg/testlv
3 resize2fs /dev/testvg/testlv 3G
4 lvreduce -L 3G /dev/testvg/testlv
5 、對testlv 創建快照,并嘗試基于快照備份數據,驗正快照的功能
lvcreate -L 4G -p r -s -n snap_testvg /dev/testvg/testlv