공간 절약 팁이 있을까요?

업그레이드를 성공적으로 완료하면, 해당 오래된 이미지들이 더 이상 사용되지 않게 되어 (결국) 삭제될 수 있습니다.

(도와드릴 수 있어서 기쁩니다!)

맞습니다. 정확히 그렇게 되었습니다. 이제 12GB의 사용 가능 공간이 확보되었습니다 :tada: 다시 한번 깊이 감사드립니다!

Digital Ocean을 사용하고 계시다면, /var/discourse/shared 디렉토리를 나중에 용량을 확장할 수 있는 별도의 **볼륨(Volume)**으로 이동할 수 있다는 점을 알아두는 것이 좋습니다.

새로운 디바이스에 파티션 테이블을 설정하지 않고 바로 ext4로 포맷하면, 해당 볼륨으로 데이터를 옮기기 위해 최초 한 번의 다운타임을 거친 후에도 유연성을 확보할 수 있습니다. 이후 용량이 부족해지면 인스턴스가 실행 중인 상태에서 디바이스에 용량을 추가하고, 인스턴스 내부에서 마운트된 파일시스템에 resize2fs를 실행하면 즉시 저장 공간이 늘어나게 됩니다.

구체적인 지시를 드리는 데 조금 주저하는 이유는, 이를 마치 제가 직접 지원해 드리는 것처럼 오해하실 수 있기 때문입니다. 하지만 그럼에도 불구하고, 이 지시사항에 대해 실제적인 기술 지원을 제공하지는 못한다는 전제 하에 내용을 공유해 드리겠습니다. 이 작업 중 어떤 것도 시도하기 전에 반드시 백업을 작성하고, 외부(오프사이트)에 저장하며, 스스로 복원하는 방법을 숙지해 두시기 바랍니다. 여기서는 제가 이 상황을 처리하기 위해 실제로 수행했던 내용을 공유하는 것입니다…

‘Volumes 관리’ 메뉴에서 필요한 크기의 볼륨을 추가하세요. 콘솔에서는 다음과 같이 표시될 것입니다:

그리고 인스턴스 내부에서는 다음과 같은 형태로 나타납니다:

# ls -l /dev/disk/by-id/
total 0
lrwxrwxrwx 1 root root 9 Nov 22 19:29 scsi-0DO_Volume_var-discourse-shared -> ../../sda

위에서 확인한 이름을 사용하여 나머지 부분을 수정하세요. 확실하지 않다면 작업을 중단하고 실수를 하지 마세요.

# mkfs.ext4 -L var-discourse-shared -M /var/discourse/shared /dev/disk/by-id/scsi-0DO_Volume_var-discourse-shared
echo '/dev/disk/by-id/scsi-0DO_Volume_var-discourse-shared /var/discourse/shared ext4 defaults,nofail,discard 0 0' >> /etc/fstab
# cd /var/discourse
# ./launcher stop app
# mv shared shared-old
# mkdir shared
# mount shared
# tar -C shared-old -c . | tar -C shared -x -S -p
# ./launcher start app

사이트가 정상적으로 작동하는 것을 확인한 후, 다음을 실행하세요:

# rm -rf shared-old

이 작업을 완료하면 시스템 볼륨은 Docker 이미지와 운영체제에 사용되고, 새로운 볼륨은 모든 Discourse 콘텐츠에 사용하게 됩니다. 각 업데이트 후 ./launcher cleanup를 실행하기만 하면 향후에도 안정적인 상태를 유지할 수 있을 것입니다.

Digital Ocean에는 볼륨 크기 증가 방법(인스턴스 내 파일시스템 포함)에 대한 설명이 있습니다. (위 지시를 따랐다면 “ext4” 탭을 선택하세요):

명백한 사항이지만, 언급할 가치가 있다고 생각합니다. 이는 월별 비용이 발생합니다. 작성 시점 기준으로 GiB당 월 $0.10으로 상당히 낮은 수준입니다.

감사합니다! "명확함은 암묵함보다 낫다"는 원칙이 적용됩니다. 더 많은 저장 공간이 필요하기 때문만에 드롭릿을 리사이즈하는 경우, 더 큰 드롭릿에서 제공하는 추가 CPU 및/또는 메모리가 필요하지 않다면 더 큰 드롭릿으로 이동하는 것보다 비용이 더 저렴할 수 있습니다.

추가 CPU 및/또는 메모리가 필요하신 경우, 기존 드롭릿을 확장하면 됩니다.