4.12. OADP 데이터 Mover
4.12.1. OADP Data Mover 정보
OADP에는 CSI(Container Storage Interface) 볼륨 스냅샷을 원격 오브젝트 저장소로 이동하는 데 사용할 수 있는 기본 제공 데이터 Mover가 포함되어 있습니다. 기본 제공 Data Mover를 사용하면 오류, 실수로 삭제 또는 클러스터 손상이 발생하는 경우 원격 오브젝트 저장소에서 상태 저장 애플리케이션을 복원할 수 있습니다. Kopia 를 업로드기 메커니즘으로 사용하여 스냅샷 데이터를 읽고 통합 리포지토리에 씁니다.
OADP는 다음에서 CSI 스냅샷을 지원합니다.
- {odf-full}
- Kubernetes Volume Snapshot API를 지원하는 CSI(Container Storage Interface) 드라이버가 있는 기타 클라우드 스토리지 공급자
OADP 1.3에 기술 프리뷰로 도입된 OADP 내장 데이터 Mover는 이제 컨테이너화된 및 가상 머신 워크로드 모두에 대해 완전히 지원됩니다.
4.12.1.1. 기본 제공 데이터 Mover 활성화
기본 제공 데이터 Mover를 활성화하려면 CSI 플러그인을 포함하고 DataProtectionApplication
CR(사용자 정의 리소스)에서 노드 에이전트를 활성화해야 합니다. 노드 에이전트는 데이터 이동 모듈을 호스팅하는 Kubernetes 데몬 세트입니다. 여기에는 데이터 Mover 컨트롤러, 업로드자 및 리포지토리가 포함됩니다.
DataProtectionApplication
매니페스트의 예
apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: dpa-sample spec: configuration: nodeAgent: enable: true 1 uploaderType: kopia 2 velero: defaultPlugins: - openshift - aws - csi 3 defaultSnapshotMoveData: true defaultVolumesToFSBackup: 4 featureFlags: - EnableCSI # ...
4.12.1.2. 기본 제공 데이터 Mover 컨트롤러 및 CRD(사용자 정의 리소스 정의)
기본 제공 Data Mover 기능에는 백업 및 복원을 관리하기 위해 CRD로 정의된 새로운 API 오브젝트 3개가 도입되었습니다.
-
DataDownload
: 볼륨 스냅샷의 데이터 다운로드를 나타냅니다. CSI 플러그인은 복원할 볼륨당 하나의DataDownload
오브젝트를 생성합니다.DataDownload
CR에는 대상 볼륨, 지정된 데이터 Mover, 현재 데이터 다운로드의 진행 상황, 지정된 백업 리포지토리 및 프로세스가 완료된 후 현재 데이터 다운로드 결과가 포함됩니다. -
DataUpload
: 볼륨 스냅샷의 데이터 업로드를 나타냅니다. CSI 플러그인은 CSI 스냅샷당 하나의DataUpload
오브젝트를 생성합니다.DataUpload
CR에는 지정된 스냅샷, 지정된 데이터 Mover, 지정된 백업 리포지토리, 현재 데이터 업로드 진행률, 프로세스가 완료된 후 현재 데이터 업로드 결과가 포함됩니다. -
BackupRepository
: 백업 리포지토리의 라이프사이클을 나타내며 관리합니다. OADP는 네임스페이스에 대한 첫 번째 CSI 스냅샷 백업 또는 복원이 요청되면 네임스페이스당 백업 리포지토리를 생성합니다.
4.12.1.3. 증분 백업 지원 정보
OADP는 컨테이너화된 워크로드와 OpenShift Virtualization 워크로드 모두에 대해 블록
및 Filesystem
영구 볼륨의 증분 백업을 지원합니다. 다음 표에는 파일 시스템 백업(FSB), CSI(Container Storage Interface) 및 CSI 데이터 Mover에 대한 지원이 요약되어 있습니다.
볼륨 모드 | FSB - Restic | FSB - Kopia | CSI | CSI 데이터 Mover |
---|---|---|---|---|
파일 시스템 | S [1], I [2] | S [1], I [2] | S [1] | S [1], I [2] |
블록 | N [3] | N [3] | S [1] | S [1], I [2] |
볼륨 모드 | FSB - Restic | FSB - Kopia | CSI | CSI 데이터 Mover |
---|---|---|---|---|
파일 시스템 | N [3] | N [3] | S [1] | S [1], I [2] |
블록 | N [3] | N [3] | S [1] | S [1], I [2] |
- 지원되는 백업
- 증분 백업 지원
- 지원되지 않음
CSI Data Mover 백업은 uploaderType
과 관계없이 Kopia를 사용합니다.
4.12.2. CSI 스냅샷 데이터 이동 백업 및 복원
OADP 1.3 Data Mover를 사용하여 영구 볼륨을 백업하고 복원할 수 있습니다.
4.12.2.1. CSI 스냅샷을 사용하여 영구 볼륨 백업
OADP 데이터 Mover를 사용하여 CSI(Container Storage Interface) 볼륨 스냅샷을 원격 오브젝트 저장소에 백업할 수 있습니다.
사전 요구 사항
-
cluster-admin
역할을 사용하여 클러스터에 액세스할 수 있습니다. - OADP Operator가 설치되어 있습니다.
-
CSI 플러그인을 포함하고
DataProtectionApplication
CR(사용자 정의 리소스)에 노드 에이전트를 활성화했습니다. - 별도의 네임스페이스에서 영구 볼륨이 실행되는 애플리케이션이 있습니다.
-
metadata.labels.velero.io/csi-volumesnapshot-class: "true"
키-값 쌍을VolumeSnapshotClass
CR에 추가했습니다.
절차
다음 예와 같이
Backup
오브젝트에 대한 YAML 파일을 생성합니다.Backup
CR의 예kind: Backup apiVersion: velero.io/v1 metadata: name: backup namespace: openshift-adp spec: csiSnapshotTimeout: 10m0s defaultVolumesToFsBackup: 1 includedNamespaces: - mysql-persistent itemOperationTimeout: 4h0m0s snapshotMoveData: true 2 storageLocation: default ttl: 720h0m0s 3 volumeSnapshotLocations: - dpa-sample-1 # ...
- 1
fs-backup
에서 옵트아웃하는 볼륨에만 Data Mover를 사용하는 경우true
로 설정합니다. 볼륨에 대해 기본적으로 Data Mover를 사용하는 경우false
로 설정합니다.- 2
- CSI 스냅샷을 원격 오브젝트 스토리지로 이동하려면
true
로 설정합니다. - 3
ttl
필드는 생성된 백업의 보존 시간과 백업 데이터를 정의합니다. 예를 들어 Restic을 백업 도구로 사용하는 경우 백업이 만료될 때까지 백업된 데이터 항목과 PV(영구 볼륨)의 데이터 콘텐츠가 저장됩니다. 그러나 이러한 데이터를 저장하면 대상 백업 위치에 더 많은 공간이 사용됩니다. 추가 스토리지는 만료되지 않은 다른 완료된 백업이 시간 초과되었을 수 있기 전에 생성되는 빈번한 백업과 함께 사용됩니다.
참고XFS 파일 시스템을 사용하여 볼륨을 포맷하고 볼륨이 100%인 경우
장치 오류에 남아 있는 공간이 없는 상태에서
백업이 실패합니다. 예를 들면 다음과 같습니다.Error: relabel failed /var/lib/kubelet/pods/3ac..34/volumes/ \ kubernetes.io~csi/pvc-684..12c/mount: lsetxattr /var/lib/kubelet/ \ pods/3ac..34/volumes/kubernetes.io~csi/pvc-68..2c/mount/data-xfs-103: \ no space left on device
이 시나리오에서는 백업이 성공적으로 완료되도록 볼륨 크기 조정 또는 다른 파일 시스템 유형(예:
ext4
)을 사용하는 것이 좋습니다.매니페스트를 적용합니다.
$ oc create -f backup.yaml
DataUpload
CR은 스냅샷 생성이 완료된 후 생성됩니다.
검증
DataUpload
CR의status.phase
필드를 모니터링하여 스냅샷 데이터가 원격 오브젝트 저장소로 성공적으로 전송되었는지 확인합니다. 가능한 값은진행
중 ,완료됨
,실패
또는취소됨
입니다. 오브젝트 저장소는DataProtectionApplication
CR의backupLocations
스탠자에 구성됩니다.다음 명령을 실행하여 모든
DataUpload
오브젝트 목록을 가져옵니다.$ oc get datauploads -A
출력 예
NAMESPACE NAME STATUS STARTED BYTES DONE TOTAL BYTES STORAGE LOCATION AGE NODE openshift-adp backup-test-1-sw76b Completed 9m47s 108104082 108104082 dpa-sample-1 9m47s ip-10-0-150-57.us-west-2.compute.internal openshift-adp mongo-block-7dtpf Completed 14m 1073741824 1073741824 dpa-sample-1 14m ip-10-0-150-57.us-west-2.compute.internal
다음 명령을 실행하여 특정
DataUpload
오브젝트의status.phase
필드 값을 확인합니다.$ oc get datauploads <dataupload_name> -o yaml
출력 예
apiVersion: velero.io/v2alpha1 kind: DataUpload metadata: name: backup-test-1-sw76b namespace: openshift-adp spec: backupStorageLocation: dpa-sample-1 csiSnapshot: snapshotClass: "" storageClass: gp3-csi volumeSnapshot: velero-mysql-fq8sl operationTimeout: 10m0s snapshotType: CSI sourceNamespace: mysql-persistent sourcePVC: mysql status: completionTimestamp: "2023-11-02T16:57:02Z" node: ip-10-0-150-57.us-west-2.compute.internal path: /host_pods/15116bac-cc01-4d9b-8ee7-609c3bef6bde/volumes/kubernetes.io~csi/pvc-eead8167-556b-461a-b3ec-441749e291c4/mount phase: Completed 1 progress: bytesDone: 108104082 totalBytes: 108104082 snapshotID: 8da1c5febf25225f4577ada2aeb9f899 startTimestamp: "2023-11-02T16:56:22Z"
- 1
- 스냅샷 데이터가 원격 오브젝트 저장소로 성공적으로 전송되었음을 나타냅니다.
4.12.2.2. CSI 볼륨 스냅샷 복원
Restore
CR을 생성하여 볼륨 스냅샷을 복원할 수 있습니다.
OAPD 1.3 기본 제공 데이터 Mover를 사용하여 OADP 1.2의 reflectsync 백업을 복원할 수 없습니다. OADP 1.3으로 업그레이드하기 전에 Restic을 사용하여 모든 워크로드의 파일 시스템 백업을 수행하는 것이 좋습니다.
사전 요구 사항
-
cluster-admin
역할을 사용하여 클러스터에 액세스할 수 있습니다. -
데이터를 복원할 OADP
Backup
CR이 있습니다.
절차
다음 예와 같이
Restore
CR에 대한 YAML 파일을 생성합니다.CR
복원
예apiVersion: velero.io/v1 kind: Restore metadata: name: restore namespace: openshift-adp spec: backupName: <backup> # ...
매니페스트를 적용합니다.
$ oc create -f restore.yaml
복원이 시작될 때
DataDownload
CR이 생성됩니다.
검증
DataDownload
CR의status.phase
필드를 확인하여 복원 프로세스의 상태를 모니터링할 수 있습니다. 가능한 값은진행
중 ,완료됨
,실패
또는취소됨
입니다.모든
DataDownload
오브젝트 목록을 가져오려면 다음 명령을 실행합니다.$ oc get datadownloads -A
출력 예
NAMESPACE NAME STATUS STARTED BYTES DONE TOTAL BYTES STORAGE LOCATION AGE NODE openshift-adp restore-test-1-sk7lg Completed 7m11s 108104082 108104082 dpa-sample-1 7m11s ip-10-0-150-57.us-west-2.compute.internal
다음 명령을 입력하여 특정
DataDownload
오브젝트의status.phase
필드 값을 확인합니다.$ oc get datadownloads <datadownload_name> -o yaml
출력 예
apiVersion: velero.io/v2alpha1 kind: DataDownload metadata: name: restore-test-1-sk7lg namespace: openshift-adp spec: backupStorageLocation: dpa-sample-1 operationTimeout: 10m0s snapshotID: 8da1c5febf25225f4577ada2aeb9f899 sourceNamespace: mysql-persistent targetVolume: namespace: mysql-persistent pv: "" pvc: mysql status: completionTimestamp: "2023-11-02T17:01:24Z" node: ip-10-0-150-57.us-west-2.compute.internal phase: Completed 1 progress: bytesDone: 108104082 totalBytes: 108104082 startTimestamp: "2023-11-02T17:00:52Z"
- 1
- CSI 스냅샷 데이터가 성공적으로 복원되었음을 나타냅니다.
4.12.2.3. OADP 1.3 삭제 정책
삭제 정책은 시스템에서 데이터를 제거하는 규칙을 결정하며 보존 기간, 데이터 민감도 및 규정 준수 요구 사항과 같은 요인에 따라 삭제 시기와 방법을 지정합니다. 규정을 준수하고 중요한 정보를 보존하면서 효과적으로 데이터 제거를 관리합니다.
4.12.2.3.1. OADP 1.3 삭제 정책 지침
OADP 1.3의 다음 삭제 정책 지침을 검토하십시오.
-
OADP 1.3.x에서는 모든 유형의 백업 및 복원 방법을 사용할 때
VolumeSnapshotClass
CR(사용자 정의 리소스)에서deletionPolicy
필드를Retain
또는Delete
로 설정할 수 있습니다.
4.12.3. Kopia 해시, 암호화 및 분할 알고리즘 덮어쓰기
DPA(Data Protection Application)의 특정 환경 변수를 사용하여 Kopia 해시, 암호화 및 분할 알고리즘의 기본값을 재정의할 수 있습니다.
4.12.3.1. Kopia 해시, 암호화 및 분할 알고리즘을 재정의하도록 DPA 구성
OADP(OpenShift API for Data Protection) 옵션을 사용하여 해시, 암호화 및 분할에 대한 기본 Kopia 알고리즘을 재정의하여 Kopia 성능을 개선하거나 성능 지표를 비교할 수 있습니다. DPA의 spec.configuration.velero.podConfig.env
섹션에서 다음 환경 변수를 설정할 수 있습니다.
-
KOPIA_HASHING_ALGORITHM
-
KOPIA_ENCRYPTION_ALGORITHM
-
KOPIA_SPLITTER_ALGORITHM
사전 요구 사항
- OADP Operator가 설치되어 있습니다.
- 클라우드 공급자가 제공하는 인증 정보를 사용하여 시크릿을 생성했습니다.
절차
다음 예와 같이 해시, 암호화 및 분할에 대한 환경 변수를 사용하여 DPA를 구성합니다.
DPA 예
apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication #... configuration: nodeAgent: enable: true 1 uploaderType: kopia 2 velero: defaultPlugins: - openshift - aws - csi 3 defaultSnapshotMoveData: true podConfig: env: - name: KOPIA_HASHING_ALGORITHM value: <hashing_algorithm_name> 4 - name: KOPIA_ENCRYPTION_ALGORITHM value: <encryption_algorithm_name> 5 - name: KOPIA_SPLITTER_ALGORITHM value: <splitter_algorithm_name> 6
4.12.3.2. Kopia 해시, 암호화 및 분할 알고리즘을 재정의하는 사용 사례
사용 사례 예제에서는 해시, 암호화 및 분할에 Kopia 환경 변수를 사용하여 애플리케이션 백업을 수행하는 방법을 보여줍니다. 백업을 AWS S3 버킷에 저장합니다. 그런 다음 Kopia 리포지토리에 연결하여 환경 변수를 확인합니다.
사전 요구 사항
- OADP Operator가 설치되어 있습니다.
- AWS S3 버킷이 백업 스토리지 위치로 구성되어 있습니다.
- 클라우드 공급자가 제공하는 인증 정보를 사용하여 시크릿을 생성했습니다.
- Kopia 클라이언트를 설치했습니다.
- 별도의 네임스페이스에서 영구 볼륨이 실행되는 애플리케이션이 있습니다.
절차
다음 예와 같이 DPA(Data Protection Application)를 구성합니다.
apiVersion: oadp.openshift.io/v1alpha1 kind: DataProtectionApplication metadata: name: <dpa_name> 1 namespace: openshift-adp spec: backupLocations: - name: aws velero: config: profile: default region: <region_name> 2 credential: key: cloud name: cloud-credentials 3 default: true objectStorage: bucket: <bucket_name> 4 prefix: velero provider: aws configuration: nodeAgent: enable: true uploaderType: kopia velero: defaultPlugins: - openshift - aws - csi 5 defaultSnapshotMoveData: true podConfig: env: - name: KOPIA_HASHING_ALGORITHM value: BLAKE3-256 6 - name: KOPIA_ENCRYPTION_ALGORITHM value: CHACHA20-POLY1305-HMAC-SHA256 7 - name: KOPIA_SPLITTER_ALGORITHM value: DYNAMIC-8M-RABINKARP 8
다음 명령을 실행하여 DPA를 생성합니다.
$ oc create -f <dpa_file_name> 1
- 1
- 구성한 DPA의 파일 이름을 지정합니다.
다음 명령을 실행하여 DPA가 조정되었는지 확인합니다.
$ oc get dpa -o yaml
다음 예와 같이 backup CR을 생성합니다.
백업 CR의 예
apiVersion: velero.io/v1 kind: Backup metadata: name: test-backup namespace: openshift-adp spec: includedNamespaces: - <application_namespace> 1 defaultVolumesToFsBackup: true
- 1
- 클러스터에 설치된 애플리케이션의 네임스페이스를 지정합니다.
다음 명령을 실행하여 백업을 생성합니다.
$ oc apply -f <backup_file_name> 1
- 1
- 백업 CR 파일의 이름을 지정합니다.
다음 명령을 실행하여 백업이 완료되었는지 확인합니다.
$ oc get backups.velero.io <backup_name> -o yaml 1
- 1
- 백업 이름을 지정합니다.
검증
다음 명령을 실행하여 Kopia 리포지토리에 연결합니다.
$ kopia repository connect s3 \ --bucket=<bucket_name> \ 1 --prefix=velero/kopia/<application_namespace> \ 2 --password=static-passw0rd \ 3 --access-key="<aws_s3_access_key>" \ 4 --secret-access-key="<aws_s3_secret_access_key>" \ 5
참고AWS S3 이외의 스토리지 공급자를 사용하는 경우 버킷 끝점 URL 매개변수인
--endpoint
를 명령에 추가해야 합니다.다음 명령을 실행하여 Kopia에서 DPA에 구성된 환경 변수를 사용하는지 확인합니다.
$ kopia repository status
출력 예
Config file: /../.config/kopia/repository.config Description: Repository in S3: s3.amazonaws.com <bucket_name> # ... Storage type: s3 Storage capacity: unbounded Storage config: { "bucket": <bucket_name>, "prefix": "velero/kopia/<application_namespace>/", "endpoint": "s3.amazonaws.com", "accessKeyID": <access_key>, "secretAccessKey": "****************************************", "sessionToken": "" } Unique ID: 58....aeb0 Hash: BLAKE3-256 Encryption: CHACHA20-POLY1305-HMAC-SHA256 Splitter: DYNAMIC-8M-RABINKARP Format version: 3 # ...
4.12.3.3. Kopia 해시, 암호화 및 분할 알고리즘 벤치마킹
Kopia 명령을 실행하여 해시, 암호화 및 분할 알고리즘을 벤치마킹할 수 있습니다. 벤치마킹 결과에 따라 워크로드에 가장 적합한 알고리즘을 선택할 수 있습니다. 이 절차에서는 클러스터의 Pod에서 Kopia 벤치마킹 명령을 실행합니다. 벤치마킹 결과는 CPU 속도, 사용 가능한 RAM, 디스크 속도, 현재 I/O 로드 등에 따라 다를 수 있습니다.
사전 요구 사항
- OADP Operator가 설치되어 있습니다.
- 별도의 네임스페이스에서 영구 볼륨이 실행되는 애플리케이션이 있습니다.
- CSI(Container Storage Interface) 스냅샷을 사용하여 애플리케이션 백업을 실행합니다.
절차
다음 예와 같이 Pod를 구성합니다. OADP 버전 1.3 이상에
oadp-mustgather
이미지를 사용하고 있는지 확인합니다.Pod 구성 예
apiVersion: v1 kind: Pod metadata: name: oadp-mustgather-pod labels: purpose: user-interaction spec: containers: - name: oadp-mustgather-container image: registry.redhat.io/oadp/oadp-mustgather-rhel9:v1.3 command: ["sleep"] args: ["infinity"]
참고Kopia 클라이언트는
oadp-mustgather
이미지에서 사용할 수 있습니다.다음 명령을 실행하여 Pod를 생성합니다.
$ oc apply -f <pod_config_file_name> 1
- 1
- Pod 구성에 대한 YAML 파일의 이름을 지정합니다.
Kopia가 리포지토리에 연결할 수 있도록 Pod의 SCC(보안 컨텍스트 제약 조건)가
anyuid
인지 확인합니다.$ oc describe pod/oadp-mustgather-pod | grep scc
출력 예
openshift.io/scc: anyuid
다음 명령을 실행하여 SSH를 통해 포드에 연결합니다.
$ oc -n openshift-adp rsh pod/oadp-mustgather-pod
다음 명령을 실행하여 Kopia 리포지토리에 연결합니다.
sh-5.1# kopia repository connect s3 \ --bucket=<bucket_name> \ 1 --prefix=velero/kopia/<application_namespace> \ 2 --password=static-passw0rd \ 3 --access-key="<access_key>" \ 4 --secret-access-key="<secret_access_key>" \ 5 --endpoint=<bucket_endpoint> \ 6
참고다음은 예제 명령입니다. 명령은 오브젝트 스토리지 공급자에 따라 다를 수 있습니다.
해시 알고리즘을 벤치마크하려면 다음 명령을 실행합니다.
sh-5.1# kopia benchmark hashing
출력 예
Benchmarking hash 'BLAKE2B-256' (100 x 1048576 bytes, parallelism 1) Benchmarking hash 'BLAKE2B-256-128' (100 x 1048576 bytes, parallelism 1) Benchmarking hash 'BLAKE2S-128' (100 x 1048576 bytes, parallelism 1) Benchmarking hash 'BLAKE2S-256' (100 x 1048576 bytes, parallelism 1) Benchmarking hash 'BLAKE3-256' (100 x 1048576 bytes, parallelism 1) Benchmarking hash 'BLAKE3-256-128' (100 x 1048576 bytes, parallelism 1) Benchmarking hash 'HMAC-SHA224' (100 x 1048576 bytes, parallelism 1) Benchmarking hash 'HMAC-SHA256' (100 x 1048576 bytes, parallelism 1) Benchmarking hash 'HMAC-SHA256-128' (100 x 1048576 bytes, parallelism 1) Benchmarking hash 'HMAC-SHA3-224' (100 x 1048576 bytes, parallelism 1) Benchmarking hash 'HMAC-SHA3-256' (100 x 1048576 bytes, parallelism 1) Hash Throughput ----------------------------------------------------------------- 0. BLAKE3-256 15.3 GB / second 1. BLAKE3-256-128 15.2 GB / second 2. HMAC-SHA256-128 6.4 GB / second 3. HMAC-SHA256 6.4 GB / second 4. HMAC-SHA224 6.4 GB / second 5. BLAKE2B-256-128 4.2 GB / second 6. BLAKE2B-256 4.1 GB / second 7. BLAKE2S-256 2.9 GB / second 8. BLAKE2S-128 2.9 GB / second 9. HMAC-SHA3-224 1.6 GB / second 10. HMAC-SHA3-256 1.5 GB / second ----------------------------------------------------------------- Fastest option for this machine is: --block-hash=BLAKE3-256
암호화 알고리즘을 벤치마크하려면 다음 명령을 실행합니다.
sh-5.1# kopia benchmark encryption
출력 예
Benchmarking encryption 'AES256-GCM-HMAC-SHA256'... (1000 x 1048576 bytes, parallelism 1) Benchmarking encryption 'CHACHA20-POLY1305-HMAC-SHA256'... (1000 x 1048576 bytes, parallelism 1) Encryption Throughput ----------------------------------------------------------------- 0. AES256-GCM-HMAC-SHA256 2.2 GB / second 1. CHACHA20-POLY1305-HMAC-SHA256 1.8 GB / second ----------------------------------------------------------------- Fastest option for this machine is: --encryption=AES256-GCM-HMAC-SHA256
splitter 알고리즘을 벤치마크하려면 다음 명령을 실행합니다.
sh-5.1# kopia benchmark splitter
출력 예
splitting 16 blocks of 32MiB each, parallelism 1 DYNAMIC 747.6 MB/s count:107 min:9467 10th:2277562 25th:2971794 50th:4747177 75th:7603998 90th:8388608 max:8388608 DYNAMIC-128K-BUZHASH 718.5 MB/s count:3183 min:3076 10th:80896 25th:104312 50th:157621 75th:249115 90th:262144 max:262144 DYNAMIC-128K-RABINKARP 164.4 MB/s count:3160 min:9667 10th:80098 25th:106626 50th:162269 75th:250655 90th:262144 max:262144 # ... FIXED-512K 102.9 TB/s count:1024 min:524288 10th:524288 25th:524288 50th:524288 75th:524288 90th:524288 max:524288 FIXED-8M 566.3 TB/s count:64 min:8388608 10th:8388608 25th:8388608 50th:8388608 75th:8388608 90th:8388608 max:8388608 ----------------------------------------------------------------- 0. FIXED-8M 566.3 TB/s count:64 min:8388608 10th:8388608 25th:8388608 50th:8388608 75th:8388608 90th:8388608 max:8388608 1. FIXED-4M 425.8 TB/s count:128 min:4194304 10th:4194304 25th:4194304 50th:4194304 75th:4194304 90th:4194304 max:4194304 # ... 22. DYNAMIC-128K-RABINKARP 164.4 MB/s count:3160 min:9667 10th:80098 25th:106626 50th:162269 75th:250655 90th:262144 max:262144