Skip to content

Commit 0dd5e0e

Browse files
authored
Merge pull request #62084 from CarmiWisemon/oadp1073cpumemory
2 parents 9a49ace + bb8b466 commit 0dd5e0e

File tree

6 files changed

+94
-8
lines changed

6 files changed

+94
-8
lines changed

backup_and_restore/application_backup_and_restore/installing/about-installing-oadp.adoc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,3 +53,5 @@ include::modules/about-installing-oadp-on-multiple-namespaces.adoc[leveloffset=+
5353
.Additional resources
5454

5555
* xref:../../../operators/understanding/olm/olm-understanding-olm.adoc#olm-csv_olm-understanding-olm[Cluster service version]
56+
57+
include::modules/oadp-velero-cpu-memory-requirements.adoc[leveloffset=+1]

backup_and_restore/application_backup_and_restore/troubleshooting.adoc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ include::modules/migration-debugging-velero-resources.adoc[leveloffset=+1]
3232
== Pods crash or restart due to lack of memory or CPU
3333

3434
If a Velero or Restic pod crashes due to a lack of memory or CPU, you can set specific resource requests for either of those resources.
35+
[role="_additional-resources"]
36+
.Additional resources
37+
* xref:../../backup_and_restore/application_backup_and_restore/installing/about-installing-oadp.adoc#oadp-velero-cpu-memory-requirements_about-installing-oadp[CPU and memory requirements]
3538

3639
include::modules/oadp-pod-crash-set-resource-request-velero.adoc[leveloffset=+2]
3740
include::modules/oadp-pod-crash-set-resource-request-restic.adoc[leveloffset=+2]

modules/oadp-pod-crash-set-resource-request-restic.adoc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ kind: DataProtectionApplication
2222
configuration:
2323
restic:
2424
podConfig:
25-
resourceAllocations:
25+
resourceAllocations: <1>
2626
requests:
27-
cpu: 500m
28-
memory: 256Mi
27+
cpu: 1000m
28+
memory: 16Gi
2929
----
30+
<1> The `resourceAllocations` listed are for average usage.

modules/oadp-pod-crash-set-resource-request-velero.adoc

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,8 +22,9 @@ kind: DataProtectionApplication
2222
configuration:
2323
velero:
2424
podConfig:
25-
resourceAllocations:
25+
resourceAllocations: <1>
2626
requests:
27-
cpu: 500m
27+
cpu: 200m
2828
memory: 256Mi
2929
----
30+
<1> The `resourceAllocations` listed are for average usage.

modules/oadp-setting-resource-limits-and-requests.adoc

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,12 +29,13 @@ spec:
2929
velero:
3030
podConfig:
3131
nodeSelector: <node selector> <1>
32-
resourceAllocations:
32+
resourceAllocations: <2>
3333
limits:
3434
cpu: "1"
35-
memory: 512Mi
35+
memory: 1024Mi
3636
requests:
37-
cpu: 500m
37+
cpu: 200m
3838
memory: 256Mi
3939
----
4040
<1> Specify the node selector to be supplied to Velero podSpec.
41+
<2> The `resourceAllocations` listed are for average usage.
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
// Module included in the following assemblies:
2+
//
3+
// * backup_and_restore/application_backup_and_restore/installing/installing-oadp-ocs.adoc
4+
5+
:_content-type: CONCEPT
6+
[id="oadp-velero-cpu-memory-requirements_{context}"]
7+
= Velero CPU and memory requirements based on collected data
8+
9+
The following recommendations are based on observations of performance made in the scale and performance lab. The backup and restore resources can be impacted by the type of plugin, the amount of resources required by that backup or restore, and the respective data contained in the persistent volumes (PVs) related to those resources.
10+
11+
12+
== CPU and memory requirement for configurations
13+
|===
14+
|Configuration types | ^[1]^ Average usage |^[2]^ Large usage |resourceTimeouts
15+
16+
|CSI
17+
|Velero:
18+
19+
CPU- Request 200m, Limits 1000m
20+
21+
Memory - Request 256Mi, Limits 1024Mi
22+
23+
|Velero:
24+
25+
CPU- Request 200m, Limits 2000m
26+
27+
28+
Memory- Request 256Mi, Limits 2048Mi
29+
30+
|N/A
31+
32+
|Restic
33+
|^[3]^ Restic:
34+
35+
CPU- Request 1000m, Limits 2000m
36+
37+
Memory - Request 16Gi, Limits 32Gi
38+
39+
40+
|^[4]^ Restic:
41+
42+
CPU - Request 2000m, Limits 8000m
43+
44+
45+
Memory - Request 16Gi, Limits 40Gi
46+
47+
48+
|900m
49+
50+
51+
52+
|^[5]^ DataMover
53+
|N/A
54+
|N/A
55+
|10m - average usage
56+
57+
60m - large usage
58+
|===
59+
60+
[.small]
61+
--
62+
1. Average usage - use these settings for most usage situations.
63+
64+
2. Large usage - use these settings for large usage situations, such as a large PV (500GB Usage), multiple namespaces (100+), or many pods within a single namespace (2000 pods+), and for optimal performance for backup and restore involving large datasets.
65+
66+
3. Restic resource usage corresponds to the amount of data, and type of data. For example, many small files or large amounts of data can cause Restic to utilize large amounts of resources. The https://velero.io/docs/v1.11/customize-installation/#customize-resource-requests-and-limits/[Velero] documentation references 500m as a supplied default, for most of our testing we found 200m request suitable with 1000m limit. As cited in the Velero documentation, exact CPU and memory usage is dependent on the scale of files and directories, in addition to environmental limitations.
67+
68+
4. Increasing the CPU has a significant impact on improving backup and restore times.
69+
70+
5. DataMover - DataMover default resourceTimeout is 10m. Our tests show that for restoring a large PV (500GB usage), it is required to increase the resourceTimeout to 60m.
71+
--
72+
73+
[NOTE]
74+
====
75+
The resource requirements listed throughout the guide are for average usage only. For large usage, adjust the settings as described in the table above.
76+
====
77+
78+

0 commit comments

Comments
 (0)