AlloyDB Omni는 Docker 이미지를 통해 배포되므로 다양한 형태의 맞춤설정이 가능합니다. 이 페이지에서는 사용되는 일반적인 맞춤설정을 보여줍니다.
기본 구성을 사용하여 AlloyDB Omni를 빠르게 시작하려면 빠른 시작: AlloyDB Omni를 참고하세요.
시작하기 전에
다음 표에는 AlloyDB Omni의 권장 하드웨어 및 소프트웨어 구성이 나와 있습니다.
OS/플랫폼 | 권장 하드웨어 구성 | 권장 소프트웨어 구성 |
---|---|---|
Linux |
|
|
macOS |
|
|
(*) Arm 지원은 미리보기 상태입니다. |
AlloyDB Omni는 컨테이너에서 실행됩니다. AlloyDB Omni를 설치하기 전에 머신에 Docker 또는 Podman과 같은 컨테이너 런타임을 설치합니다.
단일 서버
외부 데이터 디렉터리 마운트
기본적으로 빠른 시작: AlloyDB Omni 설치의 명령어는 Docker에서 관리하는 영역에 데이터베이스 데이터를 저장합니다. 이렇게 하면 시작하기는 편리하지만 데이터 디렉터리를 찾고 사용하기가 어려워집니다. 대신 바인드 마운트를 설정하여 데이터 디렉터리를 디스크의 알려진 위치에 매핑할 수 있습니다.
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-v DATA_DIR:/var/lib/postgresql/data \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.4
다음을 바꿉니다.
CONTAINER_NAME
: 호스트 머신의 컨테이너 레지스트리에 이 새 AlloyDB Omni 컨테이너를 할당할 이름입니다(예:my-omni
).NEW_PASSWORD
: 새 컨테이너의postgres
사용자 생성 후 할당된 비밀번호입니다.DATA_DIR
: AlloyDB Omni가 데이터 디렉터리에 사용하도록 할 파일 시스템 경로입니다.HOST_PORT
: 컨테이너가 자체 포트 5432를 게시해야 하는 호스트 머신의 TCP 포트입니다. 호스트 머신에서도 PostgreSQL 기본 포트를 사용하려면5432
를 지정합니다.
ulimit 사용 설정
ulimit 매개변수는 Docker 컨테이너가 사용할 수 있는 다양한 프로세스 한도를 지정합니다. 최적의 성능을 위해 AlloyDB Omni는 중요한 PostgreSQL 프로세스가 더 높은 우선순위로 실행되도록 프로세스 우선순위를 조정합니다. 즉, 사용 가능한 CPU가 더 많이 할당됩니다. 이를 허용하려면 AlloyDB Omni 컨테이너의 제한사항을 삭제하는 -20:-20
를 지정하세요.
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--ulimit=nice=-20:-20 \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.4
로깅 드라이버 지정
기본적으로 Docker는 로그 순환을 실행하지 않습니다. 이 경우 많은 디스크 공간이 사용될 수 있으며 결국 디스크 공간이 부족해질 수 있습니다. 다른 로깅 드라이버를 사용하도록 Docker를 구성할 수 있습니다. 예를 들어 journald에 로깅하려면 다음을 실행합니다.
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
--log-driver=journald \
-p HOST_PORT:5432 -d google/alloydbomni:15.5.4
Docker 및 로깅 드라이버에 대한 자세한 내용은 Docker 문서 로깅 드라이버 구성을 참고하세요.
PostgreSQL을 사용하여 로깅을 구성할 수도 있습니다. 자세한 내용은 PostgreSQL 문서 오류 보고 및 로깅을 참고하세요.
공유 메모리 볼륨 마운트
AlloyDB Omni와 함께 AlloyDB 열 기반 엔진을 사용하려면 AlloyDB Omni 컨테이너에서 공유 메모리를 사용할 수 있도록 하는 것이 좋습니다. 이 작업을 실행하는 방법은 다음 예시와 같이 호스트 운영체제에 따라 다릅니다.
Linux
컨테이너에서 공유 메모리를 사용할 수 있도록 하려면 /dev/shm
을 마운트합니다.
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
-v /dev/shm:/dev/shm \
-d google/alloydbomni:15.5.4
macOS
컨테이너에서 공유 메모리를 사용할 수 있도록 하려면 --shm-size
플래그를 포함합니다.
docker run --name CONTAINER_NAME \
-e POSTGRES_PASSWORD=NEW_PASSWORD \
-p HOST_PORT:5432 \
--shm-size=SHARED_MEMORY_SIZE \
-d google/alloydbomni:15.5.4
SHARED_MEMORY_SIZE
를 컨테이너에서 /dev/shm
에 설정할 크기로 바꿉니다. 형식은 컨테이너 실행에 설명되어 있습니다.
예를 들어 1기가바이트를 지정하려면 1g
값을 사용합니다.
공유 메모리 크기를 데이터베이스의 google_job_scheduler.max_parallel_workers_per_job
플래그 값에 250을 곱한 메가바이트 수로 설정하는 것이 좋습니다. 열 형식 엔진에 관한 자세한 내용은 AlloyDB Omni에서 열 형식 엔진 구성을 참고하세요.
예를 들어 google_job_scheduler.max_parallel_workers_per_job
데이터베이스 플래그가 기본값인 2
로 설정된 경우 데이터베이스 서버를 시작할 때 --shm-size=500m
이상의 플래그를 추가하는 것이 좋습니다.
--shm-size
플래그에 대한 자세한 내용은 컨테이너 실행을 참고하세요.