I think we need to separate redundancy from resiliency. Having a second phone gives you redundancy, but if both models break just by looking at them you do not have resiliency. Resiliency can reduce the need for redundancy.
If you were to bury your electrical cables instead of hanging them from electric poles, they would be protected from high winds and storm damage. The initial cost of digging up so much earth is high, but over the long term it will reduce the chances of line failure. Over-engineering a building can allow it to survive disasters which would otherwise negatively impact it. You can design a system which will statistically never fully fail, but the cost of such a system would likely be beyond affordable. Building resilient products tends to be cheaper than attaining a redundancy. A backup generator is cheaper than a second power plant. Doubling the thickness of a hydroelectric dam is cheaper than building two dams.
The biggest issue with redundancy is the cost. A pro of centralization is that you concentrate your issue resolution at a single point. While a million solar arrays might be extremely reliable, if 10% are damaged, it would take a long time to repair/replace them all. Damage to a single nuclear reactor can speed up recovery time. A backup nuclear reactor would need to be capable of producing the same level of power as the primary. This means it would cost just as much to build. If you want it to be capable of operating at moment’s notice, it will need to be a “hot” site. This means that it would contain everything the primary site has except the personnel. That being said, a good redundant system design is to have your primary, a backup, and a secondary backup. The odds of both the primary and first backup failing at the same time are remote at best, but there will eventually be a situation where the secondary backup comes into play.
Risk tolerance falls into four categories: Avoid, Transfer, Mitigate, or Accept.
Avoidance can be something like refusing to build a city in a flood zone.
Transferring would be getting flood insurance so that any damage is covered.
Mitigation might involve increasing drainage in the area, flood barriers, and raised foundations.
Acceptance is just what it sounds like. You just accept that a flood will happen, and buildings will be damaged.
You can use these categories when determining how your civilization will react to risks.
Much risk can be mitigated by adopting a longer-term outlook on life. For example, food production can fluctuate from year to year. A risk-averse society would preserve food during normal production yields and maintain a backup supply of preserved food capable of lasting for the maximum estimated length of low yields. If this is determined to be five years, the civilization would not need to worry about famine for quite a while even if they lost crops to multiple natural disasters. The same could be said for aluminum or cement production. A five-year stockpile would prevent any disruption of goods while repairs were completed on the only production facility. Although, for this type of non-critical construction good you would want to calculate the time it would take to completely rebuild the production facility and get it fully functioning and ensure your stockpile would last beyond that point in time. If it will take two years to rebuild a cement factory, then stockpile enough cement to last three years of average construction demand. Push comes to shove, construction projects can be delayed or prioritized to ensure the supply does not run out before production resumes.
Battery backup and emergency generators for uninterrupted power can provide resiliency. Battery power can be used until the population can transition to a reduced power usage plan. The backup generators could then support the reduced power demand until the primary power plant is brought back to full operation. Critical services would be prioritized over non-critical. There will still be a negative impact, but it will be mild in comparison to not preparing for such a situation.
Another method of adding redundancy in a power grid is to have smaller reactors which are not operating at full capacity. A dozen smaller reactors capable of producing 150% of the power needed will allow for several reactor failures before power production capability falls below what is needed. This type of system would also allow reactors to be taken offline for maintenance without negatively impacting power availability. I would say that a good number of reactors is one which allows you to lose more than 25% before there is a negative impact, but you might also want the primary and secondary backup mentality. Meaning that the bare minimum number of reactors is 8 (capable of cumulatively producing 150% of needed power), as it would take the failure of three reactors to drop power below minimum levels.
P.S. I would argue that decentralized food production still requires distribution, especially when cities are involved. Farming takes a lot of land. While some foodstuffs are ready to eat when harvested, others require processing to become edible (Wheat -> Flour -> Bread), and all of it needs to get to the people consuming it.