Functional splitting, referred as X-haul, is introduced in the 5G networks to support flexibility and meet service requirements. Each split option has a different impact on latency and bandwidth characteristics. Depending on the split, a certain amount of redundant resources is required to provide resiliency against outages or failures, as in the case of the uRLLC service. This paper proposes novel reliable function placement algorithms for functional splitting to guarantee service continuity in case of single CU/DU or link failure, namely based on dedicated and shared path protection principles. The proposed techniques not only provide a scalable approach to design full protection against single failure but also exhibit significant savings in terms of network resources, by suitably sharing redundant backup resources. The obtained results show significant improvement in terms of bandwidth saving and multiplexing gain with respect to conventional C-RAN fronthaul, depending on the distance constraints, thus suggesting design criteria for 5G aggregation networks.