As source is selected by query in loop, I don't see exactly how chunk.
Have to have multiple query with records 0..100, 101..200 etc or other ways?
SELECT
vol.name AS 'name', array.ip AS 'array.ip', array.name AS 'array.name'
FROM
storage.volume AS vol
JOIN
storage.array AS array ON vol.array_id = array.id
WHERE
vol.name LIKE '%${volume_name}%'
AND vol.name NOT LIKE 'sdw%'
AND vol.name NOT LIKE '%mirror%')