데이터베이스 트래픽을 전환하거나 파티션을 더 많이 저장하려면 가상 머신 환경에서 서버 노드 수를 조정하면 됩니다. 다음 절차를 사용하여 VM 배포를 관리하세요.
시작하기 전에
VM 배포를 확장하려면 다음 단계를 따르세요.
Spanner Omni CLI를 다운로드하고 설치합니다.
확장 작업에서는 유사한 Spanner Omni CLI 패턴을 사용하므로 VM에 Spanner Omni 배포 만들기에 설명된 개념을 숙지하세요.
권장사항에 따라 수평으로 확장하기 위해 서버를 추가하기 전에 서버당 최대 32GB의 메모리로 수직 확장하는 것이 좋습니다.
루트 서버 추가
다음 단계에 따라 VM 배포에 새 루트 서버를 추가합니다.
기존 영역의 새 VM에서 새 서버를 시작합니다.
spanner start명령어를 사용하여 서버를 초기화합니다. 다음 예시에서는 루트 서버를 시작합니다.spanner start \ --root \ --server-address=HOSTNAME \ --zone=ZONE \ --base-dir=BASE_DIR다음을 바꿉니다.
HOSTNAME: 새 VM의 확인 가능한 정규화된 도메인 이름(FQDN) 또는 호스트 이름입니다(예: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프로세스를 다시 시작하지 마세요.
다음 단계
- 배포를 유지관리하는 방법을 알아보세요.