Minimizing downtime during a snapshot on a production server
I have a Linode with around 500gb of data on it. I need to upload about 400 gigs of that data to an image service which slows the production server down considerably. Since I have users on the production servers at all hours of the day, I'm trying to minimize downtime as much as possible by doing the uploading from a different source.
My thoughts were I could power off the system to create a snapshot. Then just use the snapshot to upload that data where it needs to go w/o any impact on the production server. If I did that though, I'd have to create a snapshot and I'm assuming I should power down the Linode before doing that. If I power down the Linode on a production server, then there's no maintenance page when my customers go to the site during this period. Furthermore with a 500gb snapshot, I've no idea how long the downtime would actually be.
Optimally, I could do this with the Production server being booted up to minimize impact on the server but I still don't know how long that Snapshot process will take and how much it will impact my server's performance during that process.
Or, if there's a better way (emphasis on not impacting the production customers and minimizing downtime), I would love to hear it.
Since this is a huuuuge undertaking, any help you have would be useful and I'm sure, very insightful.
Another option you could consider is utilizing the Backup Service temporarily (if you don't already use it). You could do the following to minimize the impact on your production server:
- Take a manual snapshot via the Backup Service.
- Restore your backup to a new Linode temporarily. (This Linode will have a different IP so it shouldn't interfere with your production machine.)
- Work from this duplicate Linode to perform your upload.
- Delete the extra Linode.
In theory this should only take a couple of hours so the charge for having the extraneous Linode up would be minimal.