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/grubupdate-grub
  5. 실행 하고 재부팅 rootflags=quota하면 표시되고 루트 에서 활성화되지만 작동하지 않거나 루트 플래그로 설정 됩니다 .GRUB_CMDLINE_LINUX="... rootflags=quota"update-grubquotausrquotaprjquotapquotaproject

DIR 저장소 백엔드로 필요합니다.LXD컨테이너 스토리지 크기를 제한하는 기능. 또 무엇을 시도할 수 있나요?

답변1

tune2fs -O project -Q prjquota /dev/sdaX장치에서 프로젝트 할당량을 활성화하려면 실행이 반드시 필요하다고 들었습니다 . 그래서 종료하거나 live-cd를 사용할 필요가 없는 솔루션을 찾았습니다. 시간이 너무 많이 걸리고 VPS 제공업체에 대한 경험상 이것이 항상 잘 작동하는 것은 아니기 때문입니다. 또한 이러한 단계를 스크립트로 변환하고 싶지만 아직 성공하지 못했습니다.

또 다른 질문 덕분에 Ubuntu 18.04에서 나에게 맞는 솔루션을 구성할 수 있었습니다. 대략 필요합니다. 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

즐기다!

관련 정보