下一场对两样客户设定分配的定额,提醒有一个G的分配的定额 正是应用的流量用光了.只有1个G 

2018-8-29 dynalist 配额

总结

  1. 配置配额是为了更好的分配文件系统使用空间,而对普通用户或群组限制使用额度。
  2. 配置配额是基于挂载文件而言,即必须使用挂载选项usrquota and/or
    grpquota。
  3. 配置配额可以单独限于普通用户,也可以单独限于群组,也可以同时对群组和用户进行限制。
  4. 配置配额可以对文件大小(block)进行限定,也可以对文件数目(inode)进行限定

本文永久更新链接地址:http://www.linuxidc.com/Linux/2017-10/148086.htm

图片 1

3、创建磁盘quota数据库

[root@CentOS7 ~]#setenforce 0
[root@CentOS7 ~]#quotacheck -cug /home

对于LINUX中的XFS文件系统问题

先用命令看一看内核支持XFS文件系统吗?
grep “CONFIG_XFS_FS” /boot/config-*

看看上面一条命令的输出是什么?我的电脑是显示如下 :
[[email protected]
~]# grep “CONFIG_XFS_FS” /boot/config-*
/boot/config-2.6.18-348.1.1.el5:CONFIG_XFS_FS=m
/boot/config-2.6.18-348.el5:CONFIG_XFS_FS=m
 

XFS是扩展性高、高性能的文件系统。也是rhel7/centos7的默认文件系统。
XFS支持metadata journaling,这使其能从crash中…

提示有一个G的配额 就是使用的流量用光了.仅有1个G 

测试

  • 在/mnt/sdb/目录下创建linuxidc_f/目录,且属主为linuxidc,切换到linuxidc用

 

1.  [linuxidc@linuxidc-pc sdb]$pwd            #  查看当前目录

2.  /mnt/sdb                       

3.  [linuxidc@linuxidc-pc sdb]$whoami      #  
查看当前用户,必须是配置配额设定的用户

4.  linuxidc 

5.  [linuxidc@linuxidc-pc sdb]$ll         

6.      # 
查看linuxidc用户可以使用的目录,确保linuxidc可以在该目录或其子目录中写入数据

7.  total 28 

8.  -rw——- 1 root  root   7168 Apr 17 17:43 aquota.user 

9.  drwx—— 2 root  root  16384 Apr 17 17:07 lost+found 

  1. drwxr-xr-x 2 linuxidc linuxidc  4096 Apr 17 18:05 linuxidc_f  #
    该目录属主为linuxidc

  2. [linuxidc@linuxidc-pc sdb]$cd linuxidc_f/ 

 

  • 使用edquota USER 可以查看、设置用户USER的配额限度和使用进度

 

1.  [linuxidc@linuxidc-pc linuxidc_f]$edquota linuxidc 

 

  查看结果

1.  Disk quotas for user linuxidc (uid 500): 

2.    Filesystem    blocks       soft       hard     inodes     soft   
 hard 

3.    /dev/sdb      4           50000      60000          2       30   
   40 

4.  # block设备使用量为4kb

 

  •  尝试创建file文件,并写入40M数据

 

1. 
[linuxidc@linuxidc-pc linuxidc_f]$dd if=/dev/zero of=file bs=1M count=40 

2.  40+0 records in 

3.  40+0 records out 

4.  41943040 bytes (42 MB) copied, 0.0380665 s, 1.1 GB/s 

5.  ## 使用dd命令写文本,创建一个文本file,写入1M*40=40M文件,写入成功

 

    查看配额限度和使用进度

5.  Disk quotas for user linuxidc (uid 500): 

6.    Filesystem    blocks       soft       hard     inodes     soft   
 hard 

7.    /dev/sdb      40964      50000      60000          2       30     
 40 

8.  ## 使用了40964kb

 

 

 

  • 尝试创建file文件,并写入50M数据

1. 
[linuxidc@linuxidc-pc linuxidc_f]$dd if=/dev/zero of=file bs=1M count=50 

2.  sdb: warning, user block quota exceeded. 

3.  50+0 records in 

4.  50+0 records out 

5.  52428800 bytes (52 MB) copied, 0.046946 s, 1.1 GB/s 

6.  # 写入1M*50=50M文件成功,但发出警告warning

  查看配额限度和使用进度

1.  Disk quotas for user linuxidc (uid 500): 

2.    Filesystem      blocks    soft       hard     inodes     soft   
 hard 

3.    /dev/sdb        51204      50000      60000          2       30   
   40 

4.   ## 使用额度51204kb,超过预警额度 此时还是可以写入文件的

5.     

 

  • 尝试创建file文件,并写入60M数据

 

1. 
[linuxidc@linuxidc-pc linuxidc_f]$dd if=/dev/zero of=file bs=1M count=60 

2.  sdb: warning, user block quota exceeded. 

3.  sdb: write failed, user block limit reached. 

4.  dd: writing `file’: Disk quota exceeded 

5.  59+0 records in 

6.  58+0 records out 

7.  61435904 bytes (61 MB) copied, 0.101161 s, 607 MB/s 

8.  #  显示写入60M数据失败 

 

查看quota配额使用量:

1.  Disk quotas for user linuxidc (uid 500): 

2.      Filesystem   blocks       soft       hard     inodes     soft   
 hard 

3.      /dev/sdb       60000      50000      60000          2       30 
     40 

尝试往file中写入内容:

1.  [linuxidc@linuxidc-pc linuxidc_f]$echo “heih” >> file   

2.  -bash: echo: write error: Disk quota exceeded    #  写入错误

3.  [linuxidc@linuxidc-pc linuxidc_f]$touch a                # 
创建文件成功

4.  [linuxidc@linuxidc-pc linuxidc_f]$ 

 

当然也可以测试inode使用数量,这里不再赘述。

6、验证

请注意切换成用户luo,在/home目录下创建文件

[root@CentOS7 ~]#su - luo
Last login: Sat Jun 24 09:09:08 CST 2017 on pts/0
[luo@CentOS7 ~]$dd if=/dev/zero of=/home/luo/quotatest bs=1M count=50
50+0 records in
50+0 records out
52428800 bytes (52 MB) copied, 0.0537142 s, 976 MB/s
[luo@CentOS7 ~]$dd if=/dev/zero of=/home/luo/quotatest bs=1M count=110
sda6: write failed, user block limit reached.
dd: error writing ‘/home/luo/quotatest’: Disk quota exceeded
98+0 records in
97+0 records out
102346752 bytes (102 MB) copied, 1.56307 s, 65.5 MB/s

当用户luo写入50M时,写入正常
当用户luo写入100M时,提示“write failed, user block limit reached.”

centos7的xfs配置,centos7xfs配置

XFS是扩展性高、高性能的文件系统。也是rhel7/centos7的默认文件系统。
XFS支持metadata journaling,这使其能从crash中更快速的恢复。
它也支持在挂载和活动的状态下进行碎片整理和扩容。
通过延迟分配,XFS 赢得了许多机会来优化写性能。
可通过工具xfsdump和xfsrestore来备份和恢复xfs文件系统,
xfsdump可使用dump级别来完成增量备份,还可通过size,subtree,inode
flags来排除文件。
也支持user、group、project配额。

下面将介绍如何创建xfs文件系统,分配配额以及对其扩容:
###############################################################################
将/dev/sdb分区(2G),并启动LVM功能

[[email protected] zhongq]#parted /dev/sdb                               
GNU Parted 3.1
Using /dev/sdb
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mkpart primary 4 2048
(parted) set 1 lvm on                                                    
(parted) p                                                             
Model: VMware, VMware Virtual S (scsi)
Disk /dev/sdb: 2147MB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: 

Number  Start   End     Size    File system  Name     Flags
 1      4194kB  2048MB  2044MB               primary  lvm

 

###############################################################################
创建PV

[[email protected] zhongq]# pvcreate /dev/sdb1
  Physical volume "/dev/sdb1" successfully created

[[email protected] zhongq]# pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda2
  VG Name               centos
  PV Size               24.51 GiB / not usable 3.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              6274
  Free PE               0
  Allocated PE          6274
  PV UUID               9hp8U7-IJM6-bwbP-G9Vn-IVuJ-yvE8-AkFjcB

  "/dev/sdb1" is a new physical volume of "1.90 GiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name               
  PV Size               1.90 GiB
  Allocatable           NO
  PE Size               0   
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               bu7yIH-1440-BPy1-APG2-FpvX-ejLS-2MIlA8

###############################################################################
将/dev/sdb1分配到名为xfsgroup00的VG

[[email protected] zhongq]# vgcreate  xfsgroup00 /dev/sdb1
 Volume group "xfsgroup00" successfully created
[[email protected] zhongq]# vgdisplay
 --- Volume group ---
  VG Name               centos
  System ID             
  Format                lvm2
  Metadata Areas        1
  Metadata Sequence No  3
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                1
  Act PV                1
  VG Size               24.51 GiB
  PE Size               4.00 MiB
  Total PE              6274
  Alloc PE / Size       6274 / 24.51 GiB
  Free  PE / Size       0 / 0   
  VG UUID               T3Ryyg-R0rn-2i5r-7L5o-AZKG-yFkh-CDzhKm

  --- Volume group ---
  VG Name               xfsgroup00
  System ID             
  Format                lvm2
  Metadata Areas        1
  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                1
  Act PV                1
  VG Size               1.90 GiB
  PE Size               4.00 MiB
  Total PE              487
  Alloc PE / Size       0 / 0   
  Free  PE / Size       487 / 1.90 GiB
  VG UUID               ejuwcc-sVES-MWWB-3Mup-n1wB-Kd0g-u7jm0H

###############################################################################
使用命令lvcreate来创建xfsgroup00组大小为1G的名为xfsdata的LV

[[email protected] zhongq]# lvcreate -L 1024M -n xfsdata xfsgroup00
WARNING: xfs signature detected on /dev/xfsgroup00/xfsdata at offset 0. Wipe it? [y/n] y
  Wiping xfs signature on /dev/xfsgroup00/xfsdata.
  Logical volume "xfsdata" created
[[email protected] zhongq]# lvdisplay
  --- Logical volume ---
  LV Path                /dev/centos/swap
  LV Name                swap
  VG Name                centos
  LV UUID                EnW3at-KlFG-XGaQ-DOoH-cGPP-8pSf-teSVbh
  LV Write Access        read/write
  LV Creation host, time localhost, 2014-08-18 20:15:25 +0800
  LV Status              available
  # open                 2
  LV Size                2.03 GiB
  Current LE             520
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:0

  --- Logical volume ---
  LV Path                /dev/centos/root
  LV Name                root
  VG Name                centos
  LV UUID                zmZGkv-Ln4W-B8AY-oDnD-BEk2-6VWL-L0cZOv
  LV Write Access        read/write
  LV Creation host, time localhost, 2014-08-18 20:15:26 +0800
  LV Status              available
  # open                 1
  LV Size                22.48 GiB
  Current LE             5754
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:1

  --- Logical volume ---
  LV Path                /dev/xfsgroup00/xfsdata
  LV Name                xfsdata
  VG Name                xfsgroup00
  LV UUID                O4yvoY-XGcD-0zPm-eilR-3JJP-updU-rRCSlJ
  LV Write Access        read/write
  LV Creation host, time localhost.localdomain, 2014-09-23 15:50:19 +0800
  LV Status              available
  # open                 0
  LV Size                1.00 GiB
  Current LE             256
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:3

###############################################################################
格式化分区为xfs文件系统。
注意:xfs被创建后,其size将无法缩小,但可以通过xfs_growfs来增大

[[email protected] zhongq]# mkfs.xfs /dev/xfsgroup00/xfsdata 
meta-data=/dev/xfsgroup00/xfsdata isize=256    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
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

###############################################################################
挂载xfs系统分区到指定目录,并通过参数uquota,gquota开启文件系统配额。

[[email protected] zhongq]# mkdir /xfsdata
[[email protected] zhongq]# mount -o uquota,gquota /dev/xfsgroup00/xfsdata /xfsdata
[[email protected] zhongq]# chmod 777 /xfsdata
[[email protected] zhongq]# mount|grep xfsdata
/dev/mapper/xfsgroup00-xfsdata on /xfsdata type xfs (rw,relatime,attr2,inode64,usrquota,grpquota)

###############################################################################
使用xfs_quota命令来查看配额信息以及为用户和目录分配配额,并验证配额限制是否生效。

[[email protected] zhongq]# xfs_quota -x -c 'report' /xfsdata
User quota on /xfsdata (/dev/mapper/xfsgroup00-xfsdata)
                               Blocks                     
User ID          Used       Soft       Hard    Warn/Grace     
---------- -------------------------------------------------- 
root                0          0          0     00 [--------]

Group quota on /xfsdata (/dev/mapper/xfsgroup00-xfsdata)
                               Blocks                     
Group ID         Used       Soft       Hard    Warn/Grace     
---------- -------------------------------------------------- 
root                0          0          0     00 [--------]

[[email protected] zhongq]# xfs_quota -x -c 'limit bsoft=100M bhard=120M zhongq' /xfsdata
[[email protected] zhongq]#xfs_quota -x -c 'report' /xfsdata
User quota on /xfsdata (/dev/mapper/xfsgroup00-xfsdata)
                               Blocks                     
User ID          Used       Soft       Hard    Warn/Grace     
---------- -------------------------------------------------- 
root                0          0          0     00 [--------]
zhongq              0     102400     122880     00 [--------]

Group quota on /xfsdata (/dev/mapper/xfsgroup00-xfsdata)
                               Blocks                     
Group ID         Used       Soft       Hard    Warn/Grace     
---------- -------------------------------------------------- 
root                0          0          0     00 [--------]

[[email protected] zhongq]# su zhongq
[[email protected] ~]$ dd if=/dev/zero of=/xfsdata/zq00 bs=1M count=100
100+0 records in
100+0 records out
104857600 bytes (105 MB) copied, 28.9833 s, 3.6 MB/s
[[email protected] ~]$ dd if=/dev/zero of=/xfsdata/zq01 bs=1M count=100
dd: error writing ‘/xfsdata/zq01’: Disk quota exceeded
21+0 records in
20+0 records out
20971520 bytes (21 MB) copied, 4.18921 s, 5.0 MB/s

[[email protected] ~]$ exit

[[email protected] zhongq]# xfs_quota 
xfs_quota> help
df [-bir] [-hn] [-f file] -- show free and used counts for blocks and inodes
help [command] -- help for one or all commands
print -- list known mount points and projects
quit -- exit the program
quota [-bir] [-gpu] [-hnNv] [-f file] [id|name]... -- show usage and limits

Use 'help commandname' for extended help.
xfs_quota> print
Filesystem          Pathname
/                   /dev/mapper/centos-root
/boot               /dev/sda1
/var/lib/docker     /dev/mapper/centos-root
/xfsdata            /dev/mapper/xfsgroup00-xfsdata (uquota, gquota)
xfs_quota> quota -u zhongq
Disk quotas for User zhongq (1000)
Filesystem                        Blocks      Quota      Limit  Warn/Time      Mounted on
/dev/mapper/xfsgroup00-xfsdata    122880     102400     122880   00  [6 days]   /xfsdata

###############################################################################
先使用命令lvextend将LV扩展为1.5G(初始容量是1G),然后使用命令xfs_growfs来对xfs文件系统扩容(这里以block计数)

[[email protected] zhongq]# lvextend -L 1.5G /dev/xfsgroup00/xfsdata 
  Extending logical volume xfsdata to 1.50 GiB
  Logical volume xfsdata successfully resized

[[email protected] zhongq]# xfs_growfs /dev/xfsgroup00/xfsdata -D 393216
meta-data=/dev/mapper/xfsgroup00-xfsdata isize=256    agcount=4, agsize=65536 blks
         =                       sectsz=512   attr=2, projid32bit=1
         =                       crc=0
data     =                       bsize=4096   blocks=262144, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=0
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 262144 to 393216

[[email protected] zhongq]# df -h|grep xfsdata
/dev/mapper/xfsgroup00-xfsdata  1.5G  153M  1.4G  10% /xfsdata

实验

  1.添加一块硬盘/dev/sdb,大小20G,
也可以用大一点的硬盘,分区成20G

 

1.  [root@linuxidc-pc ~]#lsblk /dev/sdb     

2.  NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT   

3.  sdb    8:16   0  20G  0 disk   

 

  2. 格式化硬盘(如果你使用分区,就直接格式化分区)

 

1.  [root@linuxidc-pc ~]#mkfs.ext4 /dev/sdb   

  3.  创建挂载目录

 

1.  [root@linuxidc-pc ~]#mkdir /mnt/sdb 

 

  4. 挂载文件系统

 

  修改/etc/fstab目录,把/dev/sdb
挂载上,注意添加usrquota挂载选项,该选项意为支持用户配额

1.  UUID=fa2f12ad-6195-47fe-8792-a8a9000cd44c /   ext4  defaults  1 1 

2.  UUID=cd3afad0-4731-442d-8fc2-d9ae95f1a1cc /boot   ext4   defaults   
1 2 

3.  UUID=6afc5ea4-27c7-4d52-bd0f-ca410a2da379 /home  ext4   defaults 
1 2 

4.  UUID=daaff10f-aa8b-43d8-bc06-e4b82a905886 /mnt/sdb  ext4  usrquota 
 0 0 

 

 

  使用mount –a 让挂载生效,使用df –h 命令查看是否生效

 

1.  [root@linuxidc-pc ~]#df -h 

2.  Filesystem      Size  Used Avail Use% Mounted on 

3.  /dev/sda6       166G  3.6G  154G   3% / 

4.  tmpfs           491M   72K  491M   1% /dev/shm 

5.  /dev/sda1       190M   34M  147M  19% /boot 

6.  /dev/sda2        20G   44M   19G   1% /data 

7.  /dev/sda3       9.8G  130M  9.1G   2% /home 

8.  /dev/sdb         20G   44M   19G   1% /mnt/sdb 

//第8行显示 /dev/sdb文件系统已挂载在/mnt/sdb目录上

 

  5. 对/mnt/sdb设置配置配额,终于快接近尾声了,-> ->

       

    • 初始化配额数据库

1.    [root@linuxidc-pc ~]#quotacheck /mnt/sdb/ 

    • 查看数据库是否生成成功,是否生成aquota.user文件

1.    [root@linuxidc-pc sdb]#ls /mnt/sdb/ 

2.  aquota.user  lost+found 

    • 编辑配置数据库
    •  设置linuxidc的配置配额

 

1.  [root@linuxidc-pc sdb]#edquota linuxidc 

 

1.  Disk quotas for user linuxidc (uid 500): 

2.    Filesystem   blocks   soft   hard   inodes     soft     hard 

3.    /dev/sdb       0     50000   60000     0       30        40 


设置:使用block数目到达50000kb时,发送警告,到达60000kb时,禁止添加内容

#  同样,当inode使用数目达到30,发送警告,达到40,禁止新建文件

Filesystem: 文件系统

blocks:已使用的块大小,以kb为单位

inode:已使用的inode个数

soft:块设备(或inode)使用数目,预警额度   

hard: 块设备(或inode)使用数目,禁止额度

 

    • 开启配置限额

1.  [root@linuxidc-pc sdb]#quotaon /dev/sdb   

 

 

7、挂载/dev/sda6到/home目录下

[root@CentOS7 ~]#mount -a
[root@CentOS7 ~]#df
Filesystem     1K-blocks    Used Available Use% Mounted on
/dev/sda2      102350000 4563984  97786016   5% /
devtmpfs          485296       0    485296   0% /dev
tmpfs             499968       4    499964   1% /dev/shm
tmpfs             499968   13524    486444   3% /run
tmpfs             499968       0    499968   0% /sys/fs/cgroup
/dev/sda3       51175000   36776  51138224   1% /app
/dev/sda1        1038336  172120    866216  17% /boot
tmpfs              99996       8     99988   1% /run/user/0
/dev/sr0         8086368 8086368         0 100% /run/media/root/CentOS 7 x86_64
/dev/sda6       10190100   36888   9612540   1% /home

centos7中xfs 是什格式

和ext3 ext4一样 是一种文件系统,不过被称为海量存储
性能对比see also
www.cnblogs.com/…7.html
 

CentOS6.8下实现配置配额

  Linux系统是支持多用户的,即允许多个用户同时使用linux系统,普通用户在/home/目录下均有自己的家目录,在默认状态下,各个用户可以在自己的家目录下任意创建文件,而不用担心内存。作为系统管理员,为了防止各个用户占用太多的空间,可以为各个普通用户设置配置配额,即设置各个用户的文件占用的空间大小。

 

       本文以硬盘/dev/sdb为例设置配置配额:

5、删除/home目录数据

[root@CentOS7 ~]#rm -rf /home
rm: cannot remove ‘/home’: Device or resource busy

删除/home目录时提示目录在使用中。这种情况我们可以切换到单用户模式操作。
注意!单用户模式会中断网络连接的终端,只能在机器前操作,请慎用。

6、配置/etc/fstab

[root@CentOS7 ~]#vim /etc/fstab 


#
# /etc/fstab
# Created by anaconda on Wed May 17 14:26:36 2017
#
# 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
#
UUID=3b254514-1df1-4322-bf30-d14075937249 /                       xfs     defaults        0 0
UUID=6b05345c-d2b7-42ed-bc15-411ffc962fe3 /app                    xfs     defaults        0 0
UUID=4e02b896-3f74-4592-a44f-43a79a74627d /boot                   xfs     defaults        0 0
UUID=52074f6b-cdf3-49fd-bea2-09c0d5c92793 swap                    swap    defaults        0 0
UUID=4e02b896-3f74-4592-a44f-43a79a74627d /boot                   xfs     defaults        0 0
UUID=4530b0f0-a686-4dbe-80a1-5d425c40f3b9 /home                   ext4    defaults        0 0

3、备份/home目录

备份/home目录到/app

  [root@CentOS7 ~]#cp -a /home /app

相关文章

You can leave a response, or trackback from your own site.

Leave a Reply

网站地图xml地图