The two exercises, Tardi mentioned, apnea walking and static apnea, are pretty much all I do in preparation for a dive trip, the walking can be done in variations, like up/down staircases, carrying shopping bags, slow/fast pace, for example, I might go down a few flights, sit down for 20-30 secs, and then walk back up(more taxing, just like your ascent on a dive) to my starting point to see, if I made it safely back to the "surface".
Drowned myself a couple of times, before I got the hang of it.
I believe, your problem achieving longer breath holds is mostly mental, in a nutshell, your body 's like a hypersensitive car alarm, going off before it needs to. When I first began doing static, I hit the wall at about 2:30, just couldn't get past that mark. Then, one evening after a few warmup breath holds, I gave the stop watch to my wife, held my breath while doing a Sudoku puzzle, result? 3:15, next attempt 3:30. If your mind is really focused on something, it will still receive the signal, but instead of going into "danger mode", simply tell the body "yeah, I know,... but I'm busy right now, call back later!!"
So, try this the next time, you're working on your breath holds, and see what happens. I bet, your times will improve, once you're able to take your head out of the equation...