centos 사용자 디스크 사용 할당량
디스크 할당량을 제한할 때 두 가지 방식이 있다. 첫 번째는soft limit-소프트 제한이다. 이런 제한은 사용자의 디스크 사용량이 소프트 할당량 제한에 도달하면 유예기간 카운트다운을 시작한다.카운트다운이 0으로 돌아가기 전에 사용자는 남은 할당량을 정상적으로 사용할 수 있지만 카운트다운이 0으로 돌아가면 사용자는 데이터를 정리하지 않고 소프트 제한보다 낮으면 디스크 공간을 계속 사용할 수 없다.즉, 사용자가 사용한 디스크 공간이 제한된 상한선에 도달한 후에 알림을 하고 일정 시간이 지나도 바뀌지 않으면 다시 처리한다는 것이다.이와 상대적으로 하드 제한이다. 이런 제한은 사용자가 사용할 수 있는 디스크 공간의 진정한 상한이다. 이 상한에 도달하면 알림을 주지 않고 사용자에게 직접 처리한다. 처리하는 방법은 사용자가 디스크를 사용할 권리를 닫는 것이다.일반적으로 소프트 제한은 하드 제한의 수치보다 약간 작다. 예를 들어 소프트 제한은 90M, 하드 제한은 120M일 수 있다.일반적으로 한 시스템에서 소프트웨어, 하드웨어 제한이 모두 존재한다. 즉, 먼저 사용자에게 알림을 하면 사용자는 계속 사용할 수 있지만 사용자는 하드웨어 제한에 도달할 수 없다.Linux에서 기본 유예기간은 7일입니다. 사용자가 소프트 제한에 도달하면 7일 동안 디스크를 계속 사용할 수 있으며, 7일이 지나면 강제로 처리됩니다.
섹션이나 볼륨이 디스크 할당량을 지원할 수 있도록 하려면, 마운트할 때 usrquota와grpquota 두 옵션을 추가해야 합니다.
먼저 마운트할 수 있는 디스크를 만듭니다. 예를 들어 시스템에 디스크/dev/sdc가 있습니다. 이 디스크에 fdisk/dev/sdc 명령을 사용하여/dev/sdc1 디스크를 만듭니다.
[root@localhost ~]# fdisk /dev/sdc
fdisk (util-linux 2.23.2)。
, 。
。
Device does not contain a recognized partition table
0x9de7a864 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 ):w
The partition table has been altered!
Calling ioctl() to re-read partition table.
。
[root@localhost ~]#
설정한 후 포맷하고 ext4 파일 시스템을 설치합니다.
[root@localhost ~]# mkfs.ext4 /dev/sdc1
mke2fs 1.42.9 (28-Dec-2013)
=
OS type: Linux
=4096 (log=2)
=4096 (log=2)
Stride=0 blocks, Stripe width=0 blocks
1310720 inodes, 5242624 blocks
262131 blocks (5.00%) reserved for the super user
=0
Maximum filesystem blocks=2153775104
160 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
4096000
Allocating group tables:
inode :
Creating journal (32768 blocks):
Writing superblocks and filesystem accounting information:
그런 다음 마운트 지점을 설정합니다.
[root@localhost ~]# mkdir /tmp/sdc
설정한 후에 이 마운트 지점에 디스크를 마운트할 수 있습니다. 그러나 여기서 주의해야 할 것은 usrquota와 grpquota 옵션을 추가해야만 사용자 할당량을 사용할 수 있습니다. 형식은 다음과 같습니다.
~]# mount -o usrquota,grpquota DEVICE MOUNT_POINT
또는/etc/fstab 파일에 다음을 기록합니다.
DEVICE MOUNT_POINT FSTYPE defaults,usrquota,grpquota 0 0
예를 들면 다음과 같습니다.
[root@localhost ~]# mount -o usrquota,grpquota /dev/sdc1 /tmp/sdc/
mount 명령을 사용하여 마운트의 세부 내용을 보면/dev/sdc1의 마운트 정보가 많고 usrquota와 grpquota 옵션이 있습니다.
[root@localhost ~]# mount | grep "/sdc1"
/dev/sdc1 on /tmp/sdc type ext4 (rw,relatime,seclabel,quota,usrquota,grpquota,data=ordered)
[root@localhost ~]#
이상의 마운트 작업을 한 후에 이 디스크에서 사용자의 할당액 관리를 할 수 있습니다.할당액 관리를 하려면 두 가지 중요한 파일이 필요합니다. 하나는 aquota입니다.그룹, 이 파일은 그룹에 대한 할당량을 위한 것입니다.또 하나는 aquota.사용자, 이 파일은 사용자에 대한 할당량을 위한 것입니다.디스크를 새로 마운트한 후에는 두 파일이 없습니다. 다음 명령을 사용하여 생성해야 합니다.
quotacheck 명령:
quotacheck - scan a filesystem for disk usage, create, check and repair quota files
옵션:
-v, --verbose: 전체 조작 과정의 상세한 정보를 표시합니다
-u, --user: 사용자 할당량 파일 생성, 감지 및 복구
-g, -group: 그룹 할당량 파일 생성, 검사 및 복구
-c,--create-files: 검사를 통해 사용자 할당 파일이나 그룹 할당 파일이 없으면 사용자가 지정한 옵션을 설치하여 파일을 생성합니다.
-a,--all:/etc/fstab 파일에 할당액과 관련된 마운트 옵션을 포함하는 모든 장치에 대응하는 할당액 파일이 있는지 여부;
이 명령을 사용하면 두 개의 파일이 생성됩니다.
[root@localhost ~]# quotacheck -u -g /tmp/sdc/
[root@localhost ~]# ls /tmp/sdc/
aquota.group aquota.user lost+found
[root@localhost ~]#
이 두 파일은 각각 자신의 기능을 가지고 있다. 물론 사용자에 대한 할당액만 필요하다면aquota가 필요하지 않다.그룹 이 파일은 반대로 사용할 때 자신의 필요에 따라 명령을 사용합니다.
이 두 파일을 생성한 후 사용자 또는 그룹에 디스크 할당량을 할당할 수 있습니다. 사용되는 명령은 다음과 같습니다.
edquota
-u, --user: 사용자 할당량, 기본 기능 작성;
-g, -group: 그룹 할당량을 작성하여 사용하지 않음;
-t,--edit-period: 소프트 제한을 초과한 기한을 설정합니다.기본 7일은 초, 분, 시간, 천등 시간 단위로 선택할 수 있습니다.
이 명령을 사용할 때, 예를 들어 사용자 '테스트' 의 할당량을 제한합니다.
[root@localhost ~]# edquota -u test
이 명령이 실행된 후에vim의 인터페이스에 들어갑니다. 우리는 이 인터페이스에서 사용자의 할당량을 수정할 수 있습니다.
Disk quotas for user test (uid 1006):
Filesystem blocks soft hard inodes soft hard
/dev/sdc1 0 0 0 0 0 0
~
~
~
이vim인터페이스에서 우리는 수정할 수 있는 옵션이 블록수(파일의 크기, 단위는 KB)의 소프트 제한과 하드 제한, 그리고inode의 소프트 제한과 하드 제한이 있음을 볼 수 있다. 여기서 나는 블록수의 소프트 제한과 하드 제한을 수정한다. 수정 방법은 직접 수치를 수정한 다음에 이 파일을 저장하면 된다.
Disk quotas for user test (uid 1006):
Filesystem blocks soft hard inodes soft hard
/dev/sdc1 0 1000 2000 0 0 0
~
~
~
수정 사항을 저장하고 나면 다음 명령을 사용하여 할당량 기능이 유효하거나 유효하지 않게 해야 합니다.
quotaon(할당 기능 효력 발생), quotaoff(할당 기능 실효)
quotaon, quotaoff - turn filesystem quotas on and off
첫 번째 방법은 디스크를 지정하지 않는 것입니다.
[root@localhost ~]# quotaon -avug
/dev/sdc1 [/tmp/sdc]: group quotas turned on
/dev/sdc1 [/tmp/sdc]: user quotas turned on
[root@localhost ~]#
[root@localhost ~]# quotaoff -avug
/dev/sdc1 [/tmp/sdc]: group quotas turned off
/dev/sdc1 [/tmp/sdc]: user quotas turned off
[root@localhost ~]#
또는 직접 디스크를 지정합니다.
quotaon|quotaoff /dev/sdb1
할당량 사용 보기
quota: 사용자의 디스크 할당량을 표시합니다. 뒤에 사용자의 이름을 따라가야 합니다.
quota - display disk usage and limits
[root@localhost sdc]# quota test
Disk quotas for user test (uid 1006):
Filesystem blocks quota limit grace files quota limit grace
/dev/sdc1 2000* 1000 2000 6days 2 0 0
[root@localhost sdc]#
이 예에서 나는 블록 수의 소프트 제한을 1M으로 바꾸고 하드 제한을 2M으로 바꾸었다. 저장한 후에 현재 사용자를test로 전환한 후에 이 사용자가 dd 명령을 통해 1M 파일을 만들 수 있다. (만들기 전에 이 사용자에게 이 파일에 쓰기 권한이 있는지 확인해야 한다. 부여할 권한이 없다면)
[test@localhost sdc]$ dd if=/dev/zero bs=1024 count=2000 of=/tmp/sdc/FILE1_2M
2000+0
2000+0
2048000 (2.0 MB) ,0.00675606 ,303 MB/
이 때/tmp/sdc 파일에서 테스트 사용자가 사용하는 디스크 공간이 2M의 공간을 차지합니다. 이 명령을 다시 사용하면 오류가 발생합니다.
[test@localhost sdc]$ dd if=/dev/zero bs=1024 count=2000 of=/tmp/sdc/FILE2_2M
sdc1: write failed, user block limit reached.
dd: "/tmp/sdc/FILE2_2M" :
1+0
0+0
0 (0 B) ,0.000285576 ,0.0 kB/
[test@localhost sdc]$
repquota: 디스크 할당액의 사용 상황을 보십시오. 루트 사용자만 사용할 수 있습니다
repquota - summarize quotas for a filesystem
[root@localhost sdc]# repquota -avug
*** Report for user quotas on device /dev/sdc1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 20 0 0 2 0 0
test +- 2000 1000 2000 6days 2 0 0
Statistics:
Total blocks: 7
Data blocks: 1
Entries: 2
Used average: 2.000000
*** Report for group quotas on device /dev/sdc1
Block grace time: 7days; Inode grace time: 7days
Block limits File limits
Group used soft hard grace used soft hard grace
----------------------------------------------------------------------
root -- 1020 0 0 3 0 0
test -- 2000 0 0 2 0 0
Statistics:
Total blocks: 7
Data blocks: 1
Entries: 2
Used average: 2.000000
[root@localhost sdc]#
주의: 디스크 할당량을 사용할 때 어떤 조작을 하든지 루트는 디스크 할당량의 제한을 받지 않고 최대 루트 사용자에게만 알림을 할 수 있기 때문에 루트의 권한은 매우 크기 때문에 필요할 때 루트 사용자를 사용해서 로그인하지 마십시오.
전재 대상:https://blog.51cto.com/11142243/1940587
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.