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.
- `--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.
- `--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으둜 μ—…κ·Έλ ˆμ΄λ“œν•˜λ„λ‘ ν•  수 μžˆμ„ κ²ƒμž…λ‹ˆλ‹€.

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

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

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

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

[Major]
Replication group에 slaveκ°€ μƒλž΅λœ ν† ν΄λ‘œμ§€μ—μ„œλŠ” master λ…Έλ“œλ₯Ό μ—…κ·Έλ ˆμ΄λ“œν•  κ²½λ‘œκ°€ 섀계에 μ—†μŠ΅λ‹ˆλ‹€.

문제 상황

이 λ¬Έμ„œ 110113ν–‰(κΈ°μ‘΄ λ‚΄μš©)에 λ”°λ₯΄λ©΄ Enterprise ν† ν΄λ‘œμ§€μ˜ 각 group은 slaveλ₯Ό ν•˜λ‚˜λ§Œ μ§€μ •ν•˜κ±°λ‚˜ μƒλž΅ν•  수 μžˆμŠ΅λ‹ˆλ‹€(즉 master만 μžˆλŠ” group이 μœ νš¨ν•œ μ„€μ •μž…λ‹ˆλ‹€). 그런데 이번 μ„Ήμ…˜μ˜ κ·œμΉ™(479ν–‰: "master μ—­ν• μ˜ λ…Έλ“œλŠ” μ ˆλŒ€ μ—…κ·Έλ ˆμ΄λ“œν•˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€. λ°˜λ“œμ‹œ switchover λͺ…령을 톡해 slave μ—­ν• λ‘œ λ³€κ²½ν•œ ν›„ μ—…κ·Έλ ˆμ΄λ“œ 과정을 κ±°μΉ©λ‹ˆλ‹€")κ³Ό 볡제 κ·Έλ£Ή μ—…κ·Έλ ˆμ΄λ“œ 절차(484489ν–‰, 2단계 "ν˜„μž¬ slaveλ₯Ό μ€‘μ§€ν•©λ‹ˆλ‹€"λΆ€ν„°)λŠ” group에 항상 slaveκ°€ μ‘΄μž¬ν•œλ‹€κ³  μ „μ œν•©λ‹ˆλ‹€. slaveκ°€ μ—†λŠ” group을 --groupμ΄λ‚˜ --all둜 μ§€μ •ν•΄ μ—…κ·Έλ ˆμ΄λ“œν•˜λ©΄ switchoverν•  λŒ€μƒμ΄ μ—†μ–΄ ν•΄λ‹Ή group의 masterλ₯Ό μ—…κ·Έλ ˆμ΄λ“œν•  방법이 λ¬Έμ„œμƒ μ •μ˜λ˜μ–΄ μžˆμ§€ μ•ŠμŠ΅λ‹ˆλ‹€.

ν•΄κ²° λ°©μ•ˆ

slaveκ°€ μ—†λŠ” group의 masterλ₯Ό λ‹€λ£¨λŠ” 절차λ₯Ό λͺ…μ‹œν•΄μ•Ό ν•©λ‹ˆλ‹€. 예λ₯Ό λ“€μ–΄ ν•΄λ‹Ή group은 switchover 없이 직접 μž¬μ‹œμž‘ν•˜λ„λ‘ ν—ˆμš©ν•˜κ±°λ‚˜, --all λŒ€μƒμ—μ„œ μ œμ™Έν•˜κ³  μ•ˆλ‚΄ λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•˜λŠ” 방식 등을 λ¬Έμ„œμ— μΆ”κ°€ν•΄ μ£Όμ„Έμš”.

확인 ν•„μš”

slaveκ°€ μ—†λŠ” group은 이번 upgrade κΈ°λŠ₯μ—μ„œ μ•„μ˜ˆ 지원 λŒ€μƒμ—μ„œ μ œμ™Έν•  κ³„νšμΈμ§€, λ‹€λ₯Έ 절차(직접 μž¬μ‹œμž‘ λ“±)둜 μ²˜λ¦¬ν•  κ³„νšμΈμ§€ 확인이 ν•„μš”ν•©λ‹ˆλ‹€.


> [!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.

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"

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