Hainsey, 33, will make $3 million each of the next two seasons and $2.5 million in the final year.
Hainsey had four goals and 15 points, and was one of two Hurricanes to play in all 82 games during the 2013-14 season, his first with the team. He also ranked second on the team in blocked shots (124) and third in ice time per game (21:26).
A first-round pick (No. 13) by the Montreal Canadiens in the 2000 NHL Draft, Hainsey has career totals of 38 goals and 207 points in 673 games with the Canadiens, Columbus Blue Jackets, Atlanta Thrashers, Winnipeg Jets and Hurricanes.