기본적으로 내 시스템의 최대 크기는 약 500MB이며, 여기에는 약 1개월 분량의 로그가 포함됩니다.
System Journal (/var/log/journal/dd35c7606a5645c5acc9908470c45159) is 483.2M, max 491.5M, 8.2M free.
491.5M 한도가 어떻게 결정되는지 모르겠습니다. 다음 설정을 변경하고 시스템을 다시 시작했습니다.
└──> grep SystemMaxUse /etc/systemd/journald.conf
SystemMaxUse=25G
이제 최대 로그 크기는 1.0G입니다. 왜 25G가 아닌가?
System Journal (/var/log/journal/dd35c7606a5645c5acc9908470c45159) is 568.6M, max 1.0G, 455.3M free.
내 디스크에 여유 공간이 충분합니다(94%).
└──> df -h /var/log/journal
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 885G 50G 791G 6% /var
최대 로그 크기를 더 늘리려면 어떻게 해야 합니까?
가능하다면 기본 제한인 1개월을 유지하되, 오래된 로그 파일을 삭제하지 않고 필요할 때 쿼리할 수 있는 곳에 보관하고 싶습니다.
고쳐 쓰다:
명확히 하자면, 이제 내 로그 파일은 500MB 제한 이후 삭제되며 제한을 25G로 늘리고 싶습니다. 설정 후에도 SystemMaxUse=25G
한도는 1GB 이상으로 늘어나지 않습니다.
답변1
systemd-journald 옵션에 대한 전체 문서는 다음 위치에 있습니다.무료 데스크탑 네트워크
이 경우 찾고 있는 옵션은 SystemMaxUse, SystemKeepFree, SystemMaxFileSize 및 SystemMaxFiles입니다. 영구 로그의 총 한도인 SystemMaxUse를 설정했습니다.부츠 전체에 회전 포함. 문제는 가동 시간이 너무 높고 단일 저널의 한도를 초과한다는 것입니다. 따라서 매우 큰 개별 로그를 허용하려면 SystemMaxFileSize를 25GB로 설정해야 합니다.
또한 SystemMaxFiles를 1000과 같은 더 큰 값으로 설정해야 하루에 거의 3번 재설정할 수 있고 할당된 공간이 부족하지 않는 한 연도의 첫 번째 날에는 로그를 삭제하지 않을 수 있습니다.
또한 위에서 설명한 대로 365일 보존을 얻으려면 MaxRetentionSec를 31536000으로 설정해야 합니다.
기본적으로 로그를 보존하려면 로그 보존 조건이 모두 함께 이루어져야 적용 가능하며 적용 가능한 규칙을 설정해야 합니다. 따라서 이 답변도 불완전할 수 있습니다.
답변2
파일에는 정확히 필요한 옵션이 있습니다 journald.conf
.
매뉴얼 페이지에서[1]:
MaxFileSec=
The maximum time to store entries in a single
journal file before rotating to the next one.
[...]
This setting takes time values which may be
suffixed with the units "year", [...]
[1] https://www.freedesktop.org/software/systemd/man/journald.conf.html#MaxFileSec=
답변3
사용 사례에 따라 매일(예: 매일) 정기적으로 실행되는 cronjob을 설정합니다.
$ journalctl --vacuum-time=1y
참고자료:
답변4
491.5M 한도가 어떻게 결정되는지 모르겠습니다. 다음 설정을 변경하고 시스템을 다시 시작했습니다.
그리고:
기본적으로 내 시스템의 최대 크기는 약 500MB이며, 여기에는 약 1개월 분량의 로그가 포함됩니다.
그리고:
이제 최대 로그 크기는 1.0G입니다.왜 25G가 아닌가?
또한 다음 질문에 대답하십시오.
Reint van Schuven2015-11-05 20:42:54 CET
문제 설명: 루트 파티션의 디스크 공간에 대한 경고를 받았습니다. 그 이유는 /var/log/journal에 기가바이트의 로그가 포함되어 있기 때문입니다.
/etc/systemd/journald.conf의 모든 옵션은 주석 처리되어 저널ctl이 특정 최대 크기를 유지하지 않습니다. 로그가 루트 파티션을 채우지 않도록 이에 대해 더 똑똑해져야 합니다.
그리고:
데이비드 왈저2015-11-06 15:18:21 CET
나는 systemd가 파티션에 있는 디스크 공간의 특정 비율만 사용하도록 허용한다고 생각합니다. 정말 무한하다면 문제가 생길 것입니다.
그리고:
콜린 거스리2015-11-09 10:44:45 CET
따라서 이 문제를 더 자세히 조사하려면 귀하의 시스템에 대한 정보가 필요합니다. 파티션 크기, 여유 공간 등은 얼마입니까? /var/log/journal에 있는 파일 및 폴더 목록(전체 경로, 날짜 및 크기 포함)도 유용합니다. "journalctl --disk-usage"(루트로)의 출력과 "journalctl -b MESSAGE_ID=ec387f577b844b8fa948f33cad9a75e6"(또한 루트로)의 출력도 있습니다.
원천:
https://bugs.mageia.org/show_bug.
또한 대답하십시오:
최대 로그 크기를 더 늘리려면 어떻게 해야 합니까?
영구 저장소를 사용하는 시스템 로깅
RHEL7에서 지속성을 위해 systemd 로그 구성
RHEL7에서 지속성을 위한 systemd 저널링 구성 기본적으로 저널링은 로그 파일을 디스크에 저장하지 않고 메모리 또는 /run/log/journal 디렉터리에만 저장합니다. 이는 최근 로그 기록(로그 사용)에는 충분하지만 다른 syslog 솔루션 없이 로그만 사용하기로 결정한 경우 장기 로그 보존에는 충분하지 않습니다.
소스 3:
또는
저널 크기 관리
기본적으로 systemd-journald
오래된 로그 레코드나 로그 파일은 특정 양의 여유 디스크 공간을 보존하기 위해 삭제됩니다. Systemd를 사용한 Linux 로깅 섹션에서는 구성 매개변수를 사용하여 오래된 로그 데이터 삭제 임계값을 제어하는 방법을 설명했습니다. 또한 journalctl
이를 사용하여 크기를 관리 할 수도 있습니다 journal
. 이에 대해서는 이 섹션에서 자세히 설명하겠습니다.
로그가 현재 차지하는 디스크 공간을 확인하려면 –disk-usage 매개변수를 사용하십시오.
$ journalctl --disk-usage
버전에 따라 journalctl
출력은 다음과 유사할 수 있습니다.
보관 로그와 활동 로그는 디스크에서 96.0M 공간을 차지합니다.
또는:
로그는 디스크에서 248.0M을 차지합니다.
systemd
또한 다음 구성 매개변수를 미세 조정하여 로그가 차지하는 디스크 공간을 관리할 수도 있습니다.
COMPRESS
SYSTEMKEEPFREE
RUNTIMEKEEPFREE
SYSTEMMAXFILESIZE
RUNTIMEMAXFILESIZE
MAXRETENTIONSEC
MAXFILESEC
원천: