Linux 관리자-할당량 관리
CentOS 디스크 할당량은 둘 다 활성화 할 수 있습니다. 시스템 관리자에게 경고하고 디스크 용량이 초과되기 전에 사용자에 대한 추가 디스크 스토리지 액세스를 거부합니다. 디스크가 가득 차면 디스크에있는 항목에 따라 전체 시스템이 복구 될 때까지 갑자기 정지 될 수 있습니다.
CentOS Linux에서 할당량 관리를 활성화하는 것은 기본적으로 4 단계 프로세스입니다.
Step 1 − / etc / fstab에서 그룹 및 사용자에 대한 할당량 관리를 활성화합니다.
Step 2 − 파일 시스템을 다시 마운트합니다.
Step 3 − Quota 데이터베이스를 생성하고 디스크 사용량 테이블을 생성합니다.
Step 4 − 할당량 정책을 할당합니다.
/ etc / fstab에서 할당량 관리 활성화
먼저 / etc / fstab 파일을 백업하려고합니다.
[root@centosLocal centos]# cp -r /etc/fstab ./
이제 현재 작업 디렉토리에 알려진 작업 / etc / fstab 의 복사본이 있습니다.
#
# /etc/fstab
# Created by anaconda on Sat Dec 17 02:44:51 2016
#
# 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/cl-root / xfs defaults 0 0
UUID = 4b9a40bc-9480-4 /boot xfs defaults 0 0
/dev/mapper/cl-home /home xfs defaults,usrquota,grpquota 0 0
/dev/mapper/cl-swap swap swap defaults 0 0
볼륨 또는 레이블에 대한 / etc / fstab 의 옵션 섹션 에서 사용자 및 그룹에 할당량이 적용될 위치를 다음과 같이 변경했습니다 .
- usrquota
- grpquota
보시다시피, 우리는 xfs파일 시스템. xfs를 사용할 때 추가 수동 단계가 필요합니다./home/와 같은 디스크에 있습니다. 추가 조사에 따르면 커널 수준 마운트 옵션 인 noquota에 /가 설정되어 있습니다. 커널 부팅 옵션을 다시 구성해야합니다.
root@localhost rdc]# mount | grep ' / '
/dev/mapper/cl-root on / type xfs (rw,relatime,seclabel,attr2,inode64,noquota)
[root@localhost rdc]#
XFS 파일 시스템에 대한 커널 부트 옵션 재구성
이 단계는 두 가지 조건에서만 필요합니다.
- 디스크 / 파티션에서 할당량을 활성화 할 때 xfs 파일 시스템을 사용합니다.
- 커널이 부팅시 noquota 매개 변수를 / etc / fstab에 전달하는 경우
Step 1 − / etc / default / grub을 백업합니다.
cp /etc/default/grub ~/
Step 2− / etc / default / grub 수정 .
다음은 기본 파일입니다.
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet"
GRUB_DISABLE_RECOVERY="true"
우리는 다음 줄을 수정하고 싶습니다-
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv=cl/swap rhgb quiet"
...에
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=cl/root rd.lvm.lv
=cl/swap rhgb quiet rootflags=usrquota,grpquota"
Note− 이러한 변경 사항을 그대로 복사하는 것이 중요합니다. grub.cfg를 재구성 한 후 구성에 오류가 발생하면 시스템이 부팅되지 않습니다. 비 프로덕션 시스템에서 튜토리얼의이 부분을 시도하십시오.
Step 3 − 작업중인 grub.cfg 백업
cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
새 grub.cfg 만들기
[root@localhost rdc]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-514.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-514.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-dbba7fa47f73457b96628ba8f3959bfd
Found initrd image: /boot/initramfs-0-rescuedbba7fa47f73457b96628ba8f3959bfd.img
done
[root@localhost rdc]#
재부팅
[root@localhost rdc]#reboot
모든 수정이 정확하다면 xfs 파일 시스템에 할당량을 추가 할 수있는 가용성이 없어야 합니다.
[rdc@localhost ~]$ mount | grep ' / '
/dev/mapper/cl-root on / type xfs (rw,relatime,seclabel,attr2,inode64,usrquota,grpquota)
[rdc@localhost ~]$
grub을 통해 usrquota 및 grpquota 매개 변수를 전달했습니다 .
이제 다시 / etc / fstab 을 편집 하여 동일한 물리 디스크에 / home 을 포함 시키 십시오.
/dev/mapper/cl-root/xfs
defaults,usrquota,grpquota 0 0
이제 할당량 데이터베이스를 활성화 해 보겠습니다.
[root@localhost rdc]# quotacheck -acfvugM
할당량이 활성화되어 있는지 확인하십시오.
[root@localhost rdc]# quotaon -ap
group quota on / (/dev/mapper/cl-root) is on
user quota on / (/dev/mapper/cl-root) is on
group quota on /home (/dev/mapper/cl-home) is on
user quota on /home (/dev/mapper/cl-home) is on
[root@localhost rdc]#
파일 시스템 다시 마운트
파티션 또는 디스크가 활성 부팅 된 파티션과 분리되어있는 경우 재부팅하지 않고 다시 마운트 할 수 있습니다. 루트 디렉토리 /에서 부팅 된 디스크 / 파티션에 할당량이 구성된 경우 운영 체제를 재부팅해야 할 수 있습니다. 강제로 다시 마운트하고 변경 사항을 적용하면 파일 시스템을 다시 마운트해야하는 필요성이 다를 수 있습니다.
[rdc@localhost ~]$ df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/cl-root 22447404 4081860 18365544 19% /
devtmpfs 903448 0 903448 0% /dev
tmpfs 919308 100 919208 1% /dev/shm
tmpfs 919308 9180 910128 1% /run
tmpfs 919308 0 919308 0% /sys/fs/cgroup
/dev/sda2 1268736 176612 1092124 14% /boot
/dev/mapper/cl-var 4872192 158024 4714168 4% /var
/dev/mapper/cl-home 18475008 37284 18437724 1% /home
tmpfs 183864 8 183856 1% /run/user/1000
[rdc@localhost ~]$
보시다시피 LVM 볼륨이 사용 중입니다. 따라서 재부팅하는 것은 간단합니다. 그러면 / home 을 다시 마운트 하고 / etc / fstab 구성 변경 사항을 활성 구성으로 로드합니다 .
할당량 데이터베이스 파일 생성
CentOS는 이제 / home에서 디스크 할당량으로 작업 할 수 있습니다. 전체 할당량 지원을 활성화하려면 다음을 실행해야합니다.quotacheck 명령.
quotacheck는 두 개의 파일을 생성합니다-
- aquota.user
- aquota.group
할당량이 활성화 된 디스크 / 파티션에 대한 할당량 정보를 저장하는 데 사용됩니다.
다음은 일반적인 할당량 검사 스위치입니다.
스위치 | 동작 |
---|---|
-유 | 사용자 할당량 확인 |
-지 | 그룹 할당량 확인 |
-씨 | enable 할당량을 사용하여 각 파일 시스템에 할당량을 활성화해야합니다. |
-V | 자세한 출력을 표시합니다. |
사용자 당 할당량 제한 추가
이를 위해 edquota 명령과 사용자 이름을 사용합니다.
[root@localhost rdc]# edquota centos
Disk quotas for user centos (uid 1000):
Filesystem blocks soft hard inodes soft hard
/dev/mapper/cl-root 12 0 0 13 0 0
/dev/mapper/cl-home 4084 0 0 140 0 0
각 열을 살펴 보겠습니다.
Filesystem − 적용되는 사용자의 파일 시스템 할당량입니다.
blocks − 사용자가 현재 각 파일 시스템에서 사용중인 블록 수
soft− 소프트 제한에 대한 블록을 설정합니다. 소프트 한도를 사용하면 사용자가 주어진 기간 동안 할당량을 유지할 수 있습니다.
hard− 하드 제한에 대한 블록을 설정합니다. 하드 한도는 총 허용 할당량입니다.
inodes − 사용자가 현재 사용중인 inode 수
soft − 소프트 inode 제한
hard − 하드 inode 제한
사용자로서 현재 할당량을 확인하려면-
[centos@localhost ~]$ quota
Disk quotas for user centos (uid 1000):
Filesystem blocks quota limit grace files quota limit grace
/dev/mapper/cl-home 6052604 56123456 61234568 475 0 0 [centos@localhost ~]$
다음은 하드 할당량 제한을 초과했을 때 사용자에게 제공되는 오류입니다.
[centos@localhost Downloads]$ cp CentOS-7-x86_64-LiveKDE-1611.iso.part ../Desktop/
cp: cannot create regular file ‘../Desktop/CentOS-7-x86_64-LiveKDE-
1611.iso.part’: Disk quota exceeded
[centos@localhost Downloads]$
보시다시피이 사용자의 디스크 할당량 내에 거의 있습니다. 소프트 제한 경고를 설정해 보겠습니다. 이렇게하면 할당량 제한이 만료되기 전에 사용자에게 사전 알림이 제공됩니다. 경험을 통해 최종 사용자가 업무에 들어 오면 불만을 받게되며 실제로 업무에 들어가려면 45 분 동안 파일을 정리해야합니다.
관리자는 다음을 통해 할당량 사용량을 확인할 수 있습니다. repquota 명령.
[root@localhost Downloads]# repquota /home
Block limits File limits
User used soft hard grace used soft hard grace
----------------------------------------------------------------------------------------
root -- 0 0 0 3 0 0
centos -+ 6189824 56123456 61234568 541 520 540 6days
[root@localhost Downloads]#
보시다시피 사용자 centos는 하드 블록 할당량을 초과했으며 더 이상 / home의 디스크 공간을 사용할 수 없습니다 .
-+ 파일 시스템에서 하드 할당량이 초과되었음을 나타냅니다.
할당량을 계획 할 때 약간의 계산이 필요합니다. 관리자가 알아야 할 사항은 시스템에 몇 명의 사용자가 있습니까? 사용자 / 그룹 사이에 할당 할 여유 공간은 얼마나됩니까? 파일 시스템에서 블록을 구성하는 바이트는 몇 개입니까?
사용 가능한 디스크 공간과 관련된 블록으로 할당량을 정의합니다. 최악의 경우에 남아있는 여유 공간의 "안전한"버퍼를 파일 시스템에 남겨 두는 것이 좋습니다. 모든 할당량이 동시에 초과됩니다. 특히 시스템에서 로그를 작성하는 데 사용하는 파티션에 있습니다.