OPEC and its Russia-led allies agreed on Friday in Vienna to slash oil production by more than the market expected in a bid to shore up prices despite pressure from US President Donald Trump to reduce the price of crude.