I’m looking into using Fly for a project. I understand from the documentation that persistent disks are a slice of an underlying NVME drive in the host where the machine runs. Therefore, there is no redundancy and it can fail at any time (e.g. the disk is not a slice of a Cepth block device, RAID or other)
How can I get two persistent volumes in the same region and ensure that at no time, they are scheduled in the same server/disk (each should be on a different disk). I need to do this to ensure durability of the data in case one disk fails.
I know I can make backups to other regions and use replication, but that would incur some latency cost I can’t afford. I just want to ensure the data is durable inside the same region.
To prevent a single server hardware failure from taking down your app, it is better if each volume is placed in a separate hardware zone. A separate hardware zone is just another way of saying a different server. We default to separate hardware zones when you create volumes with the fly volumes create command, but this is not guaranteed when creating Fly Volumes through other methods. Note that having each volume in a separate hardware zone limits the number of volumes your app can have in a region. If you need more volumes in a region than there are distinct hardware zones, you can set --require-unique-zone to false when you run fly volumes create.