  In modern practical data centers, storage nodes are usually organized into
equally sized groups, which is called racks. The cost of cross-rack
communication is much more expensive compared with the intra-rack communication
cost. The codes for this system are called rack-aware regenerating codes.
Similar to standard minimum storage regenerating (MSR) codes, it is a
challenging task to construct minimum storage rack-aware regenerating (MSRR)
codes achieving the cut-set bound. The known constructions of MSRR codes
achieving the cut-set bound give codes with alphabet size $q$ exponential in
the code length $n$, more precisely, $q=\Omega(\exp(n^n))$.
  The main contribution of this paper is to provide explicit construction of
MSRR codes achieving the cut-set bound with the alphabet size linear in $n$. To
achieve this goal, we first present a general framework to repair Reed-Solomon
codes. It turns out that the known repairing schemes of Reed-Solomon codes can
be realized under our general framework. Several techniques are used in this
paper. In particular, we use the degree decent method to repair failure node.
This technique allows us to get Reed-Solomon codes with the alphabet size
linear in $n$. The other techniques include choice of good polynomials. Note
that good polynomials are used for construction of locally repairable code in
literature. To the best of our knowledge, it is the first time in this paper to
make use of good polynomials for constructions of regenerating codes.
