At least 21 people have been killed as flash floods and landslides ravaged mountainous areas in northern Vietnam, disaster officials said on Friday.