IBM FlashCopy Backups: Is it Amazing Technology or Houdini Magic?
I remember when I first got was introduced to IBM’s FlashCopy backup technology roughly 8 years ago. An IBM i engineer who started to embrace external storage for small to mid-sized IBM i shops said to me one day, “If we went with SAN storage, we could flash out a full backup of their whole LPAR in less than 15 seconds”. To which I responded, “Say what?! That doesn’t sound possible! It sounds like some Houdini magic or something”.
Being the guy that needs to know how everything works, I was launched into a quest to understand FlashCopy. Almost like a child running onto a new playground for the first time.
What is FlashCopy?
FlashCopy is typically used for Point in Time disk backups or creating a clone of a system or IASP for development, testing, reporting, or data mining purposes. We use FlashCopy mostly to make a copy of the disks for Point in Time backups to tape or VTL but Flashcopy is a tool you can get very creative with and drive some big-time value.
Think about these scenarios:
Most IBM i shops have a Test/Dev partition that they typically populate via a tape backup of production. This process can take some time to complete, you have to double the physical storage you need, and your developers need to code all in that one environment.
Alternative with FlashCopy:
Why not flash-out a copy of that environment for your developers and let them work inside that FlashCopy? When they want their Test/Dev environment refreshed, all you need to do is blow away the previous FlashCopy and kick off another one. If you have developers working on different projects and don’t want to compete with each other, create a FlashCopy partition for each one of them and populate each of them via FlashCopy as they need them.
Your leadership team wants a consistent point in time weekly report on the company’s financials but don’t want to cause any issues with production performance or invest the compute and money in a data warehouse solution.
Alternative with FlashCopy:
Why not create a FlashCopy partition they can report off of and adjust compute resources to protect the production workload.
How does FlashCopy work (at a high level)?
The first thing you must understand is what gets created when you kick off a FlashCopy. When you kick things off the first thing that happens is the storage creates a mapping between the source volume (the disk that is copied) and the target volume (the disk that receives the copy).
Then a checkpoint is taken of the source volume. The checkpoint builds a bitmap that both the source volume and FlashCopy volume can see. Understanding what this bitmap is and what it provides for the relationship between the source and FlashCopy partition is the backbone to understanding how you can complete a full Backup with a brief 15-second pause to production.
Each bit in the bitmap represents one region of data on the source volume. Each region is called a grain. The Flashcopy partition basically sits there empty waiting for the Bitmap to show that the Source environment changed/updated (writes) one of their grains of data. To retain point in time data integrity, that FlashCopy partition says “I need to hard write the original value of that grain to my disk”. Once that happens the FlashCopy partition really doesn’t care about that grain of storage on source because it already took note of the previous value and retains it locally. The process continues, as data gets updated/changed (writes) on the source the FlashCopy sees the bitmap change, it hard writes the previous grain to its local disk, and stops caring about that happens to that grain on the source. So, the only time a grain of disk is actually consumed on the FlashCopy partition is when the Source partition gets updated/changed (Write).
Here is a drawing I put together that provides a visual for the process.
Basically the longer you have a FlashCopy active, the more storage you will be consuming on the Flashcopy partition.
I hope this helps you wrap your mind around the tech and intrigues you to think about what’s possible with this amazing tool that the folks at IBM storage have given to us.
As always please reach out with questions as I would be happy to help get you some answers.