The deal is worth $19 million, and includes a no-trade clause the first three years.
The 29-year-old Ruutu, who came up as a trade possibility in recent weeks, would have been an unrestricted free agent July 1.
"He's an important player to our team and he's the type of player who, long-term, would take a long time to replace," Hurricanes general manager Jim Rutherford said.
Ruutu is second on the Hurricanes with 17 goals and is fourth with 30 points in 57 games. He has 80 goals and 107 assists in 289 games with Carolina since being acquired from Chicago in February 2008.
Ruutu also was a member of Finland's 2010 Winter Olympics team, which won a bronze medal.
Information from ESPN.com's Pierre LeBrun was used in this report. Information from The Associated Press was used in this report.