Difference Between Cylinder Migrate and Cylinder Split
What is the difference between Cylinder Migrate and Cylinder Split?
Both will occur when Cylinder Full condition is countered.
>>>Cylinder Migrate — Checks the logically adjacent cylinders for fullness. If it finds room, it moves a maximum of 10 data blocks from the congested cylinder to an adjacent one. >>> Cylinder Split — Looks for a free cylinder, allocates one, and moves a maximum of 20 data blocks from the congested cylinder to a new one.
Re: Difference Between Cylinder Migrate and Cylinder Split
When the Cylinder is full, TD would first try to do a
Defragmentation. Which means it will try to move all free blocks to the bottom of the cylinder. with some luck these contiguous free blocks can now be combined to make a large free block, which would fit the request.
If the above attempt also failed, then.
Cylinder migrate. Here the logically adjacent cylinder is checked for space, if it has any then some (10?) blocks are moved from that cylinder.
If that didn't save either, then we go to
Cylinder Split. Which requires free cylinders to be available. So a free cylinder is allocated to which about 20 blocks are moved to make space.
So what if we have no free cylinder
Mini Cylpack. Ideally, this stage should not be reached, it just means that the Server is running short of space or the system is badly fragmented. (roll your eyes at the DBA). This is almost like doing a defragmentation across the cylinders. so you try stacking cylinders by moving data blocks from the succeeding cylinders to the preceding cylinders till you finally get a cylinder "freed"