The goal of optimal allocation is to increase stored data availability subject to minimizing the storage budget. Symmetric allocation based on the network coding has been proved to be optimal for distributed storage systems if node availability is not considered. However, because of network conditions and the inherent properties of nodes, each node will have a different availability. This paper focuses on the problem of optimizing distributed data storage when considering node availability. Using a probability model for storage systems, we redefine symmetric allocation in terms of probability-symmetric allocation and propose a probability-symmetric allocation model and strategy based on network coding. These are shown to be optimal in general. Compared with the symmetric allocation scheme proposed by Leong et al., the proposed probability-symmetric allocation scheme not only improves data availability in distributed storage systems but also is more practical.