두 가상 머신 모두에서 crontab -e
명령이 디렉토리를 생성하는 데 실패했지만 /tmp
작동합니다 mkdir
.
/tmp/crontab.oxyaBy: Input/output error
Creation of temporary crontab file failed - aborting
추적 출력:
root@vm:~# strace crontab -e
mkdir("/tmp/crontab.1SuJe9", 0700) = -1 EIO (Input/output error)
root@vm:~# strace mkdir /tmp/crontab.1SuJe9 -m 700
mkdir("/tmp/crontab.1SuJe9", 0700) = 0
두 가상 머신 모두 Ubuntu 16.04.6 LTS(4.4.0-173-generic x86_64)를 실행하고 있습니다.
문제는 매번 반복되며 재부팅 후에도 문제가 지속되며 fsck는 모든 것이 정상이며 이 VM에 다른 문제가 없다고 말합니다. cron 패키지를 다시 설치해 보았지만 아무 것도 변경되지 않았습니다.
어떤 아이디어가 있나요? 감사합니다!
편집하다: dmesg
프로그램
EXT4-fs (dm-0): Quota write (off=4080, len=40) cancelled because not block aligned
Quota error (device dm-0): v1_commit_dqblk: dquota write failed
명령 은 crontab
작동 quotaoff
하지만 여전히 이유를 알고 싶습니다 . 다르게 작동합니다 crontab
...mkdir
답변1
이는 파일 시스템 문제입니다. 그리고 디렉터리를 만드는 것은 파일을 만드는 것과 다릅니다.
호출 사용자의 할당량 설정을 확인하세요.
또한 동일한 사용자가 echo 또는 cat 등을 사용하여 파일을 생성할 수 있는지 확인하고 파일에 무언가를 넣은 다음 해당 지점부터 문제를 추적할 수 있는지 확인하십시오.
업데이트: 질문을 업데이트했기 때문에 이것은 할당량 관련 문제인 것 같습니다. 실제로 할당량 관점에서 디렉터리는 0바이트를 차지하므로 할당량에 도달하더라도 원하는 만큼 디렉터리를 생성할 수 있습니다. 그러나 cron이 작동하려면 0이 아닌 파일을 생성해야 하며, 최대 할당량에 도달하면 확실히 차단됩니다.
답변2
루트 사용자에 대해 할당량 도구가 활성화된 이후에도 똑같은 문제가 발생했기 때문에 먼저 할당량을 모두 비활성화한 quotaoff -a
다음 문제 없이 명령을 반복했습니다. 나중에 할당량을 수정하여 더 이상 문제가 되지 않게 되었습니다.