Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
177 changes: 177 additions & 0 deletions docs/2-cluster-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -416,6 +416,183 @@ Enterprise ν΄λŸ¬μŠ€ν„°λŠ” `slave`λ₯Ό λ¨Όμ € μ€‘μ§€ν•œ λ’€ `master`λ₯Ό 쀑지합

μ‹€ν–‰ 쀑 였λ₯˜κ°€ λ°œμƒν•˜λ©΄ 일뢀 μΊμ‹œ μ„œλ²„κ°€ 계속 μ‹€ν–‰ 쀑일 수 μžˆμŠ΅λ‹ˆλ‹€. `status`둜 전체 μƒνƒœλ₯Ό ν™•μΈν•œ ν›„ λ‹€μ‹œ μ€‘μ§€ν•˜μ„Έμš”.

## `cluster upgrade`

> [!NOTE]
> κ΅¬ν˜„ μ „ μΈν„°νŽ˜μ΄μŠ€ μ΄ˆμ•ˆμž…λ‹ˆλ‹€. μ„ΈλΆ€ λ™μž‘κ³Ό 좜λ ₯ ν˜•μ‹μ€ κ΅¬ν˜„ κ³Όμ •μ—μ„œ λ°”λ€” 수 μžˆμŠ΅λ‹ˆλ‹€.

μ§€μ •ν•œ μΊμ‹œ λ…Έλ“œ λ˜λŠ” 그룹을 λͺ©ν‘œ λ²„μ „μœΌλ‘œ 순차 μ—…κ·Έλ ˆμ΄λ“œν•©λ‹ˆλ‹€.

### λͺ…λ Ή ν˜•μ‹

```sh
arcusctl cluster upgrade <servicecode> --version <version> <target>
```

```text
<target>: --node <host>:<port>[,...] | --group <group-name>[,...] | --all
```

- `--version`은 ν•„μˆ˜μ΄λ©°, μ μš©ν•  버전을 μ§€μ •ν•©λ‹ˆλ‹€.
- `<target>`은 ν•„μˆ˜μ΄λ©°, `--node`, `--group`, `--all` 쀑 μ •ν™•νžˆ ν•˜λ‚˜λ₯Ό μ§€μ •ν•΄μ•Ό ν•©λ‹ˆλ‹€. μ‹€μˆ˜λ‘œ ν΄λŸ¬μŠ€ν„° 전체λ₯Ό 일괄 μ—…κ·Έλ ˆμ΄λ“œν•˜λŠ” 것을 막기 μœ„ν•΄ λŒ€μƒμ„ μƒλž΅ν•  수 μ—†μŠ΅λ‹ˆλ‹€.
- `--node`, `--group`, `--all`은 ν•¨κ»˜ μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€. μ—¬λŸ¬ λŒ€μƒμ„ 선택할 λ•ŒλŠ” comma둜 κ΅¬λΆ„ν•©λ‹ˆλ‹€.
- `--all`은 ν΄λŸ¬μŠ€ν„°μ˜ λͺ¨λ“  μΊμ‹œ μ„œλ²„λ₯Ό λŒ€μƒμœΌλ‘œ ν•˜λ˜, 이미 λͺ©ν‘œ λ²„μ „μœΌλ‘œ 정상 λ™μž‘ν•˜λŠ” λŒ€μƒμ€ κ±΄λ„ˆλ›°κ³  남은 λŒ€μƒλ§Œ μ—…κ·Έλ ˆμ΄λ“œν•©λ‹ˆλ‹€. 일뢀 λŒ€μƒμ„ λ¨Όμ € μ—…κ·Έλ ˆμ΄λ“œν•œ λ’€ λ‚˜λ¨Έμ§€λ₯Ό λ§ˆλ¬΄λ¦¬ν•  λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.
- μ‹€μ„œλΉ„μŠ€ ν™˜κ²½μ—μ„œλŠ” λ‹€μŒ λ°©μ‹μœΌλ‘œ μ—…κ·Έλ ˆμ΄λ“œν•˜λŠ” 것을 ꢌμž₯ν•©λ‹ˆλ‹€.
- ν΄λŸ¬μŠ€ν„° λ…Έλ“œ/κ·Έλ£Ή 개수 κΈ°μ€€μœΌλ‘œ 1% -> 20% -> 100% 둜 점차 ν™•λŒ€ν•˜μ—¬ μ—…κ·Έλ ˆμ΄λ“œν•©λ‹ˆλ‹€. 각 μ—…κ·Έλ ˆμ΄λ“œ μ‹œμ  μ‚¬μ΄μ—λŠ” 일정 기간을 두고 정상 λ™μž‘ν•˜λŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.
- Community ν΄λŸ¬μŠ€ν„°μ˜ λ…Έλ“œ μ—…κ·Έλ ˆμ΄λ“œ μ‹œ ν•˜λ‚˜μ”© `μ—…κ·Έλ ˆμ΄λ“œ -> μƒνƒœ 확인 -> 일정 μ‹œκ°„ λŒ€κΈ°` μˆœμ„œλ‘œ μ§„ν–‰ν•©λ‹ˆλ‹€. Enterprise ν΄λŸ¬μŠ€ν„°μ™€ 달리 μ—…κ·Έλ ˆμ΄λ“œ μ‹œ 데이터가 사라지기 λ•Œλ¬Έμ— λ™μ‹œμ— μ—¬λŸ¬ λ…Έλ“œκ°€ μž¬κ΅¬λ™λ˜λŠ” 경우 μΊμ‹œ λ―ΈμŠ€κ°€ λ°œμƒν•  ν™•λ₯ μ΄ λ†’μ•„μ§€κΈ° λ•Œλ¬Έμž…λ‹ˆλ‹€.
- ν…ŒμŠ€νŠΈ ν™˜κ²½μ—μ„œλŠ” 편의λ₯Ό μœ„ν•΄ μ—¬λŸ¬ λ…Έλ“œ/그룹을 ν•œκΊΌλ²ˆμ— μ—…κ·Έλ ˆμ΄λ“œν•  수 μžˆμŠ΅λ‹ˆλ‹€.

### μ‹€ν–‰ μ˜ˆμ‹œ

#### Community

```sh
arcusctl cluster upgrade my-cluster --version 1.16.2 --node 192.0.2.21:11211
arcusctl cluster upgrade my-cluster --version 1.16.2 --node 192.0.2.21:11211,192.0.2.22:11211
arcusctl cluster upgrade my-cluster --version 1.16.2 --all
```

- `--node`둜 μ—…κ·Έλ ˆμ΄λ“œν•  μΊμ‹œ μ„œλ²„λ₯Ό μ§€μ •ν•©λ‹ˆλ‹€. μ—¬λŸ¬ μΊμ‹œ μ„œλ²„λ₯Ό μ§€μ •ν•˜λ©΄ λ‚˜μ—΄ν•œ μˆœμ„œλŒ€λ‘œ μ—…κ·Έλ ˆμ΄λ“œν•©λ‹ˆλ‹€.
Comment thread
oliviarla marked this conversation as resolved.
Resolved
- `--group`은 μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

각 μΊμ‹œ μ„œλ²„λŠ” λ‹€μŒ μˆœμ„œλ‘œ μ—…κ·Έλ ˆμ΄λ“œν•©λ‹ˆλ‹€.

```
μΊμ‹œ μ„œλ²„ stop -> λͺ©ν‘œ λ²„μ „μœΌλ‘œ start -> μ‹€ν–‰ 버전 및 ν΄λŸ¬μŠ€ν„° νŽΈμž… 확인(cache_list)
```

> [!NOTE]
> μ—…κ·Έλ ˆμ΄λ“œ μž‘μ—…μ€ ν•œ λ²ˆμ— λͺ¨λ“  λ…Έλ“œλ₯Ό λŒ€μƒμœΌλ‘œ ν•˜κΈ°λ³΄λ‹€λŠ”,
> 일뢀 λ…Έλ“œλ“€λ§Œ λ¨Όμ € μ—…κ·Έλ ˆμ΄λ“œν•˜μ—¬ ν΄λŸ¬μŠ€ν„°κ°€ μ •μƒμ μœΌλ‘œ λ™μž‘ν•˜λŠ”μ§€ ν™•μΈν•˜κ³ 
> λ‚˜λ¨Έμ§€ λ…Έλ“œλ“€μ„ μ΅œμ’…μ μœΌλ‘œ μ—…κ·Έλ ˆμ΄λ“œν•˜λŠ” 방식을 ꢌμž₯ν•©λ‹ˆλ‹€.

#### Enterprise

```sh
arcusctl cluster upgrade my-repl-cluster --version 0.12.2-E --group g1
arcusctl cluster upgrade my-repl-cluster --version 0.12.2-E --group g1,g2
arcusctl cluster upgrade my-repl-cluster --version 0.12.2-E --all
```

- `--group`으둜 μ—…κ·Έλ ˆμ΄λ“œν•  replication group을 μ§€μ •ν•©λ‹ˆλ‹€. μ—¬λŸ¬ group을 μ§€μ •ν•˜λ©΄ λ‚˜μ—΄ν•œ μˆœμ„œλŒ€λ‘œ μ—…κ·Έλ ˆμ΄λ“œν•©λ‹ˆλ‹€.
Comment thread
oliviarla marked this conversation as resolved.
Resolved
- `--node`λŠ” μ‚¬μš©ν•  수 μ—†μŠ΅λ‹ˆλ‹€.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@namsic
enterpriseμ—μ„œ --node μ œκ³΅ν•˜μ§€ μ•Šμ•„λ„ λ˜λŠ”μ§€ κ²€ν†  λ°”λžλ‹ˆλ‹€.

@namsic namsic Oct 28, 2026 •

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ν˜„μž¬ μΈν„°νŽ˜μ΄μŠ€λ₯Ό κΈ°μ€€μœΌλ‘œ ν•  λ•Œ,
λ³΅μ œμ—μ„œ upgrade --nodeλŠ” 어색해 λ³΄μž…λ‹ˆλ‹€.

  • slaveλŠ” κ·ΈλŒ€λ‘œ 두고 master node만 μž¬μ‹œμž‘ν•˜λŠ” 것은 ꢌμž₯ν•˜λŠ” 운영 방식이 μ•„λ‹ˆκ³ ,

  • slave node만 μ—…κ·Έλ ˆμ΄λ“œ ν•˜λŠ” λ™μž‘μ€ κ°€λŠ₯ν•˜κ² μœΌλ‚˜ 이λ₯Ό μœ„ν•΄ --nodeλ₯Ό 별도 μ œκ³΅ν•  μ΄μœ λŠ” 크지 μ•ŠμŠ΅λ‹ˆλ‹€.

  • standalone master의 κ²½μš°μ—λ„ --node μ œκ³΅ν•˜μ§€ μ•Šκ³  --group으둜 μ—…κ·Έλ ˆμ΄λ“œν•˜λ„λ‘ ν•  수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

slave만 μ—…κ·Έλ ˆμ΄λ“œν•œ 후에 λ©°μΉ  상황을 μ§€μΌœλ³΄λŠ” κ²½μš°κ°€ μžˆμ„κΉŒμš”?

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

slave만 μ—…κ·Έλ ˆμ΄λ“œν•œ 후에 λ©°μΉ  상황을 μ§€μΌœλ³΄λŠ” κ²½μš°κ°€ μžˆμ„κΉŒμš”?

old master β†’ new slave μƒνƒœλ₯Ό μœ μ§€ν•˜λŠ” 것인데,
ν…ŒμŠ€νŠΈ λͺ©μ μ΄ μ•„λ‹Œ μ‹€ μ„œλΉ„μŠ€ ν™˜κ²½μ—μ„œ 이 μƒνƒœλ‘œ μ§€μΌœλ³Ό μ΄μœ λŠ” μ—†μ–΄ λ³΄μž…λ‹ˆλ‹€.


버전 μ—…κ·Έλ ˆμ΄λ“œ 방식에 κ³ μ •λœ κ°€μ΄λ“œλΌμΈμ„ λ‘˜ 것이면 κ·Έ ν•œ 가지에 λ§žμΆ°μ„œ λ™μž‘ν•˜λ„λ‘ ν•˜λ©΄ λ©λ‹ˆλ‹€.
κ·Έ μ™Έ λ³€μ£Όκ°€ ν•„μš”ν•œ λ•ŒλŠ” arcusctl 없이 μ‚¬μš©μžκ°€ 직접 μ‘°μž‘ν•˜λŠ” κ²ƒμœΌλ‘œ ν•©λ‹ˆλ‹€.

κ·Έλ ‡μ§€ μ•Šκ³  arcusctl둜 μ—¬λŸ¬κ°€μ§€ μ—…κ·Έλ ˆμ΄λ“œ μ‹œλ‚˜λ¦¬μ˜€μ— λͺ¨λ‘ λŒ€μ‘ν•  수 μžˆλ„λ‘ ν•΄μ•Ό ν•œλ‹€λ©΄
upgrade ν•˜λ‚˜μ—μ„œ 인자둜 μ²˜λ¦¬ν•˜λŠ” κ²ƒμ—λŠ” ν•œκ³„κ°€ μžˆμ„ κ²ƒμœΌλ‘œ 보이고,
κ°œλ³„ λ…Έλ“œ λ‹¨μœ„λ‘œ μš΄μ˜μžκ°€ μ•„λž˜ μž‘μ—…μ„ λ§€λ‰΄μ–Όν•˜κ²Œ μˆ˜ν–‰ν•  수 μžˆλ„λ‘ ꡬ뢄해야 ν•  것 κ°™μŠ΅λ‹ˆλ‹€.

  • μž₯비에 μ‹ κ·œ 버전 μ„€μΉ˜
  • κΈ°μ‘΄ λ…Έλ“œ κ°œλ³„ 쀑지 및 μž¬κ΅¬λ™
    • μž¬κ΅¬λ™ λŒ€μƒ λ…Έλ“œ μš΄μ˜μžκ°€ 직접 선택
      (일뢀 λ…Έλ“œ 선택 및 μ—…κ·Έλ ˆμ΄λ“œ 간격 μš΄μ˜μžκ°€ 직접 κ²°μ •)
    • μž¬κ΅¬λ™ μ‹œ μ‚¬μš©ν•  버전 μš΄μ˜μžκ°€ 직접 선택
      (문제 생겨 λ‘€λ°±ν•˜λŠ” 상황 λ“± κ³ λ €ν•˜λ©΄, μ‹ /ꡬ 버전을 선택 ꡬ동할 수 μžˆμ–΄μ•Ό 함)

- λ‚΄λΆ€μ μœΌλ‘œ μ—…κ·Έλ ˆμ΄λ“œ μž‘μ—… μˆ˜ν–‰ μ‹œ κ·Έλ£Ή λ‚΄μ˜ `master` μ—­ν• μ˜ λ…Έλ“œλŠ” μ ˆλŒ€ μ—…κ·Έλ ˆμ΄λ“œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ°˜λ“œμ‹œ switchover λͺ…령을 톡해 slave μ—­ν• λ‘œ λ³€κ²½ν•œ ν›„ μ—…κ·Έλ ˆμ΄λ“œ 과정을 κ±°μΉ©λ‹ˆλ‹€. 단, master만 μžˆλŠ” 그룹의 경우 μ—­ν•  λ³€κ²½ 없이 μ—…κ·Έλ ˆμ΄λ“œκ°€ μ§„ν–‰λ˜λ©° 이둜 인해 λ°μ΄ν„°λŠ” μœ μ‹€λ©λ‹ˆλ‹€.
- ν•œ κ·Έλ£Ή λ‚΄ λ…Έλ“œλ“€μ˜ 버전이 μΌμΉ˜ν•˜μ§€ μ•ŠλŠ” κ²½μš°μ—¬λ„ 각각 λͺ©ν‘œ λ²„μ „μœΌλ‘œ μ—…κ·Έλ ˆμ΄λ“œν•˜λ„λ‘ ν•©λ‹ˆλ‹€.

각 볡제 그룹은 λ‹€μŒ μˆœμ„œλ‘œ μ—…κ·Έλ ˆμ΄λ“œν•©λ‹ˆλ‹€.

1. μ—…κ·Έλ ˆμ΄λ“œ λŒ€μƒ 그룹의 μ—­ν• κ³Ό 볡제 μƒνƒœ(SYNC_RUN)λ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
2. ν˜„μž¬ `slave`λ₯Ό μ€‘μ§€ν•©λ‹ˆλ‹€.
3. λͺ©ν‘œ λ²„μ „μœΌλ‘œ `slave`λ₯Ό μ‹œμž‘ν•˜κ³  데이터 동기화가 μ™„λ£Œ(SYNC_RUN)λ˜μ—ˆλŠ”μ§€ ν™•μΈν•©λ‹ˆλ‹€.
4. μƒˆ 버전 `slave`λ₯Ό `master`둜 switchoverν•˜κ³  μ—­ν• κ³Ό 볡제 μƒνƒœλ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
Comment thread
oliviarla marked this conversation as resolved.
Resolved
5. `slave`κ°€ 된 κΈ°μ‘΄ `master`에도 2~4번 μž‘μ—…μ„ λ°˜λ³΅ν•©λ‹ˆλ‹€.
6. Group λ‚΄ λͺ¨λ“  μΊμ‹œ μ„œλ²„κ°€ λͺ©ν‘œ λ²„μ „μœΌλ‘œ 정상 λ™μž‘ν•˜λŠ”μ§€ ν™•μΈν•œ λ’€ λ‹€μŒ group으둜 μ§„ν–‰ν•©λ‹ˆλ‹€.

> [!NOTE]
> μ—…κ·Έλ ˆμ΄λ“œ μž‘μ—…μ€ ν•œ λ²ˆμ— λͺ¨λ“  그룹을 λŒ€μƒμœΌλ‘œ ν•˜κΈ°λ³΄λ‹€λŠ”,
> 일뢀 κ·Έλ£Ήλ“€λ§Œ λ¨Όμ € μ—…κ·Έλ ˆμ΄λ“œν•˜μ—¬ ν΄λŸ¬μŠ€ν„°κ°€ μ •μƒμ μœΌλ‘œ λ™μž‘ν•˜λŠ”μ§€ ν™•μΈν•˜κ³ 
> λ‚˜λ¨Έμ§€ 그룹듀을 μ΅œμ’…μ μœΌλ‘œ μ—…κ·Έλ ˆμ΄λ“œν•˜λŠ” 방식을 ꢌμž₯ν•©λ‹ˆλ‹€.

### Plan 좜λ ₯

μ—…κ·Έλ ˆμ΄λ“œλ₯Ό μ‹œμž‘ν•˜κΈ° 전에 λŒ€μƒλ³„ ν˜„μž¬ 버전, λͺ©ν‘œ 버전, μˆ˜ν–‰ν•  λ™μž‘μ„ 좜λ ₯ν•˜κ³  μ§„ν–‰ μ—¬λΆ€λ₯Ό ν™•μΈν•©λ‹ˆλ‹€.
이미 λͺ©ν‘œ λ²„μ „μœΌλ‘œ λ™μž‘ν•˜λŠ” λ…Έλ“œλŠ” `skip` ν‘œμ‹œν•˜λ―€λ‘œ, μ‹€μ œλ‘œ μ—…κ·Έλ ˆμ΄λ“œλ  λ…Έλ“œ λͺ©λ‘μ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

#### Community

```sh
arcusctl cluster upgrade my-cluster --version 1.16.2 --all
```

```text
Arcus cluster "my-cluster" will be upgraded.

ADDRESS CURRENT TARGET ACTION
192.0.2.21:11211 1.16.2 1.16.2 skip
192.0.2.22:11211 1.16.1 1.16.2 upgrade
192.0.2.23:11211 1.16.1 1.16.2 upgrade

Proceed with upgrade? (y/N):
```

#### Enterprise

```sh
arcusctl cluster upgrade my-repl-cluster --version 0.12.2-E --all
```

Enterprise ν΄λŸ¬μŠ€ν„°λŠ” replication group λ‹¨μœ„λ‘œ μ—…κ·Έλ ˆμ΄λ“œ κ°€λŠ₯ν•©λ‹ˆλ‹€.
이미 λͺ©ν‘œ λ²„μ „μœΌλ‘œ λ™μž‘ν•˜λŠ” λ…Έλ“œλŠ” λ§ˆμ°¬κ°€μ§€λ‘œ `skip` ν‘œμ‹œν•˜λ―€λ‘œ μ‹€μ œλ‘œ μ—…κ·Έλ ˆμ΄λ“œλ  κ·Έλ£Ή λͺ©λ‘μ„ 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

```text
Arcus cluster "my-repl-cluster" will be upgraded.

GROUP ROLE ADDRESS CURRENT TARGET ACTION
g1 master 192.0.2.22:11211 0.12.2-E 0.12.2-E skip
g1 slave 192.0.2.21:11211 0.12.2-E 0.12.2-E skip
g2 master 192.0.2.23:11211 0.12.1-E 0.12.2-E upgrade
g2 slave 192.0.2.24:11211 0.12.1-E 0.12.2-E upgrade
Comment thread
f1v3-dev marked this conversation as resolved.
Resolved

Proceed with upgrade? (y/N):
```

### λ°”μ΄λ„ˆλ¦¬ μ€€λΉ„ μ‹œμ 

upgrade λͺ…λ Ή μˆ˜ν–‰ μ‹œ λͺ©ν‘œ 버전 λ°”μ΄λ„ˆλ¦¬λŠ” μΊμ‹œ μ„œλ²„ 쀑지 μž‘μ—… 전에 λͺ¨λ“  λŒ€μƒ λ…Έλ“œ/그룹의 원격 μž₯비에 μ€€λΉ„ν•΄λ‘‘λ‹ˆλ‹€.

```text
plan 좜λ ₯ 및 확인 -> λŒ€μƒ 원격 μž₯λΉ„ 전체에 λͺ©ν‘œ 버전 μ„€μΉ˜ -> λŒ€μƒλ³„ 순차 μ—…κ·Έλ ˆμ΄λ“œ μ‹œμž‘
```

- λΉŒλ“œλŠ” `deploy`와 같은 λ°©μ‹μœΌλ‘œ 원격 μž₯λΉ„λ§ˆλ‹€ ν•œ 번만 μˆ˜ν–‰ν•˜κ³ , `<path>/<version>/bin/memcached`κ°€ 이미 있으면 μž¬μ‚¬μš©ν•©λ‹ˆλ‹€.
- μ„€μΉ˜κ°€ ν•˜λ‚˜λΌλ„ μ‹€νŒ¨ν•˜λ©΄ μΊμ‹œ λ…Έλ“œ μƒνƒœλ₯Ό λ³€κ²½ν•˜μ§€ μ•Šμ€ 채 μ’…λ£Œλ©λ‹ˆλ‹€.
- κΈ°μ‘΄ 버전 μ„€μΉ˜λŠ” μ‚­μ œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ§Œμ•½ ν•΄λ‹Ή 버전을 더 이상 μ‚¬μš©ν•˜μ§€ μ•ŠλŠ” 경우 직접 μ œκ±°ν•΄μ£Όμ–΄μ•Ό ν•©λ‹ˆλ‹€.
- 이전 λ²„μ „μœΌλ‘œ λ˜λŒλ €μ•Ό ν•˜λŠ” κ²½μš°μ—λŠ” upgrade λͺ…령에 이전 버전을 μ§€μ •ν•΄ μ‚¬μš©ν•©λ‹ˆλ‹€.

### 곡톡 λ™μž‘

- 버전별 μ„€μΉ˜ 경둜(`<path>/<version>`)λ₯Ό μ‚¬μš©ν•˜κ³ , μΊμ‹œ μ„œλ²„λ³„ μ‹€ν–‰ 버전을 κ΄€λ¦¬ν•©λ‹ˆλ‹€.
- 이미 λͺ©ν‘œ λ²„μ „μœΌλ‘œ 정상 λ™μž‘ν•˜λŠ” μΊμ‹œ λ…Έλ“œ/그룹은 κ±΄λ„ˆλœλ‹ˆλ‹€.
- 각 λ‹¨κ³„μ˜ 결과와 μΊμ‹œ μ„œλ²„λ³„ 버전을 운영 μž₯λΉ„μ˜ 메타데이터 파일(meta.yml)에 κΈ°λ‘ν•©λ‹ˆλ‹€.

### μ—…κ·Έλ ˆμ΄λ“œ μ‹€νŒ¨ μ‹œ 확인

> [!WARNING]
> μ—…κ·Έλ ˆμ΄λ“œ 쀑 였λ₯˜κ°€ λ°œμƒν•΄λ„ μ™„λ£Œλœ μž‘μ—…μ€ μžλ™μœΌλ‘œ λ‘€λ°±λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

μ‹œμž‘, ν΄λŸ¬μŠ€ν„° νŽΈμž…, 동기화, switchover 확인 쀑 ν•˜λ‚˜λΌλ„ μ‹€νŒ¨ν•˜λ©΄ μΆ”κ°€ μž‘μ—…μ„ μ€‘λ‹¨ν•˜κ³  μ™„λ£ŒΒ·μ‹€νŒ¨Β·λ―Έμ²˜λ¦¬ λŒ€μƒμ„ 좜λ ₯ν•©λ‹ˆλ‹€.
원인을 ν•΄κ²°ν•œ λ’€ 같은 λͺ…령을 λ‹€μ‹œ μ‹€ν–‰ν•˜λ©΄ ν•΄λ‹Ή μƒνƒœλ₯Ό κΈ°μ€€μœΌλ‘œ μ—…κ·Έλ ˆμ΄λ“œ μž‘μ—…μ„ λ‹€μ‹œ μˆ˜ν–‰ν•©λ‹ˆλ‹€.

### κΈ°μ‘΄ λͺ…λ Ήκ³Όμ˜ 연계

`upgrade`λ₯Ό μ§€μ›ν•˜λ©΄μ„œ ν΄λŸ¬μŠ€ν„° μ•ˆμ— μ—¬λŸ¬ 버전이 ν•¨κ»˜ μ‘΄μž¬ν•  수 μžˆμŠ΅λ‹ˆλ‹€. 이에 맞좰 κΈ°μ‘΄ λͺ…λ Ήμ˜ 버전 μ²˜λ¦¬λ„ λ‹€μŒκ³Ό 같이 λ°”λ€λ‹ˆλ‹€.

| λͺ…λ Ή | λ³€κ²½ λ‚΄μš© |
|-|-|
| `start` | μΊμ‹œ μ„œλ²„λ³„λ‘œ 기둝된 λ²„μ „μœΌλ‘œ μ‹œμž‘ν•©λ‹ˆλ‹€. |
| `stop` | PID νŒŒμΌμ„ μΊμ‹œ μ„œλ²„λ³„λ‘œ 기둝된 버전 기반으둜 찾은 ν›„ μ€‘μ§€ν•©λ‹ˆλ‹€. |
| `delete` | μ‹€ν–‰ μ—¬λΆ€ 확인과 `--purge` λŒ€μƒ 경둜λ₯Ό μΊμ‹œ μ„œλ²„λ³„ 버전 κΈ°μ€€μœΌλ‘œ νŒλ‹¨ν•©λ‹ˆλ‹€. |
| `list` | 버전 정보 ν‘œμ‹œλ₯Ό μ œκ±°ν•©λ‹ˆλ‹€. |
| `status` | μΊμ‹œ μ„œλ²„λ³„ 버전 정보λ₯Ό ν‘œμ‹œν•©λ‹ˆλ‹€. |

#### `status` 좜λ ₯

`status`λŠ” μΊμ‹œ μ„œλ²„λ³„ 버전을 `VERSION` 열에 ν‘œμ‹œν•©λ‹ˆλ‹€.

```text
Arcus cluster "my-repl-cluster"
Comment thread
oliviarla marked this conversation as resolved.
Resolved

GROUP ROLE ADDRESS VERSION PROCESS_STATUS ZK_REGISTERED
g1 master 192.0.2.22:11211 0.12.2-E running yes
g1 slave 192.0.2.21:11211 0.12.2-E running yes
g2 master 192.0.2.23:11211 0.12.1-E running yes
g2 slave 192.0.2.24:11211 0.12.1-E running yes
```

- μ‹€ν–‰ 쀑인 μΊμ‹œ μ„œλ²„λŠ” ν”„λ‘œμ„ΈμŠ€μ— `version` λͺ…령을 보내 μ‹€μ œ μ‹€ν–‰ 버전을 ν‘œμ‹œν•©λ‹ˆλ‹€.
- μ€‘μ§€λœ μΊμ‹œ μ„œλ²„λŠ” 메타데이터에 기둝된 버전, 즉 λ‹€μŒ `start` μ‹œ μ‚¬μš©ν•  버전을 ν‘œμ‹œν•©λ‹ˆλ‹€.
- μ‹€μ œ μ‹€ν–‰ 버전과 기둝된 버전이 λ‹€λ₯΄λ©΄ κ²½κ³ λ₯Ό ν•¨κ»˜ 좜λ ₯ν•©λ‹ˆλ‹€.

## `cluster delete`

Arcus ν΄λŸ¬μŠ€ν„°λ₯Ό μ‚­μ œν•©λ‹ˆλ‹€.
Expand Down
Loading