AlloyDB Omni 설치 맞춤설정

문서 버전을 선택합니다.

AlloyDB Omni는 Docker 이미지를 통해 배포되므로 다양한 형태의 맞춤설정이 가능합니다. 이 페이지에서는 사용되는 일반적인 맞춤설정을 보여줍니다.

기본 구성을 사용하여 AlloyDB Omni를 빠르게 시작하려면 빠른 시작: AlloyDB Omni를 참고하세요.

시작하기 전에

다음 표에는 AlloyDB Omni의 권장 하드웨어 및 소프트웨어 구성이 나와 있습니다.

OS/플랫폼 권장 하드웨어 구성 권장 소프트웨어 구성
Linux
  • AVX2를 지원하는 x86-64 또는 Arm (*) CPU
  • AlloyDB Omni에 할당된 CPU마다 8GB의 RAM
  • 디스크 공간 20GB 이상
  • Debian 기반 OS (Ubuntu 등) 또는 RHEL 9
  • Linux 커널 버전 6.1 이상 또는 MADV_COLLAPSE 및 MADV_POPULATE_WRITE 지시어를 지원하는 5.3 미만의 Linux 커널 버전
  • Cgroupsv2 사용 설정
  • Docker Engine 25.0.0 이상 또는 Podman 5.0.0 이상
  • macOS
  • AVX2를 지원하는 Intel CPU 또는 M 칩
  • AlloyDB Omni에 할당된 CPU마다 8GB의 RAM
  • 디스크 공간 20GB 이상
  • Docker Desktop 4.30 이상
  • (*) 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 플래그에 대한 자세한 내용은 컨테이너 실행을 참고하세요.