1.一、quota 針對網絡服務的設計:node
1.二、quota針對 Linux 系統主機上面的設定:docker
二、quota使用上的限制:centos
三、quota 針對 XFS filesystem 的限制:網絡
分別針對用戶、羣組或個別目錄 (user, group & project) | XFS 文件系統的 quota 限制中,主要是針對羣組、我的或單獨的目錄進行磁盤使用率的限制! | |
容量限制或文件數量限制 (block 或 inode) | 咱們在第七章談到文件系統中,說到文件系統主要規劃爲存放屬性的 inode 與實際文件數據的block 區塊,Quota 既然是管理文件系統,因此固然也能夠管理 inode 或 block 囉! 這兩個管理的功能爲: | 限制 inode 用量:能夠管理使用者能夠創建的『文件數量』 |
限制 block 用量:管理用戶磁盤容量的限制,較常見爲這種方式 | ||
柔性勸導與硬性規定 (soft/hard) | 既然是規範,固然就有限制值。不論是 inode/block ,限制值都有兩個,分別是 soft 與 hard。 一般 hard 限制值要比 soft 還要高。舉例來講,若限制項目爲 block ,能夠限制 hard 爲 500MBytes而 soft 爲 400MBytes。這兩個限值的意義爲: | hard:表示使用者的用量絕對不會超過這個限制值,以上面的設定爲例, 用戶所能使用的磁盤容量絕對不會超過 500Mbytes ,若超過這個值則系統會鎖住該用戶的磁盤使用權 |
soft:表示使用者在低於 soft 限值時 (此例中爲 400Mbytes),能夠正常使用磁盤,但若超過 soft 且低於 hard的限值 (介於 400~500Mbytes 之間時),每次用戶登入系統時,系統會主動發出磁盤即將爆滿的警告訊息, 且會給予一個寬限時間 (grace time)。不過,若使用者在寬限時間倒數期間就將容量再次下降於 soft 限值之下,則寬限時間會中止 | ||
會倒數計時的寬限時間 (grace time) | 剛剛上面就談到寬限時間了!這個寬限時間只有在用戶的磁盤用量介於 soft 到 hard 之間時,纔會出現且會倒數的一個咚咚! 因爲達到 hard 限值時,用戶的磁盤使用權可能會被鎖住。爲了擔憂用戶沒有注意到這個磁盤配額的問題, 所以設計了 soft 。當你的磁盤用量即將到達 hard 且超過 soft 時,系統會給予警告,但也會給一段時間讓用戶自行管理磁盤。 通常預設的寬限時間爲七天,若是七天內你都不進行任何磁盤管理,那麼 soft 限制值會即刻取代 hard 限值來做爲 quota的限制 |
[root@study ~]# xfs_quota -x -c "指令" [掛載點]
選項與參數:app
指令:spa
[root@study ~]# xfs_quota -x -c "limit [-ug] b[soft|hard]=N i[soft|hard]=N name"
[root@study ~]# xfs_quota -x -c "timer [-ug] [-bir] Ndays"
選項與參數:設計
書上命令:3d
[root@study ~]# umount /home
實操命令:server
[root@localhost lib]# umount /home
報錯:
umount: /home:目標忙。
(有些狀況下經過 lsof(8) 或 fuser(1) 能夠
找到有關使用該設備的進程的有用信息)
解決辦法:重啓電腦
書上命令:
[root@study ~]# xfs_quota -x -c "timer -ug -b 14days" /home
報錯:
timer [-bir] [-g|-p|-u] value -- set quota enforcement timeouts
解決辦法:u和g參數分開寫:
[root@study ~]# xfs_quota -x -c "timer -u -b 14days" /home
[root@study ~]# xfs_quota -x -c "timer -g -b 14days" /homeblog
磁盤陣列全名是『 Redundant Arrays of Inexpensive Disks, RAID 』,英翻中的意思是:容錯式廉價磁盤陣列。 RAID 能夠透過一個技術(軟件或硬件),將多個較小的磁盤整合成爲一個較大的磁盤裝置;而這個較大的磁盤功能可不止是儲存而已,他還具備數據保護的功能呢。
LVM 的重點在於能夠彈性的調整 filesystem 的容量!
Physical Volume, PV, 物理卷
Volume Group, VG, 卷用戶組
Physical Extent, PE, 物理擴展區
Logical Volume, LV, 邏輯卷。爲了方便用戶利用 LVM 來管理其系統,所以 LV 的裝置文件名一般指定爲『 /dev/vgname/lvname 』的樣式。
圖:PE 與 VG 的相關性圖示
fdisk 分區
任務 | PV 階段 | VG 階段 | LV 階段 | filesystem | |
XFS |
EXT4 | ||||
搜尋(scan) | pvscan | vgscan | lvscan | lsblk, blkid | |
創建(create) | pvcreate | vgcreate | lvcreate | mkfs.xfs | mkfs.ext4 |
列出(display) | pvdisplay | vgdisplay | lvdisplay | df, mount | |
增長(extend) | vgextend | lvextend (lvresize) | xfs_growfs | resize2fs | |
減小(reduce) | vgreduce | lvreduce (lvresize) | 不支援 | resize2fs | |
刪除(remove) | pvremove | vgremove | lvremove | umount, 從新格式化 | |
改變容量(resize) | lvresize | xfs_growfs | resize2fs | ||
改變屬性(attribute) | pvchange | vgchange | lvchange | /etc/fstab, remount |
LVM 必須要核心有支持且須要安裝 lvm2 這個軟件,好佳在的是, CentOS 與其餘較新的distributions 已經預設將 lvm 的支持與軟件都安裝穩當了!
書上要求:
rhsca7 d4:請按照如下要求調整本地邏輯卷lv0的容量:
[root@localhost ~]# df
文件系統 1K-塊 已用 可用 已用% 掛載點
/dev/mapper/centos-root 52403200 27212792 25190408 52% /
devtmpfs 3834528 0 3834528 0% /dev
tmpfs 3852172 31628 3820544 1% /dev/shm
tmpfs 3852172 1292 3850880 1% /run
tmpfs 3852172 0 3852172 0% /sys/fs/cgroup
/dev/sda2 1038336 181036 857300 18% /boot
/dev/sda1 204580 9956 194624 5% /boot/efi
/dev/mapper/centos-home 914628260 2193560 912434700 1% /home
tmpfs 770436 56 770380 1% /run/user/1000
overlay 52403200 27212792 25190408 52% /var/lib/docker/overlay2/c673328bd7e692ab454f85be98e8fe5c9fcbf07444e8092e5239faeda5f3dab8/merged
shm 65536 0 65536 0% /var/lib/docker/containers/468e1aeb6353ad39a5651f64e6d632190f6a4f8e3345b5dd8180f37c30777931/mounts/shm
tmpfs 3852172 8 3852164 1% /var/lib/docker/containers/468e1aeb6353ad39a5651f64e6d632190f6a4f8e3345b5dd8180f37c30777931/mounts/secrets
哪些須要刪除,和能刪除?
重裝系統後:
[weis@study ~]$ df
文件系統 1K-塊 已用 可用 已用% 掛載點
/dev/mapper/centos-root 10475520 4741544 5733976 46% /
devtmpfs 3916960 0 3916960 0% /dev
tmpfs 3934604 12448 3922156 1% /dev/shm
tmpfs 3934604 9452 3925152 1% /run
tmpfs 3934604 0 3934604 0% /sys/fs/cgroup
/dev/sda2 1038336 160604 877732 16% /boot
/dev/mapper/centos-home 5232640 876772 4355868 17% /home
/dev/sda1 51082 9928 41154 20% /boot/efi
tmpfs 786924 4 786920 1% /run/user/42
tmpfs 786924 44 786880 1% /run/user/1000
用 fdisk /dev/sda仍是gdisk /dev/sda?
解決辦法:
[root@localhost ~]# lsblk #列出本系統下的全部磁盤與磁盤內的分區信息
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931.5G 0 disk
├─sda1 8:1 0 200M 0 part /boot/efi
├─sda2 8:2 0 1G 0 part /boot
└─sda3 8:3 0 930.3G 0 part
├─centos-root 253:0 0 50G 0 lvm /
├─centos-swap 253:1 0 7.6G 0 lvm [SWAP]
└─centos-home 253:2 0 872.7G 0 lvm /home
[root@localhost ~]# parted /dev/sda print
Model: ATA TOSHIBA MQ01ABD1 (scsi)
Disk /dev/sda: 1000GB
Sector size (logical/physical): 512B/4096B
Partition Table: gpt #對應gdisk分區命令
Disk Flags:
Number Start End Size File system Name 標誌
1 1049kB 211MB 210MB fat16 EFI System Partition 啓動
2 211MB 1285MB 1074MB xfs
3 1285MB 1000GB 999GB lvm
分區:
1 parted /dev/sda print
2 gdisk /dev/sda
n 回車 回車 +1G 8e00 重複4次建立4個分區 p w y
3 partprobe -s
4 df
5 lsblk
6 gdisk -l /dev/sda
LV的建立:
7 pvscan
8 pvcreate /dev/sda{4,5,6,7}
9 pvscan
10 pvdisplay /dev/sda3
11 pvdisplay /dev/sda4
12 vgcreate -s 16M vbirdvg14-3-2 /dev/sda{4,5,6}
13 vgscan
14 pvscan
15 vgdisplay vbirdvg14-3-2
16 lvcreate -L 2G -n vbirdlv14-3-2 vbirdvg14-3-2
17 lvscan
18 lvdisplay /dev/vbirdvg14-3-2/vbirdlv14-3-2
掛載LV:
19 mkfs.xfs /dev/vbirdvg14-3-2/vbirdlv14-3-2
20 mkdir /srv/lvm
21 mount /dev/vbirdvg14-3-2/vbirdlv14-3-2 /srv/lvm
22 df -Th /srv/lvm/
23 cp -a /etc /var/log /srv/lvm
24 df -Th /srv/lvm/
25 rm -rf /srv/lvm/etc
26 rm -rf /srv/lvm/log
27 ll /srv/lvm/
嘗試減小LV容量:
lvresize -L -1760M /dev/vbirdvg14-3-2/vbirdlv14-3-2
lvdisplay /dev/vbirdvg14-3-2/vbirdlv14-3-2
df -Th /srv/lvm
xfs_info /srv/lvm/
xfs_growfs /srv/lvm/
xfs_info /srv/lvm/
df -Th /srv/lvm #容量仍是2.0G,未減小。目前的 XFS 文件系統中,並無縮小文件系統容量的設計!也就是說,文件系統只能放大不能縮小喔!
刪除LV從新建立新的LV,從新掛載:
umount /dev/vbirdvg14-3-2/vbirdlv14-3-2
lvremove /dev/vbirdvg14-3-2/vbirdlv14-3-2
lvcreate -L 290M -n vbirdlv14-3-2_2 vbirdvg14-3-2
lvdisplay
mkfs.xfs /dev/vbirdvg14-3-2/vbirdlv14-3-2_2
mount /dev/vbirdvg14-3-2/vbirdlv14-3-2_2 /srv/lvm/
df -Th /srv/lvm/
echo 「# Device Mount point filesystem parameters dump fsck」 >> /etc/fstab
echo 「/dev/vbirdvg14-3-2/vbirdlv14-3-2_2 /srv/lvm xfs defaults 0 0」 >> /etc/fstab
沒有將 LVM 關閉就直接將那些 partition 刪除或轉爲其餘用途的話,系統是會發生很大的問題的。LVM刪除流程:
1. 先卸除系統上面的 LVM 文件系統 (包括快照與全部 LV);
2. 使用 lvremove 移除 LV ;
3. 使用 vgchange -a n VGname 讓 VGname 這個 VG 不具備 Active 的標誌;
4. 使用 vgremove 移除 VG:
5. 使用 pvremove 移除 PV;
6. 最後,使用 fdisk 修改 ID 回來啊!
疑問:
系統時別碼
統配符中大括號的使用
ll命令中->是鏈接符嗎
/dev/mapper
普通賬號如何使用sudo。解決辦法:
$ su -
# visudo
## Allow root to run any commands anywhere
root ALL=(ALL) ALL 以後插入:
weis ALL=(ALL) ALL