高級文件系統管理
磁盤配額 quota
限制用戶在某個分區的容量,創建數目的多少!
一般實施在家目錄 /home 下來限制用戶的占用空間
-
限制某一群組所能使用的最大磁盤配額 (使用群組限制):
-
限制某一用戶的最大磁盤配額 (使用用戶限制):它僅能針對整個文件系統來進行設計,無法針對某個單一的
目錄來設計它的磁盤配額。 -
限制某一目錄 (directory, project) 的最大磁盤配額
-
只對一般身份使用者有效:
實現磁盤配額(/home目錄下)
在下面操作前首先把 /home 目錄下的所有文件都要先移出去(用mv 命令 這樣不會改變文件的屬性),注意此操作最好在單用戶模式下進行,不能有普通用戶使用的狀態下
1、啟用配額掛載選項()
vim /etc/fstab usrquota,grpquota
掛載好以后把家目錄下的數據移動過來
2、創建配額數據庫
quotacheck -cug /home
setenforce 0 關閉selinux
3、啟用數據庫
quotaon -p /home 查看是否啟用數據庫
quotaon /home 啟用數據庫
4、配置配額項
edquota qzx
-
block 和 inode 下的表示用戶原先占有的大小,不要改動
-
soft警告大小 hard 最大數據大小
edquota -p qzx mage
以qzx的配額指定 mage 的配額
setquota tom 100000 150000 0 0 /home
5、測試
quota wang
repquota /home 查看配額的分區表
Quota 的使用限制
在 EXT 文件系統家族僅能針對整個 filesystem
核心必須支持 quota :
RAID
提高IO能力:
-
磁盤并行讀寫
提高耐用性;
-
磁盤冗余來實現
級別:多塊磁盤組織在一起的工作方式有所不同
RAID實現的方式:
-
外接式磁盤陣列:通過擴展卡提供適配能力
-
內接式RAID:主板集成RAID控制器
-
安裝OS前在BIOS里配置
-
Software RAID:
Linux RAID
硬盤設備常見的接口類型:
IDE SCSI:15000rpm SATA:6Gbps SAS: USB: SCSI, IDE
RAID:Redundent Array Inexpensive Disks
廉價冗余磁盤陣列
Independent 性能:將I/O分散至多個設備; 冗余:將同一個數據至少存儲在兩個硬盤上; 異或運算: 1 1 0 0 1 1
RAID Level: 僅用于表明其組合方式的不同
raid0 --------- 條帶式 raid0:把數據塊平均分到各個硬盤上去,個存了一半,提供了擴展能力,耐用性下降,不適合于存儲單個數據,當swap,當臨時文件系統,緩存系統,安全性不大的問題 讀、寫均有提升; 無冗余能力; n塊硬盤空間提升n倍; 至少兩塊 raid1 -------------復制每一份 raid1:數據塊在每一個硬盤上都要存一份,如果是2塊硬盤,都是一樣的 寫性能略有下降,讀性能提升; 有冗余能力; 可空間:1*min disk;(取決于最小的那塊硬盤) 至少兩塊
raid4:將三塊以上的硬盤, 組成一個raid,其中有一塊盤做校驗碼的存儲,當有數據塊存儲時,數據平均分散到前兩塊硬盤上,最后一塊存校驗碼(異或值),萬一第二塊數據壞了,可用另一個做異或運算算出來??!壞了后就會降級運行! 單塊盤做校驗,工作壓力較大,很容易出現性能瓶頸??! 有可能有四快盤,最后一個叫熱備盤 讀、寫性能提升; 有冗余能力,但至多壞一塊盤; 空間:(n-1)*disk; 至少三塊盤; raid5:相對于4,校驗輪流存儲,第一塊數據存第一塊盤上,第二塊數據存第二塊盤上,校驗存第三塊盤上,第三塊數據存第二快盤,第四快數據存第三塊盤,校驗存在第一塊盤中 。。。數據會出現左對稱\或右對稱/,一般都是做對稱 \ 比起Raid4而言,無專門校驗盤; 讀、寫性能提升; 有冗余能力,但至多一塊盤; 空間:(n-1)*mindisk; 至少三塊盤; raid6:兩塊盤做校驗盤,校驗碼存兩次(很少用) 有兩個校驗盤,至多允許同時損壞兩塊磁盤; 讀、寫性能提升; 有冗余能力;允許壞兩塊 空間:(n-2)*mindisk; 至少四塊盤; raid10,01:一般用raid10 兩兩一組做成raid1 后做成raid0 至少需要四個盤; 至多允許同時損壞半數的磁盤,但同一組鏡像中兩個磁盤不能同時損壞; 讀、寫性能提升; 有較好的冗余能力; n/2*disk; raid50: 至少需要6個盤; 同組raid5不允許同時壞兩個盤,但不同組可同時各壞一個; 讀、寫性能提升; 有冗余能力;空間: JBOD:將多塊硬盤串聯在一起,當一個設備使用;
實現方式:
硬件raid 軟件raid 軟件raid不常用! md: multi disks mdadm:管理software RAID; 模式化的命令: -A:裝配模式 -C:創建模式 -F:監控模式 管理模式:-f, -r, a -D:顯示指定RAID設備的詳細信息; -C:創建模式專用選項 -n #: 用于創建RAID設備的磁盤設備的個數; -l #: 指明RAID級別; -a yes|no: 是否為正在創建的raid設備自動創建設備文件; -c Chunk_Size:指明CHUNK大??; -x #: 對于有冗余能力的RAID級別,此選項為其指定可用的空閑盤的個數; md設備的設備文件默認為/dev/md#: #僅設備編號,而與級別無關; 設備狀態信息輸出:/proc/mdstat 示例:示例:創建一個大小為10G的RAID5; 創建時要用fdisk -t 調成fd Linux raid auto mdadm -C /dev/md0 -a yes -n 3 -x 1 -l 5 /dev/sda{7,8,9,10} cat /proc/mdstat blkid /dev/md0 查看UUID等信息 mdadm -D 查看更詳細的信息 recovery 對齊 注意:不應該使用同一個磁盤上的多個分區創建raid設備; 標記某個為損壞 mdadm /dev/md0 -f/dev/sda7 watch -n1 'cat /proc/mdstat' mdadm /dev/md0 -r /dev/sda7 ---移除一塊硬盤 mdadm /dev/md0 -a /dev/sda7 ----添加sda7
管理命令的使用:
mdadm -D /dev/md#:查看指定設備的詳細信息 mdadm -a /dev/md# /dev/DEVICE: 在指定的md設備添加一個塊設備; mdadm -r /dev/md# /dev/DEVICE: 在指定的md設備上移除一個塊設備; mdadm -f /dev/md# /dev/DEVICE: 手動標記指定md設備上的某塊設備為faulty狀態; 停止軟RAID: mdadm -S /dev/md#:停止指定的RAID設備;將來使用時需要“裝配(-A)”; 重新裝配指定的軟RAID: mdadm -A /dev/md# /dev/DEVICES 可能會讀取配置文件:/etc/mdam.conf
watch命令的用法:
watch [-n #] 'COMMAND'
交互式查看,周期性地執行指定的COMMAND;- -n # : 指明間隔時長;
練習:
創建由三塊硬盤組成的可用空間為4G的RAID5設備留一個做備用,要求其chunk大小為256k,文件系統為ext4,開機可自動掛載至/mydata目錄, 1、fdisk t fd 創建4個分區,并用t選項更改每個分區的卷標為fd raid分區 2、創建raid設備 mdadm -C /dev/md0 -a yes -l 5 -n 3 -x1 /dev/sdd{1,2,3,4} mdadm -D /dev/md0 查看是否掛載成功 cat /proc/mdstat 3、mkfs.ext4 /dev/md0 格式化分區 4、vim /etc/fstab 改配置文件以下面的把磁盤掛在上 UUID="3bcbcca9-1e9e-40fb-9d23-b7f4c6a720e9" /mnt/raid ext4 defaults 0 0 用 mount -a 重讀分區表 5、mdadm -Ds /dev/md0 > /etc/mdadm.conf 生成配置文件 mdadm -A /dev/md0 啟動raid 6、測試 mdadm /dev/md0 -f /dev/sdd1 模擬損壞 mdadm /dev/md0 -r /dev/sdd1 刪除成員 mdadm /dev/md0 -a /dev/sdd1 增加 mdadm -G /dev/md0 -n 6 -a /dev/sdd4 增加成員 7、刪除raid umount /mnt/raid mdadm -S /dev/md0 停止raid rm -f /etc/mdadm.conf vi /etc/fstab fdisk /dev/sda 8、如果還是清楚不干凈 mdadm --zero-superblock /dev/sdd1 注意:有冗余能力的RAID僅是為了避免因硬件損壞而導致業務中止,也能避免因硬件損壞而導致數據丟失;它不能取代備份的功能;
原創文章,作者:qzx,如若轉載,請注明出處:http://www.www58058.com/42228
文章對raid的各個級別工作方式整理的較為完整,通過圖片清晰的展示了各個級別的工作模式,生成環境中一般軟raid的不用,但是面試中常常需要我們能講清楚他們之間的關系。