Abstract:RS (Reed-Solomon) code is most widely adopted in distributed storage systems that support erasure coding. For an RS(k,m) coding stripe, a common approach to store it is to distribute one fragment to one node. Such an approach could cause network congestion when a node fails since the system needs to read fragments across multiple nodes before it can decode and rebuild the lost data. The system would be in a fragile period for a long time when a great amount of data recovery is taking place. During this period, the system would suffer from lower failure tolerance capability, lower throughput, and higher read/write latency constantly. LRCRaft is an optimized version of Raft based on local reconstruction code (LRC). By introducing LRC, dynamic log replenishment, state machine purge, and fragment version consistency to Raft, LRCRaft can reduce read/write latency and the time consumed for node failure recovery. The results of our experiments indicate that compared to Raft, LRCRaft can reduce the time for a single node recovery by up to 49.25%–74.97% in different recovery modes.