Fire caused by a missile strike in the centre of Kharkiv on April 7
Fire caused by a missile strike in the centre of Kharkiv on April 7. AFP

Ukrainian lawmakers approved Thursday an army mobilization bill that will keep more long-serving soldiers fighting Russia's offensive, as Moscow pounded energy facilities in another "massive" air raid across the country.

The move came as Kyiv has struggled on the battlefield for months, weakened by desperately needed US military aid that is blocked in Congress and a shortage of men and ammunition.

At dawn, Russia launched an aerial attack on five Ukrainian regions, killing at least two people in the southern city of Mykolaiv, officials said.

Ukrainian President Volodymyr Zelensky called on the West not to "turn a blind eye" and to provide more air defences as he visited Lithuania, one of Kyiv's staunchest allies against Russia.

Back home, Ukraine's parliament, the Rada, adopted a mobilisation law that was opposed for months by many in a country increasingly exhausted by war.

The adoption came a day after lawmakers, facing pressure from army officials, scrapped a clause that would have allowed soldiers fighting for more than 36 months to return home.

Soldiers at the front told AFP on Wednesday that they were in "shock" about the demobilisation clause being ditched.

Russia's invasion of Ukraine has dragged on for more than two years, with no end in sight to fighting despite much of the front being virtually frozen.

Zelensky said Moscow had fired more than 40 missiles and 40 drones at sites across Ukraine overnight.

He said Moscow was again targeting "critical infrastructure" as various regions reported power stations and gas distributors being hit.

In Mykolaiv, local governor Vitaly Kim said Russian strikes killed two people and wounded four.

In the north, Kharkiv -- pounded almost daily in recent days -- was also attacked, a day after a strike killed three people there.

Ukraine's Interior Minister Igor Klymenko called the attack "massive" and said it lasted "for several hours".

Ukranian media reported that an attack "completely destroyed" the Trypilska power station in the Kyiv region.

"All workers who were on shift during the shelling are alive," Andriy Gota, an official on the board of Centerergo, told the Interfax Ukraine news agency.

The mayor of Ukrainka, a town south of the capital, advised locals to shut their windows while firefighters sought to extinguish a blaze at the local power station.

"I ask everyone to close the windows in their homes tightly so as not to breathe in harmful combustion products," Oleksandr Turenko said. "Charge all devices, make maximum water reserves."

The head of the Kharkiv region, Oleg Synegubov, said Russia fired an S-300 missile at an energy site in the city just after 5:00 am.

"As a result of the shelling, an apartment was also damaged," he said.

Synegubov said 15 other settlements in the Kharkiv region were also hit by artillery and mortar attacks.

Kharkiv -- Ukraine's second-largest city, located near the Russian border -- has seen almost daily attacks in recent days.

Its mayor, Igor Terekhov, warned of possible problems with energy supplies.

In Ukraine's westernmost region of Lviv, which borders the European Union, authorities said Russia attacked a gas distribution facility and an electricity substation.

Lviv region head Maksym Kozytsky said Moscow attacked the facilities with "cruise missiles of various classes and drones".

"Fires started. They were quickly extinguished by firefighters," he said on social media.

Russia, meanwhile, said it had destroyed 12 Ukrainian drones overnight, including three as far east as its Mordovia republic.

Others were destroyed over the Kursk, Tambov, Belgorod, Bryansk and Lipetsk regions, it said.

Ukraine has been attacking Russia with drones for months.