인스턴스 수정

이 페이지에서는 Cloud Console 또는 gcloud 도구를 사용하여 Filestore 인스턴스를 수정하는 방법을 설명합니다.

Filestore 인스턴스가 생성되면 다음과 같은 방식으로 이 인스턴스를 수정할 수 있습니다.

  • 용량 증가
  • 용량 감소(대규모 SSD 인스턴스만 해당).
  • 설명 변경
  • IP 기반 액세스 제어 규칙 관리
  • 라벨 관리. 자세한 내용은 라벨 관리를 참조하세요.

용량 확장

Filestore를 사용할 경우 니즈에 맞게 용량을 조정할 수 있도록 Filestore 인스턴스 사용률을 모니터링하는 것이 좋습니다. 예를 들어 대규모 등급 인스턴스에 더 이상 할당된 용량이 모두 필요 없으면 용량을 축소하는 것이 좋습니다. 마찬가지로 용량이 부족한 경우 애플리케이션이 중단되지 않도록 용량을 확장할 수 있습니다. 또한 파일 시스템에서 inode가 부족하면 용량을 추가해야 합니다. 이 경우인지 확인하려면 클라이언트 VM에서 다음 명령어를 실행합니다.

df -i

이 명령어는 다음과 비슷한 결과를 반환합니다.

Filesystem           Inodes  IUsed      IFree  IUse%  Mounted on
10.0.0.2:/vol1    134217728     13  134217715     1%  /mnt/test

파일 공유에 저장된 파일마다 inode 하나를 사용합니다. 파일 시스템에서 inode가 부족하면 최대 할당 용량에 도달하지 않더라도 파일 공유에 파일을 추가로 저장할 수 없습니다. inode를 추가하는 유일한 방법은 용량을 추가하는 것입니다. 하지만 최대 inode에 도달하는 경우는 매우 드뭅니다. 매우 작은 파일을 다수 저장해야 하는 경우에만 문제가 됩니다.

서비스 등급별 확장 동작의 차이

기본 등급 인스턴스는 1GB 단위 또는 배수로만 확장될 수 있습니다. 대규모 등급 인스턴스는 10TB 단위 또는 배수로 확장되거나 축소될 수 있습니다. 인스턴스 확장은 인스턴스 가용성에 영향을 미치지 않으며 인스턴스가 사용 중인 동안에 수행될 수 있습니다. 다음 표에서는 서비스 등급에 따라 파일 공유 용량을 확장하는 방법을 보여줍니다.

서비스 등급 기본 HDD 기본 SSD 대규모 SSD
확장 방향 확장만 확장만 확장 및 축소
확장 증분 1GB 1GB 10TB
최소 용량 1TB 2.5TB 60TB
최대 용량 63.9TB 63.9TB 320TB

또한 대규모 SSD 등급 인스턴스에는 기본 HDD 및 기본 SSD 인스턴스에 비해 확장 작업을 완료하는 데 훨씬 더 많은 시간이 필요합니다. 대규모 인스턴스 용량을 확장하려면 26~48시간이, 축소하려면 20시간 이상이 걸립니다. 필요한 실제 시간은 인스턴스에 저장된 데이터 양과 클라이언트 VM의 로드에 따라 다릅니다. 인스턴스 용량이 부족하지 않도록 미리 이 작업을 수행합니다.

확장 작업이 진행 중이면 작업을 취소하거나 인스턴스를 달리 수정할 수 없지만 읽기 및 쓰기 작업은 중단되지 않습니다. 또한 기존 파일 데이터와 메타데이터를 저장하는 데 필요한 것보다 낮은 용량으로 대규모 SSD 인스턴스를 확장할 수도 없습니다. 그렇게 하면 오류가 발생합니다.

인스턴스 수정 안내

Cloud Console

Cloud Console을 사용하여 Filestore 인스턴스를 수정하려면 인스턴스 수정 페이지로 이동합니다. 여기서 인스턴스 설명을 수정하고, IP 기반 액세스 제어 규칙을 관리하고, 파일 공유 성능을 확장할 수 있습니다.

  1. Cloud Console에서 Filestore 인스턴스 페이지로 이동합니다.

    Filestore 인스턴스 페이지로 이동

  2. 수정할 인스턴스의 인스턴스 ID를 클릭합니다.

  3. 인스턴스 세부정보 페이지에서 수정을 클릭하여 인스턴스 수정 페이지로 이동합니다.

  4. 니즈에 따라 인스턴스 설명, IP 기반 액세스 제어 규칙, 용량을 변경합니다. 자세한 내용은 인스턴스 만들기를 참조하세요.

  5. 저장을 클릭합니다.

gcloud

시작하기 전에

gcloud 도구를 사용하려면 Cloud SDK를 설치하거나 Cloud Console에 내장된 Cloud Shell 를 사용해야 합니다.

Cloud Console로 이동

Filestore 인스턴스를 수정하는 gcloud 명령어

instances update 명령어를 실행하여 Filestore 인스턴스를 수정할 수 있습니다. IP 기반 액세스 제어의 구성 규칙을 업데이트해야 하는 경우 gcloud beta instances update 명령어를 --flags-file 플래그와 함께 사용하고 json 구성 파일을 지정해야 합니다. 이 메서드를 선택하면 --file-share 플래그가 json 구성 파일에 이미 포함되어 있으므로 이 플래그를 사용할 필요가 없습니다.

 gcloud [beta] filestore instances update instance-id
     --[project="project-id"]
     --[zone=zone]
     --[file-share=name="file-share-name",capacity=file-share-size]
     --[description="instance-description"]
     --[flags-file=file-name.json]

각 항목의 의미는 다음과 같습니다.

  • instance-id는 수정할 Filestore 인스턴스의 인스턴스 ID입니다.
  • project-id는 Filestore 인스턴스가 포함된 Cloud 프로젝트의 프로젝트 ID입니다. Filestore 인스턴스가 gcloud 기본 프로젝트에 있으면 이 플래그를 건너뛸 수 있습니다. 다음을 실행하여 기본 프로젝트를 설정할 수 있습니다.

     gcloud config set project project-id
    
  • zone은 Filestore 인스턴스가 있는 영역입니다. gcloud filestore zones list 명령어를 실행하여 지원되는 영역 목록을 가져옵니다. Filestore 인스턴스가 gcloud 기본 영역에 있는 경우 이 플래그를 생략할 수 있습니다. 다음을 실행하여 기본 영역을 설정할 수 있습니다.

     gcloud config set filestore/zone zone
    
  • file-share-name은 Filestore 인스턴스에서 제공하는 파일 공유의 이름입니다. 인스턴스 생성 후에는 파일 공유 이름을 변경할 수 없습니다.

  • file-share-size는 원하는 파일 공유의 새로운 크기입니다. GB(기본값) 또는 TB를 사용하여 파일 공유 크기를 정수로 지정할 수 있습니다.

    사용 가능한 할당량을 확인하려면 Cloud Console에서 할당량 페이지로 이동합니다.

    할당량 페이지로 이동

  • instance-description은 Filestore 인스턴스 설명입니다(선택사항).

  • file-name은 IP 기반 액세스 제어를 위한 json 구성 파일의 이름입니다.

    json 구성 파일 예시:

     {
    "--file-share":
      {
        "capacity": "4096",
        "name": "my_vol",
        "nfs-export-options": [
          {
            "access-mode": "READ_WRITE",
            "ip-ranges": [
              "10.0.0.0",
              "10.2.0.0"
            ],
            "squash-mode": "ROOT_SQUASH",
            "anon_uid": 1003,
            "anon_gid": 1003
          },
           {
            "access-mode": "READ_ONLY",
            "ip-ranges": [
              "10.0.1.0/28"
            ],
            "squash-mode": "NO_ROOT_SQUASH"
          }
        ],
      }
    }
    

    각 항목의 의미는 다음과 같습니다.

    • ip-ranges는 액세스 권한을 부여할 IP 주소 또는 범위입니다. 여러 IP 주소 또는 범위를 쉼표로 구분하여 지정할 수 있습니다. 예시: 10.0.1.0, 10.0.2.0, ...
    • access-mode는 IP 주소가 ip-range 내에 있는 클라이언트에 부여하는 액세스 수준입니다. 값은 READ_WRITE 또는 READ_ONLY일 수 있습니다. 기본값은 READ_WRITE입니다.
    • squash-mode는 값이 ROOT_SQUASH 또는 NO_ROOT_SQUASH일 수 있습니다. ROOT_SQUASH는 IP 주소가 ip-range 내에 있는 클라이언트에 대한 루트 수준 액세스 권한을 삭제하고, NO_ROOT_SQUASH는 루트 액세스를 사용 설정합니다. 기본값은 NO_ROOT_SQUASH입니다.
    • anon_uidanon_uid에 매핑할 사용자 ID 값입니다. 기본값은 65534입니다.
    • anon_gidanon_gid에 매핑할 그룹 ID 값입니다. 기본값은 65534입니다.
예시

다음 예시는 파일 공유 크기를 3TB로 늘려서 nfs-server 인스턴스를 업데이트합니다.

 gcloud beta filestore instances update nfs-server --zone=us-central1-c --file-share=name="vol1",capacity=3TB

다음 단계