Compute Engine 인스턴스에는 애플리케이션을 실행하는 데 사용되는 고성능 엔터프라이즈급 메모리가 있습니다. 지연 시간은 매우 짧고 처리량은 많은 RAM 디스크를 만들도록 이 메모리의 일부를 할당할 수 있습니다. RAM 디스크는 애플리케이션이 파일 시스템 구조를 예상할 수 있고, 간단한 방법으로 시스템 메모리에 데이터를 저장할 수 없을 때 효과적입니다. RAM 디스크가 단독으로 스토리지 중복성이나 유연성을 제공하지는 않으므로 다른 인스턴스 저장 옵션과 함께 RAM 디스크를 사용하는 것이 가장 좋습니다.
RAM 디스크는 애플리케이션과 인스턴스 메모리를 공유합니다. 인스턴스에 RAM 디스크 및 애플리케이션을 포함할 수 있을 만큼 메모리가 충분하지 않으면 N2와 같은 highmem
머신 유형으로 인스턴스를 만들거나 기존 인스턴스를 업그레이드하여 메모리를 더 추가합니다.
시작하기 전에
- RAM 디스크와 다른 Compute Engine 저장 옵션의 차이점에 대해 알아봅니다.
-
아직 인증을 설정하지 않았다면 설정합니다.
인증은 Google Cloud 서비스 및 API에 액세스하기 위해 ID를 확인하는 프로세스입니다.
로컬 개발 환경에서 코드 또는 샘플을 실행하려면 다음 옵션 중 하나를 선택하여 Compute Engine에 인증하면 됩니다.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
인스턴스에 사용 가능한 메모리가 충분하지 않은 경우 인스턴스 머신 유형을 메모리가 더 많은 머신 유형으로 변경할 수 있습니다.
SSH를 통해 인스턴스에 연결합니다. 이 예시에서는 VM 인스턴스 페이지로 이동하고 RAM 디스크를 추가하려는 인스턴스 옆에 있는 SSH 버튼을 클릭합니다.
RAM 디스크의 마운트 지점을 만듭니다.
$ sudo mkdir /mnt/ram-disk
새
tmpfs
RAM 디스크를 만들고 마운트합니다. 메모리를 놓고 애플리케이션과 경쟁하거나 사용 가능한 메모리를 다 소모하지 않고 스토리지 요구사항을 충족할 수 있도록size
속성을 적절한 값으로 결정해야 합니다. 이 예시에서는 인스턴스에 208GB의 메모리를 가진n1-highmem-32
머신 유형이 있으므로 RAM 디스크 크기로50g
가 적절합니다.$ sudo mount -t tmpfs -o size=50g tmpfs /mnt/ram-disk
인스턴스를 다시 시작하면 기기가 자동으로 다시 마운트되도록 RAM 디스크를
/etc/fstab
파일에 추가합니다.$ echo 'tmpfs /mnt/ram-disk tmpfs nodev,nosuid,noexec,nodiratime,size=50G 0 0' | sudo tee -a /etc/fstab
RAM 디스크의 백업 디스크로 사용할 하이퍼디스크 볼륨을 만들고 마운트합니다. 디스크가 RAM 디스크의 정보를 포함할 수 있을 만큼 충분히 큰지 확인합니다.
백업 볼륨에 RAM 디스크 콘텐츠를 쓰는
rsync
명령어로 인스턴스에 대한 종료 스크립트를 만듭니다. 이 예에서는 gcloud CLI를 사용하여/mnt/ram-disk
에 RAM 디스크가 마운트되고/mnt/ram-disk-backup
에 하이퍼디스크 볼륨이 마운트된 인스턴스에shutdown-script
메타데이터를 추가합니다.gcloud compute instances add-metadata example-instance --metadata shutdown-script="#! /bin/bash rsync -a --delete --recursive --force /mnt/ram-disk/ /mnt/ram-disk-backup/ EOF"
인스턴스가 다시 시작될 때 RAM 디스크로 파일을 다시 복원하는 시작 스크립트를 만들 수도 있습니다. gcloud CLI를 사용하여 인스턴스에
startup-script
메타데이터를 추가합니다.gcloud compute instances add-metadata example-instance --metadata startup-script="#! /bin/bash rsync -a --recursive --force /mnt/ram-disk-backup/ /mnt/ram-disk/ EOF"
REST
로컬 개발 환경에서 이 페이지의 REST API 샘플을 사용하려면 gcloud CLI에 제공한 사용자 인증 정보를 사용합니다.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
자세한 내용은 Google Cloud 인증 문서의 REST 사용을 위한 인증을 참고하세요.
RAM 디스크 만들기
기본적으로 대부분의 Linux 배포판에 포함된
tmpfs
파일 시스템으로 RAM 디스크를 만들 수 있습니다.RAM 디스크 삭제
다른 볼륨과 마찬가지로
tmpfs
RAM 디스크를 마운트 해제할 수 있습니다. 그러면 RAM 디스크와 그 안에 저장된 모든 데이터가 삭제됩니다. 이 예시에서는/mnt/ram-disk
에 마운트된 RAM 디스크를 삭제합니다.$ sudo umount /mnt/ram-disk
인스턴스 다시 시작 사이에 자동으로 RAM 디스크 데이터 백업
인스턴스가 다시 시작될 때까지 RAM 디스크 데이터를 보존하기 위해 인스턴스가 재시작되기 전에 RAM 디스크를 백업 할 수 있습니다. VM의 머신 유형이 하이퍼디스크를 지원하지 않는 경우 데이터를 Google Cloud Hyperdisk 볼륨 또는 Persistent Disk 볼륨에 백업합니다.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-01-30(UTC)
-