볼륨 생성 및 관리
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\] 섹션에서 구성할 수도 있습니다.
-
fly volumes list를 실행하고 확장할 볼륨의 ID를 복사하세요. -
볼륨 크기를 확장하세요:
`fly volumes extend <volume id> -s <new size in GB>` -
(선택) 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 옵션을 사용해 볼륨을 다른 지역으로 포크할 수 있습니다.
-
fly volumes list를 실행하고 포크할 볼륨의 ID를 복사하세요. -
볼륨을 포크하세요:
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 -
(선택)
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을 얻을 수도 있습니다.
-
앱과 같은 지역에 볼륨을 만드세요. 예:
fly volumes create <volume name> --region <region code> -
앱의 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 -
필요에 따라 위 단계를 반복해 볼륨이 있는 Machines를 더 만드세요.
-
fly machine list또는fly volumes list로 볼륨이 Machine에 연결되었는지 확인하세요. -
(선택) 복제본을 만드는 데 사용한 Machine을 파괴하세요:
fly machine destroy <machine id>
볼륨과 함께 Machine 복제하기
볼륨과 함께 Machine을 복제해 같은 지역의 빈 볼륨이 있는 새 Machine을 만드세요. -r 옵션을 사용해 Machine을 다른 지역(region)으로 복제할 수 있습니다.
-
fly status를 실행하고 복제할 Machine의 Machine ID를 복사하세요. -
Machine을 복제하세요:
fly machine clone <machine id> -
볼륨을 나열해 결과를 확인하세요:
fly volumes listMachines가 연결된 두 볼륨을 보여주는 출력 예시:
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 --help를 참조하세요.
볼륨 파괴하기
**경고:** 볼륨을 파괴하면 모든 데이터가 영구적으로 삭제됩니다. 되돌릴 수 없습니다. 보관하고 싶은 데이터는 백업했는지 확인하세요.- 볼륨을 나열하고 파괴하려는 볼륨의 ID를 찾으세요:
fly volumes list
- 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일입니다. 스냅샷 보존 기간을 설정하거나 변경하는 방법을 알아보세요.
-
fly volumes list --all을 실행하고 삭제된 볼륨의 ID를 복사하세요. -
볼륨의 스냅샷을 나열하고 복원할 스냅샷의 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 -
볼륨 스냅샷에서 같거나 더 큰 크기의 새 볼륨으로 복원하세요:
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를 참조하세요.
관련 주제
- Fly Volumes overview
- Manage volume snapshots
- Add volume storage to a Fly Launch app
- Scale an app with volumes