본문으로 바로가기 본문 바로가기
WIKI 기술 지식 베이스

볼륨 생성 및 관리

원문 보기 위키 갱신

Fly Volumes를 만들고 관리하는 방법을 알려드릴게요. 볼륨 생성, 확장, 복제(fork), 복구, 파괴까지 단계별 명령을 함께 살펴보아요. Fly Volumes는 Fly Machines을 위한 로컬 영구 스토리지랍니다.

출처: 문서

본문

**Fly Launch 앱용:** [볼륨으로 새 앱을 만들거나 앱에 볼륨을 추가하는 방법](/launch/volume-storage)을 알아보세요.

fly volumes 명령으로 Fly Volumes를 관리할 수 있습니다.

Fly Volumes는 Fly Machines을 위한 로컬 영구 스토리지입니다. Fly Volumes가 어떻게 동작하는지 알아보세요.

**참고**: `fly volumes`는 `fly volume`과 `fly vol`로도 별칭 사용할 수 있습니다.

볼륨에 접근하기

Machine의 볼륨에 일반 디렉토리처럼 접근하고 쓸 수 있습니다.

Fly Launch로 관리되는 Machines의 경우 fly.toml의 [mounts] 아래 destination이 마운트된 볼륨의 경로입니다.

관리되지 않는(unmanaged) Machines의 경우 복제된 Machine에 볼륨을 추가하거나 Machine을 만들고 볼륨을 연결할 때 마운트 경로를 지정합니다.

볼륨 생성하기

Fly Volume을 만드세요:

fly volumes create <my_volume_name>

--region 옵션을 사용해 지역(region)을 설정하거나, 메시지가 표시되면 지역을 선택하세요.

--count 옵션을 사용해 볼륨을 여러 개 만들 수 있습니다.

--snapshot-retention 옵션을 사용해 스냅샷을 보관할 일 수를 변경하세요(기본값은 5일).

--scheduled-snapshots=false 옵션을 사용해 자동 일일 스냅샷을 비활성화하세요.

더 많은 옵션은 fly volumes create 문서 또는 fly volumes create --help를 참조하세요.

볼륨 확장하기

fly volume extend 명령으로 볼륨을 더 크게 만들 수 있습니다. 볼륨의 크기를 확장(증가)할 수는 있지만 더 작게 만들 수는 없다는 점에 유의하세요.

특정 임계값 이후 볼륨이 자동으로 확장되도록 Machines API를 사용해 또는 앱 fly.toml 파일의 \[mounts\] 섹션에서 구성할 수도 있습니다.

  1. fly volumes list를 실행하고 확장할 볼륨의 ID를 복사하세요.

  2. 볼륨 크기를 확장하세요:

    `fly volumes extend <volume id> -s <new size in GB>`
    
  3. (선택) Machine의 파일 시스템에서 새 볼륨 크기를 확인하세요:

    fly ssh console -s -C df
    

    출력 예시:

    ? Select VM:  [Use arrows to move, type to filter]
    > yyz: 4d891de2f66587 fdaa:0:3b99:a7b:ef:8cc4:dc49:2 withered-shadow-4027           
    Connecting to fdaa:0:3b99:a7b:ef:8cc4:dc49:2... complete
    Filesystem     1K-blocks   Used Available Use% Mounted on
    devtmpfs          103068      0    103068   0% /dev
    /dev/vda         8191416 172752   7582852   3% /
    shm               113224      0    113224   0% /dev/shm
    tmpfs             113224      0    113224   0% /sys/fs/cgroup
    /dev/vdb         2043856   3072   1930400   1% /storage
    

    위 예시에서 볼륨은 /storage 아래에 마운트되어 있으며 1GB에서 2GB로 크기가 조정되었습니다. df 명령은 기본적으로 디스크 공간을 1K 블록으로 표시합니다. 더 읽기 쉬운 형식으로 보려면 -h 플래그를 사용하세요.

옵션은 fly volumes extend 문서 또는 fly volumes extend --help를 참조하세요.

볼륨 사본 만들기 (볼륨 포크)

데이터를 포함해 볼륨의 정확한 사본을 만듭니다. 기본적으로 새 볼륨은 같은 지역의 별도 물리 호스트에 배치합니다. --region 옵션을 사용해 볼륨을 다른 지역으로 포크할 수 있습니다.

**중요:** 볼륨을 포크한 후 새 볼륨은 소스 볼륨과 독립적입니다. 새 볼륨과 소스 볼륨은 계속 동기화되지 않습니다.
  1. fly volumes list를 실행하고 포크할 볼륨의 ID를 복사하세요.

  2. 볼륨을 포크하세요:

    fly volumes fork <volume ID> --region <region>
    

    출력 예시:

            ID: vol_grnoq5796wwj0dkv
            Name: my_volume_name
            App: my-app-name
        Region: yyz
            Zone: 511d
        Size GB: 3
    Encrypted: true
    Created at: 12 Oct 23 18:57 UTC
    
  3. (선택) fly scale count를 사용해 연결되지 않은 볼륨을 가져올 새 Machine을 만들거나, 다음 명령으로 복제해 볼륨을 새 Machine에 연결하세요:

`fly machine clone <machine id> --region <region code> --attach-volume <volume id>:<destination mount path>`

옵션은 fly volumes fork 문서 또는 fly volumes fork --help를 참조하세요.

볼륨 포킹에 대한 상세 가이드도 이용할 수 있습니다.

관리되지 않는 Machine에 볼륨 추가하기

Fly Launch(fly.toml과 fly deploy)로 관리되지 않는 Machines의 경우 볼륨을 만들고 Machine을 복제할 때 연결할 수 있습니다. 또한 볼륨과 함께 Machine을 복제해 빈 볼륨이 있는 새 Machine을 얻을 수도 있습니다.

  1. 앱과 같은 지역에 볼륨을 만드세요. 예:

    fly volumes create <volume name> --region <region code>
    
  2. 앱의 Machine 중 하나(볼륨 없음)를 복제하고 방금 만든 볼륨을 연결하세요:

    fly machine clone <machine id> --region <region code> --attach-volume <volume id>:<destination mount path>
    

    destination-mount-path는 볼륨이 파일 시스템에 마운트되어야 할 디렉토리입니다. /는 루트 파일 시스템에 사용되므로 destination-mount-path가 /인 볼륨은 마운트할 수 없다는 점에 유의하세요.

    예:

    fly machine clone 148eddeef09789 --region yyz --attach-volume vol_8l524yj0ko347zmp:/data
    
  3. 필요에 따라 위 단계를 반복해 볼륨이 있는 Machines를 더 만드세요.

  4. fly machine list 또는 fly volumes list로 볼륨이 Machine에 연결되었는지 확인하세요.

  5. (선택) 복제본을 만드는 데 사용한 Machine을 파괴하세요:

    fly machine destroy <machine id>
    

볼륨과 함께 Machine 복제하기

볼륨과 함께 Machine을 복제해 같은 지역의 빈 볼륨이 있는 새 Machine을 만드세요. -r 옵션을 사용해 Machine을 다른 지역(region)으로 복제할 수 있습니다.

  1. fly status를 실행하고 복제할 Machine의 Machine ID를 복사하세요.

  2. Machine을 복제하세요:

    fly machine clone <machine id>
    
  3. 볼륨을 나열해 결과를 확인하세요:

    fly volumes list
    

    Machines가 연결된 두 볼륨을 보여주는 출력 예시:

    ID                      STATE   NAME    SIZE    REGION  ZONE    ENCRYPTED       ATTACHED VM     CREATED AT     
    vol_ez1nvxkwl3jrmxl7    created data    1GB     lhr     4de2    true            91851edb6ee983  39 seconds ago
    vol_zmjnv8m81p5rywgx    created data    1GB     lhr     b6a7    true            5683606c41098e  7 minutes ago
    
**참고:** `fly machine clone`은 새 볼륨에 데이터를 쓰지 않습니다.

옵션은 fly machine clone 문서 또는 fly machine clone --help를 참조하세요.

볼륨 파괴하기

**경고:** 볼륨을 파괴하면 모든 데이터가 영구적으로 삭제됩니다. 되돌릴 수 없습니다. 보관하고 싶은 데이터는 백업했는지 확인하세요.
  1. 볼륨을 나열하고 파괴하려는 볼륨의 ID를 찾으세요:
fly volumes list
  1. ID를 사용해 볼륨을 파괴하세요:
fly volumes destroy <volume id>

옵션은 fly volumes destroy 문서 또는 fly volumes destroy --help를 참조하세요.

Machines에 연결된 볼륨

Machines에 연결된 볼륨은 파괴할 수 없습니다. fly volumes list를 실행하면 볼륨이 (있다면) 어떤 Machine에 연결되어 있는지 확인할 수 있습니다. 먼저 Machine을 중지하고 파괴한 다음, 연결되지 않은 볼륨을 파괴할 수 있습니다.

Machine을 교체한다면 fly scale count 또는 fly machine clone을 사용해 새로 시작하세요. 그러면 fly.toml 구성에 따라 새 볼륨이 생성되고 마운트됩니다.

볼륨 사용을 완전히 중지하려면 fly.toml에서 [mounts]를 제거하고 다시 배포하세요. Machine이 볼륨 없이 교체됩니다. 다시 배포한 후 볼륨을 파괴할 수 있습니다.

참고: 삭제 전에 촬영된 스냅샷은 볼륨 ID가 있으면 제한된 시간 동안 여전히 복원할 수 있습니다(기본 보존 기간은 5일).

삭제된 볼륨 복원하기

볼륨 스냅샷을 사용해 삭제된 볼륨에서 데이터를 복원할 수 있습니다. 현재 삭제된 볼륨의 ID는 삭제 후 24시간 동안만 검색할 수 있습니다. 볼륨 ID를 이미 가지고 있다면 스냅샷 보존 기간 내에 그 ID로 볼륨의 스냅샷에 계속 접근할 수 있습니다. 기본 스냅샷 보존 기간은 5일입니다. 스냅샷 보존 기간을 설정하거나 변경하는 방법을 알아보세요.

  1. fly volumes list --all을 실행하고 삭제된 볼륨의 ID를 복사하세요.

  2. 볼륨의 스냅샷을 나열하고 복원할 스냅샷의 ID를 복사하세요:

    fly volumes snapshots list <volume id>
    

    출력 예시:

    Snapshots
    ID                 \tSIZE    \tCREATED AT
    vs_MgLAggLZkYx89fLy\t17638389\t1 hour ago
    vs_1KRgwpDqZ2ll5tx \t17649006\t1 day ago
    vs_nymJyYMwXpjxqTzJ\t17677766\t2 days ago
    vs_R3OPAz5jBqzogF16\t17689473\t3 days ago
    vs_pZlGZvq3gkAlAcaZ\t17655830\t4 days ago
    vs_A9k6age3bQov6twj\t17631880\t5 days ago
    
  3. 볼륨 스냅샷에서 같거나 더 큰 크기의 새 볼륨으로 복원하세요:

    fly volumes create <volume name> --snapshot-id <snapshot id> -s <volume size in GB>
    

    출력 예시:

    ? Select region: Sydney, Australia (syd)
            ID: vol_mjn924o9l3q403lq
          Name: pg_data
          App: my-app-name
        Region: syd
          Zone: 180d
      Size GB: 3
    Encrypted: true
    Created at: 02 Aug 22 21:27 UTC
    

옵션은 fly volumes snapshots 문서 또는 fly volumes snapshots --help를 참조하세요.

관련 주제

더 알아보기 (Learn more)