A complex multi-state redundant system with preventive maintenance subject to multiple events is considered. The online unit can undergo several types of failure: both internal and those provoked by external shocks. Multiple degradation levels are assumed as both internal and external. Degradation levels are observed by random inspections and, if they are major, the unit goes to a repair facility where preventive maintenance is carried out. This repair facility is composed of a single repairperson governed by a multiple vacation policy. This policy is set up according to the operational number of units. Two types of task can be performed by the repairperson, corrective repair and preventive maintenance. The times embedded in the system are phase type distributed and the model is built by using Markovian Arrival Processes with marked arrivals. Multiple performance measures besides the transient and stationary distribution are worked out through matrix-analytic methods. This methodology enables us to express the main results and the global development in a matrix-algorithmic form. To optimize the model, costs and rewards are included. A numerical example shows the versatility of the model.