live-cd가 없는 라이브 루트 EXT4 파일 시스템의 프로젝트 할당량

live-cd가 없는 라이브 루트 EXT4 파일 시스템의 프로젝트 할당량

Ubuntu 18.04에서 ext4인 라이브 루트 폴더에 대한 프로젝트 할당량을 어떻게 설정합니까?

ext4 파일 시스템의 프로젝트 할당량과 관련된 문서는 기본적으로 존재하지 않으며 다음을 시도했습니다.

  1. 설치된 할당량apt install quota -y
  2. 루트에 넣고 재부팅하면 파일 시스템이 읽기 전용으로 부팅되고 프로젝트 할당량은 prjquota없습니다 (/etc/fstab여기사용자 및 그룹 할당량 대신 prjquota만 사용)
  3. 또한 find /lib/modules/`uname -r` -type f -name '*quota_v*.ko*'실행되었으며 두 커널 모듈이 모두 발견되었습니다 ( /lib/modules/4.15.0-96-generic/kernel/fs/quota/quota_v2.ko에서/lib/modules/4.15.0-96-generic/kernel/fs/quota/quota_v1.ko이것지도 시간)
  4. GRUB_CMDLINE_LINUX_DEFAULT="rootflags=prjquota"에 넣고 /etc/default/grub실행 update-grub하고 재부팅하면 컴퓨터가 더 이상 나타나지 않습니다.
  5. 실행 rootflags=quota하고 다시 시작 하면 루트에서 표시 되고 활성화되지만 루트 플래그와 함께 작동하지 않거나 루트 플래그로 설정되지 않습니다.GRUB_CMDLINE_LINUX="... rootflags=quota"update-grubquotausrquotaprjquotapquotaproject

DIR 저장소 백엔드에 이 정보가 필요합니다.LXD컨테이너 저장 크기를 제한할 수 있습니다. 또 무엇을 시도할 수 있나요?

답변1

tune2fs -O project -Q prjquota /dev/sdaX장치에서 프로젝트 할당량을 활성화하려면 실행이 절대적으로 필요하다고 들었습니다 . 그래서 저는 전원을 끄거나 라이브 CD를 사용할 필요가 없는 솔루션을 찾았습니다. 이렇게 하려면 시간이 너무 많이 걸리고 VPS 제공업체에 대한 경험상 항상 잘 작동하지 않기 때문입니다. 그리고 지금까지 작동하지 않았던 단계를 스크립트로 바꿀 수 있기를 바랐습니다.

또 다른 질문 덕분에 Ubuntu 18.04에서 나에게 맞는 솔루션을 구성할 수 있었습니다. 당신은 ca가 필요합니다. 이를 수행하려면 4GB RAM이 필요합니다(물론 버전 4.4 이후의 커널도 마찬가지입니다).

출처:

1. RAMdisk 파일 시스템 만들기

mkdir /tmp/tmproot
mount none /tmp/tmproot -t tmpfs -o rw
mkdir /tmp/tmproot/{proc,oldroot,sys}
cp -a /dev /tmp/tmproot/dev
cp -ax /{bin,etc,opt,run,usr,home,mnt,sbin,lib,lib64,var,root,srv} /tmp/tmproot/

2. 루트를 새로운 RAMdisk 파일 시스템으로 전환

cd /tmp/tmproot
unshare -m
pivot_root /tmp/tmproot/ /tmp/tmproot/oldroot
mount none /proc -t proc
mount none /sys -t sysfs
mount none /dev/pts -t devpts

3. 22번이 아닌 다른 포트에서 SSH를 다시 ​​시작하고 다른 세션에 다시 연결하세요.

nano /etc/ssh/sshd_config
  • 포트를 2211로 변경하세요

  • 다음으로 SSH를 다시 ​​시작하세요./usr/sbin/sshd -D &

  • 2211에서 다시 연결

4. /oldroot 또는 /dev/sdaX를 사용하여 프로세스 종료

fuser -km /oldroot
fuser -km /dev/sdaX

5. /dev/sdaX 마운트 해제 및 프로젝트 할당량 기능 적용

umount -l /dev/sdaX
tune2fs -O project -Q prjquota /dev/sdaX

6. 프로젝트 할당량으로 마운트

mount /dev/sda2 -o prjquota /oldroot

7. 물건을 되돌려 놓기

pivot_root /oldroot /oldroot/tmp/tmproot
umount /tmp/tmproot/proc
mount none /proc -t proc
cp -ax /tmp/tmproot/dev/* /dev/
mount /dev/sda1 /boot  ### This might be different for you
reboot -f

8. 재부팅 후 할당량 켜기

apt install quota -y
quotaon -Pv -F vfsv1 /

9. 루트에 할당량이 설정되어 있는지 확인하세요.

repquota -Ps /

10. 지속적으로 만들어라

  • prjquota루트 옵션에 넣어주세요/etc/fstab

즐기다!

관련 정보