AlloyDB Omni 디스크 캐시는 표준 PostgreSQL 메모리 내 공유 버퍼 외에도 솔리드 스테이트 드라이브(SSD)와 같은 빠른 스토리지에 버퍼를 저장할 수 있도록 지원합니다. 디스크 캐싱은 느린 스토리지에 데이터 디렉터리가 위치한 AlloyDB Omni 설치 환경에서 데이터 검색을 가속화합니다.
PostgreSQL 공유 버퍼와 마찬가지로 AlloyDB Omni 디스크 캐시는 비영속적이므로, 다시 시작하면 캐시된 데이터가 손실됩니다.
기본적으로 AlloyDB Omni 디스크 캐시는 파일 시스템에서 보고되는 모든 스토리지를 사용합니다. omni_disk_cache_file_size 파라미터를 사용하여 캐싱 데이터에 예약할 스토리지 용량을 정의할 수 있습니다.
AlloyDB Omni 디스크 캐시 사용 설정
디스크 캐시를 사용 설정하려면 다음 하위 섹션을 모두 완료하세요.
디스크 프로비저닝 및 파일 시스템 만들기
AlloyDB Omni 디스크 캐시의 경우 디스크 또는 여러 디스크에 파일 시스템을 만들고 마운트합니다. 또한 mdadm 또는 lvm과 같은 유틸리티를 사용하여 여러 디스크의 용량을 풀링하고 원하는 파일 시스템을 사용할 수도 있습니다.
다음 단계에서는 NVMe SSD를 사용하여 lvm 및 ext4를 사용하는 방법을 보여줍니다.
사용 가능한 모든 실제 기기에서 볼륨 그룹을 만듭니다.
nvme_prefix="STORAGE_PREFIX" nvme_list=$(ls "$nvme_prefix"*) sudo vgcreate VOLUME_GROUP ${nvme_list}
다음을 바꿉니다.
STORAGE_PREFIX: 비휘발성 메모리 익스프레스(NVMe) 인터페이스를 사용하여 가상 머신에 연결된 대상 로컬 디스크 경로의 프리픽스. 예를 들어 Google Cloud에서 NVMe 기기 경로는 항상/dev/nvme0n로 시작합니다.VOLUME_GROUP: SSD가 결합된 볼륨 그룹의 이름(예:omni-disk-cache-volume)
-
이전 단계에서 만든 볼륨 그룹의 여유 용량에서 논리 볼륨을 만들려면 다음 명령어를 사용합니다.
sudo lvcreate -n LOGICAL_VOLUME -l 100%FREE VOLUME_GROUP
LOGICAL_VOLUME을 LVM에서 파티션으로 취급하는 논리 볼륨의 이름으로 바꿉니다(예:omni_disk_cache_device). - 논리 볼륨에
ext4파일 시스템을 만듭니다. 필요한 경우 데이터 보안에 따라 다른ext4옵션을 지정할 수 있습니다.sudo mkfs.ext4 /dev/VOLUME_GROUP/LOGICAL_VOLUME
호스트 머신에서 마운트 지점으로 사용할 디렉터리를 만들고 파일 시스템을 마운트하려면 다음 명령어를 사용합니다.
sudo mkdir /OMNI_DISK_CACHE_DIRECTORY sudo mount /dev/VOLUME_GROUP/LOGICAL_VOLUME /OMNI_DISK_CACHE_DIRECTORY
OMNI_DISK_CACHE_DIRECTORY를 마운트 지점으로 사용할 디렉터리 이름 또는 디렉터리 경로로 바꿉니다(예:omni_disk_cache_directory).
디스크 캐시 디렉터리에 권한 부여
AlloyDB Omni의 디스크 캐시를 사용 설정하기 전에 디스크 캐시 디렉터리에 대한 전체 액세스 권한을 부여해야 합니다. 권한을 부여하려면 다음 명령어를 실행합니다.
sudo chown postgres:postgres /OMNI_DISK_CACHE_DIRECTORYsudo chmod -R a+rw /OMNI_DISK_CACHE_DIRECTORY
OMNI_DISK_CACHE_DIRECTORY를 디스크 캐시 디렉터리 경로로 바꿉니다.
디스크 캐시 사용 설정
데이터베이스의 디스크 캐싱을 사용 설정하려면 다음 단계를 완료하세요.
SUPERUSER로 데이터베이스에 연결합니다./usr/lib/postgresql/18/bin/psql -h localhost -U postgresomni_disk_cache_enabled및omni_disk_cache_directoryGrand Unified Configuration (GUC) 플래그를 설정합니다.ALTER SYSTEM SET omni_disk_cache_enabled=on; ALTER SYSTEM SET omni_disk_cache_directory='/OMNI_DISK_CACHE_DIRECTORY';(선택사항) 기본적으로 AlloyDB Omni는 파일 시스템의 사용 가능한 전체 공간을 사용합니다. 필요한 경우
omni_disk_cache_file_sizeGUC 플래그를 업데이트하여 이를 재정의할 수 있습니다.ALTER SYSTEM SET omni_disk_cache_file_size=SIZE_IN_MB;SIZE_IN_MB를 디스크 캐시에서 사용할 디스크 공간(MB)으로 바꿉니다.AlloyDB Omni를 다시 시작합니다.
sudo systemctl restart alloydbomni18
디스크 캐시 구성 확인
AlloyDB Omni 디스크 캐시를 사용 설정한 후에는 iotop 또는 iostat과 같은 사용 가능한 유틸리티를 사용하여 디스크의 읽기 및 쓰기 활동을 모니터링하여 디스크 캐시에 액세스되었는지 확인합니다.
또한 AlloyDB Omni 디스크 캐시가 열려 있는지 확인할 수도 있습니다.
AlloyDB Omni의 디스크 캐시 구성을 확인하려면 다음 명령어를 사용하세요.
sudo journalctl -u alloydbomni18 | grep "opened omni disk cache"디스크 캐시가 올바르게 구성되었다면 로그에 Successfully opened omni disk cache ... 메시지가 표시됩니다.