日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux--管理LVM逻辑卷 --原理+命令双结合(LVM的概述与建立,LVM的管理命令,LVM的应用步骤,磁盘配额的详解)

發布時間:2023/12/14 linux 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux--管理LVM逻辑卷 --原理+命令双结合(LVM的概述与建立,LVM的管理命令,LVM的应用步骤,磁盘配额的详解) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux--管理LVM邏輯卷 --原理+命令雙結合(LVM的概述與建立,LVM的管理命令,LVM的應用步驟,磁盤配額的詳解)

  • 前言
  • 一:LVM概述
    • 1.1:PV(Physical Volume,物理卷)
    • 1.2:VG(Volume Group,卷組)
    • 1.3:LV(Logical Volume,邏輯卷)
    • 1.4:建立LVM分區管理機制的過程
  • 二:管理LVM
    • 2.1:PV物理卷管理
      • 2.1.1:pvcreate命令
      • 2.1.2:pvscan命令
      • 2.1.3:pvdisplay命令
      • 2.1.4:pvremove命令
    • 2.2:VG卷組管理
      • 2.2.1:vgcreate命令
      • 2.2.2:vgscan命令
      • 2.2.3:vgdisplay命令
      • 2.2.4:vgremove命令
      • 2.2.5:vgextend命令
      • 2.2.6:vgreduce命令
    • 2.3:LV邏輯卷管理
      • 2.3.1:lvcreate命令
      • 2.3.2:lvscan命令
      • 2.3.3:lvdisplay命令
      • 2.3.4:lvextend命令
      • 2.3.5:lvremove命令
      • 2.3.6:lvreduce命令
  • 三:LVM應用步驟
    • 3.1:命令實操的演示
  • 四:磁盤配額
    • 4.1:磁盤配額概述
      • 4.1.1:實現磁盤限額的條件
    • 4.1.2:Linux磁盤限額的特點
      • 4.1.3:磁盤配額步驟
      • 4.1.4:啟動磁盤配額支持
      • 4.2:磁盤配額管理
      • 4.2.1:編輯用戶和組賬號的配額設置
      • 4.2.2:驗證磁盤配額功能
      • 4.2.3:查看配額使用情況
    • 4.3:磁盤配額命令實操

前言

  • LVM是 Logical Volume Manager(邏輯卷管理)的簡寫,它是Linux環境下對磁盤分區進行管理的一種機制
  • 每個Linux使用者在安裝Linux時都會遇到這樣的困境:在為系統分區時,如何精評估LVM和分配各個硬盤分區的容量,因為系統管理員不但要考慮到當前某個分區需要的容量,還要預見該分區以后可能需要的容量的最大值。因為如果估 計不準確,當遇到某個分區不夠用時管理員可能甚至要備份整個系統、清除硬盤、重新對硬盤分區,然后恢復數據到新分區。
  • 雖然有很多動態調整磁盤的工具可以使用,例如Partition Magic等等,但是它并不能完全解決問題,因為某個分區可能會再次被耗盡;另外一個方面這需要 重新引導系統才能實現,對于很多關鍵的服務器,停機是不可接受的,而且對于添加新硬盤,希望一個能跨越多個硬盤驅動器的文件系統時,分區調整程序就不能解 決問題。
  • 因此完美的解決方法應該是在零停機前提下可以自如對文件系統的大小進行調整,可以方便實現文件系統跨越不同磁盤和分區。幸運的是Linux提供的邏輯盤卷管理(LVM,Logical Volume Manager)機制就是一個完美的解決方案。

一:LVM概述

  • 在安裝CentOS 系統的過程中選擇自動分區時,就會默認采用LVM分區方案。不需要再進行手動配置
  • 動態調整磁盤容量,從而提高磁盤管理的靈活性
  • 需要注意的是,“/boot”分區用于存放引導文件,不能基于LVM創建,必須獨立出來
  • 圖形化管理界面:system-config

1.1:PV(Physical Volume,物理卷)

  • 物理卷是LVM機制的基本存儲設備,通常對應為一個普通分區或整個硬盤。
  • 創建物理卷時,會在分區或硬盤的頭部創建一個保留區塊,用于記錄LVM的屬性,并把存儲空間分割成默認大小為4MB的基本單元(Physical Extent,PE),從而構成物理卷。
  • 物理卷一般直接使用設備文件名稱,如/dev/sdb1 , /dev/sdb1, /dev/sdd等。
  • 對于轉換成物理卷的普通分區,建議先使用fdisk工具將分區類型的ID標記號改為“8e”(8e表示LVM邏輯卷),若是整塊硬盤,可以將所有磁盤空間劃分為一個主分區后再做相對應調整

1.2:VG(Volume Group,卷組)

  • 卷組:由一個或多個物理卷組成一個整體
  • 在卷組中可以動態的添加或移除物理卷
  • 許多個物理卷可以分別組成不同的卷組,卷組的名稱由用戶自定義

1.3:LV(Logical Volume,邏輯卷)

  • 邏輯卷建立在卷組之上,與物理卷沒有直接關系
  • 對于邏輯卷來說,每一個卷組就是一個整體,從這個整體中“切出”一小塊空間,作為用戶創建文件系統的基礎,這一小塊空間就稱為邏輯卷
  • 使用mkfs等工具在邏輯卷上創建文件系統以后,就可以掛載到Linux系統中的目錄下使用

1.4:建立LVM分區管理機制的過程

二:管理LVM

  • LVM管理命令主要包括三大類

    PV物理卷管理

    VG卷組管理

    LV邏輯卷管理

  • 對應的命令程序文件分別以“PV”“VG”“LV”開頭

功能物理卷管理(PV)卷組管理(VG)邏輯卷管理(LV)
Scan(顯示概要信息)pvscanvgscanlvscan
Create(建立)pvcreatevgcreatelvcreate
Display(顯示詳細信息)pvdisplayvgdisplaylvdisplay
Remove(刪除)pvremovevgremovelvremove
Extend(擴展)---------------vgextendlvextend
Reduce(減少)---------------vgreducelvreduce
  • 幾個主要命令的格式
pvcreate 設備名1 [設備名2 ... ...] vgcreate 卷組名 物理卷名1 物理卷名2 lvcreate -L 容量大小 -n 邏輯卷名 卷組名 lvextend -L +大小 /dev/卷組名/邏輯卷名

2.1:PV物理卷管理

2.1.1:pvcreate命令

  • pvcreate用于將分區或整個硬盤轉換為物理卷,主要是添加LVM屬性并劃分PE存儲單元
  • 該命令需要使用硬盤或分區的設備文件作為參數
例如 [root@localhost ~]# pvcreate /dev/sdd1Physical volume "/dev/sdd1" successfully created.

2.1.2:pvscan命令

  • pvscan命令用于掃描系統中的所有物理卷,并輸出相關信息。
例如 [root@localhost ~]# pvscanPV /dev/sdd1 lvm2 [5.00 GiB]Total: 3 [44.99 GiB] / in use: 2 [39.99 GiB] / in no VG: 1 [5.00 GiB]

2.1.3:pvdisplay命令

  • pvdisplay命令用于顯示物理卷的詳細信息
  • 需要使用指定的物理卷作為命令參數,默認時將顯示所有物理卷信息
例如 [root@localhost ~]# pvdisplay /dev/sdd1"/dev/sdd1" is a new physical volume of "5.00 GiB"--- NEW Physical volume ---PV Name /dev/sdd1VG Name PV Size 5.00 GiBAllocatable NOPE Size 0 Total PE 0Free PE 0Allocated PE 0PV UUID bNDg18-PxbF-0GCW-365f-RnO0-OHJ0-n5RzJE

2.1.4:pvremove命令

  • pvremove命令用于將物理卷還原成普通分區或磁盤,不再用于LVM體系
  • 被移除的物理卷將無法被pvscan命令識別
例如 [root@localhost ~]# pvremove /dev/sd[b-c]1 Labels on physical volume "/dev/sdb1" successfully wiped. Labels on physical volume "/dev/sdc1" successfully wiped. [root@localhost ~]# pvscan No matching physical volumes found

2.2:VG卷組管理

2.2.1:vgcreate命令

  • vgcreate命令用于將一個或多個物理卷創建為一個卷組
  • 第一個命令參數用于設置新卷組的名稱。然后依次指定需要加入到該卷組的物理卷作為參數
vgcreate命令基本格式 root@localhost ~]# vgcreate 卷組名稱 物理卷 例如 [root@localhost ~]# vgscan 123 /dev/sdb1 /dev/sdd1Command does not accept argument: 123.

2.2.2:vgscan命令

  • vgscan命令用于掃描系統中已建立的LVM卷組及相關信息
例如 [root@localhost ~]# vgscanReading volume groups from cache.Found volume group "123" using metadata type lvm2

2.2.3:vgdisplay命令

  • vgdisplay命令用于顯示系統中各卷組的詳細信息
  • 需要指定卷組名稱作為命令參數(未指定卷組名稱時將顯示所有卷組的信息)
  • 命令格式同pvdisplay
例如 [root@localhost ~]# vgdisplay--- Volume group ---VG Name 123System ID Format lvm2Metadata Areas 2Metadata Sequence No 1VG Access read/writeVG Status resizableMAX LV 0Cur LV 0Open LV 0Max PV 0Cur PV 2Act PV 2VG Size 24.99 GiBPE Size 4.00 MiBTotal PE 6398Alloc PE / Size 0 / 0 Free PE / Size 6398 / 24.99 GiBVG UUID 1xjQAR-wQ2s-i9Q6-IYYL-gqTJ-Xwv0-DJPUkp

2.2.4:vgremove命令

  • vgremove命令用于刪除指定的卷組,指定卷組名稱作為參數即可
  • 刪除時應確保該卷組中沒有正在使用的邏輯卷
例如 [root@localhost ~]# vgremove 123Volume group "123" successfully removed

2.2.5:vgextend命令

  • vgextend命令用于擴展卷組的磁盤空間
  • 當建立了新的物理卷,并需要將其添加到已有的卷組中時,就可以使用vgextend命令
  • vgextend命令第一個參數為需要擴展容量的卷組名稱,其后為需要添加到該卷組中的各物理卷
例如 [root@localhost ~]# vgextend 123 /dev/sdd1Volume group "123" successfully extended

2.2.6:vgreduce命令

  • vgreduce命令:從卷組中刪除物理卷
  • vgreduce指令通過刪除LVM卷組中的物理卷來減少卷組容量。
  • 刪除刪除卷組中丟失的物理卷,使卷組恢復正常狀態
vgreduce命令格式 vgreduce [選項] [參數] 例如 [root@localhost ~]# vgreduce 123 /dev/sdd1Removed "/dev/sdd1" from volume group "123"

2.3:LV邏輯卷管理

2.3.1:lvcreate命令

  • lvcreate命令用于從指定的卷組中分割空間,以創建新的邏輯卷
  • 需要指定邏輯卷大小,名稱和所在的卷組名稱作為參數
  • 邏輯卷創建好以后,可以通過“/dev/卷組名/邏輯卷名”形式的設備文件進行訪問(或/dev/mapper/卷組名-邏輯卷名)
lvcreate命令基本格式 lvcreate -L 容量大小 -n 邏輯卷名 卷組名例如 [root@localhost ~]# lvcreate -L 10G -n 111 123Logical volume "111" created. [root@localhost ~]# ls /dev/123/111 /dev/123/111 //邏輯卷111的連接文件

2.3.2:lvscan命令

  • lvscan命令用于掃描系統中已建立的邏輯卷及相關信息

2.3.3:lvdisplay命令

  • lvdisplay命令用于顯示邏輯卷的詳細信息

  • 需要指定邏輯卷的設備文件作為參數,也可以使用卷組名作為參數(顯示該卷組中的所有邏輯卷信息)

  • 不指定參數則顯示所有,同pvdisplay和vgdisplay

    • 例如 [root@localhost ~]# lvdisplay--- Logical volume ---LV Path /dev/123/111LV Name 111VG Name 123LV UUID 8Mndsn-uBg9-SNyt-bsd4-2DP0-WIIO-ZaqzU6LV Write Access read/writeLV Creation host, time localhost.localdomain, 2019-11-04 01:14:32 +0800LV Status available# open 0LV Size 10.00 GiBCurrent LE 2560Segments 1Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:0

2.3.4:lvextend命令

  • lvextend命令用于動態擴展邏輯卷的空間,當目前使用的邏輯卷空間不足時,可以從所在卷組中分割額外的空間進行擴展
  • 需要指定增加的容量大小和邏輯卷文件位置
  • 前提是該卷組中還有尚未分配的磁盤空間,否則需要先擴展卷組容量
  • 掛載文件系統后擴容,需要執行以下命令才能被系統識別
xfs格式的擴容需要輸入這條命令 xfs_growfs /dev/卷組名/邏輯卷名ext 4 格式的擴容需要輸入這條命令 resize2fs /dev/卷組名/邏輯卷名
  • xfs 只支持擴容,不支持減少
  • ext 4 的更新形式。可以reduce
lvextend命令基本格式 lvextend -L +大小 /dev/卷組名/邏輯卷名例如 [root@localhost ~]# lvextend -L +10G /dev/123/111Size of logical volume 123/111 changed from 10.00 GiB (2560 extents) to 20.00 GiB (5120 extents).Logical volume 123/111 successfully resized.

2.3.5:lvremove命令

  • lvremove命令用于刪除指定的邏輯卷
  • 直接使用邏輯卷的設備文件作為參數即可
例如 [root@localhost ~]# lvremove /dev/123/111 Do you really want to remove active logical volume 123/111? [y/n]: yLogical volume "111" successfully removedVolume group "111" not foundCannot process volume group 111

2.3.6:lvreduce命令

  • vreduce命令用于減少LVM邏輯卷占用的空間大小。
  • 使用lvreduce命令收縮邏輯卷的空間大小有可能會刪除邏輯卷上已有的數據,所以在操作前必須進行確認。
例如 [root@localhost ~]# lvreduce -L -5G /dev/123/111WARNING: Reducing active logical volume to 10.00 GiB.THIS MAY DESTROY YOUR DATA (filesystem etc.) Do you really want to reduce 123/111? [y/n]: ySize of logical volume 123/111 changed from 15.00 GiB (3840 extents) to 10.00 GiB (2560 extents).Logical volume 123/111 successfully resized.

三:LVM應用步驟

  • xfs 只支持擴容,不支持減少
  • ext 4 的更新形式。可以reduce

3.1:命令實操的演示

VMware軟件中,在centos 7系統中添加兩塊磁盤,我們開始實操。

查看磁盤是否添加成功 [root@localhost ~]# fdisk -l 磁盤 /dev/sda:42.9 GB, 42949672960 字節,83886080 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0x000c1f00設備 Boot Start End Blocks Id System /dev/sda1 * 2048 12584959 6291456 83 Linux /dev/sda2 12584960 54527999 20971520 83 Linux /dev/sda3 54528000 62916607 4194304 82 Linux swap / Solaris /dev/sda4 62916608 83886079 10484736 5 Extended /dev/sda5 62918656 83886079 10483712 83 Linux磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節磁盤 /dev/sdc:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 2.開始創建分區,同樣的方法創建/dev/sdc [root@localhost ~]# fdisk /dev/sdb 歡迎使用 fdisk (util-linux 2.23.2)。更改將停留在內存中,直到您決定將更改寫入磁盤。 使用寫入命令前請三思。Device does not contain a recognized partition table 使用磁盤標識符 0x50f1e234 創建新的 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 //分區ID改成8e,8e是lvm格式,我們保持前后格式相同 已將分區“Linux”的類型更改為“Linux LVM”命令(輸入 m 獲取幫助):w The partition table has been altered!Calling ioctl() to re-read partition table. 正在同步磁盤。 3.查看分區創建情況 [root@localhost ~]# fdisk -l 磁盤 /dev/sda:42.9 GB, 42949672960 字節,83886080 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0x000c1f00設備 Boot Start End Blocks Id System /dev/sda1 * 2048 12584959 6291456 83 Linux /dev/sda2 12584960 54527999 20971520 83 Linux /dev/sda3 54528000 62916607 4194304 82 Linux swap / Solaris /dev/sda4 62916608 83886079 10484736 5 Extended /dev/sda5 62918656 83886079 10483712 83 Linux磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0x50f1e234設備 Boot Start End Blocks Id System /dev/sdb1 2048 41943039 20970496 8e Linux LVM磁盤 /dev/sdc:21.5 GB, 21474836480 字節,41943040 個扇區 Units = 扇區 of 1 * 512 = 512 bytes 扇區大小(邏輯/物理):512 字節 / 512 字節 I/O 大小(最小/最佳):512 字節 / 512 字節 磁盤標簽類型:dos 磁盤標識符:0x6a90762a設備 Boot Start End Blocks Id System /dev/sdc1 2048 41943039 20970496 8e Linux LVM 4.創建物理卷 [root@localhost ~]# pvcreate /dev/sd[b-c]1Physical volume "/dev/sdb1" successfully created.Physical volume "/dev/sdc1" successfully created. [root@localhost ~]# pvscan '//查看物理卷'PV /dev/sdc1 lvm2 [<20.00 GiB]PV /dev/sdb1 lvm2 [<20.00 GiB]Total: 2 [<40.00 GiB] / in use: 0 [0 ] / in no VG: 2 [<40.00 GiB] 5.創建卷組 [root@localhost ~]# vgcreate mail_stor /dev/sd[b-c]1Volume group "mail_stor" successfully created [root@localhost ~]# vgscan '//掃描卷組'Reading volume groups from cache.Found volume group "mail_stor" using metadata type lvm2 [root@localhost ~]# vgdisplay '//查看卷組詳細信息'--- Volume group ---VG Name mail_storSystem ID Format lvm2Metadata Areas 2Metadata Sequence No 1VG Access read/writeVG Status resizableMAX LV 0Cur LV 0Open LV 0Max PV 0Cur PV 2Act PV 2VG Size 39.99 GiBPE Size 4.00 MiBTotal PE 10238Alloc PE / Size 0 / 0 Free PE / Size 10238 / 39.99 GiBVG UUID iEKi0I-hg0i-it0a-cOwe-DfPj-FkXs-fnSP4N
  • 6.創建邏輯卷 [root@localhost ~]# lvcreate -L 20G -n mbox mail_storLogical volume "mbox" created. [root@localhost ~]# lvdisplay--- Logical volume ---LV Path /dev/mail_stor/mboxLV Name mboxVG Name mail_storLV UUID VXD0B0-wxqV-wXgk-b7N4-GEPE-c1au-u6nGBsLV Write Access read/writeLV Creation host, time localhost.localdomain, 2019-11-04 14:45:59 +0800LV Status available# open 0LV Size 20.00 GiBCurrent LE 5120Segments 2Allocation inheritRead ahead sectors auto- currently set to 8192Block device 253:0 7.格式化邏輯卷 [root@localhost 1]# mkfs.xfs /dev/mail_stor/mbox meta-data=/dev/mail_stor/mbox isize=512 agcount=4, agsize=1310720 blks= sectsz=512 attr=2, projid32bit=1= crc=1 finobt=0, sparse=0 data = bsize=4096 blocks=5242880, imaxpct=25= sunit=0 swidth=0 blks naming =version 2 bsize=4096 ascii-ci=0 ftype=1 log =internal log bsize=4096 blocks=2560, version=2= sectsz=512 sunit=0 blks, lazy-count=1 realtime =none extsz=4096 blocks=0, rtextents=0 8.創建掛載點,設置自動掛載 [root@localhost 1]# mkdir mailbox [root@localhost 1]# vim /etc/fstab

9.啟用掛載 [root@localhost 1]# mount -a [root@localhost 1]# df -hT '//查看是否掛載成功' 10.給邏輯卷擴容10G [root@localhost 1]# lvextend -L +10G /dev/mail_stor/mboxSize of logical volume 1/11 changed from 20.00 GiB (5120 extents) to 30.00 GiB (7680 extents).Logical volume 1/11 successfully resized. 11.使用xfs_growfs命令使Linux系統重新識別文件系統大小 [root@localhost 1]# xfs_growfs /dev/mail_stor/mbox

四:磁盤配額

  • 磁盤配額是計算機中指定磁盤的儲存限制,就是管理員可以為用戶所能使用的磁盤空間進行配額限制,每一用戶只能使用最大配額范圍內的磁盤空間。
  • 磁盤配額可以限制指定賬戶能夠使用的磁盤空間,這樣可以避免因某個用戶的過度使用磁盤空間造成其他用戶無法正常工作甚至影響系統運行。在服務器管理中此功能非常重要,但對單機用戶來說意義不大。

4.1:磁盤配額概述

4.1.1:實現磁盤限額的條件

  • 需要Linux內核支持
  • 安裝xfsprogs與quota軟件包
  • quota軟件包在7.0版本自動加入到xfsprogs,所以只需要安裝xfsprogs就可以。

4.1.2:Linux磁盤限額的特點

  • 作用范圍:針對指定的文件系統(分區)

  • 限制對象:用戶賬號,組賬號

  • 限制類型:磁盤容量,文件數量

  • 限制方法:軟限制,硬限制

  • 軟限制:可以超出限制,但是有時限期,如時限7天,超出時間就將多余的刪除

    軟限制 小于等于 硬限制

4.1.3:磁盤配額步驟

  • 臨時設置(大部分都是通過命令實現),永久設置(都是通過源碼文件中配置)

? 大部分命令設置都是臨時生效,重啟失效

? 配置文件是永久生效

? 編輯用戶和組賬號的配額設置:組的配額是固定的,

4.1.4:啟動磁盤配額支持

  • 添加usrquota,grpquota掛載參數
  • 臨時設置需要加上 -o 參數

4.2:磁盤配額管理

4.2.1:編輯用戶和組賬號的配額設置

  • 使用xfs_quota命令編輯配額設置
基本格式 xfs_quota -x -c'limit -u bsoft =N bhard=N isoft=N ihard=N 用戶名'掛載點常用選項 -u //user -g //group -x //專家模式 -c //命令(command)限制字段 bsoft //容量軟限制 bhard //容量硬限制 (block 塊) isoft //數量軟限制 ihard //數量硬限制 (inode 節點)

4.2.2:驗證磁盤配額功能

  • 切換到設置配額的分區(掛載目錄)
  • 創建指定數量的文件:使用touch命令,或cp命令
  • 創建指定容量的文件:使用dd命令,或cp命令 (dd命令等同于復制,一般用于驗證)

4.2.3:查看配額使用情況

命令格式 xfs_quota -x -c 'report 選項'掛載點report常用選項 -a //all 所有 -i //節點,數量 -b //block 塊,容量 -u //user -g //group
  • 查看所有用戶配額
[root@localhost ~]# xfs_quota -x -c 'report -a' /掛載點
  • 查看用戶配額信息,看容量信息
[root@localhost ~]# xfs_quota -c 'quota -uv 用戶名' /掛載點
  • 查看用戶配額信息,看節點信息
[root@localhost ~]# xfs_quota -c 'quota -iuv 用戶名' /掛載點
  • 查看用戶配額信息,看節點信息
[root@localhost ~]# xfs_quota -c 'quota -iuv 用戶名' /掛載點
  • 連續復制文件(/mail/demo01.txt是自己剛剛創建的文件),每次復制1M,連續復制N次
[root@localhost ~]# dd if=/dev/zero of=/mail/demo01.txt bs=1M count=80

4.3:磁盤配額命令實操

  • mount 查看掛載信息
  • rpm -q xfsprogs 查看xfsprogs是否安裝
1.用上述LVM命令實操相同方法創建邏輯卷 [root@localhost ~]# df -hT 文件系統 類型 容量 已用 可用 已用% 掛載點 /dev/sda2 xfs 20G 3.1G 17G 16% / devtmpfs devtmpfs 898M 0 898M 0% /dev tmpfs tmpfs 912M 0 912M 0% /dev/shm tmpfs tmpfs 912M 9.0M 903M 1% /run tmpfs tmpfs 912M 0 912M 0% /sys/fs/cgroup /dev/sda5 xfs 10G 37M 10G 1% /home /dev/sda1 xfs 6.0G 174M 5.9G 3% /boot tmpfs tmpfs 183M 12K 183M 1% /run/user/42 tmpfs tmpfs 183M 0 183M 0% /run/user/0 /dev/mapper/1-11 xfs 40G 33M 40G 1% /2 2.查看是否安裝xfsprogs命令 [root@localhost ~]# rpm -q xfsprogs xfsprogs-4.5.0-12.el7.x86_64 '//系統已經安裝' 3.查看是否開啟quota [root@localhost ~]# mount ...省略中間內容 /dev/mapper/1-11 on /2 type xfs (rw,relatime,seclabel,attr2,inode64,noquota) '//發現quota 沒有設置' 4.將剛剛的掛載解除掉,我們現在開始啟動磁盤配額支持 [root@localhost ~]# umount /2 [root@localhost ~]# vim /etc/fstab '//在這個文件中修改是永久生效'

5.啟動掛載,然后查看是否設置成功 [root@localhost ~]# mount -a [root@localhost ~]# mount ...省略中間內容 /dev/mapper/1-11 on /2 type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota) //已經設置成功 6.編輯和查看用戶和組的配額設置 例如:限制zhangsan用戶,軟容量為50M,硬容量100M。軟數量4,硬數量5 [root@localhost ~]# xfs_quota -x -c 'limit -u bsoft=50M bhard=100M isoft=4 ihard=5 zhangsan' /2查看zhangsan用戶容量限制信息 [root@localhost ~]# xfs_quota -c 'quota -uv zhangsan' /2 Disk quotas for User zhangsan (1001) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/1-11 0 51200 102400 00 [--------] /2查看zhangsan用戶數量限制信息 [root@localhost ~]# xfs_quota -c 'quota -iuv zhangsan' /2 Disk quotas for User zhangsan (1001) Filesystem Files Quota Limit Warn/Time Mounted on /dev/mapper/1-11 0 4 5 00 [--------] /2容量和數量可以一起查看 [root@localhost ~]# xfs_quota -c 'quota -ibuv zhangsan' /2 Disk quotas for User zhangsan (1001) Filesystem Blocks Quota Limit Warn/Time Files Quota Limit Warn/Time Mounted on /dev/mapper/1-11 0 51200 102400 00 [--------] 0 4 5 00 [--------] /2查看所有用戶配額 [root@localhost ~]# xfs_quota -x -c 'report -a' /2 User quota on /2 (/dev/mapper/1-11)Blocks User ID Used Soft Hard Warn/Grace ---------- --------------------------------------------------root 0 0 0 00 [--------] zhangsan 0 51200 102400 00 [--------]Group quota on /2 (/dev/mapper/1-11)Blocks Group ID Used Soft Hard Warn/Grace ---------- --------------------------------------------------root 0 0 0 00 [--------] 7.驗證磁盤配額功能 [root@localhost ~]# su - zhangsan '//切換張三用戶' 上一次登錄:一 11月 4 21:15:22 CST 2019pts/0 上 [zhangsan@localhost ~]$ df -hT 文件系統 類型 容量 已用 可用 已用% 掛載點 ....省略內容 /dev/mapper/1-11 xfs 40G 33M 40G 1% /2 [zhangsan@localhost ~]$ cd /2/ //進入掛載點目錄 [zhangsan@localhost 2]$ touch test{1..5}.txt '//創建文件' touch: 無法創建"test1.txt": 權限不夠 touch: 無法創建"test2.txt": 權限不夠 touch: 無法創建"test3.txt": 權限不夠 touch: 無法創建"test4.txt": 權限不夠 touch: 無法創建"test5.txt": 權限不夠 [zhangsan@localhost 2]$ cd .. [zhangsan@localhost /]$ ls -l 總用量 24 drwxr-xr-x. 2 root root 6 11月 4 20:18 2 '//發現只有執行的權限'[zhangsan@localhost ~]$ su - root 密碼: 上一次登錄:一 11月 4 21:18:05 CST 2019pts/0 上 [root@localhost ~]# chmod 777 /2 '//給文件設置用戶權限' [root@localhost ~]# cd / [root@localhost /]# ls -l 總用量 24 drwxrwxrwx. 2 root root 6 11月 4 20:18 2 '//發現所有權限都有了'[root@localhost /]# su - zhangsan '//切換張三用戶' 上一次登錄:一 11月 4 21:32:38 CST 2019pts/0 上 [zhangsan@localhost ~]$ cd /2/ [zhangsan@localhost 2]$ touch test{1..5}.txt '//創建五個文件' [zhangsan@localhost 2]$ ls test1.txt test2.txt test3.txt test4.txt test5.txt [zhangsan@localhost 2]$ [zhangsan@localhost 2]$ touch test6.txt touch: 無法創建"test6.txt": 超出磁盤限額 '//發現第六個文件已經無法創建' [zhangsan@localhost 2]$ xfs_quota -c 'quota -iuv zhangsan ' /2 '//查看限制信息' Disk quotas for User zhangsan (1001) Filesystem Files Quota Limit Warn/Time Mounted on /dev/mapper/1-11 5 4 5 00 [6 days] /2 '//發現文件數量已達硬限制,出現時限' [zhangsan@localhost 2]$ rm -rf /2/* //刪除文件開始進行容量驗證[zhangsan@localhost 2]$ dd if=/dev/zero of=/2/test1.txt bs=1M count=80 '//連續復制80個,每個為1M的信息到test1.txt文件中' 記錄了80+0 的讀入 記錄了80+0 的寫出 83886080字節(84 MB)已復制,0.117359 秒,715 MB/秒 [zhangsan@localhost 2]$ ls -lh /2/ 總用量 80M -rw-rw-r--. 1 zhangsan zhangsan 80M 11月 4 21:51 test1.txt '//發現現在文件已經為80M' [zhangsan@localhost 2]$ dd if=/dev/zero of=/2/test2.txt bs=1M count=50 '//繼續復制50個,每個為1M的信息到test2.txt文件中' dd: 寫入"/2/test2.txt" 出錯: 超出磁盤限額 '//限額之前設置的是100M,限制已經超出' 記錄了21+0 的讀入 記錄了20+0 的寫出 20971520字節(21 MB)已復制,0.0326932 秒,641 MB/秒 [zhangsan@localhost 2]$ ls -lh /2/ 總用量 100M -rw-rw-r--. 1 zhangsan zhangsan 80M 11月 4 21:51 test1.txt -rw-rw-r--. 1 zhangsan zhangsan 20M 11月 4 21:53 test2.txt '//發現超出的部分會自動刪除,達到100M限額就結束了'此時,用戶信息應該是這樣的 [zhangsan@localhost ~]$ xfs_quota -c 'quota -iuv' /2 Disk quotas for User zhangsan (1001) Filesystem Files Quota Limit Warn/Time Mounted on /dev/mapper/1-11 2 4 5 00 [--------] /2 '//剛剛創建了test1.txt和test2.txt兩個文件' [zhangsan@localhost ~]$ xfs_quota -c 'quota -uv' /2 Disk quotas for User zhangsan (1001) Filesystem Blocks Quota Limit Warn/Time Mounted on /dev/mapper/1-11 102400 51200 102400 00 [6 days] /2 '//兩個文件的容量達到硬限制上限,所以有了時限'

總結

以上是生活随笔為你收集整理的Linux--管理LVM逻辑卷 --原理+命令双结合(LVM的概述与建立,LVM的管理命令,LVM的应用步骤,磁盘配额的详解)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。