사이트 용량이 몇 GB인지 어떻게 알 수 있나요?

최근 제 서버에서 가장 큰 문제가 발생했어요! 사이트 용량이 기가바이트(GB) 단위로 많이 늘어서 서버에 추가 용량을 구매해야 했거든요!

그런데 용량이 계속 증가하는데, 이 GB들이 어디서 오는지 어떻게 알 수 있을까요? 이 용량을 삭제할 수 있는 방법이 있을까요? 서버에 백업하는 대신 내 PC에 포럼을 백업해서 서버 용량을 아낄 수 있을까요? GB 경제 포럼의 모든 오래된 주제를 삭제하면 어떻게 될까요? 회원들이 사이트에 GIF나 영상을 업로드할 때 용량을 차지하나요? 이걸 삭제할 수 있는 옵션이 있나요? 서버에 며칠만 머물다 자동으로 삭제되도록 할 수 있을까요?

안녕하세요. 저는 Discourse 전문가라고 할 수는 없지만, 서버에 있는 백업 파일을 PC로 다운로드한 후 서버에서 삭제하는 것이 가능할 것입니다. 나중에 사용하려고 할 때 PC에서 백업을 가져오는 것도 가능할 것입니다.

GIF 관련 질문에는, Tenor 같은 플러그인을 사용하는 경우 이미지가 해당 서버에서 렌더링되므로 공간을 차지하지 않는다고 생각합니다. 하지만 사용자가 직접 GIF를 업로드하는 경우에는 상황이 달라질 수 있습니다.

저는 파워 유저는 아니지만, 셸에서 이렇게 사용하고 있습니다:

cd /var/discourse/shared/standalone
du -sh * | sort -h

그 다음에는 어떻게 진행할지 고민합니다.

요즘은 영상과 사진이 용량을 엄청나게 차지합니다. 영상은 예전부터 그랬지만, 이제 바이트 크기가 크다는 것이 문제가 되고 있습니다. 모든 사람이 기가바이트가 많을수록 사진이 더 좋다고 생각하면서 사진 용량 문제도 현실적인 문제가 되었습니다.

사용자들에게 최적화된 이미지를 올리도록 교육하는 것은 시간 낭비입니다(대부분의 폰은 이를 지원하지도 못합니다. 특히 iPhone은 이미지 축소라는 기본적인 작업조차 OS 자체에서 도구로 제공하지 않아 추가 작업이 필요합니다).

Discourse가 일부 처리는 하지만, 이미지를 많이 사용하는 포럼에서는(오늘날 거의 표준에 가깝습니다) 이것만으로는 부족합니다.

제가 아는 한 두 가지 옵션이 있습니다:

  • 다운로드 크기를 매우 낮은 제한으로 설정(사용자들은 자신의 초고화질 거대 이미지들이 거절당해서 화가 날 것입니다)
  • 영상을 아예 허용하지 않음(사용자들은 다시 화가 날 것입니다. 그들은 수십억 달러짜리 소셜 미디어 플랫폼에서 영상이 허용되므로 YouTube나 유사 서비스를 사용하려 하지 않습니다)

이것은 우리가 이미 진 전쟁입니다.

저는 S3를 CDN으로 사용하는데, 그 비용이 나를 질식시키고 있습니다.

답변해 주셔서 감사합니다! 명령어를 입력하니 이런 결과가 나왔는데, 각 줄의 의미는 무엇인가요? postgress_backup? tmp? state? postgres_data? uploads? backups? 여기에 표시되는 GB 용량을 어떻게 삭제할 수 있나요?

우리 포럼에서 사진이나 비디오 업로드를 영구적으로 금지해야 할 것 같습니다.

답변해 주셔서 감사합니다! 백업을 어디서 다운로드하고 서버에서 삭제하는지 알고 계신가요? 참고로, 서버에서 삭제하고 PC에 저장하는 것이 괜찮을까요? 이 백업은 어떤 용도로 사용되는 건가요? 제 사용자 정보인가요?

전혀 문제없어요. 어디에 저장하든 상관없습니다. 저는 Amazon S3를 사용하고 있어요.

당신의 포럼을 위한 거예요. 사용자, 주제, 다운로드 파일 등 소프트웨어 자체를 제외한 모든 것을 포함합니다. 기본적으로 문제가 심각하게 발생했을 때 다른 방법으로 복원할 수 없는 모든 데이터를 말해요. 참고로 app.yml 파일이 빠져 있으니, 이 파일은 '정상적인 방법’으로 저장해 두세요.

답장 주셔서 감사합니다. "정상적인 방법"인 .app.yml은 무엇인가요?

수동으로요 :wink: FTP를 사용하거나, 다른 방법을 쓰거나 하죠.

백업 설정에서 이미지나 비디오 같은 미디어를 포함할지, 아니면 텍스트만 백업할지 선택할 수 있다고 생각합니다. 포럼 설정/관리 영역에서 별도의 백업 섹션을 볼 수 있을 텐데, 찾지 못한다면 설정에서 검색 기능을 이용해 보세요.

다른 질문과 관련해서는, 하드웨어를 신뢰한다면 로컬에 백업을 저장한 뒤 서버에서 백업을 삭제하는 방식으로 충분할 것입니다. 다만 저는 구글 드라이브나 드롭박스 같은 클라우드 서비스에도 백업 사본을 유지하는 방식을 훨씬 더 선호합니다.

수정: '이미지와 비디오’라고 한 것은 미디어만이라는 뜻이 아니라, 텍스트 + 이미지 + 비디오를 모두 포함한다는 의미였습니다.

Hey @danielabc, 혹시 ./launcher cleanup를 가끔 사용하시나요? 오래되고 사용되지 않는 Discourse 이미지를 정리하고 공간을 확보하기 위해 주기적으로 실행해야 합니다. 이 명령을 사용할 때는 반드시 포럼이 실행 중인지 확인해 주세요.

다음은 출력 예시입니다:

root@mydiscourse:/var/discourse# ./launcher cleanup
WARNING! This will remove all stopped containers.
Are you sure you want to continue? [y/N] y
Total reclaimed space: 0B
WARNING! This will remove all images without at least one container associated to them.
Are you sure you want to continue? [y/N] y
Deleted Images:
deleted: sha256:eadbb445efe08669451160264ef5014c907cbb29a3c84c93203e7f38182094b1
deleted: sha256:be861fe3116344e0fe2a4aa098059473567311214ca8cdc9fcebc8a3244a3a12
deleted: sha256:35c0e5b87c0a7e798114e2965249beec12bfcb70f4379170a0aeeebb401b0ce6
untagged: discourse/base:2.0.20220128-1817
untagged: discourse/base@sha256:dcb4eb8e41a2e84f776f80587f308d167a54ad7ff4ba616199891828bbd4ddae
deleted: sha256:a26b638c0dd94970ba4a4e499fbe8c100c7a2c3dcdd4fb884ce717eafc990fcd
deleted: sha256:8b3dd9054a850686aabd0c45ef294bd36b8cfc9b5693b4fae0fb66323810cbd9
deleted: sha256:d167e86f5ccecb0fbc44fae442b23dc8264edc47a071a0615792ccfae04ecc7d
deleted: sha256:a663863cfea1075718d558112a45af869dc8b87537bd4e0490b1d5f428490f18
deleted: sha256:37a08dfbedfbb571a4d8b1595133edd85f7a47d4bd23b2c47fb2ed026b78da40
deleted: sha256:7c16c9f59a18734052a8903f879aa8353bc80c469a3bdafd398aa24bc59b78ff
untagged: discourse/base:2.0.20211118-0105
untagged: discourse/base@sha256:74b41fffd4f05433eb7c9b72954b1f5f8b15cd0e802bb724c96b7d699c3f6fa1sha256:c1455b2fdbca024c36c4e75746051b77c3637020cfa1e36a41440292a8c39424
deleted: sha256:77b323d4ec74aad770337f99a60e862a64ccc53f4775b5f4945df0e606f78b90

Total reclaimed space: 8.418GB