The governor of Luhansk province, one of two areas that make up the eastern industrial heartland known as the Donbas, said the school in the village of Bilohorivka caught fire after Saturday’s bombing.
Emergency crews found two bodies and rescued 30 people, he said.
“Most likely, all 60 people who remain under the rubble are now dead,” governor Serhiy Haidai wrote on the Telegram messaging app.
Russian shelling also killed two boys, aged 11 and 14, in the nearby town of Pryvillia, he said.
The largest European conflict since the Second World War has developed into a punishing war of attrition due to the Ukrainian military’s unexpectedly effective defence.
Since failing to capture Ukraine’s capital Kyiv, Moscow’s forces have attacked cities, towns and villages in eastern and southern Ukraine but not gained much ground, according to western military analysts.
To demonstrate success in time for Victory Day on Monday, the Russian military worked to complete its takeover of Mariupol, which has been under relentless assault since the start of the war.
The sprawling seaside steel mill where an estimated 2,000 Ukrainian fighters were making a last stand is the only part of the city not under Russian control.
All the remaining women, children and older civilians who had been sheltering with the fighters in the Azovstal plant were evacuated on Saturday.
The troops still inside have refused to surrender; hundreds are believed to be wounded.
Captain Sviatoslav Palamar, the deputy commander of the Azov Regiment, a Ukrainian National Guard battalion holding the steel mill, told an online news conference on Sunday that the site was targeted overnight by three fighter jet sorties, artillery and tanks.
“We are under constant shelling,” he said, adding that Russian infantry tried to storm the plant – a claim Russian officials denied in recent days – and to lay landmines.
Capt Palamar said there was a “multitude of casualties” at the plant.
Lt Illya Samoilenko, another member of the Azov Regiment, declined at the same news conference to offer a number of how many soldiers remained in the plant.
Both the soldiers had long beards and looked tired.
“The truth is we are unique because no-one expected we would last so long,” Lt Samoilenko said.
“Surrender for us is unacceptable because we cannot grant such a gift to the enemy.”
After rescuers evacuated the last civilians, Ukrainian President Volodymyr Zelensky said in his nightly video address that work would continue on Sunday on securing humanitarian corridors for residents of Mariupol and surrounding towns to leave.
The Ukrainian government has reached out to international organisations to try to secure safe passage for the fighters remaining in the plant’s underground tunnels and bunkers.
Elsewhere on Ukraine’s coast, explosions echoed again on Sunday across the major Black Sea port of Odesa, which Russia struck with six cruise missiles on Saturday, while rocket fire damaged some 250 apartments, according to the city council.
Ukrainian leaders warned that attacks would only worsen in the lead-up to Victory Day, the May 9 holiday when Russia celebrates Nazi Germany’s defeat in 1945 with military parades.
Russian President Vladimir Putin is believed to want to proclaim some kind of triumph in Ukraine when he addresses the troops in Red Square on Monday.
Mr Zelensky released a video address on Sunday marking the day of the Allied victory in Europe 77 years ago, drawing parallels between Russia’s invasion of Ukraine and the evils of Nazism.
The black-and-white video, published on social media, showed Mr Zelensky standing in front of a ruined apartment block in Borodyanka, one of the Kyiv suburbs pummelled before Russian troops withdrew from the capital region weeks ago.
“Every year, on May 8, along with the whole civilised world, we pay our respects to everyone who defended the planet against Nazism during the Second World War,” Mr Zelensky said.
“We knew the price our ancestors have paid for this wisdom. We knew how important it was to protect it and pass it on to our descendants. … But we hadn’t any notion that our generation will witness the abuse of these words,” he said.
In neighbouring Moldova, Russian and separatist troops were on “full alert”, the Ukrainian military warned.
The region has increasingly become a focus of worries that the conflict could expand beyond Ukraine’s borders.
Pro-Russian forces broke off the Transnistria section of Moldova in 1992, and Russian troops have been stationed there since, ostensibly as peacekeepers.
Those forces are on “full combat readiness”, Ukraine said, without giving details on how it came to the assessment.
Moscow has sought to sweep across southern Ukraine both to cut off the country from the sea and create a corridor to Transnistria.
But it has struggled to achieve those objectives.
In a sign of the dogged resistance that has sustained the fighting into its 11th week, Ukraine’s military struck Russian positions on a Black Sea island that was captured in the war’s first days and has become a symbol of Ukrainian resistance.
Satellite photos analysed by the Associated Press (AP) showed Ukraine targeting Russian-held Snake Island in a bid to impede Russia’s efforts to control the sea.
A satellite image taken on Sunday morning by Planet Labs PBC showed smoke rising from two sites on the island.
On the island’s southern edge, a fire smoked next to debris.
That corresponded to a video released by the Ukrainian military showing its strike on a Russian helicopter that had flown to the island.
A Planet Labs image from Saturday showed most of the island’s buildings, as well as what appeared to be a Serna-class landing craft against the island’s northern beach, had been destroyed by Ukrainian drone attacks.
The most intense combat in recent days has taken place in eastern Ukraine.
A Ukrainian counteroffensive near Kharkiv, a city in the north-east that is the country’s second-largest, “is making significant progress and will likely advance to the Russian border in the coming days or weeks”, according to the Institute for the Study of War.
The Washington-based think tank added that “the Ukrainian counteroffensive demonstrates promising Ukrainian capabilities”.
However, the Ukrainian army withdrew from Luhansk province’s embattled city of Popasna, Mr Haidai said on Sunday.
In a video interview posted on his Telegram channel, Mr Haidai said that Kyiv’s troops had “moved to stronger positions, which they had prepared ahead of time”.
The Russia-backed rebels have established a breakaway region in Luhansk and neighbouring Donetsk, which together make up the Donbas.
Russia has targeted areas still under Ukrainian control.
“All free settlements in the Luhansk region are hot spots,” Mr Haidai added.
“Right now, there are shooting battles in (the villages) of Bilohorivka, Voivodivka and towards Popasna.”