In the 5G era (and the upcoming 6G), Mobile Edge Computing (MEC) has been advocated to serve the massive amount of Internet of Things (IoT) devices by base stations (BSs) and edge data centers (EDCs). Geo-distributed EDCs are generally of much smaller scales as compared to mega DCs and hence of much lower costs, but can have fast response to their users so as to satisfy the demands of real-time applications. As their reliability and availability heavily depend on the electrical power supply, most EDCs are equipped with battery groups as backup power in case of power grid load shedding or outage. In a heterogeneous geo-distributed environment, the QoS of heavily loaded EDCs however can be severely impacted by limited backup power while lightly loaded EDCs may simply waste such precious resources. Moreover, a heavily loaded EDC may suffer from deep discharge of its battery group, which will cause a significant reduction of battery capacity and lifetime. This further aggravates the aforementioned situations should load shedding/outage happen again. In this paper, we carefully analyze the workloads in EDCs and classify them into interactive workloads and batch workloads, respectively. We then develop a novel battery allocation framework with smart workload migration for EDCs, which simultaneously protects interactive workloads from being interrupted and minimizes the waiting time of batch workloads. Our extensive evaluations show that our strategies can optimize all the objectives within a limited overall cost as compared to state-of-the-art practical allocation.