데이터베이스 트래픽을 전환하거나 파티션을 더 많이 저장하려면 가상 머신 환경에서 서버 노드 수를 조정하면 됩니다. 다음 절차에 따라 VM 배포를 관리하세요.
시작하기 전에
VM 배포를 확장하려면 다음 단계를 따르세요.
확장 작업은 유사한 Spanner Omni CLI 패턴을 사용하므로 VM에 Spanner Omni 배포 만들기 에 설명된 개념을 숙지합니다.
가능하다면 수평으로 확장하기 위해 서버를 추가하기 전에 서버당 최대 32GB의 메모리를 사용하여 수직으로 확장하는 것이 좋습니다.
루트 서버 추가
다음 단계에 따라 VM 배포에 새 루트 서버를 추가합니다.
기존 영역의 새 VM에서 새 서버를 시작합니다.
spanner start명령어를 사용하여 서버를 초기화합니다. 다음 예에서는 루트 서버를 시작합니다.spanner start \ --root \ --server-address=HOSTNAME \ --zone=ZONE \ --base-dir=BASE_DIR다음을 바꿉니다.
HOSTNAME: 확인 가능한 정규화된 도메인 이름(FQDN) 또는 새 VM의 호스트 이름(예:new-root-server.example.com)ZONE: 대상 영역(예:us-central1-a)BASE_DIR: 데이터가 저장되는 디렉터리 경로(예:/spanner)
기존 배포에 서버를 추가합니다. 새 루트 서버를 기본 배포에 등록합니다. 호스트 이름 및 포트 인수가
spanner start명령어에 사용된 매개변수와 일치하는지 확인하고 루트 서버에 할당할 영역을 지정합니다.spanner deployment servers create SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINT다음을 바꿉니다.
SERVER_ENDPOINT: 새 루트 서버의 주소(예:new-root-server.example.com:15000)ZONE: 대상 영역(예:us-central1-a)ENDPOINT: 기본 배포의 엔드포인트(예:my-spanner-deployment:15000)
spanner deployment servers create명령어는 배포에 서버를 추가하는 장기 실행 작업 을 시작합니다. 장기 실행 작업은 완료하는 데 상당한 시간이 걸릴 수 있습니다. 자세한 내용은 Spanner 문서의 장기 실행 작업 관리 및 관찰 을 참고하세요.서버가 배포에 조인되었는지 확인합니다. 서버를 나열하여 서버가 등록되었고
Ready상태로 전환되었는지 확인합니다.spanner deployment servers list \ --zone=ZONE \ --deployment-endpoint=ENDPOINT
비루트 서버 추가
비루트 서버를 추가하려면 VM에서 spanner 프로세스를 시작하고 클러스터의 하나 이상의 루트 서버에 연결하여 배포에 조인하도록 구성합니다.
이 예에서는 비루트 서버를 시작하고 배포에 추가합니다.
spanner start \
--server-address=HOSTNAME \
--join-servers=JOIN_SERVERS \
--zone=ZONE \
--base-dir=BASE_DIR
다음을 바꿉니다.
HOSTNAME: 새 VM의 호스트 이름(예:new-non-root-server.example.com)JOIN_SERVERS: 쉼표로 구분된 기존 루트 서버 엔드포인트 목록(예:root-server1.example.com:15000)ZONE: 영역 이름(예:us-central1-a)BASE_DIR: 데이터가 저장되는 디렉터리 경로(예:/spanner)
서버 삭제
루트 서버 또는 비루트 서버를 삭제하려면 동일한 단계를 따르세요. 루트 서버를 삭제하는 경우 배포에서 총 루트 서버 수가 홀수 (1~9)로 유지되도록 합니다.
VM 서버를 사용 중단하려면 다음 단계를 따르세요.
배포에서 서버를 삭제합니다.
spanner deployment servers delete SERVER_ENDPOINT \ --zone=ZONE \ --deployment-endpoint=ENDPOINT다음을 바꿉니다.
SERVER_ENDPOINT: 삭제할 서버의 주소(예:server-to-remove:15000)ZONE: 서버가 포함된 영역(예:us-central1-a)ENDPOINT: 기본 배포의 엔드포인트(예:my-spanner-deployment:15000)
데이터 재배치가 완료될 때까지 기다립니다. 파티션 재배치는 서버에서 호스팅되는 데이터 저장소의 크기에 따라 시간이 걸립니다. 서버가 더 이상 출력에 나열되지 않을 때까지 서버 상태를 모니터링합니다.
spanner deployment servers list \ --zone=ZONE \ --deployment-endpoint=ENDPOINT서버 프로세스를 종료합니다. VM에 로그인하고
spanner프로세스를 중지합니다.데이터 손상을 방지하거나 연결이 끊어진 서버가 상충되는 업데이트를 기록하지 않도록 하려면 먼저 이전 데이터 폴더를 삭제하지 않고 동일한
base_dir을 사용하여 이 VM에서spanner프로세스를 다시 시작하지 마세요.
다음 단계
- 배포를 유지보수하는 방법을 알아봅니다.