-
- EC Storage Note:
- EC volumes use erasure coding ({ fmt.Sprintf("%d+%d", erasure_coding.DataShardsCount, erasure_coding.ParityShardsCount) }) which stores data across { fmt.Sprintf("%d", erasure_coding.TotalShardsCount) } shards with redundancy.
- Physical storage is approximately { fmt.Sprintf("%.1fx", float64(erasure_coding.TotalShardsCount)/float64(erasure_coding.DataShardsCount)) } the original logical data size due to { fmt.Sprintf("%d", erasure_coding.ParityShardsCount) } parity shards.
-
-
-
-
-
-
- Showing {fmt.Sprintf("%d", (data.Page-1)*data.PageSize + 1)} to {fmt.Sprintf("%d", func() int {
- end := data.Page * data.PageSize
- if end > data.TotalVolumes {
- return data.TotalVolumes
- }
- return end
- }())} of {fmt.Sprintf("%d", data.TotalVolumes)} volumes
-
-
-
- for i, dc := range volume.DataCenters {
- if i > 0 {
- ,
- }
- {dc}
- }
-
- }
-
-
-
- if !volume.IsComplete {
-
- }
-
-
-
- }
-
-
+
+
+
+
+
-
-
- if data.TotalPages > 1 {
-
- }
-
+
+
+
+
+
+
+
+
Total Volumes
+
{fmt.Sprintf("%d", data.TotalVolumes)}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Total Shards
+
{fmt.Sprintf("%d", data.TotalShards)}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Healthy Volumes
+
{fmt.Sprintf("%d", data.CompleteVolumes)}
+ All { fmt.Sprintf("%d", erasure_coding.TotalShardsCount) } shards present
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Degraded Volumes
+
{fmt.Sprintf("%d", data.IncompleteVolumes)}
+ Incomplete/Critical
+
+
+
+
+
+
+
+
+
+
+
+
+
+ EC Storage Note:
+ EC volumes use erasure coding ({ fmt.Sprintf("%d+%d", erasure_coding.DataShardsCount, erasure_coding.ParityShardsCount) }) which stores data across { fmt.Sprintf("%d", erasure_coding.TotalShardsCount) } shards with redundancy.
+ Physical storage is approximately { fmt.Sprintf("%.1fx", float64(erasure_coding.TotalShardsCount)/float64(erasure_coding.DataShardsCount)) } the original logical data size due to { fmt.Sprintf("%d", erasure_coding.ParityShardsCount) } parity shards.
+