Ultra-reliable low-latency communication (URLLC) is essential for future vehicle-to-vehicle (V2V) networks to improve traffic safety and enhance driving experience. Due to the fast-varying channel caused by high mobility, guaranteeing latency and reliability performance of the V2V links is a tremendous challenge. In this paper, we propose a novel resource allocation framework to support ultra-reliable low-latency V2V communications. The proposed framework includes both large-scale and small-scale resource optimizations. The large-scale resource allocation is performed at the central base station based on large-scale channel information periodically collected from vehicles. On the other hand, the small-scale resource allocation is performed at the vehicles according to instantaneous channel and queuing information. We develop optimal solutions for both resource allocation problems. With the proposed optimal solutions, the latency performance at the occurrence of extreme events is enhanced by enabling spectrum sharing among the vehicles. Simulation results demonstrate that the proposed algorithm can effectively improve the URLLC performance compared against the benchmark algorithm.