Huge Pages 사용 설정
PostgreSQL과 마찬가지로 AlloyDB Omni는 대용량 페이지 사용을 지원합니다. 이렇게 하려면 머신에서 대규모 페이지를 사용 설정해야 하며 데이터베이스 설정 huge_pages
도 사용 설정해야 합니다.
제공된 스크립트를 실행하여 머신에서 큰 페이지를 사용 설정합니다.
Docker
docker run --rm --privileged google/alloydbomni setup-host
Docker
docker run --rm --privileged google/alloydbomni setup-host
Podman
podman run --rm --privileged google/alloydbomni setup-host
Podman
podman run --rm --privileged google/alloydbomni setup-host
postgresql.conf
에 다음 줄을 추가하여 huge pages를 사용 설정합니다.huge_pages=on
스왑 사용 설정
운영체제에서 스와핑을 사용하면 무작위 액세스 메모리 (RAM)와 하드 디스크 간에 비활성 메모리 페이지를 이동하여 활성 프로세스를 위한 RAM 공간을 확보함으로써 사용 가능한 실제 메모리를 확장할 수 있습니다. AlloyDB Omni는 부하가 높고 추가 메모리가 필요한 경우 스왑을 사용합니다.
시스템에서 사용 설정된 스왑 공간을 확인하려면 다음을 실행하세요.
cat /proc/meminfo | grep SwapTotal
결과는 다음과 유사합니다.
SwapTotal: 165748732 kB
출력 값이 0
인 경우 운영체제에서 스왑을 사용 설정하려면 다음을 참고하세요.
코어 덤프 사용 설정
AlloyDB Omni에서 복구할 수 없는 오류가 발생하여 비정상 종료되는 경우 분석을 위해 코어 덤프가 있으면 유용합니다. 코어 덤프는 비정상 종료 시 AlloyDB Omni 프로세스의 메모리 스냅샷입니다.
코어 덤프를 설정하려면 다음과 같이 kernel.core_pattern
를 설정하세요.
sysctl
명령어를 사용하여 런타임 커널 매개변수를 구성합니다.kernel.core_pattern
를 즉시 설정하려면 다음을 사용하세요.sysctl -w kernel.core_pattern="CORE_PATTERN"
CORE_PATTERN
을 '%e-%t.core'와 같은 핵심 파일 이름 패턴으로 바꿉니다.핵심 파일 이름 패턴에 관한 자세한 내용은 프로세스 핵심 파일 이름 설정 방법을 참고하세요.
systemd-coredump 핸들러를 사용하면 coredump 설정을 추가로 구성할 수 있습니다. 이 도구는 RHEL에 기본적으로 설치됩니다. Debian 및 Ubuntu 시스템에서
sudo apt install coredumpctl
을 실행하여 도구를 설치합니다.AlloyDB Omni를 시작할 때
docker run
명령어에--ulimit=core:-1:-1
인수를 전달해야 합니다.Docker
docker run --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --ulimit=core:-1:-1 \ -p HOST_PORT:5432 -d google/alloydbomni
Docker
docker run --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --ulimit=core:-1:-1 \ -p HOST_PORT:5432 -d google/alloydbomni
Podman
podman run --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --ulimit=core:-1:-1 \ -p HOST_PORT:5432 -d google/alloydbomni
Podman
podman run --name CONTAINER_NAME \ -e POSTGRES_PASSWORD=NEW_PASSWORD \ --ulimit=core:-1:-1 \ -p HOST_PORT:5432 -d google/alloydbomni
다음을 바꿉니다.
CONTAINER_NAME
: 새 AlloyDB Omni 컨테이너의 이름입니다(예:my-omni-1
).NEW_PASSWORD
: 비밀번호 생성 후 새 컨테이너의postgres
사용자에게 할당된 비밀번호입니다.
내부 로깅 사용 설정
AlloyDB Omni는 일반 PostgreSQL 로그 외에도 더 많은 메시지를 제공합니다. 이러한 메시지는 기술적인 특성으로 인해 PostgreSQL용 AlloyDB 지원을 위한 것입니다. 하지만 추가 정보는 데이터베이스 문제를 디버깅하는 데 도움이 될 수 있습니다.
내부 로깅을 사용 설정하려면 다음 단계를 완료하세요.
데이터베이스 매개변수
enable_alloydb_internal_log
를on
로 설정합니다.ALTER SYSTEM SET enable_alloydb_internal_log=on;
AlloyDB Omni 설정 수정에 관한 자세한 내용은 AlloyDB Omni 데이터베이스 매개변수 구성을 참고하세요.
변경사항을 적용하려면 다시 시작하세요.
Docker
docker restart CONTAINER_NAME
Docker
docker restart CONTAINER_NAME
Podman
podman restart CONTAINER_NAME
Podman
podman restart CONTAINER_NAME
로그 파일 이름 및 순환 정책 구성과 같은 내부 로깅을 추가로 맞춤설정하려면 PostgreSQL 매개변수를 사용하세요.
예를 들어 log_directory
매개변수는 로그 파일을 저장할 디렉터리를 지정하고 log_filename
매개변수는 개별 로그 파일의 이름을 정의합니다.
AlloyDB Omni는 log_directory
및 log_filename
매개변수를 결합하고 다음과 같이 내부 로그를 저장합니다.
LOG_DIRECTORY/LOG_FILENAME.internal
작업을 자동으로 실행하도록 systemd 단위 설정
전용 서버에서 AlloyDB Omni를 실행하는 경우 서버가 부팅될 때 특정 작업이 자동으로 시작되도록 구성할 수 있습니다. 이를 위한 한 가지 방법은 systemd
단위를 사용하는 것입니다.
예를 들어 다음 단계에서는 서버가 부팅될 때마다 자동으로 대용량 페이지가 사용 설정되도록 systemd
를 구성합니다.
/etc/systemd/system/alloydb-setup-env.service
에 파일을 만듭니다.[Unit] Description=Setup huge pages for AlloyDB Omni [Service] Type=oneshot ExecStart=/usr/bin/docker run --rm --privileged google/alloydbomni setup-host [Install] WantedBy=multi-user.target
다음과 같이 서비스를 사용 설정합니다.
sudo systemctl enable alloydb-setup-env.service