[TOC]node
LVM是邏輯卷管理的簡稱,它是Linux環境下對磁盤分區管理的一種機制,實現文件系統跨越不一樣磁盤和分區,工做原理是將若干個磁盤分區鏈接成一個整塊卷組,在卷組上隨意建立邏輯卷組,最後在邏輯卷組上建立文件系統,管理員能夠動態調整邏輯卷的大小,不會丟失現有的數據,經過建立LVM能夠對磁盤進行動態管理。linux
動態調整磁盤容量,從而提升磁盤管理的靈活性shell
/boot(系統內核)分區用於存放引導文件,不能基於LVM建立vim
圖形界面管理工具windows
system-config-lvm(用的少)centos
邏輯卷管理是動態磁盤管理bash
邏輯卷有靈活性,能夠自由擴容,至關於windows中的跨區卷服務器
邏輯卷的缺點:不可靠,讀寫性能通常app
VG(卷組)dom
一個PE是4M,多個PE組成物理卷(PV);
多個物理卷(PV)組成卷組(VG);
對卷組(VG)進行劃分,就是創建邏輯分區(LV)
功能 | 物理卷管理 | 卷組管理 | 邏輯卷管理 |
---|---|---|---|
Scan 掃描設備 | pvscan | vgscan | lvscan |
Create 創建 | pvcreate | vgcreate | lvcreate |
Display 顯示詳細信息 | pvdisplay | vgdispaly | lvdispaly |
Remove 刪除 | pvremove | vgremove | lvremove |
Extend 擴展 | ———— | vgextend | lvextend |
Reduce 減小 | ———— | vgreduce | lvreduce |
pvcreate 設備名(磁盤) 【設備名2 ... ...】 vgcreate 卷組名 物理卷名1 物理卷名2 lvcreate -L 容量大小 -n 邏輯卷名 卷組名 lvextend -l +大小 /dev/卷組名/邏輯卷名
t換格式,轉換成8e格式,就是物理卷格式
案例環境
公司準備在Internet中搭建郵件服務器(CentOS7.3系統平臺),面向全國各地的員工及部分VIP客戶提供電子郵箱空間
需求描述
因爲用戶數量衆多,郵件存儲須要大量的空間,考慮到動態擴容的須要,計劃增長兩塊SCSI硬盤並構建LVM邏輯卷(掛載「mailbox」目錄下)專門用於存放郵件數據
先加磁盤dev/sdb,dev/sdc
重啓系統以識別新加的磁盤
[root@localhost ~]# init 6
[root@localhost dev]# ls #重啓後查看/dev/,sdb和sdc已添加 agpgart input sda1 tty2 tty45 uhid autofs kmsg sda2 tty20 tty46 uinput block log sdb tty21 tty47 urandom bsg loop-control sdc tty22 tty48 usbmon0 btrfs-control lp0 sg0 tty23 tty49 usbmon1 bus lp1 sg1 tty24 tty5 usbmon2 cdrom lp2 sg2 tty25 tty50 vcs centos lp3 sg3 tty26 tty51 vcs1 char mapper shm tty27 tty52 vcs2 console mcelog snapshot tty28 tty53 vcs3 core mem snd tty29 tty54 vcs4 cpu mqueue sr0 tty3 tty55 vcs5 cpu_dma_latency net stderr tty30 tty56 vcs6 crash network_latency stdin tty31 tty57 vcsa disk network_throughput stdout tty32 tty58 vcsa1 dm-0 null tty tty33 tty59 vcsa2 dm-1 nvram tty0 tty34 tty6 vcsa3 dm-2 oldmem tty1 tty35 tty60 vcsa4 dri port tty10 tty36 tty61 vcsa5 fb0 ppp tty11 tty37 tty62 vcsa6 fd ptmx tty12 tty38 tty63 vfio full pts tty13 tty39 tty7 vga_arbiter fuse random tty14 tty4 tty8 vhci hidraw0 raw tty15 tty40 tty9 vhost-net hpet rfkill tty16 tty41 ttyS0 vmci hugepages rtc tty17 tty42 ttyS1 vsock hwrng rtc0 tty18 tty43 ttyS2 zero initctl sda tty19 tty44 ttyS3
fdisk配置磁盤建立分區,用t 轉換格式成8e變成pv物理卷
[root@localhost dev]# fdisk /dev/sdb #給/dev/sdb建立分區 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 Device does not contain a recognized partition table 使用磁盤標識符 0x76bc7491 建立新的 DOS 磁盤標籤。 命令(輸入 m 獲取幫助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Using default response p 分區號 (1-4,默認 1): 起始 扇區 (2048-41943039,默認爲 2048): 將使用默認值 2048 Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認爲 41943039): 將使用默認值 41943039 分區 1 已設置爲 Linux 類型,大小設爲 20 GiB 命令(輸入 m 獲取幫助):t #更改格式 已選擇分區 1 Hex 代碼(輸入 L 列出全部代碼): Hex 代碼(輸入 L 列出全部代碼):8e #LVM格式爲8e 已將分區「Linux」的類型更改成「Linux LVM」 命令(輸入 m 獲取幫助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盤。 [root@localhost dev]# fdisk /dev/sdc #給dev/sdc磁盤建立分區 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 Device does not contain a recognized partition table 使用磁盤標識符 0x3bdb9041 建立新的 DOS 磁盤標籤。 命令(輸入 m 獲取幫助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): Using default response p 分區號 (1-4,默認 1): 起始 扇區 (2048-41943039,默認爲 2048): 將使用默認值 2048 Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認爲 41943039): 將使用默認值 41943039 分區 1 已設置爲 Linux 類型,大小設爲 20 GiB 命令(輸入 m 獲取幫助):t 已選擇分區 1 Hex 代碼(輸入 L 列出全部代碼):8e #格式轉換爲LVM 已將分區「Linux」的類型更改成「Linux LVM」 命令(輸入 m 獲取幫助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盤。 命令(輸入 m 獲取幫助):p #能夠再fdisk /dev/sdc中去查看 磁盤 /dev/sdc:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標籤類型:dos 磁盤標識符:0x3bdb9041 設備 Boot Start End Blocks Id System /dev/sdc1 2048 41943039 20970496 8e Linux LVM
兩塊磁盤分區完畢,接下來建立LVM邏輯卷
[root@localhost dev]# pvcreate /dev/sd[b-c]1 #把兩塊磁盤建立爲pv物理卷 Physical volume "/dev/sdb1" successfully created. Physical volume "/dev/sdc1" successfully created. [root@localhost dev]# vgcreate mailbox /dev/sd[b-c]1 #建立名叫mailbox的vg卷組,目標pv物理卷是sdb1和sdc1 Volume group "mailbox" successfully created [root@localhost dev]# lvcreate -L 25G -n mailbox mailbox #建立容量25G、名叫mailbox的lv邏輯卷,目標vg卷組是mailbox Logical volume "mailbox" created
能夠用display去查看pv、vg、lv的詳細信息
[root@localhost dev]# mkdir /mailbox #建立掛載點/mailbox
給邏輯卷格式化
[root@localhost dev]# mkfs.xfs /dev/mailbox/mailbox #將/dev下的mialbox卷組內的mailbox邏輯卷格式化 meta-data=/dev/mailbox/mailbox isize=512 agcount=4, agsize=1638400 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=6553600, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=3200, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
如今能夠進行掛載
[root@localhost dev]# mount /dev/mailbox/mailbox /mailbox #手動掛載 [root@localhost mailbox]# df -Th #查看已掛載 文件系統 類型 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root xfs 20G 3.3G 17G 17% / devtmpfs devtmpfs 977M 0 977M 0% /dev tmpfs tmpfs 993M 0 993M 0% /dev/shm tmpfs tmpfs 993M 9.1M 984M 1% /run tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup /dev/sda1 xfs 6.0G 161M 5.9G 3% /boot /dev/mapper/centos-home xfs 10G 50M 10G 1% /home tmpfs tmpfs 199M 12K 199M 1% /run/user/42 tmpfs tmpfs 199M 0 199M 0% /run/user/0 /dev/mapper/mailbox-mailbox xfs 25G 33M 25G 1% /mailbox
還可使用修改配置文件/dev/fstab掛載
[root@localhost mailbox]# umount /mailbox #先取消以前的手動掛載 [root@localhost mailbox]# vim /etc/fstab #vim編輯/etc/fstab配置問價 # # /etc/fstab # Created by anaconda on Wed Oct 23 13:35:20 2019 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=bef26af3-cd25-4754-bbc6-abd7fb09ef45 /boot xfs defaults 0 0 /dev/mapper/centos-home /home xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 /dev/mailbox/mailbox /mailbox xfs defaults 0 0 :wq保存 [root@localhost mailbox]# mount -a #從新掛載 [root@localhost mailbox]# df -Th #查看掛載信息 文件系統 類型 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root xfs 20G 3.3G 17G 17% / devtmpfs devtmpfs 977M 0 977M 0% /dev tmpfs tmpfs 993M 0 993M 0% /dev/shm tmpfs tmpfs 993M 9.1M 984M 1% /run tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup /dev/sda1 xfs 6.0G 161M 5.9G 3% /boot /dev/mapper/centos-home xfs 10G 50M 10G 1% /home tmpfs tmpfs 199M 12K 199M 1% /run/user/42 tmpfs tmpfs 199M 0 199M 0% /run/user/0 /dev/mapper/mailbox-mailbox xfs 25G 33M 25G 1% /mailbox 已自動掛載
進行擴容配置
[root@localhost mailbox]# lvextend -L +2G /dev/mailbox/mailbox #給mailbox增長2G容量 Size of logical volume mailbox/mailbox changed from 25.00 GiB (6400 extents) to 27.00 GiB (6912 extents). Logical volume mailbox/mailbox successfully resized. #顯示成功 [root@localhost mailbox]# df -Th #查看 文件系統 類型 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root xfs 20G 3.3G 17G 17% / devtmpfs devtmpfs 977M 0 977M 0% /dev tmpfs tmpfs 993M 0 993M 0% /dev/shm tmpfs tmpfs 993M 9.1M 984M 1% /run tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup /dev/sda1 xfs 6.0G 161M 5.9G 3% /boot /dev/mapper/centos-home xfs 10G 50M 10G 1% /home tmpfs tmpfs 199M 12K 199M 1% /run/user/42 tmpfs tmpfs 199M 0 199M 0% /run/user/0 /dev/mapper/mailbox-mailbox xfs 25G 33M 25G 1% /mailbox #發現沒有增長
須要用xfs_growfs 命令去更新配置
[root@localhost mailbox]# xfs_growfs /dev/mailbox/mailbox #更新mailbox配置 meta-data=/dev/mapper/mailbox-mailbox isize=512 agcount=4, agsize=1638400 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0 spinodes=0 data = bsize=4096 blocks=6553600, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal bsize=4096 blocks=3200, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 data blocks changed from 6553600 to 7077888 [root@localhost mailbox]# df -Th #查看掛載 文件系統 類型 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root xfs 20G 3.3G 17G 17% / devtmpfs devtmpfs 977M 0 977M 0% /dev tmpfs tmpfs 993M 0 993M 0% /dev/shm tmpfs tmpfs 993M 9.1M 984M 1% /run tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup /dev/sda1 xfs 6.0G 161M 5.9G 3% /boot /dev/mapper/centos-home xfs 10G 50M 10G 1% /home tmpfs tmpfs 199M 12K 199M 1% /run/user/42 tmpfs tmpfs 199M 0 199M 0% /run/user/0 /dev/mapper/mailbox-mailbox xfs 27G 33M 27G 1% /mailbox
xfs文件格式只能添加,不能減小
EXT4格式能夠添加和減小 (使用 resize2fs 命令更新設備磁盤)
須要Linux內核支持
做用範圍:針對指定的文件系統(分區)
限制類型:磁盤容量、文件數量 (二者只要有一個觸發,就會被限制)
限制方法:軟限制(有一個臨時的彈性空間,空間大小是硬限制減軟限制,這個臨時空間有一個時間限制,默認爲7天,超過七天就會把超出部分刪除)、硬限制(固定空間)
軟限制的空間=<硬限制的空間
序號 | 步驟 |
---|---|
1 | 以支持配額功能的方式掛載文件系統 |
2 | 編輯用戶和組帳號的配額設置 |
3 | 驗證磁盤配額功能 |
4 | 查看磁盤配額使用狀況 |
配置配額功能掛載文件系統的時效有臨時生效和永久生效
臨時生效就是用mount -o 命令(臨時設置,關機後會失效),永久須要配置相關配置文件(大部分)
備註:大部分的命令設置都是臨時生效,重啓失效;配置文件設置是永久生效,隨着開機自動啓動掛載
手動臨時啓用對掛載點的mount -o 用戶和組的配額權限
配置目錄權限 chmod 777 /mailbox/
配置文件/etc/fstab中添加相應屬性,後面會在實操中演示
在啓用磁盤配額管理的基礎上:
使用xfs_quota命令編輯配額設置
xfs_quota -x -c 'limit -u bsoft=N bhard=N isoft=N ihard=N 用戶名' 掛載點
經常使用選項
選項 | 解釋 |
---|---|
-u | 指定用戶 |
-g | 指定組 |
-x | 開啓專家模式 |
-c | 指定 ‘命令’ |
限制字段
bsoft(容量軟限制) bhard(容量硬限制) isoft(數量,i相似ls中的文件節點) ihard(數量硬限制)
limit 表明上限
切換到設置配額的分區(掛載目錄)下
建立指定數量的文件:使用touch命令,或者cp命令
xfs_quota -x -c ‘report 選項 ’ 掛載點
report經常使用選項
選項 | 解釋 |
---|---|
-a | 查看該掛載點的全部配額使用狀況 |
-i | 查看該掛載點的文件數量的配額使用狀況 |
-b | 查看該掛載點的磁盤容量的配額使用狀況 |
-u | 查看該掛載點的用戶的配額使用狀況 |
-g | 查看該掛載點的組帳號的配額使用狀況 |
dd命令等同於輔助,
添加三塊磁盤
查看目前磁盤狀況
[root@localhost ~]# fdisk -l 查看全部磁盤 磁盤 /dev/sda:42.9 GB, 42949672960 字節,83886080 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標籤類型:dos 磁盤標識符:0x000a55e9 設備 Boot Start End Blocks Id System /dev/sda1 * 2048 12584959 6291456 83 Linux /dev/sda2 12584960 79710207 33562624 8e Linux LVM 磁盤 /dev/mapper/centos-root:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤 /dev/mapper/centos-swap:2147 MB, 2147483648 字節,4194304 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤 /dev/mapper/centos-home:10.7 GB, 10737418240 字節,20971520 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節
關機重啓去識別新增長的三塊硬盤
[root@localhost dev]# init 6 #重啓 磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區 #這裏只展現新增磁盤sdb Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤 /dev/sdc:21.5 GB, 21474836480 字節,41943040 個扇區 #sdc Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤 /dev/sdd:21.5 GB, 21474836480 字節,41943040 個扇區 #sdd Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節
還能夠切換到/dev/下去查看磁盤,這裏就不演示了
[root@localhost dev]# fdisk sdb #給sdb磁盤建立分區 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 Device does not contain a recognized partition table 使用磁盤標識符 0x0edec45d 建立新的 DOS 磁盤標籤。 命令(輸入 m 獲取幫助):n #建立新分區 Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p #選擇主分區 分區號 (1-4,默認 1): #回車默認爲1 起始 扇區 (2048-41943039,默認爲 2048): #回車默認爲2048 將使用默認值 2048 Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認爲 41943039): #回車視爲把所有容量都給一個分區 將使用默認值 41943039 分區 1 已設置爲 Linux 類型,大小設爲 20 GiB
建立分區成功,這裏用LVM跨區捲去作,須要改一下格式
分區 1 已設置爲 Linux 類型,大小設爲 20 GiB 命令(輸入 m 獲取幫助):t #修改格式 已選擇分區 1 #選則分區 Hex 代碼(輸入 L 列出全部代碼): Hex 代碼(輸入 L 列出全部代碼):8e LVM的代碼是8e 已將分區「Linux」的類型更改成「Linux LVM」 命令(輸入 m 獲取幫助):w 寫入磁盤保存 The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盤。
也能夠在fdisk狀態中p查看磁盤配置狀況
這裏再配置好sdc和sdd
[root@localhost dev]# fdisk sdc 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 Device does not contain a recognized partition table 使用磁盤標識符 0x3e687331 建立新的 DOS 磁盤標籤。 命令(輸入 m 獲取幫助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分區號 (1-4,默認 1): 起始 扇區 (2048-41943039,默認爲 2048): 將使用默認值 2048 Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認爲 41943039): 將使用默認值 41943039 分區 1 已設置爲 Linux 類型,大小設爲 20 GiB 命令(輸入 m 獲取幫助):t 已選擇分區 1 Hex 代碼(輸入 L 列出全部代碼):8e 已將分區「Linux」的類型更改成「Linux LVM」 命令(輸入 m 獲取幫助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盤。 [root@localhost dev]# fdisk sdd 歡迎使用 fdisk (util-linux 2.23.2)。 更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。 Device does not contain a recognized partition table 使用磁盤標識符 0xd8be1cdf 建立新的 DOS 磁盤標籤。 命令(輸入 m 獲取幫助):n Partition type: p primary (0 primary, 0 extended, 4 free) e extended Select (default p): p 分區號 (1-4,默認 1): 起始 扇區 (2048-41943039,默認爲 2048): 將使用默認值 2048 Last 扇區, +扇區 or +size{K,M,G} (2048-41943039,默認爲 41943039): 將使用默認值 41943039 分區 1 已設置爲 Linux 類型,大小設爲 20 GiB 命令(輸入 m 獲取幫助):w The partition table has been altered! Calling ioctl() to re-read partition table. 正在同步磁盤。
配置完畢,而後把三塊磁盤配置成爲物理卷(pv)
[root@localhost dev]# pvcreate sd[b-d]1 #用中括號進行簡寫 Physical volume "sdb1" successfully created. Physical volume "sdc1" successfully created. Physical volume "sdd1" successfully created.
把sd【b-d】1三塊磁盤組成卷組,卷組名爲ky02
[root@localhost dev]# vgcreate ky02 /dev/sd[b-d]1 Volume group "ky02" successfully created
每一個分區20G,這個卷組ky02爲60G,從卷組中劃分-L 40G建立LVM邏輯卷,名字-n 爲ky02_gsy
[root@localhost dev]# lvcreate -L 40G -n ky02_gsy ky02 Logical volume "ky02_gsy" created.
這時能夠/dev/目錄中查看配置狀況
[root@localhost ~]# cd /dev #切換到/dev [root@localhost dev]# ls #查看 agpgart hpet ptmx stderr tty28 tty50 usbmon0 autofs hugepages pts stdin tty29 tty51 usbmon1 block hwrng random stdout tty3 tty52 usbmon2 bsg initctl raw tty tty30 tty53 vcs btrfs-control input rfkill tty0 tty31 tty54 vcs1 bus kmsg rtc tty1 tty32 tty55 vcs2 cdrom ky02 rtc0 tty10 tty33 tty56 vcs3 centos log sda tty11 tty34 tty57 vcs4 char loop-control sda1 tty12 tty35 tty58 vcs5 console lp0 sda2 tty13 tty36 tty59 vcs6 core lp1 sdb tty14 tty37 tty6 vcsa cpu lp2 sdb1 tty15 tty38 tty60 vcsa1 cpu_dma_latency lp3 sdc tty16 tty39 tty61 vcsa2 crash mapper sdc1 tty17 tty4 tty62 vcsa3 disk mcelog sdd tty18 tty40 tty63 vcsa4 dm-0 mem sdd1 tty19 tty41 tty7 vcsa5 dm-1 mqueue sg0 tty2 tty42 tty8 vcsa6 dm-2 net sg1 tty20 tty43 tty9 vfio dm-3 network_latency sg2 tty21 tty44 ttyS0 vga_arbiter dri network_throughput sg3 tty22 tty45 ttyS1 vhci fb0 null sg4 tty23 tty46 ttyS2 vhost-net fd nvram shm tty24 tty47 ttyS3 vmci full oldmem snapshot tty25 tty48 uhid vsock fuse port snd tty26 tty49 uinput zero hidraw0 ppp sr0 tty27 tty5 urandom [root@localhost dev]# ls ky02/ 查看中間的ky02目錄 ky02_gsy 邏輯卷已被建立
[root@localhost dev]# lvdisplay ky02 #查看邏輯卷的詳細信息,後面加捲名只查看該卷,不加查看全部 --- Logical volume --- LV Path /dev/ky02/ky02_gsy LV Name ky02_gsy VG Name ky02 LV UUID HhEtsz-SUGG-2bFg-8Vl5-nYz2-2f6p-jU4Jnw LV Write Access read/write LV Creation host, time localhost.localdomain, 2019-11-02 10:25:21 +0800 LV Status available # open 0 LV Size 40.00 GiB Current LE 10240 Segments 3 Allocation inherit Read ahead sectors auto - currently set to 8192 Block device 253:3
分區完畢,接下來格式化後掛載就能夠正常使用
[root@localhost dev]# mkfs.xfs /dev/ky02/ky02_gsy meta-data=/dev/ky02/ky02_gsy isize=512 agcount=4, agsize=2621440 blks = sectsz=512 attr=2, projid32bit=1 = crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=10485760, imaxpct=25 = sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=5120, version=2 = sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0
這裏配置/etc/fstab配置文件去自動掛載,即vim /etc/fstab
# # /etc/fstab # Created by anaconda on Wed Oct 23 13:35:20 2019 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=bef26af3-cd25-4754-bbc6-abd7fb09ef45 /boot xfs defaults 0 0 /dev/mapper/centos-home /home xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 /dev/ky02/ky02_gsy /mnt xfs defaults 0 0 設備地址 掛載點 文件類型 權限功能 不容災 第0個被加載
:wq保存退出
[root@localhost dev]# mount -a #所有從新掛載 [root@localhost dev]# df -Th #查看已掛載 文件系統 類型 容量 已用 可用 已用% 掛載點 /dev/mapper/centos-root xfs 20G 3.3G 17G 17% / devtmpfs devtmpfs 977M 0 977M 0% /dev tmpfs tmpfs 993M 0 993M 0% /dev/shm tmpfs tmpfs 993M 9.0M 984M 1% /run tmpfs tmpfs 993M 0 993M 0% /sys/fs/cgroup /dev/sda1 xfs 6.0G 161M 5.9G 3% /boot /dev/mapper/centos-home xfs 10G 50M 10G 1% /home tmpfs tmpfs 199M 12K 199M 1% /run/user/42 tmpfs tmpfs 199M 0 199M 0% /run/user/0 /dev/mapper/ky02-ky02_gsy xfs 40G 33M 40G 1% /mnt #掛載成功
而後配置磁盤配額權限等相關管理,首先先查看
[root@localhost dev]# mount #查看所有掛載,內容不少,這裏只看剛剛配置的邏輯卷, /dev/mapper/ky02-ky02_gsy on /mnt type xfs (rw,relatime,seclabel,attr2,inode64,noquota) #noquota,表明沒有配置權限
配置磁盤配額權限須要先查看本身的系統裏面有沒有xfsprogs軟件,沒有的話須要安裝
[root@localhost dev]# rpm -q xfsprogs 查看已安裝軟件,帶軟件名定點查看 xfsprogs-4.5.0-12.el7.x86_64 顯示已安裝,版本號4.5.0
那麼就能夠直接進行配置,這裏我選擇配置/etc/fstab文件中的信息(這裏須要注意,當前跨區卷已經被掛載,就算此時開啓磁盤配額管理權限,也得須要取消掛載umont /mnt以後再從新掛載mount -a才能夠觸發)
vim編輯,wq保存退出
# # /etc/fstab # Created by anaconda on Wed Oct 23 13:35:20 2019 # # Accessible filesystems, by reference, are maintained under '/dev/disk' # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/centos-root / xfs defaults 0 0 UUID=bef26af3-cd25-4754-bbc6-abd7fb09ef45 /boot xfs defaults 0 0 /dev/mapper/centos-home /home xfs defaults 0 0 /dev/mapper/centos-swap swap swap defaults 0 0 /dev/ky02/ky02_gsy /mnt xfs defaults,usrquota,grpquota 0 0 ~
[root@localhost dev]# umount /mnt #取消掛載/mnt [root@localhost dev]# mount -a #從新掛載 [root@localhost dev]# mount #查看掛載 /dev/mapper/ky02-ky02_gsy on /mnt type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota) #顯示能夠配置用戶組帳號的磁盤配額
[root@localhost dev]# xfs.quota -x -c 'limit -u ihard=6 isoft=5 bhard=100M bsoft=50M gsy' /mnt #給gsy用戶的磁盤權限配額 [root@localhost dev]# xfs_quota -c 'quota -uv gsy' /mnt #查看gsy用戶的容量配額 Disk quotas for User gsy (1000) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/ky02-ky02_gsy 0 51200 102400 00 [--------] /mnt [root@localhost dev]# xfs_quota -c 'quota -iuv gsy' /mnt #查看gsy用戶的數量配額 Disk quotas for User gsy (1000) Filesystem Files Quota Limit Warn/Time Mounted on /dev/mapper/ky02-ky02_gsy 0 5 6 00 [--------] /mnt [root@localhost dev]# xfs_quota -c 'quota -biuv gsy' /mnt #同時查看兩種配額 Disk quotas for User gsy (1000) Filesystem Blocks Quota Limit Warn/Time Files Quota Limit Warn/Time Mounted on /dev/mapper/ky02-ky02_gsy 0 51200 102400 00 [--------] 0 5 6 00 [--------] /mnt
[gsy@localhost mnt]$ xfs_quota -x -c 'report -a' /mnt #用report去查看,查看的是全部用戶,包含用戶和組,查看內容是默認是容量 User quota on /mnt (/dev/mapper/ky02-ky02_gsy) Blocks User ID Used Soft Hard Warn/Grace ---------- -------------------------------------------------- gsy 0 51200 102400 00 [--------] Group quota on /mnt (/dev/mapper/ky02-ky02_gsy) Blocks Group ID Used Soft Hard Warn/Grace ---------- -------------------------------------------------- gsy 0 0 0 00 [--------]
[root@localhost dev]# su - gsy #切換gsy用戶 上一次登陸:三 10月 23 13:44:51 CST 2019:0 上 [gsy@localhost ~]$ cd /mnt #切換到掛載點 [gsy@localhost mnt]$ ls #查看,目錄內是空的 [gsy@localhost mnt]$ touch test{1..5}.text #建立五個空文件 touch: 沒法建立"test1.text": 權限不夠 #顯示權限不夠,可是5個是知足磁盤權限配額 touch: 沒法建立"test2.text": 權限不夠 touch: 沒法建立"test3.text": 權限不夠 touch: 沒法建立"test4.text": 權限不夠 touch: 沒法建立"test5.text": 權限不夠 [gsy@localhost mnt]$ ls -al #這裏查看目錄權限 總用量 0 drwxr-xr-x. 2 root root 6 11月 2 10:27 . #當前目錄權限,755,普通用戶gsy沒有寫入權限 dr-xr-xr-x. 17 root root 224 10月 23 13:41 ..
[gsy@localhost mnt]$ exit #登出 登出 [root@localhost dev]# chmod 777 /mnt #root配置掛載點目錄權限爲777 [root@localhost dev]# su - gsy 切換到gsy用戶 上一次登陸:六 11月 2 12:19:26 CST 2019pts/0 上 [gsy@localhost mnt]$ touch test{1..7}.text #建立7個空文件 touch: 沒法建立"test7.text": 超出磁盤限額 顯示沒法建立第七個文件 [gsy@localhost mnt]$ ls test1.text test2.text test3.text test4.text test5.text test6.text [gsy@localhost mnt]$ xfs_quota -c 'quota -biuv gsy' /mnt #查看gsy用戶在/mnt的磁盤配額狀況 Disk quotas for User gsy (1000) Filesystem Blocks Quota Limit Warn/Time Files Quota Limit Warn/Time Mounted on /dev/mapper/ky02-ky02_gsy 0 51200 102400 00 [--------] 6 5 6 00 [6 days] /mnt #已超過六個
[gsy@localhost mnt]$ rm -rf /mnt/* #刪除/mnt/下的全部文件 [gsy@localhost mnt]$ ls [gsy@localhost mnt]$ xfs_quota -c 'quota -iuv gsy' /mnt #查看gsy用戶的i磁盤配額狀況 Disk quotas for User gsy (1000) Filesystem Files Quota Limit Warn/Time Mounted on /dev/mapper/ky02-ky02_gsy 0 5 6 00 [--------] /mnt
files變成了0,以前建立文件的時候是6
測試了文件數量的權限,接下來測試磁盤容量的權限
[gsy@localhost mnt]$ dd if=/dev/zero of=/mnt/demo01.txt bs=1M count=80 dd命令 記錄了80+0 的讀入 源路徑 目標路徑 一次讀寫的大小 循環次數 記錄了80+0 的寫出 83886080字節(84 MB)已複製,0.562914 秒,149 MB/秒 [gsy@localhost mnt]$ xfs_quota -c 'quota -uv gsy' /mnt Disk quotas for User gsy (1000) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/ky02-ky02_gsy 81920 51200 102400 00 [6 days] /mnt 已用大小 軟限制 硬限制 超出軟限制的容量的失效時間 [gsy@localhost mnt]$ dd if=/dev/zero of=/mnt/demo02.txt bs=1M count=80 寫入第二個文件 dd: 寫入"/mnt/demo02.txt" 出錯: 超出磁盤限額 #出現錯誤 記錄了21+0 的讀入 在第101次是出現錯誤 記錄了20+0 的寫出 20971520字節(21 MB)已複製,0.140281 秒,149 MB/秒 [gsy@localhost mnt]$ xfs_quota -c 'quota -uv gsy' /mnt #再次查看 Disk quotas for User gsy (1000) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/ky02-ky02_gsy 102400 51200 102400 00 [6 days] /mnt 已被佔滿 [gsy@localhost mnt]$ ls -lh #查看目錄容量 總用量 100M #用了100M -rw-rw-r--. 1 gsy gsy 80M 11月 2 15:30 demo01.txt -rw-rw-r--. 1 gsy gsy 20M 11月 2 15:30 demo02.txt
物理卷管理(pvscan、pvcreate、pvdisplay、pbremove)
卷組管理(vgscan、vgcreate、vgdisplay、vgremove、vgextend、vgreduce)
邏輯卷管理(lvscan、lvcreate、lvdisplay、lvremove、lvextend、lvreduce)
物理卷不能增長減小,沒有extend和reduce命令,除此以外,全部命令格式都是一致的,前面爲本身的縮寫
磁盤配額的做用範圍是磁盤,限制對象有用戶和組,限制類型有經過使用磁盤用量和建立文件數量去限制,限制方法主要是依靠軟限制和硬限制
磁盤配額管理能夠幼稚用戶惡意侵佔空間,優化資源配置。