Cross Site Replication

๋‘๊ฐœ์˜ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค์—์„œ ๋””๋น„๋ฅผ ๋ฆฌํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ• ์ˆ˜ ์žˆ๋‹ค.

https://www.percona.com/doc/kubernetes-operator-for-pxc/replication.html

์ฃผ์˜

  • Percona XtraDB Cluster 8.0.22+ ์ด์ƒ์„ ์„ค์น˜ํ•ด์•ผ ํ•œ๋‹ค.

  • haproxy๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ž˜๋˜๋Š”๋ฐ proxy sql์„ ์‚ฌ์šฉํ•˜๋ฉด ์•ˆ๋œ๋‹ค.

  • ๋ณต์ œ์‹œ ์‚ฌ์šฉํ•  ๋น„๋ฒˆ์ด ๊ฐ™์•„์•ผํ•œ๋‹ค. secret.yml์— ๊ฐ™์€ ๋น„๋ฒˆ์œผ๋กœ ์„ค์ •ํ•ด์ฃผ๋ฉด ๋œ๋‹ค.

๊ณ ๋ ค์‚ฌํ•ญ

  • pitr์„ replica ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ํ• ๊ฒƒ์ธ๊ฐ€?

  • ๋ฐฑ์—…์€ ์–ด๋А ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ํ• ๊ฒƒ์ธ๊ฐ€?

source cluster์—์„œ ํ•˜๋Š”๊ฒƒ์œผ๋กœ ๊ฒฐ์ • ์™œ๋ƒ๋ฉด ๋งˆ์Šคํ„ฐ๊ฐ€ ์•„๋ฌด๋ž˜๋„ ์ตœ์‹ ์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ „์ฒด ๋ฐฑ์—…์€ source cluster์—์„œ ํ•˜๋ฏ€๋กœ ๋ฆฌํ”Œ๋ฆฌ์นด์—์„œ๋Š” ์•ˆํ•˜๋Š”๊ฒƒ์œผ๋กœํ•œ๋‹ค.

source cluster ๊ตฌ์„ฑ

cr.yaml
spec:
  pxc:
    expose:
      enabled: true
      type: LoadBalancer
    replicationChannels:
      - name: pxc1_to_pxc2
        isSource: true

์ฒด๋„์„ ์„ค์ •ํ•˜๊ณ  isSource๋ฅผ true๋กœ ์„ค์ •ํ•œ๋‹ค.

load balance๋ฅผ ์ด์šฉํ•˜์—ฌ svc๋ฅผ ํ†ตํ•ด ์™ธ๋ถ€์— ์˜คํ”ˆํ•œ๋‹ค.

kubectl get services -l "app.kubernetes.io/instance=CLUSTER_NAME" ์„œ๋น„์Šค๋ฅผ ํ™•์ธํ•˜์ž. ์•„์ดํ”ผ๋ฅผ ํ™•์ธํ•˜์ž.

replica cluster

๋ณต์ œ๋ฅผ ๋ฐ›์„ ํด๋Ÿฌ์Šคํ„ฐ์—์„œ ์„ค์ •ํ•˜์ž.

์œ„์—์„œ ๋กœ๋“œ๋ฐœ๋ž€์Šค๋กœ ์˜คํ”ˆํ•œ ์•„์ดํ”ผ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

cr.yaml
pxc:
  replicationChannels:
    - name: pxc1_to_pxc2
    isSource: false
    sourcesList:
    - host: 172.16.3.155
      port: 3306
      weight: 40
    - host: 172.16.3.156
      port: 3306
      weight: 30
    - host: 172.16.3.158
      port: 3306
      weight: 30

์„ค์ • ์ถ”๊ฐ€ํ•˜๊ณ  ์ ์šฉํ•˜๋ฉด ํด๋Ÿฌ์Šคํ„ฐ๊ฐ€ ๋œจ๋ฉด์„œ ๋ณต์ œ๋ฅผ ์‹œ์ž‘ํ•œ๋‹ค.

์ƒˆ๋กœ ์˜ฌ๋ผ์˜จ ๋””๋น„๋ฅผ ํ™•์ธํ•ด๋ณด๋ฉด ๋ณต์ œ๊ฐ€ ๋˜๋Š”๊ฒƒ์„ ์•Œ์ˆ˜ ์žˆ๋‹ค.

์ถ”๊ฐ€

์ด์ œ source cluster๊ฐ€ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ฒจ์„œ ์ง€์›Œ์ง€๋ฉด replica cluster๋ฅผ ๊ธฐ๋ณธ์œผ๋กœ ๋Œ๋ ค์•ผํ• ๊ฑด๋ฐ ์–ด๋–ป๊ฒŒ ํ•˜์ง€?

Last updated

Was this helpful?