The deal will pay Hainsey $3 million for two seasons, then drop to $2.5 million for the 2016-17 season.
The 33-year-old was one of two Hurricanes to play all 82 games last year, his first with the team. He finished with four goals and 11 assists.
The Hurricanes also signed a two-year deal with forward Nathan Gerbe. The deal pays Gerbe $1.5 million for the upcoming season and $2 million for the next season. Gerbe scored 16 goals last season for Carolina.
The Hurricanes have also reached a one-year deal with left wing Chris Terry, who will make $600,000 on the NHL level or $300,000 at the American Hockey League level.