Advanced configuration
This section outlines how to configure the UltiHash cluster after the initial installation. It covers advanced customization options, including Helm chart adjustments, Kubernetes configurations, and integration settings.
Helm chart customization
The Helm chart used during installation is flexible and allows for various configurations to fine-tune the UltiHash setup according to your specific needs. Below are key areas where you might want to make changes:
1. Ingress configuration
Purpose: Configure how the UltiHash cluster is accessed externally.
Example: Set up Ingress with specific annotations and TLS configuration.
Recommendation: Ensure the ingress controller is configured for your environment (e.g., Nginx) and that TLS is used for secure communication.
2. Resource allocation
Purpose: Adjust the resource allocations for service replicas.
Example: Customize resource requests and limits for critical services.
Recommendation: Adjust resources to balance performance with cost.
Kubernetes configuration
Beyond the Helm chart, you might need to adjust Kubernetes-specific settings to optimize the UltiHash deployment:
1. Node affinity and tolerations
Purpose: Control where pods are scheduled within your Kubernetes cluster.
Example: Use node affinity to keep storage pods on different nodes.
Recommendation: Use affinity rules to optimize performance and ensure critical services run on appropriate nodes.
Monitoring configuration
UltiHash can be integrated with various monitoring, logging, and analytics tools. Below are key integrations you may want to configure:
1. Telemetry and monitoring
Purpose: Export metrics and logs to external systems like Prometheus and Loki.
Example: Configure the OpenTelemetry Collector to export data to Prometheus. Please refer to the Open Telemetry documentation.
Recommendation: Set up monitoring early to ensure you can track system performance and diagnose issues as they arise.
The metrics exported by the UltiHash cluster are listed below, categorized into multiple groups.
Storage service requests
storage_read_fragment_req
: number of requests received for reading a fragmentstorage_read_address_req
: number of requests received for reading an addressstorage_write_req
: number of requests received for writing datastorage_sync_req
: number of requests received to sync data to persistent storagestorage_remove_fragment_req
: number of requests received to remove a fragment from storagestorage_used_req
: number of requests received to get the used space
Deduplicator service requests
deduplicator_req
: number of requests received to deduplicate uploaded data
Entrypoint service requests
entrypoint_abort_multipart_req
: number ofAbortMultipartUpload
requests receivedentrypoint_complete_multipart_req
: number ofCompleteMultipartUpload
requests receivedentrypoint_create_bucket_req
: number ofCreateBucket
requests receivedentrypoint_delete_bucket_req
: number ofDeleteBucket
requests receivedentrypoint_delete_object_req
: number ofDeleteObject
requests receivedentrypoint_delete_objects_req
: number ofDeleteObjects
requests receivedentrypoint_get_bucket_req
: number ofGetBucket
requests receivedentrypoint_get_object_req
: number ofGetObject
requests receivedentrypoint_head_object_req
: number ofHeadObject
requests receivedentrypoint_init_multipart_req
: number ofCreateMultipartUpload
requests receivedentrypoint_list_buckets_req
: number ofListBuckets
requests receivedentrypoint_list_multipart_req
: number ofListMultipartUploads
requests receivedentrypoint_list_objects_req
: number ofListObjects
requests receivedentrypoint_list_objects_v2_req
: number ofListObjectsV2
requests receivedentrypoint_multipart_req
: number ofUploadPart
requests receivedentrypoint_put_object_req
: number ofPutObject
requests received
Utilization Metrics
gdv_l1_cache_hit_counter
: Hit count of the L1 cache in theglobal_data_view
gdv_l1_cache_miss_counter
: Miss count of the L1 cache in theglobal_data_view
gdv_l2_cache_hit_counter
: Hit count of the L2 cache in theglobal_data_view
gdv_l2_cache_miss_counter
: Miss count of the L2 cache in theglobal_data_view
deduplicator_set_fragment_counter
: The number of fragments pointed in the deduplicator set maintained by thededuplicator service
deduplicator_set_fragment_size_counter
: The aggregated size of fragments pointed in the deduplicator set maintained by thededuplicator service
entrypoint_ingested_data_counter
: The total data volume ingested by aentrypoint service
entrypoint_egressed_data_counter
: The total data volume egressed by aentrypoint service
entrypoint_original_data_volume_gauge
: The original/raw data volume in the storage cluster, maintained by theentrypoint service
active_connections
: Number of currently handled connectionsstorage_available_space_gauge
: Storage space available to astorage service
instancestorage_used_space_gauge
: Storage space used by astorage service
instance
Last updated