# 3.1.x에서 3.2.0으로 업그레이드 시 1GB 인스턴스에서 멈춤/실패

**URL:** https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743
**Category:** Self-hosting
**Created:** [2월 1, 2024, 6:18오전 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743 "2024-02-01T06:18:18Z")
**Posts on this page:** 15
**Page:** 2

<div class="post-metadata">

### Author: ![RBoy](https://avatars.discourse-cdn.com/v4/letter/r/2bfe46/32.png) [@RBoy](https://meta.discourse.org/u/RBoy)
#### Post date: [2월 2, 2024, 6:31오전 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743/22 "2024-02-02T06:31:29Z")

</div>

> [@sam](#):
>
> 컴파일된 에셋을 위한 캐시를 실행하는 건, 움직임이 많은 부분이 너무 많아져서 복잡해질 것 같아 성공할 수 있을지 확신이 서지 않습니다.

이해합니다. 부트스트랩/컴파일 프로세스를 단순화하여 더 오래 걸리도록(CPU/직렬화) 하되, 제한된 자원(예: RAM) 내에서 처리하는 방식은 불가능할까요?

---

<div class="post-metadata">

### Author: ![Ed\_S](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ed_s/32/134015_2.png) [@Ed\_S](https://meta.discourse.org/u/Ed_S)
#### Post date: [2월 2, 2024, 8:15오전 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743/23 "2024-02-02T08:15:39Z")

</div>

> [@sam](#):
>
> 어느 시점에는 부트스트랩된 이미지를 배포하는 것에 반대하지 않습니다.

그것은 훌륭한 아이디어라고 생각합니다. 그 이유는 다음과 같습니다: 작은 서버에서 재빌드할 수 없다면, 작은 서버에 설치할 수도 없습니다. 그리고 중간 크기의 서버에 설치하면, 작은 서버에서 필요하게 될 스왑파일이 생성되지 않습니다. (이상적으로는 설치 스크립트가 어쨌든 스왑파일을 생성하고, 설정해야 할 두 개의 커널 튜너블 값도 설정해야 합니다.)

---

<div class="post-metadata">

### Author: ![Ed\_S](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ed_s/32/134015_2.png) [@Ed\_S](https://meta.discourse.org/u/Ed_S)
#### Post date: [2월 2, 2024, 8:18오전 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743/24 "2024-02-02T08:18:10Z")

</div>

> [@RBoy](#):
>
> 부트스트래핑/컴파일링 과정을 CPU/시리얼라이징에 더 많은 시간을 소요되도록, 그러나 제한된 리소스(예: RAM) 내에서 수행되도록 단순화하는 것이 불가능할까요?

이것도 훌륭한 아이디어입니다. 소프트웨어 엔지니어링 프로세스가 빌드 시간을 모니터링하는 것이 이상적인 것처럼, Discourse의 경우에도 작은 인스턴스에서의 설치 가능성을 테스트하고 모니터링하는 것이 이상적입니다. 이를 목표로 삼으세요.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2월 2, 2024, 5:33오후 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743/25 "2024-02-02T17:33:25Z")

</div>

부트스트랩된 이미지를 만들어 시작 시점에 마이그레이션과 에셋 사전 컴파일을 수행하는 실험을 해봤습니다(ENV 설정으로 해당 작업을 건너뛸 수 있도록 함). 대부분은 잘 작동하지만, 규모가 큰 사이트나 특정 시간 안에 시작이 완료되어야 하는 경우에는 그렇지 않습니다.

다만, 이 방식은 redis와 postgres가 이미 존재한다고 가정합니다.

대부분 표준적인 2컨테이너 설치 환경이라면, 거의 문제없이 작동할 수 있을 것 같습니다.

아, 에셋 사전 컴파일 단계가 문제를 일으키는 것 같네요…

---

<div class="post-metadata">

### Author: ![RBoy](https://avatars.discourse-cdn.com/v4/letter/r/2bfe46/32.png) [@RBoy](https://meta.discourse.org/u/RBoy)
#### Post date: [2월 3, 2024, 4:30오전 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743/26 "2024-02-03T04:30:51Z")

</div>

시스템 전반으로 진행 중인 Ember 5 업그레이드에 대해 읽고 있습니다. 이 업그레이드가 빌드 리소스에 어떤 영향을 미칠까요?

---

<div class="post-metadata">

### Author: ![RBoy](https://avatars.discourse-cdn.com/v4/letter/r/2bfe46/32.png) [@RBoy](https://meta.discourse.org/u/RBoy)
#### Post date: [2월 13, 2024, 3:22오후 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743/27 "2024-02-13T15:22:56Z")

</div>

문서 업데이트가 필요하다고 생각합니다. [discourse/docs/INSTALL-cloud.md at main · discourse/discourse · GitHub](https://github.com/discourse/discourse/blob/main/docs/INSTALL-cloud.md)

> - 기본값인 **1 GB** RAM은 소규모 Discourse 커뮤니티에 적합합니다.

1GB는 더 이상 옵션이 아닙니다. Discourse를 빌드하려면 최소 2GB가 필요합니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2월 13, 2024, 4:10오후 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743/28 "2024-02-13T16:10:31Z")

</div>

최근에 RAM 1GB로 업그레이드한 사이트들이 꽤 있습니다. 다만 스왑은 3~4GB로 늘려 두었습니다.

솔직히 추천은 하지 않습니다. 하지만 비용이 큰 장벽인 사람들에게는 이런 설정으로 버티는 경우도 있죠. 다만 "문제없이 잘 된다"는 표현은 좀 과장일 수 있습니다.

---

<div class="post-metadata">

### Author: ![RBoy](https://avatars.discourse-cdn.com/v4/letter/r/2bfe46/32.png) [@RBoy](https://meta.discourse.org/u/RBoy)
#### Post date: [2월 13, 2024, 4:25오후 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743/29 "2024-02-13T16:25:23Z")

</div>

네, 1GB RAM + 4GB 스왑으로 명시하는 것이 좋을 것 같습니다. 2GB 스왑에서는 실패했습니다.

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2월 13, 2024, 4:38오후 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743/30 "2024-02-13T16:38:59Z")

</div>

플러그인이 있나요? 테마도 많이 있나요?

---

<div class="post-metadata">

### Author: ![RBoy](https://avatars.discourse-cdn.com/v4/letter/r/2bfe46/32.png) [@RBoy](https://meta.discourse.org/u/RBoy)
#### Post date: [2월 13, 2024, 4:44오후 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743/31 "2024-02-13T16:44:05Z")

</div>

9개의 플러그인과 1개의 테마만 사용했습니다. 1GB RAM과 2GB 스왑 환경에서 3.1.x 버전까지는 모두 잘 작동했습니다(조금 느려서 재구축에 20분 정도 걸렸지만 항상 정상적으로 동작했습니다).  
3.2.0으로 업그레이드를 시도했을 때 일관되게 실패했습니다(위 참조).

---

<div class="post-metadata">

### Author: ![pfaffman](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/pfaffman/32/120154_2.png) [@pfaffman](https://meta.discourse.org/u/pfaffman)
#### Post date: [2월 13, 2024, 4:58오후 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743/32 "2024-02-13T16:58:48Z")

</div>

그래. 1GB 램으로는 확실히 플러그인을 돌릴 수 없겠네요. 설치 문서에 이 내용을 추가하는 게 좋을 것 같아요.

플러그인 없이 작동하는지 궁금합니다.

---

<div class="post-metadata">

### Author: ![Ed\_S](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/ed_s/32/134015_2.png) [@Ed\_S](https://meta.discourse.org/u/Ed_S)
#### Post date: [2월 13, 2024, 5:05오후 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743/33 "2024-02-13T17:05:16Z")

</div>

> [@pfaffman](#):
>
> RAM 1GB로는 플러그인을 실행할 수 없습니다.

극단적인 축약 표현이긴 하지만, 왜 그렇게 말씀하셨는지 이해는 갑니다. 하지만 Discourse 실행 가능 여부의 기준은 RAM+스왑이 아닌가 생각하는데, 동의하시나요? 실행 가능 여부(go/nogo) 관점에서는 1GB+3GB가 2GB+2GB와 동일합니다.

성능(반응 속도)만이 RAM 용량을 고려해야 합니다.

확인하고 테스트해야 할 올바른 값은 RAM+스왑입니다. 메모리 = RAM+스왑입니다.

참고로, 원인이 명확하지 않은 채로 문제가 발생하고 특히 메모리 부족을 의심한다면, OOM-killer(Out-of-Memory Killer)를 확인하는 것이 좋습니다. 다음 명령을 권장합니다.

```plaintext
dmesg|egrep -i "memory|oom|kill"

```

수정: 편의를 위해 표준 즉각 진단 목록에 추가하겠습니다:

```plaintext
cat /etc/lsb-release
uptime
df -h /
free
vmstat 5 5
dmesg|egrep -i "memory|oom|kill"
ps auxrc

```

---

<div class="post-metadata">

### Author: ![Matt\_Wong](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/matt_wong/32/365068_2.png) [@Matt\_Wong](https://meta.discourse.org/u/Matt_Wong)
#### Post date: [2월 22, 2024, 5:14오후 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743/34 "2024-02-22T17:14:50Z")

</div>

저도 같은 문제를 겪었지만, 업그레이드 중이 아니라 3.2.0 버전의 신규 설치 과정에서 발생했습니다.

@RBoy와 마찬가지로 AWS EC2를 사용 중입니다.

구체적인 해결책이 없던 기존 포럼 대신, 3.2.0 대신 3.1.5 버전을 설치하는 방법을 찾고 있습니다.

업데이트:

죄송합니다. 다음 내용을 찾았습니다:

> [@gerhard](#):
>
> `app.yml`에서 `version`을 `tests-passed`에서 태그(예: `v2.5.0.beta7`)로 변경하세요.

---

<div class="post-metadata">

### Author: ![RBoy](https://avatars.discourse-cdn.com/v4/letter/r/2bfe46/32.png) [@RBoy](https://meta.discourse.org/u/RBoy)
#### Post date: [2월 23, 2024, 1:27오전 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743/35 "2024-02-23T01:27:31Z")

</div>

링크에 언급된 태그 방식으로 3.1.5를 새로 설치해 보셨는지 궁금합니다. 시도해 보신다면 결과를 공유해 주시면 매우 감사하겠습니다.

1GB 시스템에 3.2.0을 설치하는 경우, SWAP 크기를 8GB로 설정해 보시는 것을 추천합니다. 속도가 매우 느려질 가능성이 높지만, 동작할 수도 있습니다.

---

<div class="post-metadata">

### Author: ![Matt\_Wong](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/matt_wong/32/365068_2.png) [@Matt\_Wong](https://meta.discourse.org/u/Matt_Wong)
#### Post date: [2월 23, 2024, 6:35오전 UTC](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743/36 "2024-02-23T06:35:59Z")

</div>

정중한 조언에 감사드립니다.

최근 Discourse 3.15 Docker 버전을 새로 설치했는데, 특히 저처럼 AWS EC2 무료 티어를 사용하는 분들을 위해 설치 과정이 얼마나 간단했는지 공유하고 싶습니다.

제 경험을 바탕으로 한 간결한 가이드는 다음과 같습니다:

1. `/var/discourse/containers/app.yml`에 위치한 Discourse 설정 파일로 이동합니다.

2. `params` 섹션에서 버전 파라미터를 원하는 Discourse 버전으로 업데이트합니다. 예를 들어:

3. 변경 사항을 저장하고 편집기를 나갑니다. 그런 다음 다음 명령을 실행하여 Discourse 애플리케이션을 다시 빌드합니다:

이 과정은 저에게 완벽하게 작동했으며, 저비용 또는 무예산 Discourse 환경을 유지하는 것이 완전히 가능하다는 것을 입증했습니다.

이 가이드가 Discourse 설치를 효율적이고 경제적으로 관리하려는 다른 분들에게 도움이 되기를 바랍니다.

[이전 페이지](https://meta.discourse.org/t/3-1-x-to-3-2-0-upgrade-hangs-fails-on-1gb-instance/293743.md?page=1)
