LVM與磁盤配額

vnode

Linux磁盤管理之LVM邏輯卷認識與管理詳解

前言

本文接着上篇文章做以下延伸:
連接:Linux磁盤管理之磁盤管理與文件系統linux

  1. 什麼是LVM?爲何須要LVM?
  2. 如何具體進行LVM邏輯卷管理?
  3. 什麼是磁盤配額?爲何須要磁盤配額?
  4. 在Linux中進行磁盤配額的條件是什麼呢?
  5. 如何具體進行磁盤配額?

下面對以上問題逐一講解,深刻實例進行操做,帶你深刻理解linux磁盤管理之LVM邏輯卷管理。shell

1、LVM概述

1.什麼是LVM?爲何須要LVM?

許多 Linux 使用者安裝操做系統時都會遇到這樣的困境:如何精確評估和分配各個硬盤分區的容量,若是當初評估不許確,一旦系統分區不夠用時可能不得不備份、刪除相關數據,甚至被迫從新規劃分區並重裝操做系統,以知足應用系統的須要。而 LVM 技術就實現了用戶動態管理分配磁盤的需求。數據庫

LVM——Logical Volume Manger,邏輯卷管理,是Linux系統對磁盤分區進行管理的一種邏輯機制,它是創建在硬盤和分區之上,文件系統之下的一個邏輯層,在創建文件系統時屏蔽了下層的磁盤分區佈局,在保持現有數據不變的狀況下動態調整磁盤容量,從而提升磁盤管理的靈活性。bash

注意:/boot分區用於存放引導文件,不能基於LVM建立!!!app

2.LVM機制的基本概念

  1. PV(物理卷)tcp

    物理卷(physical volume),是LVM機制的基本存儲設備,一般對應爲一個普通分區或整個硬盤。建立時會在分區或硬盤的頭部建立一個保留區塊,用於記錄LVM的屬性,而且把存儲空間分割成默認大小爲4MB的基本單元(PE),多個PE構成物理卷ide

  2. VG(卷組)佈局

    多個物理卷構成卷組post

  3. LV(邏輯卷)

    創建在卷組之上,與物理卷沒有直接關係。

三者示意圖以下所示:

Linux磁盤管理之LVM邏輯卷認識與管理詳解(實驗詳細,可跟作)

Linux磁盤管理之LVM邏輯卷認識與管理詳解(實驗詳細,可跟作)

Linux磁盤管理之LVM邏輯卷認識與管理詳解(實驗詳細,可跟作)

3.LVM的主要管理命令

功能 物理卷管理 卷組管理 邏輯卷管理
scan掃描 pvscan vgscan lvscan
create創建 pvcreate vgcreate lvcreate
display顯示 pvdisplay vgdisplay lvdisplay
remove刪除 pvremove vgremove lvremove
extend擴展 —— vgextend lvextend
reduce減小(某些格式未必支持) —— vgreduce lvreduce

上表主要列出了管理邏輯卷的具體操做命令,下面結合實際操做進行上表中經常使用命令的演示。

2、LVM邏輯卷管理實踐操做過程(可跟作)

4.如何具體進行LVM邏輯卷管理

實驗環境:VMware15版本上Centos7的虛擬機環境進行操做

  1. 添加磁盤而且重啓虛擬機,具體幾塊根據本身的需求和硬件限制

    我添加了三塊,具體操做步驟能夠參考:https://blog.51cto.com/14557673/2447274

  2. 查看磁盤狀況是否添加成功,成功則進行分區操做(其中須要將做爲該分區類型的ID標記號改成8e,8e表示支持的是LVM分區)

    [root@lokott ~]# uname -a                //顯示Centos7的內核版本
    Linux lokott 3.10.0-693.el7.x86_64 #1 SMP Tue Aug 22 21:09:27 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
    [root@lokott ~]# fdisk -l
    
    磁盤 /dev/sda:42.9 GB, 42949672960 字節,83886080 個扇區
    Units = 扇區 of 1 * 512 = 512 bytes
    扇區大小(邏輯/物理):512 字節 / 512 字節
    I/O 大小(最小/最佳):512 字節 / 512 字節
    磁盤標籤類型:dos
    磁盤標識符:0x000a0791
    
     設備 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 字節
    
    磁盤 /dev/sdd:21.5 GB, 21474836480 字節,41943040 個扇區
    Units = 扇區 of 1 * 512 = 512 bytes
    扇區大小(邏輯/物理):512 字節 / 512 字節
    I/O 大小(最小/最佳):512 字節 / 512 字節

    分區操做以下:

    [root@lokott ~]# fdisk /dev/sdb           //完成sdb和sdc的分區和分區類型設置
    歡迎使用 fdisk (util-linux 2.23.2)。
    .....                                    //中間交互過程省略,具體信息查看上述連接文章
    
    命令(輸入 m 獲取幫助):p
    
    磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
    Units = 扇區 of 1 * 512 = 512 bytes
    扇區大小(邏輯/物理):512 字節 / 512 字節
    I/O 大小(最小/最佳):512 字節 / 512 字節
    磁盤標籤類型:dos
    磁盤標識符:0x5e2f4ad3
    
     設備 Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048    20973567    10485760   8e  Linux LVM
    /dev/sdb2        20973568    31459327     5242880   83  Linux
    
    命令(輸入 m 獲取幫助):w
    [root@lokott ~]# fdisk /dev/sdc
    歡迎使用 fdisk (util-linux 2.23.2)。
    
    更改將停留在內存中,直到您決定將更改寫入磁盤。
    使用寫入命令前請三思。
    
    命令(輸入 m 獲取幫助):p
    
    磁盤 /dev/sdc:21.5 GB, 21474836480 字節,41943040 個扇區
    Units = 扇區 of 1 * 512 = 512 bytes
    扇區大小(邏輯/物理):512 字節 / 512 字節
    I/O 大小(最小/最佳):512 字節 / 512 字節
    磁盤標籤類型:dos
    磁盤標識符:0xfd710363
    
     設備 Boot      Start         End      Blocks   Id  System
    /dev/sdc1            2048    10487807     5242880   83  Linux
    /dev/sdc2        10487808    31459327    10485760   8e  Linux LVM

    目前已經將sdb1和sdc2做爲邏輯分區,使用fdisk -l能夠查看信息

    [root@lokott ~]# fdisk -l /dev/sd[b-c]           //簡化操做
    
    磁盤 /dev/sdb:21.5 GB, 21474836480 字節,41943040 個扇區
    Units = 扇區 of 1 * 512 = 512 bytes
    扇區大小(邏輯/物理):512 字節 / 512 字節
    I/O 大小(最小/最佳):512 字節 / 512 字節
    磁盤標籤類型:dos
    磁盤標識符:0x5e2f4ad3
    
     設備 Boot      Start         End      Blocks   Id  System
    /dev/sdb1            2048    20973567    10485760   8e  Linux LVM    
    /dev/sdb2        20973568    31459327     5242880   83  Linux
    
    磁盤 /dev/sdc:21.5 GB, 21474836480 字節,41943040 個扇區
    Units = 扇區 of 1 * 512 = 512 bytes
    扇區大小(邏輯/物理):512 字節 / 512 字節
    I/O 大小(最小/最佳):512 字節 / 512 字節
    磁盤標籤類型:dos
    磁盤標識符:0xfd710363
    
     設備 Boot      Start         End      Blocks   Id  System
    /dev/sdc1            2048    10487807     5242880   83  Linux
    /dev/sdc2        10487808    31459327    10485760   8e  Linux LVM        
    [root@lokott ~]#
  3. 分區完成後,使用pvcreate命令將所需操做分區轉換爲物理卷

    [root@lokott ~]# pvscan                            //查看系統全部的物理卷,結果是沒有
    No matching physical volumes found
    [root@lokott ~]# pvcreate /dev/sdb1 /dev/sdc2      //轉換分區爲物理卷
    Physical volume "/dev/sdb1" successfully created.
    Physical volume "/dev/sdc2" successfully created.
    [root@lokott ~]# pvdisplay                         //查看物理卷詳細信息
    "/dev/sdc2" is a new physical volume of "10.00 GiB"
    --- NEW Physical volume ---
    PV Name               /dev/sdc2
    VG Name               
    PV Size               10.00 GiB
    Allocatable           NO
    PE Size               0   
    Total PE              0
    Free PE               0
    Allocated PE          0
    PV UUID               AzPaEA-X9Um-HPQQ-zdOg-mzVf-wXvh-QWEEXt
    
    "/dev/sdb1" is a new physical volume of "10.00 GiB"
    --- NEW Physical volume ---
    PV Name               /dev/sdb1
    VG Name               
    PV Size               10.00 GiB
    Allocatable           NO
    PE Size               0   
    Total PE              0
    Free PE               0
    Allocated PE          0
    PV UUID               5fh3Yx-Bwlm-ym7b-Qg0P-3HRb-iKRi-lwQyG9
  4. 使用vgcreate命令將一個或多個物理卷組成卷組

    [root@lokott ~]# vgscan 
    Reading volume groups from cache.
    [root@lokott ~]# vgcreate vgroup /dev/sdb1 /dev/sdc2      //vgroup是所建卷組的名字
    Volume group "vgroup" successfully created
    [root@lokott ~]# vgdisplay 
    --- Volume group ---
    VG Name               vgroup
    System ID             
    Format                lvm2
    Metadata Areas        2
    Metadata Sequence No  1
    VG Access             read/write
    VG Status             resizable
    MAX LV                0
    Cur LV                0
    Open LV               0
    Max PV                0
    Cur PV                2
    Act PV                2
    VG Size               19.99 GiB
    PE Size               4.00 MiB
    Total PE              5118
    Alloc PE / Size       0 / 0   
    Free  PE / Size       5118 / 19.99 GiB
    VG UUID               K2s77S-fAfb-C5V2-P7ci-m4eo-DdNh-nanIW4
  5. 使用lvcreate命令從用戶指定的卷組中分割出空間來建立邏輯卷。

    [root@lokott ~]# lvscan                               //查看系統已建邏輯卷信息
    [root@lokott ~]# lvcreate -L 10G -n vgroup1 vgroup    //從卷組分割空間建立邏輯卷
    Logical volume "vgroup1" created.
    [root@lokott ~]# ls /dev/vgroup/vgroup1              //顯示邏輯卷vgroup1的連接文件             
    /dev/vgroup/vgroup1
    [root@lokott ~]# ls /dev/mapper/vgroup-vgroup1        //顯示邏輯卷vgroup1的設備文件
    /dev/mapper/vgroup-vgroup1
    [root@lokott ~]# lvdisplay                           //顯示邏輯卷詳細信息
    --- Logical volume ---
    LV Path                /dev/vgroup/vgroup1
    LV Name                vgroup1
    VG Name                vgroup
    LV UUID                ucTRFz-DK1l-fVgf-Gvzr-562n-nkYS-kuRACZ
    LV Write Access        read/write
    LV Creation host, time lokott, 2019-11-02 14:27:41 +0800
    LV Status              available
    # open                 0
    LV Size                10.00 GiB
    Current LE             2560
    Segments               2
    Allocation             inherit
    Read ahead sectors     auto
    - currently set to     8192
    Block device           253:0
  6. 對邏輯捲進行格式化,而且建立掛載點(mkdir)進行掛載,使用df命令進行查看

    [root@lokott ~]# mkfs.xfs /dev/vgroup/vgroup1 
    meta-data=/dev/vgroup/vgroup1    isize=512    agcount=4, agsize=655360 blks
           =                       sectsz=512   attr=2, projid32bit=1
           =                       crc=1        finobt=0, sparse=0
    data     =                       bsize=4096   blocks=2621440, 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
    [root@lokott ~]# mkdir /mail
    [root@lokott ~]# mount /dev/vgroup/vgroup1 /mail/
    [root@lokott ~]# df -hT
    文件系統                   類型      容量  已用  可用 已用% 掛載點
    /dev/sda2                  xfs        20G  4.4G   16G   22% /
    devtmpfs                   devtmpfs  474M     0  474M    0% /dev
    tmpfs                      tmpfs     489M     0  489M    0% /dev/shm
    tmpfs                      tmpfs     489M  7.2M  482M    2% /run
    tmpfs                      tmpfs     489M     0  489M    0% /sys/fs/cgroup
    /dev/sda5                  xfs        10G   37M   10G    1% /home
    /dev/sda1                  xfs       6.0G  158M  5.9G    3% /boot
    tmpfs                      tmpfs      98M  4.0K   98M    1% /run/user/42
    tmpfs                      tmpfs      98M   24K   98M    1% /run/user/0
    /dev/sr0                   iso9660   4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
    /dev/mapper/vgroup-vgroup1 xfs        10G   33M   10G    1% /mail
  7. 使用lvextend命令爲邏輯卷擴充容量,再使用resize2fs命令更新系統識別的文件系統大小
[root@lokott ~]# lvextend -L +5G /dev/vgroup/vgroup1 //下面的信息表示成功擴展(前提是卷組中有空餘空間)
  Size of logical volume vgroup/vgroup1 changed from 10.00 GiB (2560 extents) to 15.00 GiB (3840 extents).
  Logical volume vgroup/vgroup1 successfully resized.
[root@lokott ~]# df -hT                              //查看是沒有顯示出來須要更新讓系統識別文件系統
文件系統                   類型      容量  已用  可用 已用% 掛載點
/dev/sda2                  xfs        20G  4.4G   16G   22% /
devtmpfs                   devtmpfs  474M     0  474M    0% /dev
tmpfs                      tmpfs     489M     0  489M    0% /dev/shm
tmpfs                      tmpfs     489M  7.2M  482M    2% /run
tmpfs                      tmpfs     489M     0  489M    0% /sys/fs/cgroup
/dev/sda5                  xfs        10G   37M   10G    1% /home
/dev/sda1                  xfs       6.0G  158M  5.9G    3% /boot
tmpfs                      tmpfs      98M  4.0K   98M    1% /run/user/42
tmpfs                      tmpfs      98M   24K   98M    1% /run/user/0
/dev/sr0                   iso9660   4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
/dev/mapper/vgroup-vgroup1 xfs        10G   33M   10G    1% /mail
[root@lokott ~]# xfs_growfs /dev/vgroup/vgroup1   //xfs的使用xfs_growfs命令,ext4用resize2fs命令但需先取消掛載
meta-data=/dev/mapper/vgroup-vgroup1 isize=512    agcount=4, agsize=655360 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=1        finobt=0 spinodes=0
data     =                       bsize=4096   blocks=2621440, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal               bsize=4096   blocks=2560, version=2
         =                       sectsz=512   sunit=0 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0
data blocks changed from 2621440 to 3932160
[root@lokott ~]# df -hT | grep /dev/mapper/vgroup-vgroup1 //更新後能夠查看到擴展到15G
/dev/mapper/vgroup-vgroup1 xfs        15G   33M   15G    1% /mail
[root@lokott ~]#

5.實驗小結(1)

以上就是LVM邏輯卷管理的全過程操做,能夠跟着作!務必注意分區時的邏輯分區的操做,以及後面更新的命令須要根據文件系統類型使用與之對應的命令(ext4——resize2fs(先取消掛載),xfs——xfs_growfs)

3、磁盤配額

6.什麼是磁盤配額?爲何須要磁盤配額?

磁盤配額,顧名思義,就是爲了限制磁盤資源的使用,磁盤配額是系統對用戶能使用磁盤資源的控制(或者說限制).在Linux中,磁盤配額能夠對用戶的空間使用狀況,文件數量(其實是inode的數量,文件數量是限制inode的結果)進行限制。若是超出此範圍則用戶不能在往磁盤裏繼續寫入數據。

對於通常人來講,可能不是特別好理解該段解釋,那咱們舉一個例子來講明一下:

假設有一筐桃子,一共50個,平均分配給10只猴子,那麼每隻猴子能夠分到5個桃子,首先是限制了桃子的總數和每一個猴子能夠分到的桃子數量,這就是磁盤配額,可是在系統中分配必然不是平均的,這就須要對此進行額度分配,有的猴子分到的多點,那麼就意味着有的猴子分到的就會便少,可是總數不會變化。對於linux系統而言,就意味着單個磁盤的實際資源空間是有限的,那麼對磁盤的合理分配就尤其重要。

所以,進行磁盤配額的緣由就是磁盤的空間資源是有限的,而其目的能夠理解爲合理規劃,避免資源浪費。

7.那麼在Linux中進行磁盤配額的條件是什麼呢?

  1. 首先須要Linux內核支持
  2. 安裝xfsprogs與quota

8.Linux磁盤限額的特色

  1. 做用範圍:針對指定的文件系統(分區)
  2. 限制對象:用戶帳號、組帳號
  3. 限制類型:磁盤容量、文件數量
  4. 限制方法:軟限制、硬限制

其中軟限制<=硬限制,不然軟限制沒有意義,可是軟限制是起到真正起到控制做用的方法

根據類型和方法有如下狀況

  1. 容量軟: bsoft
  2. 容量硬:bhard
  3. 數量軟: isoft
  4. 數量硬: ihard

下面具體給出具體實驗操做過程演示該如何進行磁盤配額。

4、磁盤配額具體操做步驟實驗(可接着上面的實驗進行操做)

9.如何具體進行磁盤配額?

具體操做流程以下:

  1. 首先須要查看是否知足上述兩個條件

    [root@lokott ~]# rpm -q xfsprogs      //用rpm -q 進行查看上述兩個條件的軟件包是否在
    xfsprogs-4.5.0-12.el7.x86_64
    [root@lokott ~]# rpm -q quota
    quota-4.01-14.el7.x86_64
  2. 知足條件,接着上面的實驗進行操做,先取消掛載(umount /mail)

    [root@lokott ~]# umount /mail/
    [root@lokott ~]# df -hT
    文件系統       類型      容量  已用  可用 已用% 掛載點
    /dev/sda2      xfs        20G  4.4G   16G   22% /
    devtmpfs       devtmpfs  474M     0  474M    0% /dev
    tmpfs          tmpfs     489M     0  489M    0% /dev/shm
    tmpfs          tmpfs     489M  7.2M  482M    2% /run
    tmpfs          tmpfs     489M     0  489M    0% /sys/fs/cgroup
    /dev/sda5      xfs        10G   37M   10G    1% /home
    /dev/sda1      xfs       6.0G  158M  5.9G    3% /boot
    tmpfs          tmpfs      98M  4.0K   98M    1% /run/user/42
    tmpfs          tmpfs      98M   24K   98M    1% /run/user/0
    /dev/sr0       iso9660   4.3G  4.3G     0  100% /run/media/root/CentOS 7 x86_64
  3. 取消掛載後添加usrquota和grpquota參數以支持配額功能的方式掛載文件系統

    [root@lokott ~]# mount -o usrquota,grpquota /dev/vgroup/vgroup1 /mail/
    [root@lokott ~]# mount | tail -1    //mount 命令結合「|」查看尾部一行的信息也可使用下面的grep命令
    /dev/mapper/vgroup-vgroup1 on /mail type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
    [root@lokott ~]# mount | grep /dev/mapper/vgroup-vgroup1
    /dev/mapper/vgroup-vgroup1 on /mail type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
  4. 編輯用戶和組帳號的配額設置(這裏須要有非root的用戶,能夠用tail命令查看/etc/passwd的信息,若是沒有其餘用戶使用useradd建立一個用戶,下面給出具體演示過程)

    [root@lokott ~]# tail -3 /etc/passwd //查看,我這裏是由一個lokott的用戶的,爲了演示下面建立一個lisi
    postfix:x:89:89::/var/spool/postfix:/sbin/nologin
    tcpdump:x:72:72::/:/sbin/nologin
    lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
    [root@lokott ~]# useradd lisi            //建立新的用戶帳號和密碼                           
    [root@lokott ~]# passwd lisi
    更改用戶 lisi 的密碼 。
    新的 密碼:
    無效的密碼: 密碼少於 8 個字符
    從新輸入新的 密碼:
    passwd:全部的身份驗證令牌已經成功更新。
    [root@lokott ~]# tail -3 /etc/passwd
    tcpdump:x:72:72::/:/sbin/nologin
    lokott:x:1000:1000:lokott:/home/lokott:/bin/bash
    lisi:x:1001:1001::/home/lisi:/bin/bash
    [root@lokott ~]# xfs_quota -x -c 'limit -u bsoft=1G bhard=2G isoft=20 ihard=50 lisi' /mail/

    這裏對最下面的命令進行詳細解釋,這條命令是真正實現編輯用戶的配額設置的命令操做,其中xfs_quota是命令,選項-x表示專家模式,-c表示命令(command,其實就是單引號內的內容,相似數據庫的增刪改查操做,limit表示限制,-u表示對用戶,後面的是限制配額大小,而後是用戶名,最後千萬不要忘記掛載點!!!)

  5. 查看磁盤配額使用狀況和驗證磁盤配額功能,首先在root下將掛載點的權限改成777,不然待會切換用戶時建立文件權限不夠

    [root@lokott ~]# xfs_quota -c 'quota -uv lisi'  /mail/  //查看磁盤容量限制
    Disk quotas for User lisi (1001)
    Filesystem              Blocks      Quota      Limit  Warn/Time      Mounted on
    /dev/mapper/vgroup-vgroup1
                               0    1048576    2097152   00 [--------] /mail
    [root@lokott ~]# xfs_quota -c 'quota -iuv lisi'  /mail/  //查看文件數量限制
    Disk quotas for User lisi (1001)
    Filesystem               Files      Quota      Limit  Warn/Time      Mounted on
    /dev/mapper/vgroup-vgroup1
                               0         20         50   00 [--------] /mail
    
    [root@lokott ~]# xfs_quota -x -c 'report -a'  /mail/     //查看配額的全部信息
    User quota on /mail (/dev/mapper/vgroup-vgroup1)
                                 Blocks                     
    User ID          Used       Soft       Hard    Warn/Grace     
    ---------- -------------------------------------------------- 
    root                0          0          0     00 [--------]
    lisi                0    1048576    2097152     00 [--------]
    
    Group quota on /mail (/dev/mapper/vgroup-vgroup1)
                                 Blocks                     
    Group ID         Used       Soft       Hard    Warn/Grace     
    ---------- -------------------------------------------------- 
    root                0          0          0     00 [--------]
    
    [root@lokott ~]# chmod 777 /mail/
    [root@lokott ~]# su - lisi                           //切換用戶
    上一次登陸:六 11月  2 16:15:17 CST 2019pts/0 上
    [lisi@lokott ~]$ cd /mail/                           //進入掛載點目錄建立文件方式來驗證(方法一)
    [lisi@lokott mail]$ ls
    [lisi@lokott mail]$ touch {1..20}.txt
    [lisi@lokott mail]$ ls 
    10.txt  12.txt  14.txt  16.txt  18.txt  1.txt   2.txt  4.txt  6.txt  8.txt
    11.txt  13.txt  15.txt  17.txt  19.txt  20.txt  3.txt  5.txt  7.txt  9.txt
    [lisi@lokott mail]$ touch {20..60}.txt  //上面查看的數量限制是50,如今超過50了
    touch: 沒法建立"51.txt": 超出磁盤限額
    touch: 沒法建立"52.txt": 超出磁盤限額
    touch: 沒法建立"53.txt": 超出磁盤限額
    touch: 沒法建立"54.txt": 超出磁盤限額
    touch: 沒法建立"55.txt": 超出磁盤限額
    touch: 沒法建立"56.txt": 超出磁盤限額
    touch: 沒法建立"57.txt": 超出磁盤限額
    touch: 沒法建立"58.txt": 超出磁盤限額
    touch: 沒法建立"59.txt": 超出磁盤限額
    touch: 沒法建立"60.txt": 超出磁盤限額
    [lisi@lokott mail]$ ls | wc -l         //表示成功建立了30個
    50
    [lisi@lokott mail]$ su               //切換到root下看一下數量限制的變化,其中warn/time變爲6days
    密碼:
    [root@lokott mail]# cd 
    [root@lokott ~]#  xfs_quota -c 'quota -iuv lisi'  /mail/   //查看數量配額限制功能
    Disk quotas for User lisi (1001)
    Filesystem               Files      Quota      Limit  Warn/Time      Mounted on
    /dev/mapper/vgroup-vgroup1
                              50         20         50   00  [6 days] /mail

    10.實驗小結(2):

    對磁盤進行配額操做後,其限制是很是嚴格的,上面咱們經過建立文件的方法驗證了磁盤配額數量限制的效果,其中警告時間表示從明天開始計算6天時間,時間超事後因爲軟限制40的文件節點數量的限制,後面建立的10個文件將會被刪除!

    下面經過dd命令來驗證配額容量限制的效果:

    [root@lokott ~]# su - lisi                  //首先切換到lisi用戶上cd到掛載點目錄刪除原來的文件
    上一次登陸:六 11月  2 16:46:28 CST 2019pts/0 上
    [lisi@lokott ~]$ cd /mail/
    [lisi@lokott mail]$ ls
    10.txt  14.txt  18.txt  21.txt  25.txt  29.txt  32.txt  36.txt  3.txt   43.txt  47.txt  50.txt  8.txt
    11.txt  15.txt  19.txt  22.txt  26.txt  2.txt   33.txt  37.txt  40.txt  44.txt  48.txt  5.txt   9.txt
    12.txt  16.txt  1.txt   23.txt  27.txt  30.txt  34.txt  38.txt  41.txt  45.txt  49.txt  6.txt
    13.txt  17.txt  20.txt  24.txt  28.txt  31.txt  35.txt  39.txt  42.txt  46.txt  4.txt   7.txt
    [lisi@lokott mail]$ rm *.txt -f        //刪除全部文件而後使用dd命令操做,軟限制1G 硬限制2G
    [lisi@lokott mail]$ cd 
    [lisi@lokott ~]$ dd if=/dev/zero of=/mail/demo01.txt bs=50M count=10   //第一次沒問題
    記錄了10+0 的讀入
    記錄了10+0 的寫出
    524288000字節(524 MB)已複製,0.647092 秒,810 MB/秒
    [lisi@lokott ~]$ dd if=/dev/zero of=/mail/demo02.txt bs=50M count=20   //第二次沒問題
    記錄了20+0 的讀入
    記錄了20+0 的寫出
    1048576000字節(1.0 GB)已複製,0.685654 秒,1.5 GB/秒
    [lisi@lokott ~]$ dd if=/dev/zero of=/mail/demo03.txt bs=50M count=20    //第三次失敗了
    dd: 寫入"/mail/demo03.txt" 出錯: 超出磁盤限額
    記錄了11+0 的讀入
    記錄了10+0 的寫出
    574619648字節(575 MB)已複製,0.357243 秒,1.6 GB/秒
    [lisi@lokott ~]$ du -sh /mail/    //統計目錄空間大小使用狀況
    2.0G /mail/
    [lisi@lokott ~]$ ls -lh /mail/         //查看詳細信息
    總用量 2.0G
    -rw-rw-r--. 1 lisi lisi  500M 11月  2 17:08 demo01.txt
    -rw-rw-r--. 1 lisi lisi 1000M 11月  2 17:09 demo02.txt
    -rw-rw-r--. 1 lisi lisi  548M 11月  2 17:10 demo03.txt
    [lisi@lokott ~]$ su 
    密碼:
    [root@lokott lisi]# cd
    [root@lokott ~]# xfs_quota -c 'quota -uv lisi'  /mail/  //查看容量配額限制功能
    Disk quotas for User lisi (1001)
    Filesystem              Blocks      Quota      Limit  Warn/Time      Mounted on
    /dev/mapper/vgroup-vgroup1
                         2097152    1048576    2097152   00  [6 days] /mail

    11.實驗小結(3)

    經過dd命令(dd命令是用指定大小的塊拷貝一個文件,並在拷貝的同時進行指定的轉換)來驗證磁盤配額中容量限制的功能測試驗證,可見此與上一個方法驗證的結果相似,實驗操做過程當中注意如下兩點:

    須要切換用戶驗證和更新掛載點的內容(若是第二個方法沒有先將原來的文件刪除,是沒法進行實驗的)

相關文章
相關標籤/搜索