1. Create a new snapmirror relationship to transfer the volume.
2. Once completed, remove the relationship.
You need to stop access from client for the duration of final snapmirror update to ensure all changes are transferred to new volume. If you can afford it, "cifs terminate" is the most simple way to do it.
3. Then remove the old share and create a new share on the new volume.
If you stopped CIFS anyway in previous step, you could try to simply rename volumes (rename old volume away and give new volume old name) then start CIFS. I think that if CIFS is not running volume names in share definitions won't be updated in this case so when CIFS start it will pick up new volume. If not, you have nothing to lose 🙂
Then I need to reallocate the free space of the old volume to another volume: Controller 1: Vol_01 to the Controller 2: Vol_01.
¿How can i do this?
You can't relocate part of aggregate. If old volume was the only one in aggregate, then destroy volume and aggregate, zero spares, unassign disks on old controller (disk assign -s unowned), assign disks on new controller. Make sure to unset disk.auto_assign option while doing it, otherwise disks may be unexpectedly assigned back.