From 0490d40ee4a0d1c0e408317d1c65302a7b1bf3bb Mon Sep 17 00:00:00 2001 From: mregrock Date: Fri, 10 Jan 2025 12:09:51 +0300 Subject: [PATCH] Change initial deployment doc --- .../yaml_config_examples/block-4-2.yaml | 265 ++++++---------- .../deprecated/block-4-2.yaml | 185 +++++++++++ .../mirror-3dc-3-nodes-in-memory.yaml | 141 +++++++++ .../deprecated/mirror-3dc-3-nodes.yaml | 165 ++++++++++ .../deprecated/mirror-3dc-9-nodes.yaml | 182 +++++++++++ .../deprecated/single-node-in-memory.yaml | 85 ++++++ .../deprecated/single-node-with-file.yaml | 85 ++++++ .../mirror-3dc-3-nodes-in-memory.yaml | 188 +++--------- .../mirror-3dc-3-nodes.yaml | 210 ++++--------- .../mirror-3dc-9-nodes.yaml | 270 ++++++---------- .../single-node-in-memory.yaml | 114 ++----- .../single-node-with-file.yaml | 114 ++----- ydb/docs/_assets/tags.css | 4 +- .../maintenance/manual/config-overview.md | 4 +- ydb/docs/redirects.yaml | 43 ++- ydb/docs/ru/core/changelog-server.md | 6 +- .../_includes/connector_deployment.md | 2 +- .../concepts/federated_query/architecture.md | 14 +- ydb/docs/ru/core/concepts/glossary.md | 9 + ydb/docs/ru/core/concepts/topology.md | 6 +- .../ru/core/contributor/manage-releases.md | 2 +- .../backup_and_recovery/cli_overlay.md | 0 .../backup_and_recovery/options_overlay.md | 0 .../backup_and_recovery/others_overlay.md | 0 .../{manual => }/backup-and-recovery.md | 10 +- .../dynamic-config-selectors.md | 0 .../dynamic-config-volatile-config.md | 2 +- .../configuration-management/toc_p.yaml | 7 + .../ansible/_assets/terraform/AiC_scheme.png | Bin .../_includes/ansible-install-steps.md | 0 .../ansible/_includes/repo-tree.md | 0 .../ansible/_includes/terraform/aws.md | 0 .../ansible/_includes/terraform/azure.md | 0 .../ansible/_includes/terraform/gcp.md | 0 .../ansible/_includes/terraform/yc.md | 0 .../{ => deployment-options}/ansible/index.md | 0 .../ansible/initial-deployment.md | 44 +-- .../ansible/observability/index.md | 0 .../ansible/observability/logging.md | 0 .../ansible/observability/toc_p.yaml | 0 .../ansible/preparing-vms-with-terraform.md | 2 +- .../ansible/restart.md | 2 +- .../ansible/toc_p.yaml | 0 .../ansible/update-config.md | 6 +- .../ansible/update-executable.md | 2 +- .../core/devops/deployment-options/index.md | 9 + .../kubernetes/index.md | 0 .../kubernetes/initial-deployment.md | 8 +- .../kubernetes/toc_p.yaml | 0 .../before-v25.1/_includes/deprecated.md | 7 + .../_includes/fault-tolerance.md | 2 +- .../_includes/warning-configuration-error.md | 0 .../manual/before-v25.1/cluster-expansion.md | 110 +++++++ .../_assets/config-chart-1.png | Bin .../_assets/config-chart-2.png | Bin .../change_actorsystem_configs.md | 0 .../configuration-management}/cms.md | 0 .../config-overview.md | 10 +- .../dynamic-config.md | 18 +- .../configuration-management/toc_p.yaml | 11 + .../manual/before-v25.1/index.md | 19 ++ .../before-v25.1}/state-storage-move.md | 15 +- .../manual/before-v25.1}/static-group-move.md | 19 +- .../manual/before-v25.1/toc_p.yaml | 15 + .../manual/decommissioning.md | 2 +- .../_images/ydb_fq_onprem.png | Bin .../federated-queries/connector-deployment.md | 2 +- .../manual/federated-queries/index.md | 4 +- .../manual/federated-queries/toc_p.yaml | 0 .../devops/deployment-options/manual/index.md | 10 + .../manual/initial-deployment.md | 104 +++---- .../manual/migration/index.md | 14 + .../migration-to-autoconfiguration.md | 53 ++++ .../migration/migration-to-dynconfig.md | 32 ++ .../migration-to-manual-configuration.md | 38 +++ .../manual/migration/toc_p.yaml | 7 + .../deployment-options/manual/toc_p.yaml | 21 ++ .../core/devops/deployment-options/toc_p.yaml | 16 + ydb/docs/ru/core/devops/index.md | 17 +- ydb/docs/ru/core/devops/maintenance/index.md | 6 + .../maintenance-without-downtime.md | 0 .../ru/core/devops/maintenance/toc_p.yaml | 5 + .../devops/{manual => maintenance}/upgrade.md | 0 ydb/docs/ru/core/devops/manual/index.md | 13 - ydb/docs/ru/core/devops/manual/toc_p.yaml | 40 --- .../ru/core/devops/observability/index.md | 10 + .../{manual => observability}/logging.md | 0 .../{manual => observability}/monitoring.md | 0 .../{manual => observability}/system-views.md | 0 .../ru/core/devops/observability/toc_p.yaml | 9 + .../ru/core/devops/system-requirements.md | 2 +- ydb/docs/ru/core/devops/toc_p.yaml | 25 +- .../core/maintenance/manual/balancing_load.md | 2 +- .../maintenance/manual/cluster_expansion.md | 56 ++-- ydb/docs/ru/core/maintenance/manual/index.md | 4 +- .../ru/core/maintenance/manual/toc_i.yaml | 8 +- ydb/docs/ru/core/maintenance/toc_i.yaml | 20 -- .../ru/core/reference/configuration/index.md | 289 +++++++++++------- .../ru/core/reference/configuration/tls.md | 2 +- .../metrics/grafana-dashboards.md | 2 +- .../reference/observability/tracing/setup.md | 4 +- .../export-import/_includes/tools-dump.md | 2 +- ydb/docs/ru/core/reference/ydbops/index.md | 2 +- .../ydbops/rolling-restart-scenario.md | 2 +- ydb/docs/ru/core/security/audit-log.md | 2 +- ydb/docs/ru/core/security/authorization.md | 6 +- .../security/encryption/data-in-transit.md | 2 +- .../core/troubleshooting/performance/index.md | 4 +- 108 files changed, 2014 insertions(+), 1235 deletions(-) create mode 100644 ydb/deploy/yaml_config_examples/deprecated/block-4-2.yaml create mode 100644 ydb/deploy/yaml_config_examples/deprecated/mirror-3dc-3-nodes-in-memory.yaml create mode 100644 ydb/deploy/yaml_config_examples/deprecated/mirror-3dc-3-nodes.yaml create mode 100644 ydb/deploy/yaml_config_examples/deprecated/mirror-3dc-9-nodes.yaml create mode 100644 ydb/deploy/yaml_config_examples/deprecated/single-node-in-memory.yaml create mode 100644 ydb/deploy/yaml_config_examples/deprecated/single-node-with-file.yaml rename ydb/docs/ru/core/devops/{manual => }/_includes/backup_and_recovery/cli_overlay.md (100%) rename ydb/docs/ru/core/devops/{manual => }/_includes/backup_and_recovery/options_overlay.md (100%) rename ydb/docs/ru/core/devops/{manual => }/_includes/backup_and_recovery/others_overlay.md (100%) rename ydb/docs/ru/core/devops/{manual => }/backup-and-recovery.md (72%) rename ydb/docs/ru/core/{maintenance/manual => devops/configuration-management}/dynamic-config-selectors.md (100%) rename ydb/docs/ru/core/{maintenance/manual => devops/configuration-management}/dynamic-config-volatile-config.md (94%) create mode 100644 ydb/docs/ru/core/devops/configuration-management/toc_p.yaml rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/_assets/terraform/AiC_scheme.png (100%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/_includes/ansible-install-steps.md (100%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/_includes/repo-tree.md (100%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/_includes/terraform/aws.md (100%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/_includes/terraform/azure.md (100%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/_includes/terraform/gcp.md (100%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/_includes/terraform/yc.md (100%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/index.md (100%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/initial-deployment.md (88%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/observability/index.md (100%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/observability/logging.md (100%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/observability/toc_p.yaml (100%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/preparing-vms-with-terraform.md (96%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/restart.md (98%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/toc_p.yaml (100%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/update-config.md (89%) rename ydb/docs/ru/core/devops/{ => deployment-options}/ansible/update-executable.md (92%) create mode 100644 ydb/docs/ru/core/devops/deployment-options/index.md rename ydb/docs/ru/core/devops/{ => deployment-options}/kubernetes/index.md (100%) rename ydb/docs/ru/core/devops/{ => deployment-options}/kubernetes/initial-deployment.md (96%) rename ydb/docs/ru/core/devops/{ => deployment-options}/kubernetes/toc_p.yaml (100%) create mode 100644 ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/_includes/deprecated.md rename ydb/docs/ru/core/devops/{ => deployment-options/manual/before-v25.1}/_includes/fault-tolerance.md (72%) rename ydb/docs/ru/core/devops/{ => deployment-options/manual/before-v25.1}/_includes/warning-configuration-error.md (100%) create mode 100644 ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/cluster-expansion.md rename ydb/docs/ru/core/{maintenance/manual => devops/deployment-options/manual/before-v25.1/configuration-management}/_assets/config-chart-1.png (100%) rename ydb/docs/ru/core/{maintenance/manual => devops/deployment-options/manual/before-v25.1/configuration-management}/_assets/config-chart-2.png (100%) rename ydb/docs/ru/core/{maintenance/manual => devops/deployment-options/manual/before-v25.1/configuration-management}/change_actorsystem_configs.md (100%) rename ydb/docs/ru/core/{maintenance/manual => devops/deployment-options/manual/before-v25.1/configuration-management}/cms.md (100%) rename ydb/docs/ru/core/{maintenance/manual => devops/deployment-options/manual/before-v25.1/configuration-management}/config-overview.md (73%) rename ydb/docs/ru/core/{maintenance/manual => devops/deployment-options/manual/before-v25.1/configuration-management}/dynamic-config.md (79%) create mode 100644 ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/toc_p.yaml create mode 100644 ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/index.md rename ydb/docs/ru/core/devops/{manual => deployment-options/manual/before-v25.1}/state-storage-move.md (53%) rename ydb/docs/ru/core/devops/{manual => deployment-options/manual/before-v25.1}/static-group-move.md (67%) create mode 100644 ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/toc_p.yaml rename ydb/docs/ru/core/devops/{ => deployment-options}/manual/decommissioning.md (96%) rename ydb/docs/ru/core/devops/{ => deployment-options}/manual/federated-queries/_images/ydb_fq_onprem.png (100%) rename ydb/docs/ru/core/devops/{ => deployment-options}/manual/federated-queries/connector-deployment.md (95%) rename ydb/docs/ru/core/devops/{ => deployment-options}/manual/federated-queries/index.md (83%) rename ydb/docs/ru/core/devops/{ => deployment-options}/manual/federated-queries/toc_p.yaml (100%) create mode 100644 ydb/docs/ru/core/devops/deployment-options/manual/index.md rename ydb/docs/ru/core/devops/{ => deployment-options}/manual/initial-deployment.md (90%) create mode 100644 ydb/docs/ru/core/devops/deployment-options/manual/migration/index.md create mode 100644 ydb/docs/ru/core/devops/deployment-options/manual/migration/migration-to-autoconfiguration.md create mode 100644 ydb/docs/ru/core/devops/deployment-options/manual/migration/migration-to-dynconfig.md create mode 100644 ydb/docs/ru/core/devops/deployment-options/manual/migration/migration-to-manual-configuration.md create mode 100644 ydb/docs/ru/core/devops/deployment-options/manual/migration/toc_p.yaml create mode 100644 ydb/docs/ru/core/devops/deployment-options/manual/toc_p.yaml create mode 100644 ydb/docs/ru/core/devops/deployment-options/toc_p.yaml create mode 100644 ydb/docs/ru/core/devops/maintenance/index.md rename ydb/docs/ru/core/devops/{manual => maintenance}/maintenance-without-downtime.md (100%) create mode 100644 ydb/docs/ru/core/devops/maintenance/toc_p.yaml rename ydb/docs/ru/core/devops/{manual => maintenance}/upgrade.md (100%) delete mode 100644 ydb/docs/ru/core/devops/manual/index.md delete mode 100644 ydb/docs/ru/core/devops/manual/toc_p.yaml create mode 100644 ydb/docs/ru/core/devops/observability/index.md rename ydb/docs/ru/core/devops/{manual => observability}/logging.md (100%) rename ydb/docs/ru/core/devops/{manual => observability}/monitoring.md (100%) rename ydb/docs/ru/core/devops/{manual => observability}/system-views.md (100%) create mode 100644 ydb/docs/ru/core/devops/observability/toc_p.yaml diff --git a/ydb/deploy/yaml_config_examples/block-4-2.yaml b/ydb/deploy/yaml_config_examples/block-4-2.yaml index a3442b76b585..3632326af63f 100644 --- a/ydb/deploy/yaml_config_examples/block-4-2.yaml +++ b/ydb/deploy/yaml_config_examples/block-4-2.yaml @@ -1,185 +1,90 @@ # YDB configuration options and their values # are described in documentaion https://ydb.tech/en/docs/deploy/configuration/config -# static erasure is the parameter that -# describes the fault tolerance mode of the -# cluster. See docs for more details https://ydb.tech/en/docs/deploy/configuration/config#domains-blob -static_erasure: block-4-2 -host_configs: # the list of available host configurations in the cluster. -- drive: - - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 # path of the first disk in the host configration. - type: SSD # kind of the disk: available kinds are SSD, NVME or HDD - - path: /dev/disk/by-partlabel/ydb_disk_ssd_02 - type: SSD - host_config_id: 1 # the unique id of the host config -hosts: -- host: ydb-node-zone-a-1.local # storage node DNS name - host_config_id: 1 # numeric host configuration template identifier. - walle_location: # this parameter describes where host is located. - body: 1 # string representing a host serial number. - data_center: 'zone-a' # string representing the datacenter / availability zone where the host is located. - # if cluster is deployed using mirror-3-dc fault tolerance mode, all hosts must be distributed - # across 3 datacenters. - rack: '1' # string representing a rack identifier where the host is located. - # if cluster is deployed using block-4-2 erasure, all hosts should be distrubited - # accross at least 8 racks. -- host: ydb-node-zone-a-2.local - host_config_id: 1 - walle_location: - body: 2 - data_center: 'zone-a' - rack: '2' -- host: ydb-node-zone-a-3.local - host_config_id: 1 - walle_location: - body: 3 - data_center: 'zone-a' - rack: '3' +metadata: + kind: MainConfig + cluster: "" + version: 0 +config: + yaml_config_enabled: true + erasure: block-4-2 # erasue is the parameter that describes + # the fault tolerance mode of the cluster. + # See docs for more details https://ydb.tech/en/docs/deploy/configuration/config#domains-blob + fail_domain_type: disk + self_management_config: # automatic management of static resources (static group, state storage, etc) + enabled: true + default_disk_type: SSD # default disk type used for group creation of both kinds + host_configs: # the list of available host configurations in the cluster. + - drive: + - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 # path of the first disk in the host configration. + type: SSD # kind of the disk: available kinds are SSD, NVME or HDD + - path: /dev/disk/by-partlabel/ydb_disk_ssd_02 + type: SSD + host_config_id: 1 # the unique id of the host config + hosts: + - host: ydb-node-zone-a-1.local # storage node DNS name + host_config_id: 1 # numeric host configuration template identifier. + location: # this parameter describes where host is located. + body: 1 # string representing a host serial number. + data_center: 'zone-a' # string representing the datacenter / availability zone where the host is located. + # if cluster is deployed using mirror-3-dc fault tolerance mode, all hosts must be distributed + # across 3 datacenters. + rack: '1' # string representing a rack identifier where the host is located. + # if cluster is deployed using block-4-2 erasure, all hosts should be distrubited + # accross at least 8 racks. + - host: ydb-node-zone-a-2.local + host_config_id: 1 + location: + body: 2 + data_center: 'zone-a' + rack: '2' + - host: ydb-node-zone-a-3.local + host_config_id: 1 + location: + body: 3 + data_center: 'zone-a' + rack: '3' -- host: ydb-node-zone-a-4.local - host_config_id: 1 - walle_location: - body: 4 - data_center: 'zone-a' - rack: '4' -- host: ydb-node-zone-a-5.local - host_config_id: 1 - walle_location: - body: 5 - data_center: 'zone-a' - rack: '5' -- host: ydb-node-zone-a-6.local - host_config_id: 1 - walle_location: - body: 6 - data_center: 'zone-a' - rack: '6' + - host: ydb-node-zone-a-4.local + host_config_id: 1 + location: + body: 4 + data_center: 'zone-a' + rack: '4' + - host: ydb-node-zone-a-5.local + host_config_id: 1 + location: + body: 5 + data_center: 'zone-a' + rack: '5' + - host: ydb-node-zone-a-6.local + host_config_id: 1 + location: + body: 6 + data_center: 'zone-a' + rack: '6' -- host: ydb-node-zone-a-7.local - host_config_id: 1 - walle_location: - body: 7 - data_center: 'zone-a' - rack: '7' -- host: ydb-node-zone-a-8.local - host_config_id: 1 - walle_location: - body: 8 - data_center: 'zone-a' - rack: '8' - -domains_config: - domain: - # There can be only one root domain in a cluster. Domain name prefixes all scheme objects names, e.g. full name of a table table1 in database db1 - # in a cluster with domains_config.domain.name parameter set to Root would be equal to /Root/db1/table1 - - name: Root - storage_pool_types: - - kind: ssd - pool_config: - box_id: 1 - # fault tolerance mode name - none, block-4-2, or mirror-3-dc. - # See docs for more details https://ydb.tech/en/docs/deploy/configuration/config#domains-blob - erasure_species: block-4-2 - kind: ssd - pdisk_filter: - - property: - - type: SSD # device type to match host_configs.drive.type - vdisk_kind: Default - state_storage: - - ring: - node: [1, 2, 3, 4, 5, 6, 7, 8] - nto_select: 5 - ssid: 1 -table_service_config: - sql_version: 1 -actor_system_config: # the configuration of the actor system which descibes how cores of the instance are distributed - executor: # accross different types of workloads in the instance. - - name: System # system executor of the actor system. in this executor YDB launches system type of workloads, like system tablets - # and reads from storage. - threads: 2 # the number of threads allocated to system executor. - type: BASIC - - name: User # user executor of the actor system. In this executor YDB launches user workloads, like datashard activities, - # queries and rpc calls. - threads: 3 # the number of threads allocated to user executor. - type: BASIC - - name: Batch # user executor of the actor system. In this executor YDB launches batch operations, like scan queries, table - # compactions, background compactions. - threads: 2 # the number of threads allocated to the batch executor. - type: BASIC - - name: IO # the io executor. In this executor launches sync operations and writes logs. - threads: 1 - time_per_mailbox_micro_secs: 100 - type: IO - - name: IC # the interconnect executor which YDB uses for network communications accross different nodes of the cluster. - spin_threshold: 10 - threads: 1 # the number of threads allocated to the interconnect executor. - time_per_mailbox_micro_secs: 100 - type: BASIC - scheduler: - progress_threshold: 10000 - resolution: 256 - spin_threshold: 0 -blob_storage_config: # configuration of static blobstorage group. - # YDB uses this group to store system tablets' data, like SchemeShard - service_set: - groups: - - erasure_species: block-4-2 # fault tolerance mode name for the static group - rings: # in block-4-2 must have exactly 1 ring or availability zone. - - fail_domains: - - vdisk_locations: # fail domains of the static group describe where each vdisk of the static group should be located. - - node_id: "ydb-node-zone-a-1.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: "ydb-node-zone-a-2.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: "ydb-node-zone-a-3.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: "ydb-node-zone-a-4.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: "ydb-node-zone-a-5.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: "ydb-node-zone-a-6.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: "ydb-node-zone-a-7.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: "ydb-node-zone-a-8.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 -channel_profile_config: - profile: - - channel: - - erasure_species: block-4-2 - pdisk_category: 1 - storage_pool_kind: ssd - - erasure_species: block-4-2 - pdisk_category: 1 - storage_pool_kind: ssd - - erasure_species: block-4-2 - pdisk_category: 1 - storage_pool_kind: ssd - profile_id: 0 -interconnect_config: - start_tcp: true - encryption_mode: OPTIONAL - path_to_certificate_file: "/opt/ydb/certs/node.crt" - path_to_private_key_file: "/opt/ydb/certs/node.key" - path_to_ca_file: "/opt/ydb/certs/ca.crt" -grpc_config: - cert: "/opt/ydb/certs/node.crt" - key: "/opt/ydb/certs/node.key" - ca: "/opt/ydb/certs/ca.crt" - services_enabled: - - legacy + - host: ydb-node-zone-a-7.local + host_config_id: 1 + location: + body: 7 + data_center: 'zone-a' + rack: '7' + - host: ydb-node-zone-a-8.local + host_config_id: 1 + location: + body: 8 + data_center: 'zone-a' + rack: '8' + interconnect_config: + start_tcp: true + encryption_mode: OPTIONAL + path_to_certificate_file: "/opt/ydb/certs/node.crt" + path_to_private_key_file: "/opt/ydb/certs/node.key" + path_to_ca_file: "/opt/ydb/certs/ca.crt" + grpc_config: + cert: "/opt/ydb/certs/node.crt" + key: "/opt/ydb/certs/node.key" + ca: "/opt/ydb/certs/ca.crt" + services_enabled: + - legacy diff --git a/ydb/deploy/yaml_config_examples/deprecated/block-4-2.yaml b/ydb/deploy/yaml_config_examples/deprecated/block-4-2.yaml new file mode 100644 index 000000000000..a3442b76b585 --- /dev/null +++ b/ydb/deploy/yaml_config_examples/deprecated/block-4-2.yaml @@ -0,0 +1,185 @@ +# YDB configuration options and their values +# are described in documentaion https://ydb.tech/en/docs/deploy/configuration/config + +# static erasure is the parameter that +# describes the fault tolerance mode of the +# cluster. See docs for more details https://ydb.tech/en/docs/deploy/configuration/config#domains-blob +static_erasure: block-4-2 +host_configs: # the list of available host configurations in the cluster. +- drive: + - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 # path of the first disk in the host configration. + type: SSD # kind of the disk: available kinds are SSD, NVME or HDD + - path: /dev/disk/by-partlabel/ydb_disk_ssd_02 + type: SSD + host_config_id: 1 # the unique id of the host config +hosts: +- host: ydb-node-zone-a-1.local # storage node DNS name + host_config_id: 1 # numeric host configuration template identifier. + walle_location: # this parameter describes where host is located. + body: 1 # string representing a host serial number. + data_center: 'zone-a' # string representing the datacenter / availability zone where the host is located. + # if cluster is deployed using mirror-3-dc fault tolerance mode, all hosts must be distributed + # across 3 datacenters. + rack: '1' # string representing a rack identifier where the host is located. + # if cluster is deployed using block-4-2 erasure, all hosts should be distrubited + # accross at least 8 racks. +- host: ydb-node-zone-a-2.local + host_config_id: 1 + walle_location: + body: 2 + data_center: 'zone-a' + rack: '2' +- host: ydb-node-zone-a-3.local + host_config_id: 1 + walle_location: + body: 3 + data_center: 'zone-a' + rack: '3' + +- host: ydb-node-zone-a-4.local + host_config_id: 1 + walle_location: + body: 4 + data_center: 'zone-a' + rack: '4' +- host: ydb-node-zone-a-5.local + host_config_id: 1 + walle_location: + body: 5 + data_center: 'zone-a' + rack: '5' +- host: ydb-node-zone-a-6.local + host_config_id: 1 + walle_location: + body: 6 + data_center: 'zone-a' + rack: '6' + +- host: ydb-node-zone-a-7.local + host_config_id: 1 + walle_location: + body: 7 + data_center: 'zone-a' + rack: '7' +- host: ydb-node-zone-a-8.local + host_config_id: 1 + walle_location: + body: 8 + data_center: 'zone-a' + rack: '8' + +domains_config: + domain: + # There can be only one root domain in a cluster. Domain name prefixes all scheme objects names, e.g. full name of a table table1 in database db1 + # in a cluster with domains_config.domain.name parameter set to Root would be equal to /Root/db1/table1 + - name: Root + storage_pool_types: + - kind: ssd + pool_config: + box_id: 1 + # fault tolerance mode name - none, block-4-2, or mirror-3-dc. + # See docs for more details https://ydb.tech/en/docs/deploy/configuration/config#domains-blob + erasure_species: block-4-2 + kind: ssd + pdisk_filter: + - property: + - type: SSD # device type to match host_configs.drive.type + vdisk_kind: Default + state_storage: + - ring: + node: [1, 2, 3, 4, 5, 6, 7, 8] + nto_select: 5 + ssid: 1 +table_service_config: + sql_version: 1 +actor_system_config: # the configuration of the actor system which descibes how cores of the instance are distributed + executor: # accross different types of workloads in the instance. + - name: System # system executor of the actor system. in this executor YDB launches system type of workloads, like system tablets + # and reads from storage. + threads: 2 # the number of threads allocated to system executor. + type: BASIC + - name: User # user executor of the actor system. In this executor YDB launches user workloads, like datashard activities, + # queries and rpc calls. + threads: 3 # the number of threads allocated to user executor. + type: BASIC + - name: Batch # user executor of the actor system. In this executor YDB launches batch operations, like scan queries, table + # compactions, background compactions. + threads: 2 # the number of threads allocated to the batch executor. + type: BASIC + - name: IO # the io executor. In this executor launches sync operations and writes logs. + threads: 1 + time_per_mailbox_micro_secs: 100 + type: IO + - name: IC # the interconnect executor which YDB uses for network communications accross different nodes of the cluster. + spin_threshold: 10 + threads: 1 # the number of threads allocated to the interconnect executor. + time_per_mailbox_micro_secs: 100 + type: BASIC + scheduler: + progress_threshold: 10000 + resolution: 256 + spin_threshold: 0 +blob_storage_config: # configuration of static blobstorage group. + # YDB uses this group to store system tablets' data, like SchemeShard + service_set: + groups: + - erasure_species: block-4-2 # fault tolerance mode name for the static group + rings: # in block-4-2 must have exactly 1 ring or availability zone. + - fail_domains: + - vdisk_locations: # fail domains of the static group describe where each vdisk of the static group should be located. + - node_id: "ydb-node-zone-a-1.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: "ydb-node-zone-a-2.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: "ydb-node-zone-a-3.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: "ydb-node-zone-a-4.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: "ydb-node-zone-a-5.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: "ydb-node-zone-a-6.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: "ydb-node-zone-a-7.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: "ydb-node-zone-a-8.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 +channel_profile_config: + profile: + - channel: + - erasure_species: block-4-2 + pdisk_category: 1 + storage_pool_kind: ssd + - erasure_species: block-4-2 + pdisk_category: 1 + storage_pool_kind: ssd + - erasure_species: block-4-2 + pdisk_category: 1 + storage_pool_kind: ssd + profile_id: 0 +interconnect_config: + start_tcp: true + encryption_mode: OPTIONAL + path_to_certificate_file: "/opt/ydb/certs/node.crt" + path_to_private_key_file: "/opt/ydb/certs/node.key" + path_to_ca_file: "/opt/ydb/certs/ca.crt" +grpc_config: + cert: "/opt/ydb/certs/node.crt" + key: "/opt/ydb/certs/node.key" + ca: "/opt/ydb/certs/ca.crt" + services_enabled: + - legacy diff --git a/ydb/deploy/yaml_config_examples/deprecated/mirror-3dc-3-nodes-in-memory.yaml b/ydb/deploy/yaml_config_examples/deprecated/mirror-3dc-3-nodes-in-memory.yaml new file mode 100644 index 000000000000..a84b1a10262a --- /dev/null +++ b/ydb/deploy/yaml_config_examples/deprecated/mirror-3dc-3-nodes-in-memory.yaml @@ -0,0 +1,141 @@ +static_erasure: mirror-3-dc +host_configs: +- drive: + - path: SectorMap:1:64 + type: SSD + - path: SectorMap:2:64 + type: SSD + - path: SectorMap:3:64 + type: SSD + host_config_id: 1 +hosts: +- host: localhost + host_config_id: 1 + port: 19001 + walle_location: + body: 1 + data_center: '1' + rack: '1' +- host: localhost + host_config_id: 1 + port: 19002 + walle_location: + body: 2 + data_center: '2' + rack: '2' +- host: localhost + host_config_id: 1 + port: 19003 + walle_location: + body: 3 + data_center: '3' + rack: '3' +domains_config: + domain: + - name: Root + storage_pool_types: + - kind: ssd + pool_config: + box_id: 1 + erasure_species: mirror-3-dc + kind: ssd + geometry: + realm_level_begin: 10 + realm_level_end: 20 + domain_level_begin: 10 + domain_level_end: 256 + pdisk_filter: + - property: + - type: SSD + vdisk_kind: Default + state_storage: + - ring: + node: [1, 2, 3] + nto_select: 3 + ssid: 1 +table_service_config: + sql_version: 1 +actor_system_config: + executor: + - name: System + spin_threshold: 0 + threads: 2 + type: BASIC + - name: User + spin_threshold: 0 + threads: 3 + type: BASIC + - name: Batch + spin_threshold: 0 + threads: 2 + type: BASIC + - name: IO + threads: 1 + time_per_mailbox_micro_secs: 100 + type: IO + - name: IC + spin_threshold: 10 + threads: 1 + time_per_mailbox_micro_secs: 100 + type: BASIC + scheduler: + progress_threshold: 10000 + resolution: 256 + spin_threshold: 0 +blob_storage_config: + service_set: + groups: + - erasure_species: mirror-3-dc + rings: + - fail_domains: + - vdisk_locations: + - node_id: "localhost:19001" + pdisk_category: SSD + path: SectorMap:1:64 + - vdisk_locations: + - node_id: "localhost:19001" + pdisk_category: SSD + path: SectorMap:2:64 + - vdisk_locations: + - node_id: "localhost:19001" + pdisk_category: SSD + path: SectorMap:3:64 + - fail_domains: + - vdisk_locations: + - node_id: "localhost:19002" + pdisk_category: SSD + path: SectorMap:1:64 + - vdisk_locations: + - node_id: "localhost:19002" + pdisk_category: SSD + path: SectorMap:2:64 + - vdisk_locations: + - node_id: "localhost:19002" + pdisk_category: SSD + path: SectorMap:3:64 + - fail_domains: + - vdisk_locations: + - node_id: "localhost:19003" + pdisk_category: SSD + path: SectorMap:1:64 + - vdisk_locations: + - node_id: "localhost:19003" + pdisk_category: SSD + path: SectorMap:2:64 + - vdisk_locations: + - node_id: "localhost:19003" + pdisk_category: SSD + path: SectorMap:3:64 +channel_profile_config: + profile: + - channel: + - erasure_species: mirror-3-dc + pdisk_category: 1 + storage_pool_kind: ssd + - erasure_species: mirror-3-dc + pdisk_category: 1 + storage_pool_kind: ssd + - erasure_species: mirror-3-dc + pdisk_category: 1 + storage_pool_kind: ssd + profile_id: 0 diff --git a/ydb/deploy/yaml_config_examples/deprecated/mirror-3dc-3-nodes.yaml b/ydb/deploy/yaml_config_examples/deprecated/mirror-3dc-3-nodes.yaml new file mode 100644 index 000000000000..c5f0757f7fac --- /dev/null +++ b/ydb/deploy/yaml_config_examples/deprecated/mirror-3dc-3-nodes.yaml @@ -0,0 +1,165 @@ +# YDB configuration options and their values +# are described in documentaion https://ydb.tech/en/docs/deploy/configuration/config + +# static erasure is the parameter that +# describes the fault tolerance mode of the +# cluster. See docs for more details https://ydb.tech/en/docs/deploy/configuration/config#domains-blob +static_erasure: mirror-3-dc +host_configs: # the list of available host configurations in the cluster. +- drive: + - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 # path of the first disk in the host configration. + type: SSD # kind of the disk: available kinds are SSD, NVME, HDD + - path: /dev/disk/by-partlabel/ydb_disk_ssd_02 + type: SSD + - path: /dev/disk/by-partlabel/ydb_disk_ssd_03 + type: SSD + host_config_id: 1 +hosts: +- host: ydb-node-zone-a.local # storage node DNS name + host_config_id: 1 # numeric host configuration template identifier + walle_location: # this parameter describes where host is located. + body: 1 # string representing a host serial number. + data_center: 'zone-a' # string representing the datacenter / availability zone where the host is located. + # if cluster is deployed using mirror-3-dc fault tolerance mode, all hosts must be distributed + # across 3 datacenters. + rack: '1' # string representing a rack identifier where the host is located. + # if cluster is deployed using block-4-2 erasure, all hosts should be distrubited + # accross at least 8 racks. +- host: ydb-node-zone-b.local + host_config_id: 1 + walle_location: + body: 2 + data_center: 'zone-b' + rack: '2' +- host: ydb-node-zone-c.local + host_config_id: 1 + walle_location: + body: 3 + data_center: 'zone-c' + rack: '3' +domains_config: + # There can be only one root domain in a cluster. Domain name prefixes all scheme objects names, e.g. full name of a table table1 in database db1. + # in a cluster with domains_config.domain.name parameter set to Root would be equal to /Root/db1/table1 + domain: + - name: Root + storage_pool_types: + - kind: ssd + pool_config: + box_id: 1 + # fault tolerance mode name - none, block-4-2, or mirror-3-dc.. + # See docs for more details https://ydb.tech/en/docs/deploy/configuration/config#domains-blob + erasure_species: mirror-3-dc + kind: ssd + geometry: + realm_level_begin: 10 + realm_level_end: 20 + domain_level_begin: 10 + domain_level_end: 256 + pdisk_filter: + - property: + - type: SSD # device type to match host_configs.drive.type + vdisk_kind: Default + state_storage: + - ring: + node: [1, 2, 3] + nto_select: 3 + ssid: 1 +table_service_config: + sql_version: 1 +actor_system_config: # the configuration of the actor system which descibes how cores of the instance are distributed + executor: # accross different types of workloads in the instance. + - name: System # system executor of the actor system. in this executor YDB launches system type of workloads, like system tablets + # and reads from storage. + threads: 2 # the number of threads allocated to system executor. + type: BASIC + - name: User # user executor of the actor system. In this executor YDB launches user workloads, like datashard activities, + # queries and rpc calls. + threads: 3 # the number of threads allocated to user executor. + type: BASIC + - name: Batch # user executor of the actor system. In this executor YDB launches batch operations, like scan queries, table + # compactions, background compactions. + threads: 2 # the number of threads allocated to the batch executor. + type: BASIC + - name: IO # the io executor. In this executor launches sync operations and writes logs. + threads: 1 + time_per_mailbox_micro_secs: 100 + type: IO + - name: IC # the interconnect executor which YDB uses for network communications accross different nodes of the cluster. + spin_threshold: 10 + threads: 1 # the number of threads allocated to the interconnect executor. + time_per_mailbox_micro_secs: 100 + type: BASIC + scheduler: + progress_threshold: 10000 + resolution: 256 + spin_threshold: 0 +blob_storage_config: # configuration of static blobstorage group. + # YDB uses this group to store system tablets' data, like SchemeShard + service_set: + groups: + - erasure_species: mirror-3-dc # fault tolerance mode name for the static group + rings: # in mirror-3-dc must have exactly 3 rings or availability zones + - fail_domains: # first record: fail domains of the static group describe where each vdisk of the static group should be located. + - vdisk_locations: + - node_id: ydb-node-zone-a.local + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: ydb-node-zone-a.local + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_02 + - vdisk_locations: + - node_id: ydb-node-zone-a.local + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_03 + - fail_domains: # second ring: fail domains of the static group describe where each vdisk of the static group should be located. + - vdisk_locations: + - node_id: ydb-node-zone-b.local + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: ydb-node-zone-b.local + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_02 + - vdisk_locations: + - node_id: ydb-node-zone-b.local + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_03 + - fail_domains: # third ring: fail domains of the static group describe where each vdisk of the static group should be located. + - vdisk_locations: + - node_id: ydb-node-zone-c.local + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: ydb-node-zone-c.local + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_02 + - vdisk_locations: + - node_id: ydb-node-zone-c.local + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_03 +channel_profile_config: + profile: + - channel: + - erasure_species: mirror-3-dc + pdisk_category: 0 + storage_pool_kind: ssd + - erasure_species: mirror-3-dc + pdisk_category: 0 + storage_pool_kind: ssd + - erasure_species: mirror-3-dc + pdisk_category: 0 + storage_pool_kind: ssd + profile_id: 0 +interconnect_config: + start_tcp: true + encryption_mode: OPTIONAL + path_to_certificate_file: "/opt/ydb/certs/node.crt" + path_to_private_key_file: "/opt/ydb/certs/node.key" + path_to_ca_file: "/opt/ydb/certs/ca.crt" +grpc_config: + cert: "/opt/ydb/certs/node.crt" + key: "/opt/ydb/certs/node.key" + ca: "/opt/ydb/certs/ca.crt" + services_enabled: + - legacy diff --git a/ydb/deploy/yaml_config_examples/deprecated/mirror-3dc-9-nodes.yaml b/ydb/deploy/yaml_config_examples/deprecated/mirror-3dc-9-nodes.yaml new file mode 100644 index 000000000000..ccb58cd2581e --- /dev/null +++ b/ydb/deploy/yaml_config_examples/deprecated/mirror-3dc-9-nodes.yaml @@ -0,0 +1,182 @@ +static_erasure: mirror-3-dc +host_configs: +- drive: + - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + type: SSD + - path: /dev/disk/by-partlabel/ydb_disk_ssd_02 + type: SSD + host_config_id: 1 +hosts: +- host: ydb-node-zone-a-1.local + host_config_id: 1 + walle_location: + body: 1 + data_center: 'zone-a' + rack: '1' +- host: ydb-node-zone-a-2.local + host_config_id: 1 + walle_location: + body: 2 + data_center: 'zone-a' + rack: '2' +- host: ydb-node-zone-a-3.local + host_config_id: 1 + walle_location: + body: 3 + data_center: 'zone-a' + rack: '3' + +- host: ydb-node-zone-b-1.local + host_config_id: 1 + walle_location: + body: 4 + data_center: 'zone-b' + rack: '4' +- host: ydb-node-zone-b-2.local + host_config_id: 1 + walle_location: + body: 5 + data_center: 'zone-b' + rack: '5' +- host: ydb-node-zone-b-3.local + host_config_id: 1 + walle_location: + body: 6 + data_center: 'zone-b' + rack: '6' + +- host: ydb-node-zone-c-1.local + host_config_id: 1 + walle_location: + body: 7 + data_center: 'zone-c' + rack: '7' +- host: ydb-node-zone-c-2.local + host_config_id: 1 + walle_location: + body: 8 + data_center: 'zone-c' + rack: '8' +- host: ydb-node-zone-c-3.local + host_config_id: 1 + walle_location: + body: 9 + data_center: 'zone-c' + rack: '9' + +domains_config: + domain: + - name: Root + storage_pool_types: + - kind: ssd + pool_config: + box_id: 1 + erasure_species: mirror-3-dc + kind: ssd + pdisk_filter: + - property: + - type: SSD + vdisk_kind: Default + state_storage: + - ring: + node: [1, 2, 3, 4, 5, 6, 7, 8, 9] + nto_select: 9 + ssid: 1 +table_service_config: + sql_version: 1 +actor_system_config: + executor: + - name: System + spin_threshold: 0 + threads: 2 + type: BASIC + - name: User + spin_threshold: 0 + threads: 3 + type: BASIC + - name: Batch + spin_threshold: 0 + threads: 2 + type: BASIC + - name: IO + threads: 1 + time_per_mailbox_micro_secs: 100 + type: IO + - name: IC + spin_threshold: 10 + threads: 1 + time_per_mailbox_micro_secs: 100 + type: BASIC + scheduler: + progress_threshold: 10000 + resolution: 256 + spin_threshold: 0 +blob_storage_config: + service_set: + groups: + - erasure_species: mirror-3-dc + rings: + - fail_domains: + - vdisk_locations: + - node_id: "ydb-node-zone-a-1.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: "ydb-node-zone-a-2.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: "ydb-node-zone-a-3.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - fail_domains: + - vdisk_locations: + - node_id: "ydb-node-zone-b-1.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: "ydb-node-zone-b-2.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: "ydb-node-zone-b-3.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - fail_domains: + - vdisk_locations: + - node_id: "ydb-node-zone-c-1.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: "ydb-node-zone-c-2.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + - vdisk_locations: + - node_id: "ydb-node-zone-c-3.local" + pdisk_category: SSD + path: /dev/disk/by-partlabel/ydb_disk_ssd_01 +channel_profile_config: + profile: + - channel: + - erasure_species: mirror-3-dc + pdisk_category: 1 + storage_pool_kind: ssd + - erasure_species: mirror-3-dc + pdisk_category: 1 + storage_pool_kind: ssd + - erasure_species: mirror-3-dc + pdisk_category: 1 + storage_pool_kind: ssd + profile_id: 0 +interconnect_config: + start_tcp: true + encryption_mode: OPTIONAL + path_to_certificate_file: "/opt/ydb/certs/node.crt" + path_to_private_key_file: "/opt/ydb/certs/node.key" + path_to_ca_file: "/opt/ydb/certs/ca.crt" +grpc_config: + cert: "/opt/ydb/certs/node.crt" + key: "/opt/ydb/certs/node.key" + ca: "/opt/ydb/certs/ca.crt" + services_enabled: + - legacy diff --git a/ydb/deploy/yaml_config_examples/deprecated/single-node-in-memory.yaml b/ydb/deploy/yaml_config_examples/deprecated/single-node-in-memory.yaml new file mode 100644 index 000000000000..539c7c02884d --- /dev/null +++ b/ydb/deploy/yaml_config_examples/deprecated/single-node-in-memory.yaml @@ -0,0 +1,85 @@ +static_erasure: none +host_configs: +- drive: + - path: SectorMap:1:64 + type: SSD + host_config_id: 1 +hosts: +- host: localhost + host_config_id: 1 + port: 19001 + walle_location: + body: 1 + data_center: '1' + rack: '1' +domains_config: + domain: + - name: Root + storage_pool_types: + - kind: ssd + pool_config: + box_id: 1 + erasure_species: none + kind: ssd + pdisk_filter: + - property: + - type: SSD + vdisk_kind: Default + state_storage: + - ring: + node: + - 1 + nto_select: 1 + ssid: 1 +table_service_config: + sql_version: 1 +actor_system_config: + executor: + - name: System + spin_threshold: 0 + threads: 2 + type: BASIC + - name: User + spin_threshold: 0 + threads: 3 + type: BASIC + - name: Batch + spin_threshold: 0 + threads: 2 + type: BASIC + - name: IO + threads: 1 + time_per_mailbox_micro_secs: 100 + type: IO + - name: IC + spin_threshold: 10 + threads: 1 + time_per_mailbox_micro_secs: 100 + type: BASIC + scheduler: + progress_threshold: 10000 + resolution: 256 + spin_threshold: 0 +blob_storage_config: + service_set: + groups: + - erasure_species: none + rings: + - fail_domains: + - vdisk_locations: + - node_id: 1 + path: SectorMap:1:64 + pdisk_category: SSD +channel_profile_config: + profile: + - channel: + - erasure_species: none + pdisk_category: 1 + storage_pool_kind: ssd + - erasure_species: none + pdisk_category: 1 + storage_pool_kind: ssd + - erasure_species: none + pdisk_category: 1 + storage_pool_kind: ssd + profile_id: 0 diff --git a/ydb/deploy/yaml_config_examples/deprecated/single-node-with-file.yaml b/ydb/deploy/yaml_config_examples/deprecated/single-node-with-file.yaml new file mode 100644 index 000000000000..b5be946fc8f2 --- /dev/null +++ b/ydb/deploy/yaml_config_examples/deprecated/single-node-with-file.yaml @@ -0,0 +1,85 @@ +static_erasure: none +host_configs: +- drive: + - path: /tmp/pdisk.data + type: SSD + host_config_id: 1 +hosts: +- host: localhost + host_config_id: 1 + port: 19001 + walle_location: + body: 1 + data_center: '1' + rack: '1' +domains_config: + domain: + - name: Root + storage_pool_types: + - kind: ssd + pool_config: + box_id: 1 + erasure_species: none + kind: ssd + pdisk_filter: + - property: + - type: SSD + vdisk_kind: Default + state_storage: + - ring: + node: + - 1 + nto_select: 1 + ssid: 1 +table_service_config: + sql_version: 1 +actor_system_config: + executor: + - name: System + spin_threshold: 0 + threads: 2 + type: BASIC + - name: User + spin_threshold: 0 + threads: 3 + type: BASIC + - name: Batch + spin_threshold: 0 + threads: 2 + type: BASIC + - name: IO + threads: 1 + time_per_mailbox_micro_secs: 100 + type: IO + - name: IC + spin_threshold: 10 + threads: 1 + time_per_mailbox_micro_secs: 100 + type: BASIC + scheduler: + progress_threshold: 10000 + resolution: 256 + spin_threshold: 0 +blob_storage_config: + service_set: + groups: + - erasure_species: none + rings: + - fail_domains: + - vdisk_locations: + - node_id: 1 + path: /tmp/pdisk.data + pdisk_category: SSD +channel_profile_config: + profile: + - channel: + - erasure_species: none + pdisk_category: 0 + storage_pool_kind: ssd + - erasure_species: none + pdisk_category: 0 + storage_pool_kind: ssd + - erasure_species: none + pdisk_category: 0 + storage_pool_kind: ssd + profile_id: 0 diff --git a/ydb/deploy/yaml_config_examples/mirror-3dc-3-nodes-in-memory.yaml b/ydb/deploy/yaml_config_examples/mirror-3dc-3-nodes-in-memory.yaml index a84b1a10262a..4bf4bb21f106 100644 --- a/ydb/deploy/yaml_config_examples/mirror-3dc-3-nodes-in-memory.yaml +++ b/ydb/deploy/yaml_config_examples/mirror-3dc-3-nodes-in-memory.yaml @@ -1,141 +1,47 @@ -static_erasure: mirror-3-dc -host_configs: -- drive: - - path: SectorMap:1:64 - type: SSD - - path: SectorMap:2:64 - type: SSD - - path: SectorMap:3:64 - type: SSD - host_config_id: 1 -hosts: -- host: localhost - host_config_id: 1 - port: 19001 - walle_location: - body: 1 - data_center: '1' - rack: '1' -- host: localhost - host_config_id: 1 - port: 19002 - walle_location: - body: 2 - data_center: '2' - rack: '2' -- host: localhost - host_config_id: 1 - port: 19003 - walle_location: - body: 3 - data_center: '3' - rack: '3' -domains_config: - domain: - - name: Root - storage_pool_types: - - kind: ssd - pool_config: - box_id: 1 - erasure_species: mirror-3-dc - kind: ssd - geometry: - realm_level_begin: 10 - realm_level_end: 20 - domain_level_begin: 10 - domain_level_end: 256 - pdisk_filter: - - property: - - type: SSD - vdisk_kind: Default - state_storage: - - ring: - node: [1, 2, 3] - nto_select: 3 - ssid: 1 -table_service_config: - sql_version: 1 -actor_system_config: - executor: - - name: System - spin_threshold: 0 - threads: 2 - type: BASIC - - name: User - spin_threshold: 0 - threads: 3 - type: BASIC - - name: Batch - spin_threshold: 0 - threads: 2 - type: BASIC - - name: IO - threads: 1 - time_per_mailbox_micro_secs: 100 - type: IO - - name: IC - spin_threshold: 10 - threads: 1 - time_per_mailbox_micro_secs: 100 - type: BASIC - scheduler: - progress_threshold: 10000 - resolution: 256 - spin_threshold: 0 -blob_storage_config: - service_set: - groups: - - erasure_species: mirror-3-dc - rings: - - fail_domains: - - vdisk_locations: - - node_id: "localhost:19001" - pdisk_category: SSD - path: SectorMap:1:64 - - vdisk_locations: - - node_id: "localhost:19001" - pdisk_category: SSD - path: SectorMap:2:64 - - vdisk_locations: - - node_id: "localhost:19001" - pdisk_category: SSD - path: SectorMap:3:64 - - fail_domains: - - vdisk_locations: - - node_id: "localhost:19002" - pdisk_category: SSD - path: SectorMap:1:64 - - vdisk_locations: - - node_id: "localhost:19002" - pdisk_category: SSD - path: SectorMap:2:64 - - vdisk_locations: - - node_id: "localhost:19002" - pdisk_category: SSD - path: SectorMap:3:64 - - fail_domains: - - vdisk_locations: - - node_id: "localhost:19003" - pdisk_category: SSD - path: SectorMap:1:64 - - vdisk_locations: - - node_id: "localhost:19003" - pdisk_category: SSD - path: SectorMap:2:64 - - vdisk_locations: - - node_id: "localhost:19003" - pdisk_category: SSD - path: SectorMap:3:64 -channel_profile_config: - profile: - - channel: - - erasure_species: mirror-3-dc - pdisk_category: 1 - storage_pool_kind: ssd - - erasure_species: mirror-3-dc - pdisk_category: 1 - storage_pool_kind: ssd - - erasure_species: mirror-3-dc - pdisk_category: 1 - storage_pool_kind: ssd - profile_id: 0 +metadata: + kind: MainConfig + cluster: "" + version: 0 +config: + yaml_config_enabled: true + erasure: mirror-3-dc + fail_domain_type: disk + self_management_config: + enabled: true + default_disk_type: SSD + host_configs: + - drive: + - path: SectorMap:1:64 + type: SSD + - path: SectorMap:2:64 + type: SSD + - path: SectorMap:3:64 + type: SSD + host_config_id: 1 + hosts: + - host: localhost + host_config_id: 1 + port: 19001 + location: + body: 1 + data_center: '1' + rack: '1' + - host: localhost + host_config_id: 1 + port: 19002 + location: + body: 2 + data_center: '2' + rack: '2' + - host: localhost + host_config_id: 1 + port: 19003 + location: + body: 3 + data_center: '3' + rack: '3' + table_service_config: + sql_version: 1 + actor_system_config: + use_auto_config: true + cpu_count: 8 diff --git a/ydb/deploy/yaml_config_examples/mirror-3dc-3-nodes.yaml b/ydb/deploy/yaml_config_examples/mirror-3dc-3-nodes.yaml index c5f0757f7fac..8db093ba781b 100644 --- a/ydb/deploy/yaml_config_examples/mirror-3dc-3-nodes.yaml +++ b/ydb/deploy/yaml_config_examples/mirror-3dc-3-nodes.yaml @@ -1,12 +1,21 @@ # YDB configuration options and their values # are described in documentaion https://ydb.tech/en/docs/deploy/configuration/config -# static erasure is the parameter that -# describes the fault tolerance mode of the -# cluster. See docs for more details https://ydb.tech/en/docs/deploy/configuration/config#domains-blob -static_erasure: mirror-3-dc -host_configs: # the list of available host configurations in the cluster. -- drive: +metadata: + kind: MainConfig + cluster: "" + version: 0 +config: + yaml_config_enabled: true + erasure: mirror-3-dc # erasue is the parameter that describes + # the fault tolerance mode of the cluster. + # See docs for more details https://ydb.tech/en/docs/deploy/configuration/config#domains-blob + fail_domain_type: disk + self_management_config: # automatic management of static resources (static group, state storage, etc) + enabled: true + default_disk_type: SSD # default disk type used for group creation of both kinds + host_configs: # the list of available host configurations in the cluster. + - drive: - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 # path of the first disk in the host configration. type: SSD # kind of the disk: available kinds are SSD, NVME, HDD - path: /dev/disk/by-partlabel/ydb_disk_ssd_02 @@ -14,152 +23,43 @@ host_configs: # the list of available host configurations in the cluster. - path: /dev/disk/by-partlabel/ydb_disk_ssd_03 type: SSD host_config_id: 1 -hosts: -- host: ydb-node-zone-a.local # storage node DNS name - host_config_id: 1 # numeric host configuration template identifier - walle_location: # this parameter describes where host is located. - body: 1 # string representing a host serial number. - data_center: 'zone-a' # string representing the datacenter / availability zone where the host is located. - # if cluster is deployed using mirror-3-dc fault tolerance mode, all hosts must be distributed - # across 3 datacenters. - rack: '1' # string representing a rack identifier where the host is located. - # if cluster is deployed using block-4-2 erasure, all hosts should be distrubited - # accross at least 8 racks. -- host: ydb-node-zone-b.local - host_config_id: 1 - walle_location: - body: 2 - data_center: 'zone-b' - rack: '2' -- host: ydb-node-zone-c.local - host_config_id: 1 - walle_location: - body: 3 - data_center: 'zone-c' - rack: '3' -domains_config: - # There can be only one root domain in a cluster. Domain name prefixes all scheme objects names, e.g. full name of a table table1 in database db1. - # in a cluster with domains_config.domain.name parameter set to Root would be equal to /Root/db1/table1 - domain: - - name: Root - storage_pool_types: - - kind: ssd - pool_config: - box_id: 1 - # fault tolerance mode name - none, block-4-2, or mirror-3-dc.. - # See docs for more details https://ydb.tech/en/docs/deploy/configuration/config#domains-blob - erasure_species: mirror-3-dc - kind: ssd - geometry: - realm_level_begin: 10 - realm_level_end: 20 - domain_level_begin: 10 - domain_level_end: 256 - pdisk_filter: - - property: - - type: SSD # device type to match host_configs.drive.type - vdisk_kind: Default - state_storage: - - ring: - node: [1, 2, 3] - nto_select: 3 - ssid: 1 -table_service_config: - sql_version: 1 -actor_system_config: # the configuration of the actor system which descibes how cores of the instance are distributed - executor: # accross different types of workloads in the instance. - - name: System # system executor of the actor system. in this executor YDB launches system type of workloads, like system tablets - # and reads from storage. - threads: 2 # the number of threads allocated to system executor. - type: BASIC - - name: User # user executor of the actor system. In this executor YDB launches user workloads, like datashard activities, - # queries and rpc calls. - threads: 3 # the number of threads allocated to user executor. - type: BASIC - - name: Batch # user executor of the actor system. In this executor YDB launches batch operations, like scan queries, table - # compactions, background compactions. - threads: 2 # the number of threads allocated to the batch executor. - type: BASIC - - name: IO # the io executor. In this executor launches sync operations and writes logs. - threads: 1 - time_per_mailbox_micro_secs: 100 - type: IO - - name: IC # the interconnect executor which YDB uses for network communications accross different nodes of the cluster. - spin_threshold: 10 - threads: 1 # the number of threads allocated to the interconnect executor. - time_per_mailbox_micro_secs: 100 - type: BASIC - scheduler: - progress_threshold: 10000 - resolution: 256 - spin_threshold: 0 -blob_storage_config: # configuration of static blobstorage group. - # YDB uses this group to store system tablets' data, like SchemeShard - service_set: - groups: - - erasure_species: mirror-3-dc # fault tolerance mode name for the static group - rings: # in mirror-3-dc must have exactly 3 rings or availability zones - - fail_domains: # first record: fail domains of the static group describe where each vdisk of the static group should be located. - - vdisk_locations: - - node_id: ydb-node-zone-a.local - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: ydb-node-zone-a.local - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_02 - - vdisk_locations: - - node_id: ydb-node-zone-a.local - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_03 - - fail_domains: # second ring: fail domains of the static group describe where each vdisk of the static group should be located. - - vdisk_locations: - - node_id: ydb-node-zone-b.local - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: ydb-node-zone-b.local - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_02 - - vdisk_locations: - - node_id: ydb-node-zone-b.local - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_03 - - fail_domains: # third ring: fail domains of the static group describe where each vdisk of the static group should be located. - - vdisk_locations: - - node_id: ydb-node-zone-c.local - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: ydb-node-zone-c.local - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_02 - - vdisk_locations: - - node_id: ydb-node-zone-c.local - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_03 -channel_profile_config: - profile: - - channel: - - erasure_species: mirror-3-dc - pdisk_category: 0 - storage_pool_kind: ssd - - erasure_species: mirror-3-dc - pdisk_category: 0 - storage_pool_kind: ssd - - erasure_species: mirror-3-dc - pdisk_category: 0 - storage_pool_kind: ssd - profile_id: 0 -interconnect_config: - start_tcp: true - encryption_mode: OPTIONAL - path_to_certificate_file: "/opt/ydb/certs/node.crt" - path_to_private_key_file: "/opt/ydb/certs/node.key" - path_to_ca_file: "/opt/ydb/certs/ca.crt" -grpc_config: - cert: "/opt/ydb/certs/node.crt" - key: "/opt/ydb/certs/node.key" - ca: "/opt/ydb/certs/ca.crt" - services_enabled: - - legacy + hosts: + - host: ydb-node-zone-a.local # storage node DNS name + host_config_id: 1 # numeric host configuration template identifier + location: # this parameter describes where host is located. + body: 1 # string representing a host serial number. + data_center: 'zone-a' # string representing the datacenter / availability zone where the host is located. + # if cluster is deployed using mirror-3-dc fault tolerance mode, all hosts must be distributed + # across 3 datacenters. + rack: '1' # string representing a rack identifier where the host is located. + # if cluster is deployed using block-4-2 erasure, all hosts should be distrubited + # accross at least 8 racks. + - host: ydb-node-zone-b.local + host_config_id: 1 + location: + body: 2 + data_center: 'zone-b' + rack: '2' + - host: ydb-node-zone-c.local + host_config_id: 1 + location: + body: 3 + data_center: 'zone-c' + rack: '3' + table_service_config: + sql_version: 1 + actor_system_config: # the configuration of the actor system which descibes how cores of the instance are distributed + use_auto_config: true # accross different types of workloads in the instance. + cpu_count: 8 + interconnect_config: + start_tcp: true + encryption_mode: OPTIONAL + path_to_certificate_file: "/opt/ydb/certs/node.crt" + path_to_private_key_file: "/opt/ydb/certs/node.key" + path_to_ca_file: "/opt/ydb/certs/ca.crt" + grpc_config: + cert: "/opt/ydb/certs/node.crt" + key: "/opt/ydb/certs/node.key" + ca: "/opt/ydb/certs/ca.crt" + services_enabled: + - legacy diff --git a/ydb/deploy/yaml_config_examples/mirror-3dc-9-nodes.yaml b/ydb/deploy/yaml_config_examples/mirror-3dc-9-nodes.yaml index ccb58cd2581e..17a2f8a9dcdd 100644 --- a/ydb/deploy/yaml_config_examples/mirror-3dc-9-nodes.yaml +++ b/ydb/deploy/yaml_config_examples/mirror-3dc-9-nodes.yaml @@ -1,182 +1,92 @@ -static_erasure: mirror-3-dc -host_configs: -- drive: - - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - type: SSD - - path: /dev/disk/by-partlabel/ydb_disk_ssd_02 - type: SSD - host_config_id: 1 -hosts: -- host: ydb-node-zone-a-1.local - host_config_id: 1 - walle_location: - body: 1 - data_center: 'zone-a' - rack: '1' -- host: ydb-node-zone-a-2.local - host_config_id: 1 - walle_location: - body: 2 - data_center: 'zone-a' - rack: '2' -- host: ydb-node-zone-a-3.local - host_config_id: 1 - walle_location: - body: 3 - data_center: 'zone-a' - rack: '3' +metadata: + kind: MainConfig + cluster: "" + version: 0 +config: + yaml_config_enabled: true + erasure: mirror-3-dc + fail_domain_type: rack + self_management_config: + enabled: true + default_disk_type: SSD + host_configs: + - drive: + - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 + type: SSD + - path: /dev/disk/by-partlabel/ydb_disk_ssd_02 + type: SSD + host_config_id: 1 + hosts: + - host: ydb-node-zone-a-1.local + host_config_id: 1 + location: + body: 1 + data_center: 'zone-a' + rack: '1' + - host: ydb-node-zone-a-2.local + host_config_id: 1 + location: + body: 2 + data_center: 'zone-a' + rack: '2' + - host: ydb-node-zone-a-3.local + host_config_id: 1 + location: + body: 3 + data_center: 'zone-a' + rack: '3' -- host: ydb-node-zone-b-1.local - host_config_id: 1 - walle_location: - body: 4 - data_center: 'zone-b' - rack: '4' -- host: ydb-node-zone-b-2.local - host_config_id: 1 - walle_location: - body: 5 - data_center: 'zone-b' - rack: '5' -- host: ydb-node-zone-b-3.local - host_config_id: 1 - walle_location: - body: 6 - data_center: 'zone-b' - rack: '6' + - host: ydb-node-zone-b-1.local + host_config_id: 1 + location: + body: 4 + data_center: 'zone-b' + rack: '4' + - host: ydb-node-zone-b-2.local + host_config_id: 1 + location: + body: 5 + data_center: 'zone-b' + rack: '5' + - host: ydb-node-zone-b-3.local + host_config_id: 1 + location: + body: 6 + data_center: 'zone-b' + rack: '6' -- host: ydb-node-zone-c-1.local - host_config_id: 1 - walle_location: - body: 7 - data_center: 'zone-c' - rack: '7' -- host: ydb-node-zone-c-2.local - host_config_id: 1 - walle_location: - body: 8 - data_center: 'zone-c' - rack: '8' -- host: ydb-node-zone-c-3.local - host_config_id: 1 - walle_location: - body: 9 - data_center: 'zone-c' - rack: '9' - -domains_config: - domain: - - name: Root - storage_pool_types: - - kind: ssd - pool_config: - box_id: 1 - erasure_species: mirror-3-dc - kind: ssd - pdisk_filter: - - property: - - type: SSD - vdisk_kind: Default - state_storage: - - ring: - node: [1, 2, 3, 4, 5, 6, 7, 8, 9] - nto_select: 9 - ssid: 1 -table_service_config: - sql_version: 1 -actor_system_config: - executor: - - name: System - spin_threshold: 0 - threads: 2 - type: BASIC - - name: User - spin_threshold: 0 - threads: 3 - type: BASIC - - name: Batch - spin_threshold: 0 - threads: 2 - type: BASIC - - name: IO - threads: 1 - time_per_mailbox_micro_secs: 100 - type: IO - - name: IC - spin_threshold: 10 - threads: 1 - time_per_mailbox_micro_secs: 100 - type: BASIC - scheduler: - progress_threshold: 10000 - resolution: 256 - spin_threshold: 0 -blob_storage_config: - service_set: - groups: - - erasure_species: mirror-3-dc - rings: - - fail_domains: - - vdisk_locations: - - node_id: "ydb-node-zone-a-1.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: "ydb-node-zone-a-2.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: "ydb-node-zone-a-3.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - fail_domains: - - vdisk_locations: - - node_id: "ydb-node-zone-b-1.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: "ydb-node-zone-b-2.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: "ydb-node-zone-b-3.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - fail_domains: - - vdisk_locations: - - node_id: "ydb-node-zone-c-1.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: "ydb-node-zone-c-2.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 - - vdisk_locations: - - node_id: "ydb-node-zone-c-3.local" - pdisk_category: SSD - path: /dev/disk/by-partlabel/ydb_disk_ssd_01 -channel_profile_config: - profile: - - channel: - - erasure_species: mirror-3-dc - pdisk_category: 1 - storage_pool_kind: ssd - - erasure_species: mirror-3-dc - pdisk_category: 1 - storage_pool_kind: ssd - - erasure_species: mirror-3-dc - pdisk_category: 1 - storage_pool_kind: ssd - profile_id: 0 -interconnect_config: - start_tcp: true - encryption_mode: OPTIONAL - path_to_certificate_file: "/opt/ydb/certs/node.crt" - path_to_private_key_file: "/opt/ydb/certs/node.key" - path_to_ca_file: "/opt/ydb/certs/ca.crt" -grpc_config: - cert: "/opt/ydb/certs/node.crt" - key: "/opt/ydb/certs/node.key" - ca: "/opt/ydb/certs/ca.crt" - services_enabled: - - legacy + - host: ydb-node-zone-c-1.local + host_config_id: 1 + location: + body: 7 + data_center: 'zone-c' + rack: '7' + - host: ydb-node-zone-c-2.local + host_config_id: 1 + location: + body: 8 + data_center: 'zone-c' + rack: '8' + - host: ydb-node-zone-c-3.local + host_config_id: 1 + location: + body: 9 + data_center: 'zone-c' + rack: '9' + table_service_config: + sql_version: 1 + actor_system_config: + use_auto_config: true + cpu_count: 8 + interconnect_config: + start_tcp: true + encryption_mode: OPTIONAL + path_to_certificate_file: "/opt/ydb/certs/node.crt" + path_to_private_key_file: "/opt/ydb/certs/node.key" + path_to_ca_file: "/opt/ydb/certs/ca.crt" + grpc_config: + cert: "/opt/ydb/certs/node.crt" + key: "/opt/ydb/certs/node.key" + ca: "/opt/ydb/certs/ca.crt" + services_enabled: + - legacy diff --git a/ydb/deploy/yaml_config_examples/single-node-in-memory.yaml b/ydb/deploy/yaml_config_examples/single-node-in-memory.yaml index 539c7c02884d..52a17953c21d 100644 --- a/ydb/deploy/yaml_config_examples/single-node-in-memory.yaml +++ b/ydb/deploy/yaml_config_examples/single-node-in-memory.yaml @@ -1,85 +1,29 @@ -static_erasure: none -host_configs: -- drive: - - path: SectorMap:1:64 - type: SSD - host_config_id: 1 -hosts: -- host: localhost - host_config_id: 1 - port: 19001 - walle_location: - body: 1 - data_center: '1' - rack: '1' -domains_config: - domain: - - name: Root - storage_pool_types: - - kind: ssd - pool_config: - box_id: 1 - erasure_species: none - kind: ssd - pdisk_filter: - - property: - - type: SSD - vdisk_kind: Default - state_storage: - - ring: - node: - - 1 - nto_select: 1 - ssid: 1 -table_service_config: - sql_version: 1 -actor_system_config: - executor: - - name: System - spin_threshold: 0 - threads: 2 - type: BASIC - - name: User - spin_threshold: 0 - threads: 3 - type: BASIC - - name: Batch - spin_threshold: 0 - threads: 2 - type: BASIC - - name: IO - threads: 1 - time_per_mailbox_micro_secs: 100 - type: IO - - name: IC - spin_threshold: 10 - threads: 1 - time_per_mailbox_micro_secs: 100 - type: BASIC - scheduler: - progress_threshold: 10000 - resolution: 256 - spin_threshold: 0 -blob_storage_config: - service_set: - groups: - - erasure_species: none - rings: - - fail_domains: - - vdisk_locations: - - node_id: 1 - path: SectorMap:1:64 - pdisk_category: SSD -channel_profile_config: - profile: - - channel: - - erasure_species: none - pdisk_category: 1 - storage_pool_kind: ssd - - erasure_species: none - pdisk_category: 1 - storage_pool_kind: ssd - - erasure_species: none - pdisk_category: 1 - storage_pool_kind: ssd - profile_id: 0 +metadata: + kind: MainConfig + cluster: "" + version: 0 +config: + yaml_config_enabled: true + erasure: none + fail_domain_type: none + self_management_config: + enabled: true + default_disk_type: SSD + host_configs: + - drive: + - path: SectorMap:1:64 + type: SSD + host_config_id: 1 + hosts: + - host: localhost + host_config_id: 1 + port: 19001 + location: + body: 1 + data_center: '1' + rack: '1' + table_service_config: + sql_version: 1 + actor_system_config: + use_auto_config: true + cpu_count: 8 diff --git a/ydb/deploy/yaml_config_examples/single-node-with-file.yaml b/ydb/deploy/yaml_config_examples/single-node-with-file.yaml index b5be946fc8f2..680f66e7aff5 100644 --- a/ydb/deploy/yaml_config_examples/single-node-with-file.yaml +++ b/ydb/deploy/yaml_config_examples/single-node-with-file.yaml @@ -1,85 +1,29 @@ -static_erasure: none -host_configs: -- drive: - - path: /tmp/pdisk.data - type: SSD - host_config_id: 1 -hosts: -- host: localhost - host_config_id: 1 - port: 19001 - walle_location: - body: 1 - data_center: '1' - rack: '1' -domains_config: - domain: - - name: Root - storage_pool_types: - - kind: ssd - pool_config: - box_id: 1 - erasure_species: none - kind: ssd - pdisk_filter: - - property: - - type: SSD - vdisk_kind: Default - state_storage: - - ring: - node: - - 1 - nto_select: 1 - ssid: 1 -table_service_config: - sql_version: 1 -actor_system_config: - executor: - - name: System - spin_threshold: 0 - threads: 2 - type: BASIC - - name: User - spin_threshold: 0 - threads: 3 - type: BASIC - - name: Batch - spin_threshold: 0 - threads: 2 - type: BASIC - - name: IO - threads: 1 - time_per_mailbox_micro_secs: 100 - type: IO - - name: IC - spin_threshold: 10 - threads: 1 - time_per_mailbox_micro_secs: 100 - type: BASIC - scheduler: - progress_threshold: 10000 - resolution: 256 - spin_threshold: 0 -blob_storage_config: - service_set: - groups: - - erasure_species: none - rings: - - fail_domains: - - vdisk_locations: - - node_id: 1 - path: /tmp/pdisk.data - pdisk_category: SSD -channel_profile_config: - profile: - - channel: - - erasure_species: none - pdisk_category: 0 - storage_pool_kind: ssd - - erasure_species: none - pdisk_category: 0 - storage_pool_kind: ssd - - erasure_species: none - pdisk_category: 0 - storage_pool_kind: ssd - profile_id: 0 +metadata: + kind: MainConfig + cluster: "" + version: 0 +config: + yaml_config_enabled: true + self_management_config: + enabled: true + erasure: none + fail_domain_type: none + default_disk_type: SSD + host_configs: + - drive: + - path: /tmp/pdisk.data + type: SSD + host_config_id: 1 + hosts: + - host: localhost + host_config_id: 1 + port: 19001 + location: + body: 1 + data_center: '1' + rack: '1' + table_service_config: + sql_version: 1 + actor_system_config: + use_auto_config: true + cpu_count: 8 diff --git a/ydb/docs/_assets/tags.css b/ydb/docs/_assets/tags.css index ae0c442af7d9..9f5d420663be 100755 --- a/ydb/docs/_assets/tags.css +++ b/ydb/docs/_assets/tags.css @@ -51,7 +51,7 @@ .general-tag { background-color: #daab83; } - + } .g-root_theme_dark { @@ -85,5 +85,5 @@ .general-tag { background-color: #daab83; } - + } \ No newline at end of file diff --git a/ydb/docs/en/core/maintenance/manual/config-overview.md b/ydb/docs/en/core/maintenance/manual/config-overview.md index 691556533eec..ec5cd49ced0c 100644 --- a/ydb/docs/en/core/maintenance/manual/config-overview.md +++ b/ydb/docs/en/core/maintenance/manual/config-overview.md @@ -7,7 +7,7 @@ A {{ ydb-short-name }} node requires configuration to run. There are two types o Static nodes in the cluster use static configuration. Dynamic nodes can use static configuration, dynamic configuration, or a combination of both. -## Static configuration +## Static configuration {#static-config} Static configuration is a YAML file stored on the cluster nodes. This file lists all the system settings. The path to the file is passed to the `ydbd` process at startup via a command-line parameter. Distributing the static configuration across the cluster and maintaining it in a consistent state on all nodes is the responsibility of the cluster administrator. Details on using static configuration can be found in the section [{#T}](../../reference/configuration/index.md). This configuration is **required** for running static nodes. @@ -20,7 +20,7 @@ Static configuration is a YAML file stored on the cluster nodes. This file lists 3. Place identical configuration files on all cluster nodes. 4. Start all cluster nodes, explicitly specifying the path to the configuration file using the `--yaml-config` command-line argument. -## Dynamic configuration +## Dynamic configuration {#dynamic-config} Dynamic configuration is a YAML document securely stored in the cluster in a Console [tablet](../../concepts/glossary.md#tablet). Unlike static configuration, uploading it to the cluster is sufficient, as {{ ydb-short-name }} will handle its distribution and maintenance in a consistent state. Dynamic configuration, using selectors, allows handling complex scenarios while remaining within a single configuration file. A description of the dynamic configuration is provided in the section [{#T}](./dynamic-config.md). diff --git a/ydb/docs/redirects.yaml b/ydb/docs/redirects.yaml index 66fc31f62d10..ef1a69f5a61e 100644 --- a/ydb/docs/redirects.yaml +++ b/ydb/docs/redirects.yaml @@ -65,18 +65,14 @@ common: to: /reference/observability/metrics/grafana-dashboards.md - from: /administration/production-storage-config.md to: /deploy/configuration/config.md - - from: /administration/decommissioning.md - to: /devops/manual/decommissioning.md - - from: /deploy/manual/decommissioning.md - to: /devops/manual/decommissioning.md - - from: /administration/monitoring.md - to: /devops/manual/monitoring.md - - from: /deploy/manual/monitoring.md - to: /devops/manual/monitoring.md - from: /administration/state-storage-move.md to: /devops/manual/state-storage-move.md - from: /deploy/manual/static-group-move.md to: /devops/manual/static-group-move.md + - from: /administration/monitoring.md + to: /devops/manual/monitoring.md + - from: /deploy/manual/monitoring.md + to: /devops/manual/monitoring.md - from: /administration/upgrade.md to: /devops/manual/upgrade.md - from: /deploy/manual/upgrade.md @@ -396,3 +392,34 @@ ru: to: /dev/terraform.md - from: /postgresql/docker-connect.md to: /postgresql/connect.md + + # Redirects for Deployment Options + - from: /devops/(ansible|kubernetes|manual)/(.*)$ + to: /devops/deployment-options/$1/$2 + + # Redirects for Observability + - from: /devops/manual/(monitoring|logging)\.md$ + to: /devops/observability/$1.md + - from: /devops/manual/system-views.md + to: /devops/observability/system-views.md + + # Redirects for Maintenance + - from: /devops/manual/upgrade.md + to: /devops/maintenance/upgrade.md + - from: /devops/manual/maintenance-without-downtime.md + to: /devops/maintenance/maintenance-without-downtime.md + + # Redirects for Federated Queries + - from: /devops/manual/federated-queries/(.*)$ + to: /devops/deployment-options/manual/federated-queries/$1 + + # Redirect for backup-and-recovery + - from: /devops/manual/backup-and-recovery.md + to: /devops/backup-and-recovery.md + + # Redirect for deprecated instructions + - from: /devops/manual/state-storage-move.md + to: /devops/deployment-options/manual/before-v25.1/state-storage-move.md + - from: /devops/manual/static-group-move.md + to: /devops/deployment-options/manual/before-v25.1/static-group-move.md + \ No newline at end of file diff --git a/ydb/docs/ru/core/changelog-server.md b/ydb/docs/ru/core/changelog-server.md index 47726078fe51..aa29c3b7c0f2 100644 --- a/ydb/docs/ru/core/changelog-server.md +++ b/ydb/docs/ru/core/changelog-server.md @@ -10,7 +10,7 @@ * Добавлена поддержка [асинхронной репликации](./concepts/async-replication), которая позволяет синхронизировать данные между базами YDB почти в реальном времени. Также она может быть использована для миграции данных между базами с минимальным простоем работающих с ними приложений. * Добавлена поддержка [представлений (VIEW)](https://ydb.tech/docs/ru/concepts/datamodel/view), которая может быть включена администратором кластера с помощью настройки `enable_views` в [динамической конфигурации](./maintenance/manual/dynamic-config#obnovlenie-dinamicheskoj-konfiguracii). * В [федеративных запросах](./concepts/federated_query/) поддержаны новые внешние источники данных: MySQL, Microsoft SQL Server, Greenplum. -* Разработана [документация](./devops/manual/federated-queries/connector-deployment) по разворачиванию YDB с функциональностью федеративных запросов (в ручном режиме). +* Разработана [документация](./devops/deployment-options/manual/federated-queries/connector-deployment) по разворачиванию YDB с функциональностью федеративных запросов (в ручном режиме). * Для Docker-контейнера с YDB добавлен параметр запуска `FQ_CONNECTOR_ENDPOINT`, позволяющий указать адрес коннектора ко внешним источникам данных. Добавлена возможность TLS-шифрования соединения с коннектором. Добавлена возможность вывода порта сервиса коннектора, локально работающего на том же хосте, что и динамический узел YDB. * Добавлен режим [автопартиционирования](./concepts/topic#autopartitioning) топиков, в котором топики могут разбивать партиции в зависимости от нагрузки с сохранением гарантий порядка чтения сообщений и exactly once записи. Режим может быть включен администратором кластера с помощью настроек `enable_topic_split_merge` и `enable_pqconfig_transactions_at_scheme_shard` в [динамической конфигурации](./maintenance/manual/dynamic-config#obnovlenie-dinamicheskoj-konfiguracii). * Добавлены [транзакции](./concepts/transactions#topic-table-transactions) с участием [топиков](https://ydb.tech/docs/ru/concepts/topic) и строковых таблиц. Таким образом, можно транзакционно перекладывать данные из таблиц в топики и в обратном направлении, а также между топиками, чтобы данные не терялись и не дублировались. Транзакции могут быть включены администратором кластера с помощью настроек `enable_topic_service_tx` и `enable_pqconfig_transactions_at_scheme_shard` в [динамической конфигурации](./maintenance/manual/dynamic-config#obnovlenie-dinamicheskoj-konfiguracii). @@ -38,7 +38,7 @@ * [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/pull/1438) вкладка с информацией о [таблетках](./concepts/glossary#tablet). * [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/pull/1289) вкладка с информацией о [группах распределенного хранилища](./concepts/glossary#storage-group). * [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/pull/1218) настройка для добавления [трассировки](./reference/observability/tracing/setup) ко всем запросам и отображение результатов трассировки запроса. -* На страницу PDisk добавлены [атрибуты](https://github.com/ydb-platform/ydb-embedded-ui/pull/1069), информация о потреблении дискового пространства, а также кнопка, которая запускает [декомиссию диска](./devops/manual/decommissioning). +* На страницу PDisk добавлены [атрибуты](https://github.com/ydb-platform/ydb-embedded-ui/pull/1069), информация о потреблении дискового пространства, а также кнопка, которая запускает [декомиссию диска](./devops/deployment-options/manual/decommissioning). * [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/pull/1313) информация о выполняющихся запросах. * [Добавлена](https://github.com/ydb-platform/ydb-embedded-ui/pull/1291) настройка лимита строк в выдаче для редактора запроса и отображение, если результаты запроса превысили лимит. * [Добавлено](https://github.com/ydb-platform/ydb-embedded-ui/pull/1049) отображение перечня запросов с максимальным потреблением CPU за последний час. @@ -83,7 +83,7 @@ ### Функциональность -* Добавлена возможность [задать приоритеты](./devops/manual/maintenance-without-downtime#priority) задачам обслуживания в [системе управления кластером](./concepts/glossary#cms). +* Добавлена возможность [задать приоритеты](./devops/deployment-options/manual/maintenance-without-downtime#priority) задачам обслуживания в [системе управления кластером](./concepts/glossary#cms). * Добавлена [настройка стабильных имён](./reference/configuration/#node-broker-config) для узлов кластера в рамках тенанта. * Добавлено получение вложенных групп от [LDAP-сервера](./security/authentication.md#ldap), в [LDAP-конфигурации](./reference/configuration/index.md#ldap-auth-config) улучшен парсинг хостов и добавлена настройка для отключения встроенной аутентификацию по логину и паролю. * Добавлена возможность аутентификации [динамических узлов](./concepts/glossary#dynamic) по SSL-сертификату. diff --git a/ydb/docs/ru/core/concepts/federated_query/_includes/connector_deployment.md b/ydb/docs/ru/core/concepts/federated_query/_includes/connector_deployment.md index 8fdfa39ebf9a..bf6f3bf2cdec 100644 --- a/ydb/docs/ru/core/concepts/federated_query/_includes/connector_deployment.md +++ b/ydb/docs/ru/core/concepts/federated_query/_includes/connector_deployment.md @@ -1 +1 @@ - {% if oss == "true" %}Развернуть [коннектор](../architecture.md#connectors) {% else %}Развернуть коннектор{% endif %} и {% if oss == "true" %}[настроить](../../../devops/manual/federated-queries/index.md) {% else %}настроить{% endif %} динамические узлы {{ ydb-short-name }} на взаимодействие с ним. Также необходимо обеспечить сетевой доступ с динамических узлов {{ ydb-short-name }} к внешнему источнику данных (по адресу, указанному в параметре `LOCATION` запроса `CREATE EXTERNAL DATA SOURCE`). В случае, если на предыдущем шаге было включено шифрование сетевых соединений к внешнему источнику, коннектор будет использовать системные корневые сертификаты (более подробно о настройке TLS можно узнать в [инструкции](../../../devops/manual/federated-queries/connector-deployment.md) по разворачиванию коннектора). + {% if oss == "true" %}Развернуть [коннектор](../architecture.md#connectors) {% else %}Развернуть коннектор{% endif %} и {% if oss == "true" %}[настроить](../../../devops/deployment-options/manual/federated-queries/index.md) {% else %}настроить{% endif %} динамические узлы {{ ydb-short-name }} на взаимодействие с ним. Также необходимо обеспечить сетевой доступ с динамических узлов {{ ydb-short-name }} к внешнему источнику данных (по адресу, указанному в параметре `LOCATION` запроса `CREATE EXTERNAL DATA SOURCE`). В случае, если на предыдущем шаге было включено шифрование сетевых соединений к внешнему источнику, коннектор будет использовать системные корневые сертификаты (более подробно о настройке TLS можно узнать в [инструкции](../../../devops/deployment-options/manual/federated-queries/connector-deployment.md) по разворачиванию коннектора). diff --git a/ydb/docs/ru/core/concepts/federated_query/architecture.md b/ydb/docs/ru/core/concepts/federated_query/architecture.md index 5b0271d00453..aeff4aafc114 100644 --- a/ydb/docs/ru/core/concepts/federated_query/architecture.md +++ b/ydb/docs/ru/core/concepts/federated_query/architecture.md @@ -25,16 +25,16 @@ Таким образом, благодаря коннекторам формируется слой абстракции, скрывающий от {{ ydb-short-name }} специфику внешних источников данных. Лаконичность интерфейса коннектора позволяет легко расширять перечень поддерживаемых источников, внося минимальные изменения в код {{ ydb-short-name }}. -Пользователи могут развернуть [один из готовых коннекторов](../../devops/manual/federated-queries/connector-deployment.md) или написать свою реализацию на любом языке программирования по [gRPC спецификации](https://github.com/ydb-platform/ydb/tree/main/ydb/library/yql/providers/generic/connector/api). +Пользователи могут развернуть [один из готовых коннекторов](../../devops/deployment-options/manual/federated-queries/connector-deployment.md) или написать свою реализацию на любом языке программирования по [gRPC спецификации](https://github.com/ydb-platform/ydb/tree/main/ydb/library/yql/providers/generic/connector/api). ## Перечень поддерживаемых внешних источников данных {#supported-datasources} | Источник | Поддержка | | -------- | --------- | -| [ClickHouse](https://clickhouse.com/) | Через коннектор [fq-connector-go](../../devops/manual/federated-queries/connector-deployment.md#fq-connector-go) | -| [Greenplum](https://greenplum.org/) | Через коннектор [fq-connector-go](../../devops/manual/federated-queries/connector-deployment.md#fq-connector-go) | -| [Microsoft SQL Server](https://learn.microsoft.com/ru-ru/sql/?view=sql-server-ver16) | Через коннектор [fq-connector-go](../../devops/manual/federated-queries/connector-deployment.md#fq-connector-go) | -| [MySQL](https://www.mysql.org/) | Через коннектор [fq-connector-go](../../devops/manual/federated-queries/connector-deployment.md#fq-connector-go) | -| [PostgreSQL](https://www.postgresql.org/) | Через коннектор [fq-connector-go](../../devops/manual/federated-queries/connector-deployment.md#fq-connector-go) | +| [ClickHouse](https://clickhouse.com/) | Через коннектор [fq-connector-go](../../devops/deployment-options/manual/federated-queries/connector-deployment.md#fq-connector-go) | +| [Greenplum](https://greenplum.org/) | Через коннектор [fq-connector-go](../../devops/deployment-options/manual/federated-queries/connector-deployment.md#fq-connector-go) | +| [Microsoft SQL Server](https://learn.microsoft.com/ru-ru/sql/?view=sql-server-ver16) | Через коннектор [fq-connector-go](../../devops/deployment-options/manual/federated-queries/connector-deployment.md#fq-connector-go) | +| [MySQL](https://www.mysql.org/) | Через коннектор [fq-connector-go](../../devops/deployment-options/manual/federated-queries/connector-deployment.md#fq-connector-go) | +| [PostgreSQL](https://www.postgresql.org/) | Через коннектор [fq-connector-go](../../devops/deployment-options/manual/federated-queries/connector-deployment.md#fq-connector-go) | | [S3](https://aws.amazon.com/ru/s3/) | Встроенная в `ydbd` | -| [{{ydb-short-name}}](https://ydb.tech/) | Через коннектор [fq-connector-go](../../devops/manual/federated-queries/connector-deployment.md#fq-connector-go) | +| [{{ydb-short-name}}](https://ydb.tech/) | Через коннектор [fq-connector-go](../../devops/deployment-options/manual/federated-queries/connector-deployment.md#fq-connector-go) | diff --git a/ydb/docs/ru/core/concepts/glossary.md b/ydb/docs/ru/core/concepts/glossary.md index fa60455417d0..6dae89354c02 100644 --- a/ydb/docs/ru/core/concepts/glossary.md +++ b/ydb/docs/ru/core/concepts/glossary.md @@ -468,6 +468,10 @@ SID идентифицирует индивидуального [пользов **Column shard** или **ColumnShard** — это таблетка, которая хранит сегмент данных [колоночной пользовательской таблицы](datamodel/table.md#column-oriented-tables). +#### Console {#console} + +**Console** - это таблетка, которая управляет [базами данных](#database) кластера, в том числе конфигурацией на [узлах базы данных](#database-node), обеспечивая надежное сохранение и распространение конфигурации на эти узлы. Таблетка Console единственна на весь кластер. + #### KV Tablet {#kv-tablet} **KV Tablet**, **key-value tablet** или **таблетка ключ-значение** — это таблетка, которая реализует простое отображение ключ->значение, где ключи и значения — это строки. У неё также есть несколько специфических функций, таких как блокировки. @@ -525,6 +529,11 @@ SID идентифицирует индивидуального [пользов **gRPC-прокси** или **gRPC proxy** — это прокси-система для внешних пользовательских запросов. Клиентские запросы поступают в систему по протоколу [gRPC](https://grpc.io), затем компонент прокси переводит их во внутренние вызовы для выполнения этих запросов, передаваемых через [интерконнект](#actor-system-interconnect). Этот прокси предоставляет интерфейс как для запросов-ответов, так и для двунаправленной потоковой передачи данных. +### Распредёленная конфигурация {#distributed-configuration} + +**Распределённая конфигурация**, **Distributed configuration** или **DistConf** - это внутренний механизм [конфигурации](../devops/configuration-management/index.md) кластера, который обеспечивает запуск и настройку [статических узлов](#static-node), автоматическое управление [статической группой](#static-group) хранения и [State Storage](../concepts/glossary.md#state-storage). Распределённая конфигурация запускается до старта любых [таблеток](#tablet) и не требует перезапуска работающих узлов кластера при добавлении новых. + + ### Реализация распределённого хранилища {#distributed-storage-implementation} **Распределённое хранилище** — это распределённый отказоустойчивый слой хранения данных, который сохраняет бинарные записи, называемые [LogoBlob](#logoblob), адресуемые с помощью определённого типа идентификатора, называемого [LogoBlobID](#logoblobid). Таким образом, распределённое хранилище является хранилищем ключ-значение, которое сопоставляет LogoBlobID строке размером до 10 МБ. Распределённое хранилище состоит из множества [групп хранения](#storage-group), каждая из которых является независимым репозиторием данных. diff --git a/ydb/docs/ru/core/concepts/topology.md b/ydb/docs/ru/core/concepts/topology.md index 77834acf3475..2dfbf2ccb022 100644 --- a/ydb/docs/ru/core/concepts/topology.md +++ b/ydb/docs/ru/core/concepts/topology.md @@ -39,7 +39,7 @@ {% endnote %} -О том, как задать топологию кластера {{ ydb-short-name }}, читайте в разделе [{#T}](../reference/configuration/index.md#domains-blob). +О том, как задать топологию кластера {{ ydb-short-name }}, читайте в разделе [{#T}](../reference/configuration/index.md#topology). ### Упрощённые конфигурации {#reduced} @@ -83,8 +83,8 @@ ## Дополнительная информация * [Документация для DevOps-инженеров](../devops/index.md) -* [{#T}](../reference/configuration/index.md#domains-blob) +* [{#T}](../reference/configuration/index.md#topology) * [Примеры конфигурационных файлов кластера](https://github.com/ydb-platform/ydb/tree/main/ydb/deploy/yaml_config_examples/) {% if audience != "corp" %} * [{#T}](../contributor/distributed-storage.md) -{% endif %} +{% endif %} \ No newline at end of file diff --git a/ydb/docs/ru/core/contributor/manage-releases.md b/ydb/docs/ru/core/contributor/manage-releases.md index 88e2db6b1185..7fbd63f52366 100644 --- a/ydb/docs/ru/core/contributor/manage-releases.md +++ b/ydb/docs/ru/core/contributor/manage-releases.md @@ -21,7 +21,7 @@ ### Совместимость {#server-compatibility} -{{ ydb-short-name }} поддерживает совместимость между мажорными версиями таким образом, чтобы гарантировать, что кластер может работать, когда на его узлах выполняются две смежные мажорные версии исполняемого файла сервера {{ ydb-short-name }}. Вы можете обратиться к статье [Обновление {{ ydb-short-name }}](../devops/manual/upgrade.md) для информации о процедуре обновления кластера. +{{ ydb-short-name }} поддерживает совместимость между мажорными версиями таким образом, чтобы гарантировать, что кластер может работать, когда на его узлах выполняются две смежные мажорные версии исполняемого файла сервера {{ ydb-short-name }}. Вы можете обратиться к статье [Обновление {{ ydb-short-name }}](../devops/maintenance/upgrade.md) для информации о процедуре обновления кластера. Учитывая вышеуказанную цель совместимости, мажорные релизы выпускаются парами, в основном с добавлением в нечетных версиях новой функциональности, отключенной feature-флагами, и включением этой функциональности по-умолчанию в четных. diff --git a/ydb/docs/ru/core/devops/manual/_includes/backup_and_recovery/cli_overlay.md b/ydb/docs/ru/core/devops/_includes/backup_and_recovery/cli_overlay.md similarity index 100% rename from ydb/docs/ru/core/devops/manual/_includes/backup_and_recovery/cli_overlay.md rename to ydb/docs/ru/core/devops/_includes/backup_and_recovery/cli_overlay.md diff --git a/ydb/docs/ru/core/devops/manual/_includes/backup_and_recovery/options_overlay.md b/ydb/docs/ru/core/devops/_includes/backup_and_recovery/options_overlay.md similarity index 100% rename from ydb/docs/ru/core/devops/manual/_includes/backup_and_recovery/options_overlay.md rename to ydb/docs/ru/core/devops/_includes/backup_and_recovery/options_overlay.md diff --git a/ydb/docs/ru/core/devops/manual/_includes/backup_and_recovery/others_overlay.md b/ydb/docs/ru/core/devops/_includes/backup_and_recovery/others_overlay.md similarity index 100% rename from ydb/docs/ru/core/devops/manual/_includes/backup_and_recovery/others_overlay.md rename to ydb/docs/ru/core/devops/_includes/backup_and_recovery/others_overlay.md diff --git a/ydb/docs/ru/core/devops/manual/backup-and-recovery.md b/ydb/docs/ru/core/devops/backup-and-recovery.md similarity index 72% rename from ydb/docs/ru/core/devops/manual/backup-and-recovery.md rename to ydb/docs/ru/core/devops/backup-and-recovery.md index 913bb24ffbd6..f6fe46dc70a9 100644 --- a/ydb/docs/ru/core/devops/manual/backup-and-recovery.md +++ b/ydb/docs/ru/core/devops/backup-and-recovery.md @@ -10,19 +10,19 @@ ### Файлы {#files} -Для выполнения резервного копирования в файлы применяется команда `{{ ydb-cli }} tools dump`. Перейдите [по ссылке](../../reference/ydb-cli/export-import/tools-dump.md) в справочник по {{ ydb-short-name }} CLI для получения информации о данной команде. +Для выполнения резервного копирования в файлы применяется команда `{{ ydb-cli }} tools dump`. Перейдите [по ссылке](../reference/ydb-cli/export-import/tools-dump.md) в справочник по {{ ydb-short-name }} CLI для получения информации о данной команде. -Для выполнения восстановления из файловой резервной копии применяется команда `{{ ydb-cli }} tools restore`. Перейдите [по ссылке](../../reference/ydb-cli/export-import/tools-restore.md) в справочник по {{ ydb-short-name }} CLI для получения информации о данной команде. +Для выполнения восстановления из файловой резервной копии применяется команда `{{ ydb-cli }} tools restore`. Перейдите [по ссылке](../reference/ydb-cli/export-import/tools-restore.md) в справочник по {{ ydb-short-name }} CLI для получения информации о данной команде. ### S3-совместимое хранилище {#s3} -Для выполнения резервного копирования в S3-совместимое хранилище (например, [AWS S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html)) применяется команда `{{ ydb-cli }} export s3`. Перейдите [по ссылке](../../reference/ydb-cli/export-import/export-s3.md) в справочник по {{ ydb-short-name }} CLI для получения информации о данной команде. +Для выполнения резервного копирования в S3-совместимое хранилище (например, [AWS S3](https://docs.aws.amazon.com/AmazonS3/latest/dev/Introduction.html)) применяется команда `{{ ydb-cli }} export s3`. Перейдите [по ссылке](../reference/ydb-cli/export-import/export-s3.md) в справочник по {{ ydb-short-name }} CLI для получения информации о данной команде. -Для выполнения восстановления из резервной копии, созданной в S3-совместимом хранилище, применяется команда `{{ ydb-cli }} import s3`. Перейдите [по ссылке](../../reference/ydb-cli/export-import/import-s3.md) в справочник по {{ ydb-short-name }} CLI для получения информации о данной команде. +Для выполнения восстановления из резервной копии, созданной в S3-совместимом хранилище, применяется команда `{{ ydb-cli }} import s3`. Перейдите [по ссылке](../reference/ydb-cli/export-import/import-s3.md) в справочник по {{ ydb-short-name }} CLI для получения информации о данной команде. {% note info %} -Скорость операций резервного копирования и восстановления в/из S3-совместимого хранилища подобрана таким образом, чтобы минимизировать влияние на пользовательскую нагрузку. Для управления скоростью операций настройте лимиты для соответствующей очереди [брокера ресурсов](../../reference/configuration/index.md#resource-broker-config). +Скорость операций резервного копирования и восстановления в/из S3-совместимого хранилища подобрана таким образом, чтобы минимизировать влияние на пользовательскую нагрузку. Для управления скоростью операций настройте лимиты для соответствующей очереди [брокера ресурсов](../reference/configuration/index.md#resource-broker-config). {% endnote %} diff --git a/ydb/docs/ru/core/maintenance/manual/dynamic-config-selectors.md b/ydb/docs/ru/core/devops/configuration-management/dynamic-config-selectors.md similarity index 100% rename from ydb/docs/ru/core/maintenance/manual/dynamic-config-selectors.md rename to ydb/docs/ru/core/devops/configuration-management/dynamic-config-selectors.md diff --git a/ydb/docs/ru/core/maintenance/manual/dynamic-config-volatile-config.md b/ydb/docs/ru/core/devops/configuration-management/dynamic-config-volatile-config.md similarity index 94% rename from ydb/docs/ru/core/maintenance/manual/dynamic-config-volatile-config.md rename to ydb/docs/ru/core/devops/configuration-management/dynamic-config-volatile-config.md index e563766eb301..fae9d1013586 100644 --- a/ydb/docs/ru/core/maintenance/manual/dynamic-config-volatile-config.md +++ b/ydb/docs/ru/core/devops/configuration-management/dynamic-config-volatile-config.md @@ -1,6 +1,6 @@ # Временные конфигурации -Временные конфигурации — это специальный вид конфигураций, которые дополняют динамическую и при этом не являются персистентными. Т.е. данные конфигурации сбрасываются при переезде или рестарте [таблетки](../../concepts/glossary.md#tablet) Console, а так же при обновлении основной конфигурации. +Временные конфигурации — это специальный вид конфигураций, которые дополняют динамическую и при этом не являются персистентными. Т.е. данные конфигурации сбрасываются при переезде или рестарте [таблетки Console](../../concepts/glossary.md#console), а так же при обновлении основной конфигурации. Основные сценарии использования: diff --git a/ydb/docs/ru/core/devops/configuration-management/toc_p.yaml b/ydb/docs/ru/core/devops/configuration-management/toc_p.yaml new file mode 100644 index 000000000000..46a1e92fcb34 --- /dev/null +++ b/ydb/docs/ru/core/devops/configuration-management/toc_p.yaml @@ -0,0 +1,7 @@ +items: +- name: Обзор конфигурации + href: index.md +- name: DSL конфигурации кластера + href: dynamic-config-selectors.md +- name: Временная конфигурация + href: dynamic-config-volatile-config.md diff --git a/ydb/docs/ru/core/devops/ansible/_assets/terraform/AiC_scheme.png b/ydb/docs/ru/core/devops/deployment-options/ansible/_assets/terraform/AiC_scheme.png similarity index 100% rename from ydb/docs/ru/core/devops/ansible/_assets/terraform/AiC_scheme.png rename to ydb/docs/ru/core/devops/deployment-options/ansible/_assets/terraform/AiC_scheme.png diff --git a/ydb/docs/ru/core/devops/ansible/_includes/ansible-install-steps.md b/ydb/docs/ru/core/devops/deployment-options/ansible/_includes/ansible-install-steps.md similarity index 100% rename from ydb/docs/ru/core/devops/ansible/_includes/ansible-install-steps.md rename to ydb/docs/ru/core/devops/deployment-options/ansible/_includes/ansible-install-steps.md diff --git a/ydb/docs/ru/core/devops/ansible/_includes/repo-tree.md b/ydb/docs/ru/core/devops/deployment-options/ansible/_includes/repo-tree.md similarity index 100% rename from ydb/docs/ru/core/devops/ansible/_includes/repo-tree.md rename to ydb/docs/ru/core/devops/deployment-options/ansible/_includes/repo-tree.md diff --git a/ydb/docs/ru/core/devops/ansible/_includes/terraform/aws.md b/ydb/docs/ru/core/devops/deployment-options/ansible/_includes/terraform/aws.md similarity index 100% rename from ydb/docs/ru/core/devops/ansible/_includes/terraform/aws.md rename to ydb/docs/ru/core/devops/deployment-options/ansible/_includes/terraform/aws.md diff --git a/ydb/docs/ru/core/devops/ansible/_includes/terraform/azure.md b/ydb/docs/ru/core/devops/deployment-options/ansible/_includes/terraform/azure.md similarity index 100% rename from ydb/docs/ru/core/devops/ansible/_includes/terraform/azure.md rename to ydb/docs/ru/core/devops/deployment-options/ansible/_includes/terraform/azure.md diff --git a/ydb/docs/ru/core/devops/ansible/_includes/terraform/gcp.md b/ydb/docs/ru/core/devops/deployment-options/ansible/_includes/terraform/gcp.md similarity index 100% rename from ydb/docs/ru/core/devops/ansible/_includes/terraform/gcp.md rename to ydb/docs/ru/core/devops/deployment-options/ansible/_includes/terraform/gcp.md diff --git a/ydb/docs/ru/core/devops/ansible/_includes/terraform/yc.md b/ydb/docs/ru/core/devops/deployment-options/ansible/_includes/terraform/yc.md similarity index 100% rename from ydb/docs/ru/core/devops/ansible/_includes/terraform/yc.md rename to ydb/docs/ru/core/devops/deployment-options/ansible/_includes/terraform/yc.md diff --git a/ydb/docs/ru/core/devops/ansible/index.md b/ydb/docs/ru/core/devops/deployment-options/ansible/index.md similarity index 100% rename from ydb/docs/ru/core/devops/ansible/index.md rename to ydb/docs/ru/core/devops/deployment-options/ansible/index.md diff --git a/ydb/docs/ru/core/devops/ansible/initial-deployment.md b/ydb/docs/ru/core/devops/deployment-options/ansible/initial-deployment.md similarity index 88% rename from ydb/docs/ru/core/devops/ansible/initial-deployment.md rename to ydb/docs/ru/core/devops/deployment-options/ansible/initial-deployment.md index 41abb8fdf5e8..42f4bb706a4c 100644 --- a/ydb/docs/ru/core/devops/ansible/initial-deployment.md +++ b/ydb/docs/ru/core/devops/deployment-options/ansible/initial-deployment.md @@ -4,7 +4,7 @@ В инструкции изложен процесс развёртывания {{ ydb-short-name }} кластера на группе серверов с помощью [Ansible](https://www.ansible.com). Рекомендуемая схема разворачивания кластера {{ ydb-short-name }} для начала работы состоит из 3 серверов с 3 дисками для пользовательских дисков в каждом. Для обеспечения отказоустойчивости этим серверам желательно иметь независимую инфраструктуру: располагаться в отдельных датацентрах или зонах доступностях, либо хотя бы отдельных серверных стойках. -Для более масштабных кластеров, рекомендуется использовать от 9 серверов для отказоустойчивых кластеров (`mirror-3-dc`) или 8 серверов для однодатацентровых кластеров (`block-4-2`). В обоих этих случаях серверам достаточно иметь по одному диску для пользовательских данных, но желательно также иметь отдельный небольшой диск для операционной системы. Подробнее о моделях избыточности можно узнать из статьи [{#T}](../../concepts/topology.md). В процессе эксплуатации кластер может быть [расширен](../../maintenance/manual/cluster_expansion.md) без приостановки доступа пользователей к базам данных. +Для более масштабных кластеров, рекомендуется использовать от 9 серверов для отказоустойчивых кластеров (`mirror-3-dc`) или 8 серверов для однодатацентровых кластеров (`block-4-2`). В обоих этих случаях серверам достаточно иметь по одному диску для пользовательских данных, но желательно также иметь отдельный небольшой диск для операционной системы. Подробнее о моделях избыточности можно узнать из статьи [{#T}](../../../concepts/topology.md). В процессе эксплуатации кластер может быть [расширен](../../../maintenance/manual/cluster_expansion.md) без приостановки доступа пользователей к базам данных. {% note info %} @@ -79,10 +79,10 @@ all: * `ansible_ssh_private_key_file` – измените путь до приватного SSH-ключа на фактическое: `"../"`. * Выберите один из доступных вариантов развёртывания исполняемых файлов {{ ydb-short-name }}: - * `ydb_version`: автоматически загрузить один из [официальных релизов {{ ydb-short-name }}](../../downloads/index.md#ydb-server) по номеру версии. Например, `23.4.11`. + * `ydb_version`: автоматически загрузить один из [официальных релизов {{ ydb-short-name }}](../../../downloads/index.md#ydb-server) по номеру версии. Например, `23.4.11`. * `ydb_git_version`: автоматически скомпилировать исполняемые файлы {{ ydb-short-name }} из исходного кода, загруженного из [официального репозитория GitHub](https://github.com/ydb-platform/ydb). Значение настройки – это имя ветки, тега или коммита. Например, `main`. - * `ydb_archive`: локальный путь к архиву с дистрибутивом {{ ydb-short-name }}, [загруженного](../../downloads/index.md#ydb-server) или подготовленного заранее. - * `ydbd_binary` и `ydb_cli_binary`: локальные пути к исполняемым файлам сервера и клиента {{ ydb-short-name }}, [загруженным](../../downloads/index.md#ydb-server) или подготовленным заранее. + * `ydb_archive`: локальный путь к архиву с дистрибутивом {{ ydb-short-name }}, [загруженного](../../../downloads/index.md#ydb-server) или подготовленного заранее. + * `ydbd_binary` и `ydb_cli_binary`: локальные пути к исполняемым файлам сервера и клиента {{ ydb-short-name }}, [загруженным](../../../downloads/index.md#ydb-server) или подготовленным заранее. #### Дополнительные изменения в инвентори-файлах @@ -149,7 +149,7 @@ all: ### Подготовка конфигурационного файла {{ ydb-short-name }} {#ydb-config-prepare} -Конфигурационный файл {{ ydb-short-name }} содержит настройки нод {{ ydb-short-name }} и располагается в поддиректории `/files/config.yaml`. С подробным описанием секций настройки конфигурационного файла {{ ydb-short-name }} можно ознакомиться в статье [{#T}](../../reference/configuration/index.md). +Конфигурационный файл {{ ydb-short-name }} содержит настройки нод {{ ydb-short-name }} и располагается в поддиректории `/files/config.yaml`. С подробным описанием секций настройки конфигурационного файла {{ ydb-short-name }} можно ознакомиться в статье [{#T}](../../../reference/configuration/index.md). Дефолтный конфигурационный файл {{ ydb-short-name }} уже содержит почти все необходимые настройки для развёртывания кластера. Необходимо заменить стандартные FQDN хостов на актуальные FQDN в разделах `hosts` и `blob_storage_config`: @@ -226,10 +226,10 @@ all: | Порт | Описание | |------|---------| - | 2135 | Порт для [основного API {{ ydb-short-name }}](../../reference/ydb-sdk/overview-grpc-api.md), основанного на защищённом [gRPC](https://grpc.io/) соединении поверх [TLS](../../reference/configuration/tls.md). | - | 19001 | Порт для [интерконнекта акторной системы {{ ydb-short-name }}](../../concepts/glossary.md#actor-system-interconnect). | - | 8765 | HTTPS-порт для [встроенного интерфейса](../../reference/embedded-ui/index.md), отображения [метрик](../../devops/manual/monitoring.md) и других вспомогательных команд. | - | 5432 | Порт для [режима совместимости с PostgreSQL](../../postgresql/intro.md). | + | 2135 | Порт для [основного API {{ ydb-short-name }}](../../../reference/ydb-sdk/overview-grpc-api.md), основанного на защищённом [gRPC](https://grpc.io/) соединении поверх [TLS](../../../reference/configuration/tls.md). | + | 19001 | Порт для [интерконнекта акторной системы {{ ydb-short-name }}](../../../concepts/glossary.md#actor-system-interconnect). | + | 8765 | HTTPS-порт для [встроенного интерфейса](../../../reference/embedded-ui/index.md), отображения [метрик](../../../devops/observability/monitoring.md) и других вспомогательных команд. | + | 5432 | Порт для [режима совместимости с PostgreSQL](../../../postgresql/intro.md). | {% endcut %} @@ -239,43 +239,43 @@ all: #| || Название динамического узла | Порт | Описание || - || `ydbd-database-a` | 2136 | Порты для [основного API {{ ydb-short-name }}](../../reference/ydb-sdk/overview-grpc-api.md), основанного на защищённом [gRPC](https://grpc.io/) соединении поверх [TLS](../../reference/configuration/tls.md). || + || `ydbd-database-a` | 2136 | Порты для [основного API {{ ydb-short-name }}](../../../reference/ydb-sdk/overview-grpc-api.md), основанного на защищённом [gRPC](https://grpc.io/) соединении поверх [TLS](../../../reference/configuration/tls.md). || || `ydbd-database-b` | 2137 | ^ || - || `ydbd-database-a` | 19002 | Порты для [интерконнекта акторной системы {{ ydb-short-name }}](../../concepts/glossary.md#actor-system-interconnect). || + || `ydbd-database-a` | 19002 | Порты для [интерконнекта акторной системы {{ ydb-short-name }}](../../../concepts/glossary.md#actor-system-interconnect). || || `ydbd-database-b` | 19003 | ^ || - || `ydbd-database-a` | 8766 | HTTPS-порты для [встроенного интерфейса](../../reference/embedded-ui/index.md), отображения [метрик](../../devops/manual/monitoring.md) и других вспомогательных команд. || + || `ydbd-database-a` | 8766 | HTTPS-порты для [встроенного интерфейса](../../../reference/embedded-ui/index.md), отображения [метрик](../../../devops/observability/monitoring.md) и других вспомогательных команд. || || `ydbd-database-b` | 8767 | ^ || |# {% endcut %} -В результате выполнения плейбука будет создан кластер {{ ydb-short-name }}, на котором развёрнута база данных под названием `database`, а также пользователь с именем `root` и максимальными правами доступа. Работать с кластером можно с помощью {{ ydb-short-name }} [CLI](../../reference/ydb-cli/index.md), посылая API-вызовы на порт 2135, через [Embedded UI](../../reference/embedded-ui/index.md), который работает на порту 8765, а также в [режиме PostgreSQL-совместимости](../../postgresql/intro.md) через порт 5432. Также для подключения к Embedded UI можно настроить SSH-туннелирование. Для этого на локальной машине выполните команду `ssh -L 8765:localhost:8765 -i @`. После успешного установления соединения можно перейти по URL [localhost:8765](http://localhost:8765): +В результате выполнения плейбука будет создан кластер {{ ydb-short-name }}, на котором развёрнута база данных под названием `database`, а также пользователь с именем `root` и максимальными правами доступа. Работать с кластером можно с помощью {{ ydb-short-name }} [CLI](../../../reference/ydb-cli/index.md), посылая API-вызовы на порт 2135, через [Embedded UI](../../../reference/embedded-ui/index.md), который работает на порту 8765, а также в [режиме PostgreSQL-совместимости](../../../postgresql/intro.md) через порт 5432. Также для подключения к Embedded UI можно настроить SSH-туннелирование. Для этого на локальной машине выполните команду `ssh -L 8765:localhost:8765 -i @`. После успешного установления соединения можно перейти по URL [localhost:8765](http://localhost:8765): -![ydb-web-ui](../../_assets/ydb-web-console.png) +![ydb-web-ui](../../../_assets/ydb-web-console.png) ## Мониторинг состояния кластера { #troubleshooting } После успешного создания кластера {{ ydb-short-name }} проверить его состояние можно с помощью Embedded UI – [http://localhost:8765/monitoring/cluster/tenants](http://localhost:8765/monitoring/cluster/tenants): -![ydb-cluster-check](../../_assets/ydb-cluster-check.png) +![ydb-cluster-check](../../../_assets/ydb-cluster-check.png) В разделе отражены следующие параметры кластера {{ ydb-short-name }}, которые показывают состояние кластера: -* `Tablets` – список запущенных [таблеток](../../concepts/glossary.md#tablet). Все индикаторы состояния таблеток должны быть зелёного цвета. +* `Tablets` – список запущенных [таблеток](../../../concepts/glossary.md#tablet). Все индикаторы состояния таблеток должны быть зелёного цвета. * `Nodes` – количество и состояние запущенных статических и динамических нод в кластере. Индикатор состояния нод должен быть зелёным, а пропорция созданных и запущенных нод должна быть равной. Например, 27/27 для кластера из девяти нод. * Индикаторы показателей `Load` (количество используемой RAM) и `Storage` (количество используемого дискового пространства) должны быть зелёными. Проверить состояние сторадж группы можно в разделе `storage` – [http://localhost:8765/monitoring/cluster/storage](http://localhost:8765/monitoring/cluster/storage): -![ydb-storage-gr-check](../../_assets/ydb-storage-gr-check.png) +![ydb-storage-gr-check](../../../_assets/ydb-storage-gr-check.png) -Индикаторы `VDisks` должны быть зелёными, а статус `state` (находится в всплывающей подсказке при наведении на индикатор VDisk) должен быть `Ok`. Подробнее о показателях состояния кластера и мониторинге можно прочитать в статье [{#T}](../../reference/embedded-ui/ydb-monitoring.md). +Индикаторы `VDisks` должны быть зелёными, а статус `state` (находится в всплывающей подсказке при наведении на индикатор VDisk) должен быть `Ok`. Подробнее о показателях состояния кластера и мониторинге можно прочитать в статье [{#T}](../../../reference/embedded-ui/ydb-monitoring.md). ## Тестирование кластера { #testing } Протестировать кластер можно с помощью встроенных в {{ ydb-short-name }} CLI нагрузочных тестов. Для этого скачайте на машину, на которой установлен Ansible, {{ ydb-short-name }} CLI версии [2.5.0](https://storage.yandexcloud.net/yandexcloud-ydb/release/2.5.0/linux/amd64/ydb). Например, с помощью wget: `wget https://storage.yandexcloud.net/yandexcloud-ydb/release/2.5.0/linux/amd64/ydb`. -Сделайте скачанный бинарный файл исполняемым – `chmod +x ydb` и создайте [профиль](../../reference/ydb-cli/profile/index.md) подключения к {{ ydb-short-name }}: +Сделайте скачанный бинарный файл исполняемым – `chmod +x ydb` и создайте [профиль](../../../reference/ydb-cli/profile/index.md) подключения к {{ ydb-short-name }}: ```shell ./ydb \ @@ -289,7 +289,7 @@ all: Параметры команды и их значения: -* `config profile create` – команда создания профиля подключения. Задаётся имя профиля. Более детальную информацию о том, как создавать и изменять профили, можно найти в статье [{#T}](../../reference/ydb-cli/profile/create.md). +* `config profile create` – команда создания профиля подключения. Задаётся имя профиля. Более детальную информацию о том, как создавать и изменять профили, можно найти в статье [{#T}](../../../reference/ydb-cli/profile/create.md). * `-e` – эндпоинт (endpoint), строка в формате `protocol://host:port`. Можно указать FQDN любой ноды кластера и не указывать порт. По умолчанию будет использован 2135 порт. * `--ca-file` – путь к корневому сертификату для подключения к базе по `grpcs`. Сертификат создаётся скриптом `ydb-ca-update.sh` в директории `TLS` и располагается по пути `TLS/CA/certs/` относительно корня репозитория `ydb-ansible-examples`. * `--user` – пользователь для подключения к БД. По умолчанию при выполнении плейбука `ydb_platform.ydb.initial_setup` создаётся пользователь root. @@ -300,7 +300,7 @@ all: Теперь можно выполнить YQL запрос `./ydb yql -s 'select 1;'`, который вернёт в терминал результат выполнения команды `select 1` в табличной форме. После проверки соединения можно создать тестовую таблицу командой: `./ydb workload kv init --init-upserts 1000 --cols 4`. Будет создана тестовая таблица `kv_test`, состоящая из 4 столбцов и 1000 строк. Проверить, что таблица `kv_test` создалась и заполнилась тестовыми данными, можно командой `./ydb yql -s 'select * from kv_test limit 10;'`. -В терминал будет выведена таблица из 10 строк. Теперь можно выполнять тестирование производительности кластера. В статье [{#T}](../../reference/ydb-cli/workload-kv.md) описаны 5 видов нагрузок (`upsert`, `insert`, `select`, `read-rows`, `mixed`) и параметры их выполнения. Пример выполнения тестовой нагрузки `upsert` с параметром вывода времени выполнения запроса `--print-timestamp` и стандартными параметрами исполнения: `./ydb workload kv run upsert --print-timestamp`. +В терминал будет выведена таблица из 10 строк. Теперь можно выполнять тестирование производительности кластера. В статье [{#T}](../../../reference/ydb-cli/workload-kv.md) описаны 5 видов нагрузок (`upsert`, `insert`, `select`, `read-rows`, `mixed`) и параметры их выполнения. Пример выполнения тестовой нагрузки `upsert` с параметром вывода времени выполнения запроса `--print-timestamp` и стандартными параметрами исполнения: `./ydb workload kv run upsert --print-timestamp`. В терминал будет выведен отчёт следующего вида: @@ -312,4 +312,4 @@ Window Txs/Sec Retries Errors p50(ms) p95(ms) p99(ms) pMax(ms) Timestamp ... ``` -После завершения тестов удалить таблицу `kv_test` можно командой: `./ydb workload kv clean`. Подробнее об опциях создания тестовой таблицы и тестах можно прочесть в статье [{#T}](../../reference/ydb-cli/workload-kv.md). +После завершения тестов удалить таблицу `kv_test` можно командой: `./ydb workload kv clean`. Подробнее об опциях создания тестовой таблицы и тестах можно прочесть в статье [{#T}](../../../reference/ydb-cli/workload-kv.md). diff --git a/ydb/docs/ru/core/devops/ansible/observability/index.md b/ydb/docs/ru/core/devops/deployment-options/ansible/observability/index.md similarity index 100% rename from ydb/docs/ru/core/devops/ansible/observability/index.md rename to ydb/docs/ru/core/devops/deployment-options/ansible/observability/index.md diff --git a/ydb/docs/ru/core/devops/ansible/observability/logging.md b/ydb/docs/ru/core/devops/deployment-options/ansible/observability/logging.md similarity index 100% rename from ydb/docs/ru/core/devops/ansible/observability/logging.md rename to ydb/docs/ru/core/devops/deployment-options/ansible/observability/logging.md diff --git a/ydb/docs/ru/core/devops/ansible/observability/toc_p.yaml b/ydb/docs/ru/core/devops/deployment-options/ansible/observability/toc_p.yaml similarity index 100% rename from ydb/docs/ru/core/devops/ansible/observability/toc_p.yaml rename to ydb/docs/ru/core/devops/deployment-options/ansible/observability/toc_p.yaml diff --git a/ydb/docs/ru/core/devops/ansible/preparing-vms-with-terraform.md b/ydb/docs/ru/core/devops/deployment-options/ansible/preparing-vms-with-terraform.md similarity index 96% rename from ydb/docs/ru/core/devops/ansible/preparing-vms-with-terraform.md rename to ydb/docs/ru/core/devops/deployment-options/ansible/preparing-vms-with-terraform.md index ffa3fb0dbb26..b81a67146f04 100644 --- a/ydb/docs/ru/core/devops/ansible/preparing-vms-with-terraform.md +++ b/ydb/docs/ru/core/devops/deployment-options/ansible/preparing-vms-with-terraform.md @@ -1,6 +1,6 @@ # Развёртывание инфраструктуры для кластера {{ ydb-short-name }} с помощью Terraform -Развернуть кластер {{ ydb-short-name }} для использования в production можно тремя рекомендованными способами: с помощью [Ansible](./initial-deployment.md), [Kubernetes](../kubernetes/index.md) или [вручную](../../devops/manual/index.md). Если вариант с Kubernetes практически самодостаточен, то для вариантов с Ansible и вручную нужен SSH-доступ к правильно сконфигурированным серверам или виртуальным машинам. +Развернуть кластер {{ ydb-short-name }} для использования в production можно тремя рекомендованными способами: с помощью [Ansible](./initial-deployment.md), [Kubernetes](../kubernetes/index.md) или [вручную](../../../devops/deployment-options/manual/index.md). Если вариант с Kubernetes практически самодостаточен, то для вариантов с Ansible и вручную нужен SSH-доступ к правильно сконфигурированным серверам или виртуальным машинам. В статье описывается, как создать и настроить необходимый для работы кластера {{ ydb-short-name }} набор виртуальных машин у различных облачных провайдеров с помощью Terraform. diff --git a/ydb/docs/ru/core/devops/ansible/restart.md b/ydb/docs/ru/core/devops/deployment-options/ansible/restart.md similarity index 98% rename from ydb/docs/ru/core/devops/ansible/restart.md rename to ydb/docs/ru/core/devops/deployment-options/ansible/restart.md index 4b1b17961510..c72b52a07f8b 100644 --- a/ydb/docs/ru/core/devops/ansible/restart.md +++ b/ydb/docs/ru/core/devops/deployment-options/ansible/restart.md @@ -54,4 +54,4 @@ ansible-playbook ydb_platform.ydb.restart --tags database --limit='' Инструмент [ydbops](https://github.com/ydb-platform/ydbops) реализует различные манипуляции с кластерами {{ ydb-short-name }}, включая перезапуск. Описанный выше playbook `ydb_platform.ydb.restart` использует его за сценой, но использование его вручную тоже допустимо. -Больше рекомендаций и информации о том, как это работает, находится в статье [{#T}](../manual/maintenance-without-downtime.md). \ No newline at end of file +Больше рекомендаций и информации о том, как это работает, находится в статье [{#T}](../../maintenance/maintenance-without-downtime.md). \ No newline at end of file diff --git a/ydb/docs/ru/core/devops/ansible/toc_p.yaml b/ydb/docs/ru/core/devops/deployment-options/ansible/toc_p.yaml similarity index 100% rename from ydb/docs/ru/core/devops/ansible/toc_p.yaml rename to ydb/docs/ru/core/devops/deployment-options/ansible/toc_p.yaml diff --git a/ydb/docs/ru/core/devops/ansible/update-config.md b/ydb/docs/ru/core/devops/deployment-options/ansible/update-config.md similarity index 89% rename from ydb/docs/ru/core/devops/ansible/update-config.md rename to ydb/docs/ru/core/devops/deployment-options/ansible/update-config.md index 20b3b1c46144..03e324a685e0 100644 --- a/ydb/docs/ru/core/devops/ansible/update-config.md +++ b/ydb/docs/ru/core/devops/deployment-options/ansible/update-config.md @@ -16,14 +16,14 @@ ansible-playbook ydb_platform.ydb.update_config Задачи в playbook `ydb_platform.ydb.update_config` помечены типами узлов, поэтому вы можете использовать функциональность тегов Ansible для фильтрации узлов по их типу. -Эти две команды эквивалентны и изменят конфигурацию всех [узлов хранения](../../concepts/glossary.md#storage-node): +Эти две команды эквивалентны и изменят конфигурацию всех [узлов хранения](../../../concepts/glossary.md#storage-node): ```bash ansible-playbook ydb_platform.ydb.update_config --tags storage ansible-playbook ydb_platform.ydb.update_config --tags static ``` -Эти две команды эквивалентны и изменят конфигурацию всех [узлов баз данных](../../concepts/glossary.md#database-node): +Эти две команды эквивалентны и изменят конфигурацию всех [узлов баз данных](../../../concepts/glossary.md#database-node): ```bash ansible-playbook ydb_platform.ydb.update_config --tags database @@ -40,6 +40,6 @@ ansible-playbook ydb_platform.ydb.update_config --tags no_restart ## Динамическая конфигурация -У {{ ydb-short-name }} есть собственный механизм управления конфигурацией под названием [динамическая конфигурация](../../maintenance/manual/dynamic-config.md). Он не зависит от выбранного метода развёртывания кластера и позволяет гибко настраивать кластер даже в мультиарендных средах. +У {{ ydb-short-name }} есть собственный механизм управления конфигурацией под названием [автоматическая конфигурация](../../../devops/configuration-management/index.md). Он не зависит от выбранного метода развёртывания кластера и позволяет гибко настраивать кластер даже в мультиарендных средах. Рассмотрите возможность перехода на динамическую конфигурацию, если ручное развёртывание конфигурационных файлов с полной перезагрузкой при любых изменениях больше не приемлемо. \ No newline at end of file diff --git a/ydb/docs/ru/core/devops/ansible/update-executable.md b/ydb/docs/ru/core/devops/deployment-options/ansible/update-executable.md similarity index 92% rename from ydb/docs/ru/core/devops/ansible/update-executable.md rename to ydb/docs/ru/core/devops/deployment-options/ansible/update-executable.md index 182d7e906edf..32fb5cef3618 100644 --- a/ydb/docs/ru/core/devops/ansible/update-executable.md +++ b/ydb/docs/ru/core/devops/deployment-options/ansible/update-executable.md @@ -4,7 +4,7 @@ {% note warning %} -У {{ ydb-short-name }} существуют специфические правила относительно совместимости версий. Важно ознакомиться с [руководством по совместимости версий](../manual/upgrade.md#version-compatability) и [списком изменений](../../changelog-server.md), чтобы правильно выбрать новую версию для обновления и подготовиться к возможным нюансам. +У {{ ydb-short-name }} существуют специфические правила относительно совместимости версий. Важно ознакомиться с [руководством по совместимости версий](../maintenance/upgrade.md#version-compatability) и [списком изменений](../../changelog-server.md), чтобы правильно выбрать новую версию для обновления и подготовиться к возможным нюансам. {% endnote %} diff --git a/ydb/docs/ru/core/devops/deployment-options/index.md b/ydb/docs/ru/core/devops/deployment-options/index.md new file mode 100644 index 000000000000..10a7920590bc --- /dev/null +++ b/ydb/docs/ru/core/devops/deployment-options/index.md @@ -0,0 +1,9 @@ +# Способы развёртывания {{ ydb-short-name }} + +В этом разделе документации {{ ydb-short-name }} описаны способы развёртывания кластеров {{ ydb-short-name }} с помощью различных инструментов, а также инструкции по дальнейшей работе с ними в зависимости от выбранного способа. + +* **[Ansible](ansible/index.md)**: для развёртываний на физическом оборудовании и виртуальных машинах. +* **[Kubernetes](kubernetes/index.md)**: для развёртываний в контейнерах. +* **[Вручную](manual/index.md)**: для ручного развёртывания. + +Вне зависимости от выбранного способа управления инфраструктурой, перед началом работы рекомендуется ознакомиться с [системными требованиями {{ ydb-short-name }}](../system-requirements.md). \ No newline at end of file diff --git a/ydb/docs/ru/core/devops/kubernetes/index.md b/ydb/docs/ru/core/devops/deployment-options/kubernetes/index.md similarity index 100% rename from ydb/docs/ru/core/devops/kubernetes/index.md rename to ydb/docs/ru/core/devops/deployment-options/kubernetes/index.md diff --git a/ydb/docs/ru/core/devops/kubernetes/initial-deployment.md b/ydb/docs/ru/core/devops/deployment-options/kubernetes/initial-deployment.md similarity index 96% rename from ydb/docs/ru/core/devops/kubernetes/initial-deployment.md rename to ydb/docs/ru/core/devops/deployment-options/kubernetes/initial-deployment.md index 4062104f49fc..2c5a83ae4642 100644 --- a/ydb/docs/ru/core/devops/kubernetes/initial-deployment.md +++ b/ydb/docs/ru/core/devops/deployment-options/kubernetes/initial-deployment.md @@ -10,7 +10,7 @@ 2. [Установлена](https://kubernetes.io/docs/tasks/tools/install-kubectl) утилита kubectl и настроен доступ к кластеру. 3. [Установлен](https://helm.sh/docs/intro/install/) менеджер пакетов Helm версии старше 3.1.0. -{% include [_includes/storage-device-requirements.md](../../_includes/storage-device-requirements.md) %} +{% include [_includes/storage-device-requirements.md](../../../_includes/storage-device-requirements.md) %} ### Создание {{ k8s }} кластера @@ -138,7 +138,7 @@ TEST SUITE: None ### Разверните узлы хранения -{{ ydb-short-name }} поддерживает различные [топологии хранения данных](../../concepts/topology.md). {{ ydb-short-name }} {{ k8s }} оператор имеет несколько примеров конфигураций для типовых топологий. В данной инструкции они используются без изменений, но их можно подстраивать под свои нужды или написать новый конфигурационный файл с нуля. +{{ ydb-short-name }} поддерживает различные [топологии хранения данных](../../../concepts/topology.md). {{ ydb-short-name }} {{ k8s }} оператор имеет несколько примеров конфигураций для типовых топологий. В данной инструкции они используются без изменений, но их можно подстраивать под свои нужды или написать новый конфигурационный файл с нуля. Примените манифест для создания узлов хранения: @@ -250,7 +250,7 @@ Events: storage-sample-8 1/1 Running 0 1m ``` -2. Запустите новый под с [{{ ydb-short-name }} CLI](../../reference/ydb-cli/index.md): +2. Запустите новый под с [{{ ydb-short-name }} CLI](../../../reference/ydb-cli/index.md): ```bash kubectl run -it --image=cr.yandex/crptqonuodf51kdj7a7d/ydb:22.4.44 --rm ydb-cli bash @@ -282,7 +282,7 @@ Events: ## Дальнейшие шаги -После проверки, что созданный кластер {{ ydb-short-name }} работает нормально, его можно использовать в соответствии с вашими задачами. Например, если вы хотите просто продолжить экспериментировать, можете использовать этот кластер, чтобы пройти [YQL туториал](../../dev/yql-tutorial/index.md). +После проверки, что созданный кластер {{ ydb-short-name }} работает нормально, его можно использовать в соответствии с вашими задачами. Например, если вы хотите просто продолжить экспериментировать, можете использовать этот кластер, чтобы пройти [YQL туториал](../../../dev/yql-tutorial/index.md). Также, ниже описаны ещё несколько аспектов, которые можно учесть далее. diff --git a/ydb/docs/ru/core/devops/kubernetes/toc_p.yaml b/ydb/docs/ru/core/devops/deployment-options/kubernetes/toc_p.yaml similarity index 100% rename from ydb/docs/ru/core/devops/kubernetes/toc_p.yaml rename to ydb/docs/ru/core/devops/deployment-options/kubernetes/toc_p.yaml diff --git a/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/_includes/deprecated.md b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/_includes/deprecated.md new file mode 100644 index 000000000000..6e813c0cee55 --- /dev/null +++ b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/_includes/deprecated.md @@ -0,0 +1,7 @@ +{% note warning %} + +Данная статья предназначена для кластеров {{ ydb-short-name }} до версии v25.1, которые используют устаревший способ конфигурирования. Подробнее о системе конфигурации этих версий можно прочитать в разделе [{#T}](../index.md). + +Для актуальной версии {{ ydb-short-name }} доступны инструкции в разделе [{#T}](../../index.md). + +{% endnote %} diff --git a/ydb/docs/ru/core/devops/_includes/fault-tolerance.md b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/_includes/fault-tolerance.md similarity index 72% rename from ydb/docs/ru/core/devops/_includes/fault-tolerance.md rename to ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/_includes/fault-tolerance.md index f2cd3ec1034b..62108ea6e591 100644 --- a/ydb/docs/ru/core/devops/_includes/fault-tolerance.md +++ b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/_includes/fault-tolerance.md @@ -1,5 +1,5 @@ {% note info %} -Кластер {{ ydb-short-name }} является отказоустойчивым. Временное выключение узла не приводит к недоступности кластера. Подробнее см. [{#T}](../../concepts/topology.md). +Кластер {{ ydb-short-name }} является отказоустойчивым. Временное выключение узла не приводит к недоступности кластера. Подробнее см. [{#T}](../../../../../concepts/topology.md). {% endnote %} diff --git a/ydb/docs/ru/core/devops/_includes/warning-configuration-error.md b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/_includes/warning-configuration-error.md similarity index 100% rename from ydb/docs/ru/core/devops/_includes/warning-configuration-error.md rename to ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/_includes/warning-configuration-error.md diff --git a/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/cluster-expansion.md b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/cluster-expansion.md new file mode 100644 index 000000000000..fe46b1238ba8 --- /dev/null +++ b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/cluster-expansion.md @@ -0,0 +1,110 @@ +# Расширение кластера + +{% include [deprecated](_includes/deprecated.md) %} + +Вы можете расширить кластер {{ ydb-short-name }}, добавив новые узлы в конфигурацию кластера. Ниже приведены необходимые действия по расширению кластера {{ ydb-short-name }}, установленного вручную на виртуальные машины или физические сервера. Расширение кластера в среде Kubernetes осуществляется путём корректировки настроек контроллера {{ ydb-short-name }} для Kubernetes. + +Расширение кластера {{ ydb-short-name }} не требует приостановки доступа пользователей к базам данных. При расширении кластера выполняется перезапуск его компонент для применения изменений в конфигурации, что, в свою очередь, может привести к необходимости повтора выполняемых на кластере транзакций. Повторы транзакций выполняются автоматически за счет использования приложениями возможностей SDK {{ ydb-short-name }} по контролю ошибок и повтору операций. + +## Подготовка новых серверов {#add-host} + +В случае размещения новых статических или динамических узлов кластера на новых серверах, не входивших ранее в состав расширяемого кластера {{ ydb-short-name }}, на каждом новом сервере необходимо выполнить установку программного обеспечения {{ ydb-short-name }} в соответствии с процедурами, описанными в [инструкции по развертыванию кластеров](../initial-deployment.md). В частности, необходимо: + +1. создать учетную запись и группу в операционной системе для работы сервиса {{ ydb-short-name }}; +1. установить программное обеспечение {{ ydb-short-name }}; +1. подготовить и разместить на сервере соответствующий ему ключ и сертификат TLS; +1. скопировать на сервер актуальный конфигурационный файл кластера {{ ydb-short-name }}. + +Используемые на новых серверах сертификаты TLS должны соответствовать [требованиям к заполнению полей](../initial-deploymentmd#tls-certificates), и быть подписаны доверенным центром регистрации, используемым на уже существующих серверах расширяемого кластера {{ ydb-short-name }}. + +## Добавление динамических узлов {#add-dynamic-node} + +Добавление динамических узлов позволяет увеличить доступные вычислительные ресурсы (процессорные ядра и оперативную память) для выполнения пользовательских запросов кластером {{ ydb-short-name }}. + +Для добавления динамического узла в кластер достаточно запустить процесс, обслуживающий этот узел, передав ему в параметрах командной строки путь к конфигурационному файлу кластера, имя обслуживаемой базы данных и адреса любых трех статических узлов кластера кластера {{ ydb-short-name }}, как показано в [инструкции по развертыванию кластеров](../initial-deployment.md#start-dynnode). + +После успешного добавления динамического узла в кластер информация о нем будет доступна на [странице мониторинга кластера во встроенном UI](../../../../reference/embedded-ui/ydb-monitoring.md). + +Для вывода динамического узла из кластера достаточно выполнить остановку процесса динамического узла. + +## Добавление статических узлов {#add-static-node} + +Добавление статических узлов позволяет увеличить пропускную способность при выполнении операций ввода-вывода и увеличить доступную ёмкость для хранения данных в кластере {{ ydb-short-name }}. + +Для добавления статических узлов в кластер необходимо выполнить следующую последовательность действий: + +1. Отформатировать диски, которые будут использоваться для хранения данных {{ ydb-short-name }}, с использованием [процедуры, описанной для этапа развертывания кластера](../initial-deployment.md#prepare-disks). + +1. Скорректировать конфигурационный файл кластера, лежащий на нодах: + * включить в конфигурацию описание добавляемых узлов (в секции `hosts`) и используемых на них дисков (в секции `host_configs`); + * установить номер изменения конфигурации в виде параметра `storage_config_generation: K` на верхнем уровне, где `K` - целое число, номер изменения (при первоначальной установке значение `K=0` или не указано, при первом расширении кластера `K=1`, при втором `K=2`, и так далее). + +1. Скопировать доработанный конфигурационный файл кластера на все существующие и на все добавляемые сервера кластера, заместив им старую версию конфигурационного файла. + +1. Выполнить последовательный перезапуск всех существующих статических узлов кластера, с ожиданием инициализации и восстановления работы каждого перезапускаемого узла. + +1. Выполнить последовательный перезапуск всех существующих динамических узлов кластера. + +1. Запустить процессы, обслуживающие новые статические узлы кластера, на соответствующих серверах. + +1. Убедиться в том, что новые статические узлы отображаются на [странице мониторинга кластера во встроенном UI](../../../../reference/embedded-ui/ydb-monitoring.md). + +1. Получить токен аутентификации для выполнения административных команд с помощью {{ ydb-short-name }} CLI, например: + + ```bash + ydb -e grpcs://:2135 -d /Root --ca-file ca.crt \ + --user root auth get-token --force >token-file + ``` + + В примере команды выше используются следующие параметры: + * `node1.ydb.tech` - FQDN любого из серверов, на которых размещены статические узлы кластера; + * `2135` - номер порта grpcs сервиса статических узлов; + * `ca.crt` - имя файла с сертификатом центра регистрации; + * `root` - логин пользователя с административными правами; + * `token-file` - имя файла, в который сохраняется токен аутентификации для последующего использования. + + При выполнении приведенной выше команды {{ ydb-short-name }} CLI запросит пароль для аутентификации указанного пользователя. + +1. Разрешить кластеру {{ ydb-short-name }} использовать диски на новых статических узлах для хранения данных, выполнив следующую команду на любом из узлов кластера: + + ```bash + export LD_LIBRARY_PATH=/opt/ydb/lib + /opt/ydb/bin/ydbd -f ydbd-token-file --ca-file ca.crt -s grpcs://`hostname -f`:2135 \ + admin blobstorage config init --yaml-file /opt/ydb/cfg/config.yaml + echo $? + ``` + + В примере команды выше используются следующие параметры: + + * `ydbd-token-file` - имя файла ранее полученного токена аутентификации; + * `2135` - номер порта grpcs сервиса статических узлов; + * `ca.crt` - имя файла с сертификатом центра регистрации. + + Если при выполнении приведённой выше команды возвращается ошибка сверки номера конфигурации, это означает, что при корректировке конфигурационного файла кластера было неверно установлено поле `storage_config_generation`. Текст ошибки содержит ожидаемое значение номера конфигурации, которое можно использовать для корректировки файла настроек кластера. Пример сообщения об ошибке сверки номера конфигурации: + + ```proto + ErrorDescription: "ItemConfigGeneration mismatch ItemConfigGenerationProvided# 0 ItemConfigGenerationExpected# 1" + ``` + +2. Добавить дополнительные группы хранения в одну или несколько баз данных, выполнив команды следующего вида на любом из узлов кластера: + + ```bash + export LD_LIBRARY_PATH=/opt/ydb/lib + /opt/ydb/bin/ydbd -f ydbd-token-file --ca-file ca.crt -s grpcs://`hostname -f`:2135 \ + admin database /Root/testdb pools add ssd:1 + echo $? + ``` + + В примере команды выше используются следующие параметры: + + * `ydbd-token-file` - имя файла ранее полученного токена аутентификации; + * `2135` - номер порта grpcs сервиса статических узлов; + * `ca.crt` - имя файла с сертификатом центра регистрации; + * `/Root/testdb` - полный путь к базе данных; + * `ssd:1` - имя пула хранения и количество выделяемых групп хранения. + +3. Убедиться, что добавленные группы хранения отображаются на [странице мониторинга кластера во встроенном UI](../../../../reference/embedded-ui/ydb-monitoring.md). + +Вывод статических узлов из кластера {{ ydb-short-name }} производится в соответствии с [документированной процедурой декомиссии](../../../../devops/deployment-options/manual/decommissioning.md). + +В случае повреждения и невозможности ремонта сервера, на котором работает статический узел кластера, необходимо разместить недоступный статический узел на новом сервере, содержащем аналогичное или большее количество и объем дисков. diff --git a/ydb/docs/ru/core/maintenance/manual/_assets/config-chart-1.png b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/_assets/config-chart-1.png similarity index 100% rename from ydb/docs/ru/core/maintenance/manual/_assets/config-chart-1.png rename to ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/_assets/config-chart-1.png diff --git a/ydb/docs/ru/core/maintenance/manual/_assets/config-chart-2.png b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/_assets/config-chart-2.png similarity index 100% rename from ydb/docs/ru/core/maintenance/manual/_assets/config-chart-2.png rename to ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/_assets/config-chart-2.png diff --git a/ydb/docs/ru/core/maintenance/manual/change_actorsystem_configs.md b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/change_actorsystem_configs.md similarity index 100% rename from ydb/docs/ru/core/maintenance/manual/change_actorsystem_configs.md rename to ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/change_actorsystem_configs.md diff --git a/ydb/docs/ru/core/maintenance/manual/cms.md b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/cms.md similarity index 100% rename from ydb/docs/ru/core/maintenance/manual/cms.md rename to ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/cms.md diff --git a/ydb/docs/ru/core/maintenance/manual/config-overview.md b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/config-overview.md similarity index 73% rename from ydb/docs/ru/core/maintenance/manual/config-overview.md rename to ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/config-overview.md index fe32af33b574..c877cca2fc15 100644 --- a/ydb/docs/ru/core/maintenance/manual/config-overview.md +++ b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/config-overview.md @@ -1,5 +1,7 @@ # Обзор конфигурации +{% include [deprecated](../_includes/deprecated.md) %} + Для запуска узла {{ ydb-short-name }} требуется конфигурация. Существуют два типа конфигурации: * **Статическая** — файл в формате YAML, хранящийся на локальном диске узла. @@ -7,9 +9,9 @@ Статические узлы кластера используют статическую конфигурацию. Динамические узлы могут использовать статическую конфигурацию, динамическую конфигурацию или их комбинацию. -## Статическая конфигурация +## Статическая конфигурация {#static-config} -Статическая конфигурация представляет собой YAML файл, хранимый на узлах кластера. В этом файле перечислены все настройки системы. Путь к файлу передается на вход процессу `ydbd` при запуске через параметр командной строки. Распространение статической конфигурации по кластеру и поддержка её в консистентном состоянии на всех узлах — ответственность администратора кластера. Подробности по использованию статической конфигурации можно найти в разделе [{#T}](../../reference/configuration/index.md). Эта конфигурация **необходима** для запуска статических узлов. +Статическая конфигурация представляет собой YAML файл, хранимый на узлах кластера. В этом файле перечислены все настройки системы. Путь к файлу передается на вход процессу `ydbd` при запуске через параметр командной строки. Распространение статической конфигурации по кластеру и поддержка её в консистентном состоянии на всех узлах — ответственность администратора кластера. Подробности по использованию статической конфигурации можно найти в разделе [{#T}](../../../../../reference/configuration/index.md). Эта конфигурация **необходима** для запуска статических узлов. ![data tab](_assets/config-chart-1.png "static configs") @@ -20,9 +22,9 @@ 3. Разместить идентичные файлы конфигурации на всех узлах кластера. 4. Запустить все узлы кластера, указав путь к файлу конфигурации явно, используя аргумент командной строки `--yaml-config`. -## Динамическая конфигурация +## Динамическая конфигурация {#dynamic-config} -Динамическая конфигурация является YAML документом, надёжно сохранённом в кластере в [таблетке](../../concepts/glossary.md#tablet) Console. В отличие от статической её достаточно загрузить в кластер, так как за её распространение и поддержание в консистетном состоянии будет отвечать {{ ydb-short-name }}. При этом динамическая конфигурация при помощи селекторов позволяет обрабатывать, в том числе, сложные сценарии, оставаясь при этом в рамках одного файла конфигурации. Описание динамической конфигурации представлено в разделе [{#T}](./dynamic-config.md). +Динамическая конфигурация является YAML-документом, надёжно сохранённом в кластере в [таблетке Console](../../../../../concepts/glossary.md#console). В отличие от статической её достаточно загрузить в кластер, так как за её распространение и поддержание в консистентном состоянии будет отвечать {{ ydb-short-name }}. При этом динамическая конфигурация при помощи селекторов позволяет обрабатывать, в том числе, сложные сценарии, оставаясь при этом в рамках одного файла конфигурации. Описание динамической конфигурации представлено в разделе [{#T}](./dynamic-config.md). ![data tab](_assets/config-chart-2.png "static and dynamic configs") diff --git a/ydb/docs/ru/core/maintenance/manual/dynamic-config.md b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/dynamic-config.md similarity index 79% rename from ydb/docs/ru/core/maintenance/manual/dynamic-config.md rename to ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/dynamic-config.md index f3510ac19dde..29841b07d3c5 100644 --- a/ydb/docs/ru/core/maintenance/manual/dynamic-config.md +++ b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/dynamic-config.md @@ -1,6 +1,6 @@ ## Динамическая конфигурация кластера -Динамическая конфигурация позволяет запускать динамические [узлы](../../concepts/glossary.md#node), сконфигурировав их централизованно, без необходимости раскладывать файлы по узлам вручную. {{ ydb-short-name }} выступает в роли системы управления конфигурациями, предоставляя инструменты для надёжного хранения, версионирования и доставки конфигурации, а так же [DSL (Domain Specific Language)](./dynamic-config-selectors.md) для переопределения её частей для определённых групп узлов. Конфигурация представляет собой YAML документ. Он является расширенной версией статической конфигурации: +Динамическая конфигурация позволяет запускать динамические [узлы](../../../../../concepts/glossary.md#node), сконфигурировав их централизованно, без необходимости раскладывать файлы по узлам вручную. {{ ydb-short-name }} выступает в роли системы управления конфигурациями, предоставляя инструменты для надёжного хранения, версионирования и доставки конфигурации, а так же [DSL (Domain Specific Language)](../../../../configuration-management/dynamic-config-selectors.md) для переопределения её частей для определённых групп узлов. Конфигурация представляет собой YAML документ. Он является расширенной версией статической конфигурации: * описание конфигурации вынесено в поле `config`; * добавлено поле `metadata`, необходимое для валидации и версионирования; @@ -80,7 +80,7 @@ allowed_labels: {} selector_config: [] ``` -Подробнее параметры конфигурации описаны на странице [{#T}](../../reference/configuration/index.md). +Подробнее параметры конфигурации описаны на странице [{#T}](../../../../../reference/configuration/index.md). По умолчанию конфигурация кластера является пустой и имеет версию 1. При применении новой конфигурации версия загружаемой конфигурации сравнивается и автоматически увеличивается на единицу. @@ -95,24 +95,24 @@ vim dynconfig.yaml {{ ydb-cli }} admin config replace -f dynconfig.yaml ``` -Дополнительные возможности конфигурирования описаны на страницах [селекторы](./dynamic-config-selectors.md) и [временная конфигурация](./dynamic-config-volatile-config.md). -Все команды для работы с конфигурацией описаны в разделе [{#T}](../../reference/ydb-cli/configs.md). +Дополнительные возможности конфигурирования описаны на страницах [селекторы](../../../../configuration-management/dynamic-config-selectors.md) и [временная конфигурация](../../../../configuration-management/dynamic-config-volatile-config.md). +Все команды для работы с конфигурацией описаны в разделе [{#T}](../../../../../reference/ydb-cli/configs.md). ### Механизм работы #### Обновление конфигурации c точки зрения администратора -1. Конфигурационный файл загружается пользователем при помощи [grpc-вызова](https://github.com/ydb-platform/ydb/blob/5251c9ace0a7617c25d50f1aa4d0f13e3d56f985/ydb/public/api/grpc/draft/ydb_dynamic_config_v1.proto#L22) или [{{ ydb-short-name }} CLI](../../reference/ydb-cli/index.md) в кластер. +1. Конфигурационный файл загружается пользователем при помощи [grpc-вызова](https://github.com/ydb-platform/ydb/blob/5251c9ace0a7617c25d50f1aa4d0f13e3d56f985/ydb/public/api/grpc/draft/ydb_dynamic_config_v1.proto#L22) или [{{ ydb-short-name }} CLI](../../../../../reference/ydb-cli/index.md) в кластер. 2. Файл проверяется на валидность, проверяются базовые ограничения, корректность версии, корректность имени кластера, корректность конфигураций полученных после преобразования DSL. 3. Версия конфигурации в файле увеличивается на единицу. -4. Файл надёжно сохраняется в кластере [таблеткой](../../concepts/glossary.md#tablet) Console. +4. Файл надёжно сохраняется в кластере [таблеткой Console](../../../../../concepts/glossary.md#console). 5. Обновления файла рассылаются по узлам кластера. #### Обновление конфигурации с точки зрения узла кластера 1. Каждый узел при старте запрашивает полную конфигурацию. -2. Получив конфигурацию, узел [генерирует конечную конфигурацию](./dynamic-config-selectors.md#selectors-resolve) для своего набора [лейблов](./dynamic-config-selectors.md#selectors-intro). -3. Узел подписывается на обновления конфигурации, регистрируясь в таблетке Console. +2. Получив конфигурацию, узел [генерирует конечную конфигурацию](../../../../configuration-management/dynamic-config-selectors.md#selectors-resolve) для своего набора [лейблов](../../../../configuration-management/dynamic-config-selectors.md#selectors-intro). +3. Узел подписывается на обновления конфигурации, регистрируясь в [таблетке Console](../../../../../concepts/glossary.md#console). 4. В случае обновления конфигурации локальный сервис получает его и преобразует для лейблов узла. 5. Все локальные сервисы, подписанные на обновления, получают обновлённую конфигурацию. @@ -140,5 +140,5 @@ vim dynconfig.yaml ### Ограничения -* Использование более 30 различных [лейблов](./dynamic-config-selectors.md) в [селекторах](./dynamic-config-selectors.md) может привести к задержкам при валидации конфигурации в десятки секунд, т.к. {{ ydb-short-name }} необходимо проверить валидность каждой возможной конечной конфигурации. При этом количество значений одного лейбла влияет намного меньше. +* Использование более 30 различных [лейблов](../../../../configuration-management/dynamic-config-selectors.md#selectors-intro) в [селекторах](../../../../configuration-management/dynamic-config-selectors.md) может привести к задержкам при валидации конфигурации в десятки секунд, т.к. {{ ydb-short-name }} необходимо проверить валидность каждой возможной конечной конфигурации. При этом количество значений одного лейбла влияет намного меньше. * Использование объемных файлов (более 500KiB для кластера в 1000 узлов), конфигурации может привести к росту сетевого трафика в кластере при обновлении конфигурации. Объем трафика прямо пропорционален количеству нод и объему конфигурации. diff --git a/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/toc_p.yaml b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/toc_p.yaml new file mode 100644 index 000000000000..f18f615aad88 --- /dev/null +++ b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/configuration-management/toc_p.yaml @@ -0,0 +1,11 @@ +items: +- name: Обзор + href: config-overview.md +- name: Статическая конфигурация + href: ../../../../../reference/configuration/index.md +- name: Динамическая конфигурация + href: dynamic-config.md +- name: Изменение конфигураций через CMS + href: cms.md +- name: Изменение конфигурации актор-системы + href: change_actorsystem_configs.md diff --git a/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/index.md b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/index.md new file mode 100644 index 000000000000..44e911bfed13 --- /dev/null +++ b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/index.md @@ -0,0 +1,19 @@ +# Обзор конфигурации кластера до версии v25.1 + +{% include [deprecated](_includes/deprecated.md) %} + +В версиях до v25.1 использовалась двухуровневая система конфигурации кластера {{ ydb-short-name }}: + +1. **Статическая конфигурация**: файл в формате YAML, который располагается локально на каждом статическом узле и используется при запуске процесса `ydbd server`. Эта конфигурация содержит, в том числе, настройки [статической группы](../../../../concepts/glossary.md#static-group) и [State Storage](../../../../concepts/glossary.md#state-storage). + +2. **Динамическая конфигурация**: файл в формате YAML, являющийся расширенной версией статической конфигурации. Загружается через [CLI](../../../../recipes/ydb-cli/index.md) и надёжно сохраняется в [таблетке Console](../../../../concepts/glossary.md#console), которая затем распространяет конфигурацию на все динамические узлы кластера. Использование динамической конфигурации опционально. + +Подробнее о конфигурации кластера до версии v25.1 можно узнать в разделе [{#T}](configuration-management/config-overview.md). + +Начиная с версии v25.1, {{ ydb-short-name }} использует унифицированный подход к конфигурации, в формате единого файла, а также поддерживает автоматическую конфигурацию [статической группы](../../../../concepts/glossary.md#static-group) и [State Storage](../../../../concepts/glossary.md#state-storage). Данный раздел документации сохранён для справки по кластерам, которые всё ещё работают на более ранних версиях или не перешли на новый подход. + +Основные материалы: + +- [{#T}](cluster-expansion.md) +- [{#T}](state-storage-move.md) +- [{#T}](static-group-move.md) diff --git a/ydb/docs/ru/core/devops/manual/state-storage-move.md b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/state-storage-move.md similarity index 53% rename from ydb/docs/ru/core/devops/manual/state-storage-move.md rename to ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/state-storage-move.md index 26e42790f5cf..cf89bf3cf47a 100644 --- a/ydb/docs/ru/core/devops/manual/state-storage-move.md +++ b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/state-storage-move.md @@ -1,8 +1,10 @@ # Перемещение State Storage -Если нужно вывести из эксплуатации хост кластера {{ ydb-short-name }}, на котором располагается часть [State Storage](../../reference/configuration/index.md#domains-state), необходимо переместить ее на другой хост. +{% include [deprecated](_includes/deprecated.md) %} -{% include [warning-configuration-error](../_includes/warning-configuration-error.md) %} +Если нужно вывести из эксплуатации хост кластера {{ ydb-short-name }}, на котором располагается часть [State Storage](../../../../reference/configuration/index.md#domains-state), необходимо переместить её на другой хост. + +{% include [warning-configuration-error](_includes/warning-configuration-error.md) %} В качестве примера рассмотрим кластер {{ ydb-short-name }} со следующей конфигурацией State Storage: @@ -19,15 +21,15 @@ domains_config: ... ``` -На хосте с `node_id:1` сконфигурирован и запущен [статический узел](../../reference/configuration/index.md#hosts) кластера, который обслуживает часть State Storage. Предположим, нам нужно вывести из эксплуатации этот хост. +На хосте с `node_id:1` сконфигурирован и запущен [статический узел](../../../../reference/configuration/index.md#hosts) кластера, который обслуживает часть State Storage. Предположим, нам нужно вывести из эксплуатации этот хост. -Для замены `node_id:1` мы [добавили](../../maintenance/manual/cluster_expansion.md#add-host) в кластер новый хост с `node_id:10` и [развернули](../../maintenance/manual/cluster_expansion.md#add-static-node) на нем статический узел. +Для замены `node_id:1` мы [добавили](../../../../devops/deployment-options/manual/before-v25.1/cluster-expansion.md#add-host) в кластер новый хост с `node_id:10` и [развернули](../../../../devops/deployment-options/manual/before-v25.1/cluster-expansion.md#add-static-node) на нём статический узел. Чтобы переместить State Storage с хоста `node_id:1` на `node_id:10`: 1. Остановите статические узлы кластера на хостах с `node_id:1` и `node_id:10`. - {% include [fault-tolerance](../_includes/fault-tolerance.md) %} + {% include [fault-tolerance](_includes/fault-tolerance.md) %} 1. В конфигурационном файле `config.yaml` измените список хостов `node`, заменив идентификатор удаляемого хоста на идентификатор добавляемого: @@ -43,5 +45,6 @@ domains_config: ``` 1. Обновите конфигурационные файлы `config.yaml` для всех узлов кластера, в том числе и динамических. -1. С помощью процедуры [rolling-restart](../../maintenance/manual/node_restarting.md) перезапустите все узлы кластера, включая динамические, кроме статических узлов на хостах с `node_id:1` и `node_id:10`. Обратите внимание, что между рестартом хостов необходима задержка как минимум в 15 секунд. +1. С помощью процедуры [rolling-restart](../../../../maintenance/manual/node_restarting.md) перезапустите все узлы кластера, включая динамические, кроме статических узлов на хостах с `node_id:1` и `node_id:10`. Обратите внимание, что между рестартом хостов необходима задержка как минимум в 15 секунд. 1. Запустите статические узлы кластера на хостах `node_id:1` и `node_id:10`. + diff --git a/ydb/docs/ru/core/devops/manual/static-group-move.md b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/static-group-move.md similarity index 67% rename from ydb/docs/ru/core/devops/manual/static-group-move.md rename to ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/static-group-move.md index fad95821f119..be59e1b28755 100644 --- a/ydb/docs/ru/core/devops/manual/static-group-move.md +++ b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/static-group-move.md @@ -1,10 +1,12 @@ # Перемещение статической группы -Если нужно вывести из эксплуатации хост кластера {{ ydb-short-name }}, на котором располагается часть [статической группы](../../reference/configuration/index.md#blob_storage_config), необходимо переместить ее на другой хост. +{% include [deprecated](_includes/deprecated.md) %} -{% include [warning-configuration-error](../_includes/warning-configuration-error.md) %} +Если нужно вывести из эксплуатации хост кластера {{ ydb-short-name }}, на котором располагается часть [статической группы](../../../../reference/configuration/index.md#blob_storage_config), необходимо переместить её на другой хост. -В качестве примера рассмотрим кластер {{ ydb-short-name }}, в котором на хосте с `node_id:1` сконфигурирован и запущен [статический узел](../../reference/configuration/index.md#hosts). Этот узел обслуживает часть статической группы. +{% include [warning-configuration-error](_includes/warning-configuration-error.md) %} + +В качестве примера рассмотрим кластер {{ ydb-short-name }}, в котором на хосте с `node_id:1` сконфигурирован и запущен [статический узел](../../../../reference/configuration/index.md#hosts). Этот узел обслуживает часть статической группы. Фрагмент конфигурации статической группы: @@ -30,13 +32,13 @@ blob_storage_config: ... ``` -Для замены `node_id:1` мы [добавили](../../maintenance/manual/cluster_expansion.md#add-host) в кластер новый хост с `node_id:10` и [развернули](../../maintenance/manual/cluster_expansion.md#add-static-node) на нем статический узел. +Для замены `node_id:1` мы [добавили](cluster-expansion.md#add-static-node) в кластер новый хост с `node_id:10` и [развернули](cluster-expansion.md#add-static-node) на нём статический узел. Чтобы переместить часть статической группы с хоста `node_id:1` на `node_id:10`: 1. Остановите статический узел кластера на хосте с `node_id:1`. - {% include [fault-tolerance](../_includes/fault-tolerance.md) %} + {% include [fault-tolerance](_includes/fault-tolerance.md) %} 1. В конфигурационном файле `config.yaml` измените значение `node_id`, заменив идентификатор удаляемого хоста на идентификатор добавляемого: ```yaml @@ -64,6 +66,7 @@ blob_storage_config: Измените путь `path` и категорию `pdisk_category` диска, если на хосте с `node_id: 10` они отличаются. 1. Обновите конфигурационные файлы `config.yaml` для всех узлов кластера, в том числе и динамических. -1. С помощью процедуры [rolling-restart](../../maintenance/manual/node_restarting.md) перезапустите все статические узлы кластера. -1. Перейдите на страницу мониторинга Embedded UI и убедитесь, что VDisk статической группы появился на целевом физическом диске и реплицируется. Подробнее см. [{#T}](../../reference/embedded-ui/ydb-monitoring.md#static-group). -1. С помощью процедуры [rolling-restart](../../maintenance/manual/node_restarting.md) перезапустите все динамические узлы кластера. +1. С помощью процедуры [rolling-restart](../../../../maintenance/manual/node_restarting.md) перезапустите все статические узлы кластера. +1. Перейдите на страницу мониторинга Embedded UI и убедитесь, что VDisk статической группы появился на целевом физическом диске и реплицируется. Подробнее см. [{#T}](../../../../reference/embedded-ui/ydb-monitoring.md#static-group). +1. С помощью процедуры [rolling-restart](../../../../maintenance/manual/node_restarting.md) перезапустите все динамические узлы кластера. + diff --git a/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/toc_p.yaml b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/toc_p.yaml new file mode 100644 index 000000000000..6acfd539073d --- /dev/null +++ b/ydb/docs/ru/core/devops/deployment-options/manual/before-v25.1/toc_p.yaml @@ -0,0 +1,15 @@ +items: +- name: Обзор + href: index.md +- name: Расширение кластера + href: cluster-expansion.md +- name: Перемещение State Storage + href: state-storage-move.md +- name: Перемещение статической группы + href: static-group-move.md +- name: Управление конфигурацией кластера + href: configuration-management/config-overview.md + include: + mode: link + path: configuration-management/toc_p.yaml + diff --git a/ydb/docs/ru/core/devops/manual/decommissioning.md b/ydb/docs/ru/core/devops/deployment-options/manual/decommissioning.md similarity index 96% rename from ydb/docs/ru/core/devops/manual/decommissioning.md rename to ydb/docs/ru/core/devops/deployment-options/manual/decommissioning.md index 0321ee27c285..0ae586b76ce1 100644 --- a/ydb/docs/ru/core/devops/manual/decommissioning.md +++ b/ydb/docs/ru/core/devops/deployment-options/manual/decommissioning.md @@ -31,7 +31,7 @@ Описанные шаги повторяются для следующего набора оборудования в ЦОД-1 до тех пор, пока все оборудование не будет перемещено. -Чтобы задать нужное состояние декомиссии диска, воспользуйтесь утилитой [{{ ydb-short-name }} DSTool](../../reference/ydb-dstool/index.md). Следующая команда задаст статус `DECOMMIT_IMMINENT` диску с ID `1000` на ноде с ID `1`: +Чтобы задать нужное состояние декомиссии диска, воспользуйтесь утилитой [{{ ydb-short-name }} DSTool](../../../reference/ydb-dstool/index.md). Следующая команда задаст статус `DECOMMIT_IMMINENT` диску с ID `1000` на ноде с ID `1`: ```bash ydb-dstool -e pdisk set --decommit-status DECOMMIT_IMMINENT --pdisk-ids "[1:1000]" diff --git a/ydb/docs/ru/core/devops/manual/federated-queries/_images/ydb_fq_onprem.png b/ydb/docs/ru/core/devops/deployment-options/manual/federated-queries/_images/ydb_fq_onprem.png similarity index 100% rename from ydb/docs/ru/core/devops/manual/federated-queries/_images/ydb_fq_onprem.png rename to ydb/docs/ru/core/devops/deployment-options/manual/federated-queries/_images/ydb_fq_onprem.png diff --git a/ydb/docs/ru/core/devops/manual/federated-queries/connector-deployment.md b/ydb/docs/ru/core/devops/deployment-options/manual/federated-queries/connector-deployment.md similarity index 95% rename from ydb/docs/ru/core/devops/manual/federated-queries/connector-deployment.md rename to ydb/docs/ru/core/devops/deployment-options/manual/federated-queries/connector-deployment.md index f99f0dc293cf..f6c2171ea5df 100644 --- a/ydb/docs/ru/core/devops/manual/federated-queries/connector-deployment.md +++ b/ydb/docs/ru/core/devops/deployment-options/manual/federated-queries/connector-deployment.md @@ -6,7 +6,7 @@ {% endnote %} -[Коннекторы](../../../concepts/federated_query/architecture.md#connectors) - специальные микросервисы, предоставляющие {{ ydb-full-name }} универсальную абстракцию доступа ко внешним источникам данных. Коннекторы выступают в качестве точек расширения системы обработки [федеративных запросов](../../../concepts/federated_query/index.md) {{ ydb-full-name }}. В данном руководстве мы рассмотрим особенности развёртывания коннекторов в режиме on-premise. +[Коннекторы](../../../../concepts/federated_query/architecture.md#connectors) - специальные микросервисы, предоставляющие {{ ydb-full-name }} универсальную абстракцию доступа ко внешним источникам данных. Коннекторы выступают в качестве точек расширения системы обработки [федеративных запросов](../../../../concepts/federated_query/index.md) {{ ydb-full-name }}. В данном руководстве мы рассмотрим особенности развёртывания коннекторов в режиме on-premise. ## fq-connector-go {#fq-connector-go} diff --git a/ydb/docs/ru/core/devops/manual/federated-queries/index.md b/ydb/docs/ru/core/devops/deployment-options/manual/federated-queries/index.md similarity index 83% rename from ydb/docs/ru/core/devops/manual/federated-queries/index.md rename to ydb/docs/ru/core/devops/deployment-options/manual/federated-queries/index.md index fe66a39f2fbc..51e8267d02c0 100644 --- a/ydb/docs/ru/core/devops/manual/federated-queries/index.md +++ b/ydb/docs/ru/core/devops/deployment-options/manual/federated-queries/index.md @@ -8,11 +8,11 @@ ## Общая схема инсталляции{#general-scheme} -{{ ydb-full-name }} может выполнять [федеративные запросы](../../../concepts/federated_query/index.md) ко внешним источникам (например, объектным хранилищам или реляционным СУБД) без необходимости перемещения их данных непосредственно в {{ ydb-short-name }}. В данном разделе мы рассмотрим изменения, которые необходимо внести в конфигурацию {{ ydb-short-name }} и окружающую инфраструктуру для включения функциональности федеративных запросов. +{{ ydb-full-name }} может выполнять [федеративные запросы](../../../../concepts/federated_query/index.md) ко внешним источникам (например, объектным хранилищам или реляционным СУБД) без необходимости перемещения их данных непосредственно в {{ ydb-short-name }}. В данном разделе мы рассмотрим изменения, которые необходимо внести в конфигурацию {{ ydb-short-name }} и окружающую инфраструктуру для включения функциональности федеративных запросов. {% note info %} -Для организации доступа к некоторым из источников данных требуется развёртывание специального микросервиса - [коннектора](../../../concepts/federated_query/architecture.md#connectors). Ознакомьтесь c [перечнем поддерживаемых источников](../../../concepts/federated_query/architecture.md#supported-datasources), чтобы понять, требуется ли вам установка коннектора. +Для организации доступа к некоторым из источников данных требуется развёртывание специального микросервиса - [коннектора](../../../../concepts/federated_query/architecture.md#connectors). Ознакомьтесь c [перечнем поддерживаемых источников](../../../../concepts/federated_query/architecture.md#supported-datasources), чтобы понять, требуется ли вам установка коннектора. {% endnote %} diff --git a/ydb/docs/ru/core/devops/manual/federated-queries/toc_p.yaml b/ydb/docs/ru/core/devops/deployment-options/manual/federated-queries/toc_p.yaml similarity index 100% rename from ydb/docs/ru/core/devops/manual/federated-queries/toc_p.yaml rename to ydb/docs/ru/core/devops/deployment-options/manual/federated-queries/toc_p.yaml diff --git a/ydb/docs/ru/core/devops/deployment-options/manual/index.md b/ydb/docs/ru/core/devops/deployment-options/manual/index.md new file mode 100644 index 000000000000..79aac2183a27 --- /dev/null +++ b/ydb/docs/ru/core/devops/deployment-options/manual/index.md @@ -0,0 +1,10 @@ +# Обзор управления кластером {{ ydb-short-name }} вручную + +В этом разделе описано развёртывание, конфигурирование, обслуживание, мониторинг и диагностика многоузловых [кластеров {{ ydb-short-name }}](../../../concepts/topology.md) без использования систем оркестрации и автоматизации (таких как Kubernetes или специализированных инструментов управления). При таком подходе администратор самостоятельно выполняет все операции по установке компонентов, настройке конфигурации и обслуживанию кластера, используя командную строку и напрямую взаимодействуя с узлами кластера. + +Основные материалы: + +- [{#T}](initial-deployment.md) +- [{#T}](../../../maintenance/manual/index.md) +- [{#T}](../../../reference/embedded-ui/index.md) +- [{#T}](before-v25.1/index.md) diff --git a/ydb/docs/ru/core/devops/manual/initial-deployment.md b/ydb/docs/ru/core/devops/deployment-options/manual/initial-deployment.md similarity index 90% rename from ydb/docs/ru/core/devops/manual/initial-deployment.md rename to ydb/docs/ru/core/devops/deployment-options/manual/initial-deployment.md index 27fc2c52ec02..6570483035df 100644 --- a/ydb/docs/ru/core/devops/manual/initial-deployment.md +++ b/ydb/docs/ru/core/devops/deployment-options/manual/initial-deployment.md @@ -8,7 +8,7 @@ ### Требования {#requirements} -Ознакомьтесь с [системными требованиями](../../devops/system-requirements.md) и [топологией кластера](../../concepts/topology.md). +Ознакомьтесь с [системными требованиями](../../../devops/system-requirements.md) и [топологией кластера](../../../concepts/topology.md). У вас должен быть SSH доступ на все сервера. Это необходимо для установки артефактов и запуска исполняемого файла {{ ydb-short-name }}. @@ -27,8 +27,8 @@ Выберите серверы и диски, которые будут использоваться для хранения данных: -* Используйте схему отказоустойчивости `block-4-2` для развертывания кластера в одной зоне доступности (AZ). Чтобы переживать отказ 2 серверов, используйте не менее 8 серверов. -* Используйте схему отказоустойчивости `mirror-3-dc` для развертывания кластера в трех зонах доступности (AZ). Чтобы переживать отказ 1 AZ и 1 сервера в другой AZ, используйте не менее 9 серверов. Количество задействованных серверов в каждой AZ должно быть одинаковым. +* Используйте схему отказоустойчивости `block-4-2` для развертывания кластера в одной зоне доступности (AZ), задействуя не менее 8 серверов. Данная схема позволяет переживать отказ 2 серверов. +* Используйте схему отказоустойчивости `mirror-3-dc` для развертывания кластера в трех зонах доступности (AZ), задействуя не менее 9 серверов. Данная схема позволяет переживать отказ 1 AZ и 1 сервера в другой AZ. Количество задействованных серверов в каждой AZ должно быть одинаковым. {% note info %} @@ -36,7 +36,7 @@ {% endnote %} -Подробнее требования к оборудованию описаны в разделе [{#T}](../../devops/system-requirements.md). +Подробнее требования к оборудованию описаны в разделе [{#T}](../../../devops/system-requirements.md). ### Подготовка ключей и сертификатов TLS {#tls-certificates} @@ -107,7 +107,7 @@ sudo usermod -aG disk ydb ## Подготовьте и очистите диски на каждом сервере {#prepare-disks} -{% include [_includes/storage-device-requirements.md](../../_includes/storage-device-requirements.md) %} +{% include [_includes/storage-device-requirements.md](../../../_includes/storage-device-requirements.md) %} 1. Создайте разделы на выбранных дисках: @@ -133,11 +133,11 @@ sudo usermod -aG disk ydb 2. Очистите диск встроенной в исполняемый файл `ydbd` командой: -{% note warning %} + {% note warning %} -После выполнения команды данные на диске сотрутся. + После выполнения команды данные на диске сотрутся. -{% endnote %} + {% endnote %} ```bash sudo LD_LIBRARY_PATH=/opt/ydb/lib /opt/ydb/bin/ydbd admin bs disk obliterate /dev/disk/by-partlabel/ydb_disk_ssd_01 @@ -151,9 +151,9 @@ sudo usermod -aG disk ydb 1. Скачайте пример конфига для соответствующей модели отказа вашего кластера: - * [block-4-2](https://github.com/ydb-platform/ydb/blob/stable-23-3/ydb/deploy/yaml_config_examples/block-4-2.yaml) - для однодатацентрового кластера. - * [mirror-3dc](https://github.com/ydb-platform/ydb/blob/stable-23-3/ydb/deploy/yaml_config_examples/mirror-3dc-9-nodes.yaml) - для cross-DC кластера из 9 нод. - * [mirror-3dc-3nodes](https://github.com/ydb-platform/ydb/blob/stable-23-3//ydb/deploy/yaml_config_examples/mirror-3dc-3-nodes.yaml) - для cross-DC кластера из 3 нод. + * [block-4-2](https://github.com/ydb-platform/ydb/blob/main/ydb/deploy/yaml_config_examples/block-4-2.yaml) - для однодатацентрового кластера. + * [mirror-3dc](https://github.com/ydb-platform/ydb/blob/main/ydb/deploy/yaml_config_examples/mirror-3dc-9-nodes.yaml) - для cross-DC кластера из 9 нод. + * [mirror-3dc-3nodes](https://github.com/ydb-platform/ydb/blob/main/ydb/deploy/yaml_config_examples/mirror-3dc-3-nodes.yaml) - для cross-DC кластера из 3 нод. 1. В секции `host_configs` укажите все диски и их тип на каждой из нод кластера. Возможные варианты типов дисков: @@ -192,53 +192,47 @@ sudo usermod -aG disk ydb rack: '1' ``` -1. В секции `blob_storage_config` скорректируйте FQDN всех нод, используемых для размещения статической группы хранения: - - * для схемы `mirror-3-dc` необходимо указать FQDN для 9 нод; - * для схемы `block-4-2` необходимо указать FQDN для 8 нод. - 1. Включите аутентификацию пользователей (опционально). - Если вы планируете использовать в кластере {{ ydb-short-name }} возможности аутентификации и разграничения доступа пользователей, добавьте в секцию `domains_config` следующие дополнительные параметры: + Если вы планируете использовать в кластере {{ ydb-short-name }} возможности аутентификации и разграничения доступа пользователей, добавьте секцию `security_config` со следующими параметрами: ```yaml - domains_config: - security_config: - enforce_user_token_requirement: true - monitoring_allowed_sids: - - "root" - - "ADMINS" - - "DATABASE-ADMINS" - administration_allowed_sids: - - "root" - - "ADMINS" - - "DATABASE-ADMINS" - viewer_allowed_sids: - - "root" - - "ADMINS" - - "DATABASE-ADMINS" + security_config: + enforce_user_token_requirement: true + monitoring_allowed_sids: + - "root" + - "ADMINS" + - "DATABASE-ADMINS" + administration_allowed_sids: + - "root" + - "ADMINS" + - "DATABASE-ADMINS" + viewer_allowed_sids: + - "root" + - "ADMINS" + - "DATABASE-ADMINS" ``` При использовании режима шифрования трафика убедитесь в наличии в конфигурационном файле {{ ydb-short-name }} установленных путей к файлам ключей и сертификатов в секциях `interconnect_config` и `grpc_config`: ```yaml interconnect_config: - start_tcp: true - encryption_mode: OPTIONAL - path_to_certificate_file: "/opt/ydb/certs/node.crt" - path_to_private_key_file: "/opt/ydb/certs/node.key" - path_to_ca_file: "/opt/ydb/certs/ca.crt" + start_tcp: true + encryption_mode: OPTIONAL + path_to_certificate_file: "/opt/ydb/certs/node.crt" + path_to_private_key_file: "/opt/ydb/certs/node.key" + path_to_ca_file: "/opt/ydb/certs/ca.crt" grpc_config: - cert: "/opt/ydb/certs/node.crt" - key: "/opt/ydb/certs/node.key" - ca: "/opt/ydb/certs/ca.crt" - services_enabled: - - legacy + cert: "/opt/ydb/certs/node.crt" + key: "/opt/ydb/certs/node.key" + ca: "/opt/ydb/certs/ca.crt" + services_enabled: + - legacy ``` Сохраните конфигурационный файл {{ ydb-short-name }} под именем `/opt/ydb/cfg/config.yaml` на каждом сервере кластера. -Более подробная информация по созданию файла конфигурации приведена в разделе [{#T}](../../reference/configuration/index.md). +Более подробная информация по созданию файла конфигурации приведена в разделе [{#T}](../../../reference/configuration/index.md). ## Скопируйте ключи и сертификаты TLS на каждый сервер {#tls-copy-cert} @@ -325,13 +319,13 @@ sudo chmod 700 /opt/ydb/certs - Аутентификация включена - Для выполнения административных команд (включая инициализацию кластера, создание баз данных, управление дисками и другие) в кластере со включённым режимом аутентификации пользователей необходимо предварительно получить аутентификационный токен с использованием клиента {{ ydb-short-name }} CLI версии 2.0.0 или выше. Клиент {{ ydb-short-name }} CLI следует установить на любом компьютере, имеющем сетевой доступ к узлам кластера (например, на одном из узлов кластера), в соответствии с [инструкцией по установке](../../reference/ydb-cli/install.md). + Для выполнения административных команд (включая инициализацию кластера, создание баз данных, управление дисками и другие) в кластере со включённым режимом аутентификации пользователей необходимо предварительно получить аутентификационный токен с использованием клиента {{ ydb-short-name }} CLI версии 2.0.0 или выше. Клиент {{ ydb-short-name }} CLI следует установить на любом компьютере, имеющем сетевой доступ к узлам кластера (например, на одном из узлов кластера), в соответствии с [инструкцией по установке](../../../reference/ydb-cli/install.md). При первоначальной установке кластера в нём существует единственная учётная запись `root` с пустым паролем, поэтому команда получения токена выглядит следующим образом: ```bash ydb -e grpcs://:2135 -d /Root --ca-file ca.crt \ - --user root --no-password auth get-token --force >token-file + --user root --no-password auth get-token --force > token-file ``` В качестве сервера для подключения (параметр `-e` или `--endpoint`) может быть указан любой из серверов хранения в составе кластера. @@ -340,8 +334,8 @@ sudo chmod 700 /opt/ydb/certs ```bash export LD_LIBRARY_PATH=/opt/ydb/lib - /opt/ydb/bin/ydbd -f token-file --ca-file ca.crt -s grpcs://`hostname -f`:2135 \ - admin blobstorage config init --yaml-file /opt/ydb/cfg/config.yaml + ydb --token-file token-file --ca-file ca.crt -e grpcs://:2135 \ + admin cluster bootstrap --uuid <строка> echo $? ``` @@ -351,8 +345,8 @@ sudo chmod 700 /opt/ydb/certs ```bash export LD_LIBRARY_PATH=/opt/ydb/lib - /opt/ydb/bin/ydbd --ca-file ca.crt -s grpcs://`hostname -f`:2135 \ - admin blobstorage config init --yaml-file /opt/ydb/cfg/config.yaml + ydb --ca-file ca.crt -e grpcs://:2135 \ + admin cluster bootstrap --uuid <строка> echo $? ``` @@ -484,11 +478,11 @@ sudo chmod 700 /opt/ydb/certs Если в файле настроек кластера включен режим аутентификации, то перед началом работы с кластером {{ ydb-short-name }} необходимо выполнить первоначальную настройку учетных записей. -При первоначальной установке кластера {{ ydb-short-name }} автоматически создается учетная запись `root` с пустым паролем, а также стандартный набор групп пользователей, описанный в разделе [{#T}](../../security/builtin-security.md). +При первоначальной установке кластера {{ ydb-short-name }} автоматически создается учетная запись `root` с пустым паролем, а также стандартный набор групп пользователей, описанный в разделе [{#T}](../../../security/builtin-security.md). Для выполнения первоначальной настройки учетных записей в созданном кластере {{ ydb-short-name }} выполните следующие операции: -1. Установите {{ ydb-short-name }} CLI, как описано в [документации](../../reference/ydb-cli/install.md). +1. Установите {{ ydb-short-name }} CLI, как описано в [документации](../../../reference/ydb-cli/install.md). 1. Выполните установку пароля учетной записи `root`: @@ -515,11 +509,11 @@ sudo chmod 700 /opt/ydb/certs В перечисленных выше примерах команд `` - FQDN сервера, на котором запущен любой динамический узел, обслуживающий базу `/Root/testdb`. -При выполнении команд создания учетных записей и присвоения групп клиент {{ ydb-short-name }} CLI будет запрашивать ввод пароля пользователя `root`. Избежать многократного ввода пароля можно, создав профиль подключения, как описано в [документации {{ ydb-short-name }} CLI](../../reference/ydb-cli/profile/index.md). +При выполнении команд создания учётных записей и присвоения групп клиент {{ ydb-short-name }} CLI будет запрашивать ввод пароля пользователя `root`. Избежать многократного ввода пароля можно, создав профиль подключения, как описано в [документации {{ ydb-short-name }} CLI](../../../reference/ydb-cli/profile/index.md). ## Протестируйте работу с созданной базой {#try-first-db} -1. Установите {{ ydb-short-name }} CLI, как описано в [документации](../../reference/ydb-cli/install.md). +1. Установите {{ ydb-short-name }} CLI, как описано в [документации](../../../reference/ydb-cli/install.md). 1. Создайте тестовую строковую (`test_row_table`) или колоночную таблицу (`test_column_table`): @@ -549,7 +543,7 @@ sudo chmod 700 /opt/ydb/certs В Web-браузере должно быть настроено доверие в отношении центра регистрации, выпустившего сертификаты для кластера {{ ydb-short-name }}, в противном случае будет отображено предупреждение об использовании недоверенного сертификата. -Если в кластере включена аутентификация, в Web-браузере должен отобразиться запрос логина и пароля. После ввода верных данных аутентификации должна отобразиться начальная страница встроенного web-интерфейса. Описание доступных функций и пользовательского интерфейса приведено в разделе [{#T}](../../reference/embedded-ui/index.md). +Если в кластере включена аутентификация, в Web-браузере должен отобразиться запрос логина и пароля. После ввода верных данных аутентификации должна отобразиться начальная страница встроенного web-интерфейса. Описание доступных функций и пользовательского интерфейса приведено в разделе [{#T}](../../../reference/embedded-ui/index.md). {% note info %} @@ -583,7 +577,7 @@ sudo chmod 700 /opt/ydb/certs ```bash export LD_LIBRARY_PATH=/opt/ydb/lib - /opt/ydb/bin/ydbd admin blobstorage config init --yaml-file /opt/ydb/cfg/config.yaml + ydb admin blobstorage bootstrap --uuid <строка> echo $? ``` diff --git a/ydb/docs/ru/core/devops/deployment-options/manual/migration/index.md b/ydb/docs/ru/core/devops/deployment-options/manual/migration/index.md new file mode 100644 index 000000000000..a87441310e3f --- /dev/null +++ b/ydb/docs/ru/core/devops/deployment-options/manual/migration/index.md @@ -0,0 +1,14 @@ +# Обзор миграций кластера + +До версии v25.1 конфигурация кластера {{ ydb-short-name }} работала в формате двухуровневой конфигурации: статической и динамической. Подробнее о конфигурации кластера до версии v25.1 можно узнать в разделе [Обзор конфигурации](../before-v25.1/index.md). + +Однако начиная с версии v25.1, {{ ydb-short-name }} использует унифицированный подход к конфигурации, в формате единого файла, а также поддерживает автоматическую конфигурацию [статической группы](../../../../concepts/glossary.md#static-group) и [State Storage](../../../../concepts/glossary.md#state-storage). Данный раздел содержит инструкции по миграции кластера {{ ydb-short-name }}, позволяющие перейти на новую конфигурацию в два этапа: + +1. Миграция со старой конфигурации на единый формат динамической конфигурации. +2. Миграция с динамической конфигурации на автоматическую. + +Основные материалы: + +- [{#T}](migration-to-dynconfig.md) - миграция на динамическую конфигурацию. +- [{#T}](migration-to-autoconfiguration.md) - миграция на автоматическую конфигурацию. +- [{#T}](migration-to-manual-configuration.md) - миграция с автоматической конфигурации обратно на ручную. diff --git a/ydb/docs/ru/core/devops/deployment-options/manual/migration/migration-to-autoconfiguration.md b/ydb/docs/ru/core/devops/deployment-options/manual/migration/migration-to-autoconfiguration.md new file mode 100644 index 000000000000..670104b506da --- /dev/null +++ b/ydb/docs/ru/core/devops/deployment-options/manual/migration/migration-to-autoconfiguration.md @@ -0,0 +1,53 @@ +# Миграция на автоматическую конфигурацию State Storage и статической группы + +Данный документ содержит инструкции по миграции на [автоматическую конфигурацию](../../../configuration-management/index.md) [State Storage](../../../../concepts/glossary.md#state-storage) и [статической группы](../../../../concepts/glossary.md#static-group) кластера {{ ydb-short-name }}. + +Автоматическая конфигурация: + +- упрощает управление статической группой и State Storage кластера; +- снижает риск ошибок при конфигурировании; +- обеспечивает более надежную работу кластера; +- является предпочтительным способом конфигурации для кластеров версии v25.1 и выше. + +В дальнейшем ручной способ конфигурации State Storage и статической группы будет считаться устаревшим, потому следует мигрировать на автоматическую конфигурацию при первой возможности. + +## Исходное состояние + +Миграция на автоматическую конфигурацию может быть осуществлена в случае выполнения следующих условий: + +1. Кластер {{ydb-short-name}} [обновлен](../../../maintenance/upgrade.md) до версии v25.1 и выше. +2. Кластер {{ydb-short-name}} перешёл на работу с файлом [динамической конфигурации](../before-v25.1/configuration-management/config-overview.md#dynamic-config), согласно данной [инструкции](migration-to-dynconfig.md). +3. Файл динамической конфигурации `config.yaml` разложен по нодам и загружен в систему. + +## Процедура миграции + +Для включения автоматической конфигурации кластера, необходимо проделать следующие шаги: + +1. Получить текущую конфигурацию кластера: + + ```bash + ydb -e grpc://:2135 admin config fetch > config.yaml + ``` + + Файл `config.yaml` должен совпадать с конфигурационными файлами, разложенными по нодам кластера. + +2. Добавить в `config.yaml` в разделе `config` следующий блок: + + ```yaml + self_management_config: + enabled: true + ``` + +3. Разложить обновленный конфигурационный файл `config.yaml` по всем нодам кластера. +4. Перезапустить все [статические узлы](../../../../concepts/glossary.md#static-node) кластера с помощью процедуры [rolling-restart](../../../../maintenance/manual/node_restarting.md). +5. При наличии секции `config.domains_config.security_config` в файле `config.yaml`, вынести её в секцию `config`. +6. Удалить из файла `config.yaml` секции `config.blob_storage_config` и `config.domains_config`. +7. Выполнить следующую команду с измененным конфигурационным файлом: + +```bash +ydb -e grpc://:2135 admin storage replace -f config.yaml +``` + +8. Выложить новый конфигурационный файл на ноды кластера. + +В результате проделанных действий кластер будет переведён в режим автоматической конфигурации. Управление [State Storage](../../../../reference/configuration/index.md#domains-state) и [статической группой](../../../../reference/configuration/index.md#blob_storage_config) осуществляется с помощью [распределённой конфигурации](../../../../concepts/glossary.md#distributed-configuration), вносить дополнительные изменения в конфигурацию на нодах не требуется. diff --git a/ydb/docs/ru/core/devops/deployment-options/manual/migration/migration-to-dynconfig.md b/ydb/docs/ru/core/devops/deployment-options/manual/migration/migration-to-dynconfig.md new file mode 100644 index 000000000000..cf980210b50b --- /dev/null +++ b/ydb/docs/ru/core/devops/deployment-options/manual/migration/migration-to-dynconfig.md @@ -0,0 +1,32 @@ +# Миграция на динамическую конфигурацию + +Данный документ содержит инструкции по миграции со [статической конфигурации](../before-v25.1/configuration-management/config-overview.md#static-config) кластера {{ydb-short-name}} на [динамическую конфигурацию](../before-v25.1/configuration-management/config-overview.md#dynamic-config). + +## Исходное состояние + +Миграция на динамическую конфигурацию может быть осуществлена в случае выполнения следующих условий: + +1. Кластер {{ydb-short-name}} [обновлен](../../../maintenance/upgrade.md) до версии 25.1 и выше. +1. Кластер {{ydb-short-name}} сконфигурирован с файлом [статической конфигурации](../before-v25.1/configuration-management/config-overview.md#static-config) `config.yaml`, разложенным по нодам. +2. В систему загружен файл [динамической конфигурации](../before-v25.1/configuration-management/config-overview.md#dynamic-config) `dynconfig.yaml`. + +## Переход на динамическую конфигурацию + +Для работы кластера с файлом динамической конфигурации, необходимо проделать следующие шаги: + +1. Получить текущую динамическую конфигурацию кластера: + +```bash +ydb -e grpc://:2135 admin config fetch > config.yaml +``` + +2. Разложить файл `config.yaml` по всем нодам кластера, заменив старый файл конфигурации. +3. Выполнить следующую команду с новым конфигурационным файлом: + +```bash +ydb -e grpc://:2135 admin storage replace -f config.yaml +``` + +4. Перезапустить все узлы кластера с помощью процедуры [rolling-restart](../../../../maintenance/manual/node_restarting.md). + +В результате проделанных действий кластер будет переведён в режим работы с файлом динамической конфигурации. Файл статической конфигурации больше не используется. diff --git a/ydb/docs/ru/core/devops/deployment-options/manual/migration/migration-to-manual-configuration.md b/ydb/docs/ru/core/devops/deployment-options/manual/migration/migration-to-manual-configuration.md new file mode 100644 index 000000000000..17d724d5380a --- /dev/null +++ b/ydb/docs/ru/core/devops/deployment-options/manual/migration/migration-to-manual-configuration.md @@ -0,0 +1,38 @@ +# Миграция на ручную конфигурацию + +Данный документ содержит инструкции по миграции на конфигурацию кластера, с ручным управлением [State Storage](../../../../reference/configuration/index.md#domains-state) и [статической группой](../../../../reference/configuration/index.md#blob_storage_config). + +{% note info %} + +Данная инструкция предназначена для аварийных ситуаций, когда после перехода на автоматическую конфигурацию возникли проблемы и требуется откат на ручное управление. В штатном режиме работы эта процедура не требуется. + +{% endnote %} + +Исходное состояние: кластер сконфигурирован с одним файлом конфигурации `config.yaml`, с включённым режимом автоконфигурации, разложенным по нодам и залитым в систему. + +Для выключения автоматической конфигурации кластера, необходимо выполнить следующие шаги: + +1. Получить текущий конфигурацию кластера с помощью команды: + +```bash +ydb -e grpc://:2135 admin storage fetch --full > config.yaml +``` + +2. Добавить в конфигурацию в разделе `config` следующий блок: + +```yaml +self_management_config: + enabled: false +``` + +3. Выполнить следующую команду с изменённым конфигурационным файлом: + +```bash +ydb -e grpc://:2135 admin storage replace -f config.yaml +``` + +4. Разложить обновлённый конфигурационный файл по всем нодам кластера. + +5. Перезапустить все узлы кластера с помощью процедуры [rolling-restart](../../../../maintenance/manual/node_restarting.md). + +В результате проделанных действий кластер будет переведён в режим ручного управления State Storage и статической группой. diff --git a/ydb/docs/ru/core/devops/deployment-options/manual/migration/toc_p.yaml b/ydb/docs/ru/core/devops/deployment-options/manual/migration/toc_p.yaml new file mode 100644 index 000000000000..b0efbede545b --- /dev/null +++ b/ydb/docs/ru/core/devops/deployment-options/manual/migration/toc_p.yaml @@ -0,0 +1,7 @@ +items: +- name: Миграция на динамическую конфигурацию + href: migration-to-dynconfig.md +- name: Миграция на автоматическую конфигурацию + href: migration-to-autoconfiguration.md +- name: Миграция на ручную конфигурацию + href: migration-to-manual-configuration.md diff --git a/ydb/docs/ru/core/devops/deployment-options/manual/toc_p.yaml b/ydb/docs/ru/core/devops/deployment-options/manual/toc_p.yaml new file mode 100644 index 000000000000..02a4626257d1 --- /dev/null +++ b/ydb/docs/ru/core/devops/deployment-options/manual/toc_p.yaml @@ -0,0 +1,21 @@ +items: +- name: Первоначальное развёртывание + href: initial-deployment.md +- name: Управление дисковой подсистемой кластера + include: + mode: link + path: ../../../maintenance/manual/toc_p.yaml +- name: Федеративные запросы + href: federated-queries/index.md + include: + mode: link + path: federated-queries/toc_p.yaml +- name: До версии v25.1 + include: + mode: link + path: before-v25.1/toc_p.yaml +- name: Миграции + href: migration/index.md + include: + mode: link + path: migration/toc_p.yaml diff --git a/ydb/docs/ru/core/devops/deployment-options/toc_p.yaml b/ydb/docs/ru/core/devops/deployment-options/toc_p.yaml new file mode 100644 index 000000000000..d238e1edfa67 --- /dev/null +++ b/ydb/docs/ru/core/devops/deployment-options/toc_p.yaml @@ -0,0 +1,16 @@ +items: +- name: Ansible + href: ansible/index.md + include: + mode: link + path: ansible/toc_p.yaml +- name: Kubernetes + href: kubernetes/index.md + include: + mode: link + path: kubernetes/toc_p.yaml +- name: Вручную + href: manual/index.md + include: + mode: link + path: manual/toc_p.yaml \ No newline at end of file diff --git a/ydb/docs/ru/core/devops/index.md b/ydb/docs/ru/core/devops/index.md index 2acdcf0b5c17..f45124300ec8 100644 --- a/ydb/docs/ru/core/devops/index.md +++ b/ydb/docs/ru/core/devops/index.md @@ -1,9 +1,16 @@ # {{ ydb-short-name }} для DevOps-инженеров -В этом разделе документации {{ ydb-short-name }} описано всё, что нужно знать для работы с production кластерами {{ ydb-short-name }}. Подразделы организованы по тому, какой подход к управлению инфраструктурой вы предпочитаете: +В этом разделе документации {{ ydb-short-name }} описано всё, что нужно знать для работы с production кластерами {{ ydb-short-name }}. -* **[Ansible](ansible/index.md)**: для развертываний на физическом оборудовании и виртуальных машинах. -* **[Kubernetes](kubernetes/index.md)**: для развёртываний в контейнерах. -* **[Вручную](manual/index.md)**: общие инструкции. +Перед началом работы рекомендуется ознакомиться с [системными требованиями {{ ydb-short-name }}](system-requirements.md). -Вне зависимости от выбранного способа управления инфраструктурой, перед началом работы рекомендуется ознакомиться с [системными требованиями {{ ydb-short-name }}](system-requirements.md). \ No newline at end of file +Основные подразделы: + +* [{#T}](deployment-options/index.md) — способы развёртывания кластеров {{ ydb-short-name }}. + * **[Ansible](deployment-options/ansible/index.md)**: для развертываний на физическом оборудовании и виртуальных машинах. + * **[Kubernetes](deployment-options/kubernetes/index.md)**: для развёртываний в контейнерах. + * **[Вручную](deployment-options/manual/index.md)**: развертывание кластера вручную. + +* [{#T}](observability/index.md) — инструменты для наблюдения за кластерами {{ ydb-short-name }}. +* [{#T}](backup-and-recovery.md) — резервное копирование и восстановление кластеров {{ ydb-short-name }}. +* [{#T}](maintenance/index.md) — обслуживание кластеров {{ ydb-short-name }}. diff --git a/ydb/docs/ru/core/devops/maintenance/index.md b/ydb/docs/ru/core/devops/maintenance/index.md new file mode 100644 index 000000000000..00460a0117f6 --- /dev/null +++ b/ydb/docs/ru/core/devops/maintenance/index.md @@ -0,0 +1,6 @@ +# Обслуживание кластера + +В данном разделе описаны материалы по обслуживанию кластера {{ ydb-short-name }}. + +* [{#T}](maintenance-without-downtime.md) +* [{#T}](upgrade.md) diff --git a/ydb/docs/ru/core/devops/manual/maintenance-without-downtime.md b/ydb/docs/ru/core/devops/maintenance/maintenance-without-downtime.md similarity index 100% rename from ydb/docs/ru/core/devops/manual/maintenance-without-downtime.md rename to ydb/docs/ru/core/devops/maintenance/maintenance-without-downtime.md diff --git a/ydb/docs/ru/core/devops/maintenance/toc_p.yaml b/ydb/docs/ru/core/devops/maintenance/toc_p.yaml new file mode 100644 index 000000000000..0aca0b0f563a --- /dev/null +++ b/ydb/docs/ru/core/devops/maintenance/toc_p.yaml @@ -0,0 +1,5 @@ +items: +- name: Обслуживание без потери доступности + href: maintenance-without-downtime.md +- name: Обновление + href: upgrade.md \ No newline at end of file diff --git a/ydb/docs/ru/core/devops/manual/upgrade.md b/ydb/docs/ru/core/devops/maintenance/upgrade.md similarity index 100% rename from ydb/docs/ru/core/devops/manual/upgrade.md rename to ydb/docs/ru/core/devops/maintenance/upgrade.md diff --git a/ydb/docs/ru/core/devops/manual/index.md b/ydb/docs/ru/core/devops/manual/index.md deleted file mode 100644 index 868c80db9a49..000000000000 --- a/ydb/docs/ru/core/devops/manual/index.md +++ /dev/null @@ -1,13 +0,0 @@ -# Обзор управления кластером {{ ydb-short-name }} вручную - -В этом разделе описано развертывание, конфигурирование, обслуживание, мониторинг и диагностика многоузловых [кластеров {{ ydb-short-name }}](../../concepts/topology.md). - -Основные материалы: - -- [{#T}](initial-deployment.md) -- [{#T}](../../maintenance/manual/index.md) -- [{#T}](monitoring.md) -- [{#T}](logging.md) -- [{#T}](backup-and-recovery.md) -- [{#T}](../../reference/embedded-ui/index.md) -- [{#T}](system-views.md) diff --git a/ydb/docs/ru/core/devops/manual/toc_p.yaml b/ydb/docs/ru/core/devops/manual/toc_p.yaml deleted file mode 100644 index c935391f83d8..000000000000 --- a/ydb/docs/ru/core/devops/manual/toc_p.yaml +++ /dev/null @@ -1,40 +0,0 @@ -items: -- name: Первоначальное развёртывание - href: initial-deployment.md -- name: Управление дисковой подсистемой кластера - include: - mode: link - path: ../../maintenance/manual/toc_p.yaml -- name: Мониторинг - href: monitoring.md -- name: Логирование - href: logging.md -- name: Резервное копирование и восстановление - href: backup-and-recovery.md -- name: Обновление - href: upgrade.md -- name: Изменение конфигурации актор-системы - href: ../../maintenance/manual/change_actorsystem_configs.md -- name: Управление конфигурацией кластера - items: - - name: Обзор конфигурации - href: ../../maintenance/manual/config-overview.md - - name: Статическая конфигурация кластера - href: ../../reference/configuration/index.md - - name: Динамическая конфигурация кластера - href: ../../maintenance/manual/dynamic-config.md - - name: DSL конфигурации кластера - href: ../../maintenance/manual/dynamic-config-selectors.md - - name: Временная конфигурация - href: ../../maintenance/manual/dynamic-config-volatile-config.md - - name: Изменение конфигураций через CMS - href: ../../maintenance/manual/cms.md -- name: Системные представления - href: system-views.md -- name: Обслуживание без потери доступности - href: maintenance-without-downtime.md -- name: Федеративные запросы - href: federated-queries/index.md - include: - mode: link - path: federated-queries/toc_p.yaml diff --git a/ydb/docs/ru/core/devops/observability/index.md b/ydb/docs/ru/core/devops/observability/index.md new file mode 100644 index 000000000000..a0b6bf88b958 --- /dev/null +++ b/ydb/docs/ru/core/devops/observability/index.md @@ -0,0 +1,10 @@ +# Обзор наблюдаемости + +Данный раздел содержит описания по работе с инструментами наблюдения за кластером {{ ydb-short-name }}. + +Основные подразделы: + +* [{#T}](monitoring.md) +* [{#T}](logging.md) +* [{#T}](../../reference/observability/tracing/setup.md) +* [{#T}](system-views.md) diff --git a/ydb/docs/ru/core/devops/manual/logging.md b/ydb/docs/ru/core/devops/observability/logging.md similarity index 100% rename from ydb/docs/ru/core/devops/manual/logging.md rename to ydb/docs/ru/core/devops/observability/logging.md diff --git a/ydb/docs/ru/core/devops/manual/monitoring.md b/ydb/docs/ru/core/devops/observability/monitoring.md similarity index 100% rename from ydb/docs/ru/core/devops/manual/monitoring.md rename to ydb/docs/ru/core/devops/observability/monitoring.md diff --git a/ydb/docs/ru/core/devops/manual/system-views.md b/ydb/docs/ru/core/devops/observability/system-views.md similarity index 100% rename from ydb/docs/ru/core/devops/manual/system-views.md rename to ydb/docs/ru/core/devops/observability/system-views.md diff --git a/ydb/docs/ru/core/devops/observability/toc_p.yaml b/ydb/docs/ru/core/devops/observability/toc_p.yaml new file mode 100644 index 000000000000..ed102223f513 --- /dev/null +++ b/ydb/docs/ru/core/devops/observability/toc_p.yaml @@ -0,0 +1,9 @@ +items: +- name: Мониторинг + href: monitoring.md +- name: Логирование + href: logging.md +- name: Системные представления + href: system-views.md +- name: Трассировка + href: ../../reference/observability/tracing/setup.md diff --git a/ydb/docs/ru/core/devops/system-requirements.md b/ydb/docs/ru/core/devops/system-requirements.md index dce454c981eb..0498216a352e 100644 --- a/ydb/docs/ru/core/devops/system-requirements.md +++ b/ydb/docs/ru/core/devops/system-requirements.md @@ -1,6 +1,6 @@ # Системные требования и рекомендации для {{ ydb-short-name }} -В данном разделе приводятся рекомендации для развертывания кластеров {{ ydb-short-name }}, применимые вне зависимости от выбранного способа управления инфраструктурой ([Ansible](ansible/index.md), [Kubernetes](kubernetes/index.md), или [вручную](manual/index.md)). +В данном разделе приводятся рекомендации для развертывания кластеров {{ ydb-short-name }}, применимые вне зависимости от выбранного способа управления инфраструктурой ([Ansible](deployment-options/ansible/index.md), [Kubernetes](deployment-options/kubernetes/index.md), или [вручную](deployment-options/manual/index.md)). ## Аппаратная конфигурация {#hardware} diff --git a/ydb/docs/ru/core/devops/toc_p.yaml b/ydb/docs/ru/core/devops/toc_p.yaml index 3d61ac284476..4dcb6dfd2342 100644 --- a/ydb/docs/ru/core/devops/toc_p.yaml +++ b/ydb/docs/ru/core/devops/toc_p.yaml @@ -1,18 +1,25 @@ items: - name: Системные требования href: system-requirements.md -- name: Ansible - href: ansible/index.md +- name: Способы развёртывания + href: deployment-options/index.md include: mode: link - path: ansible/toc_p.yaml -- name: Kubernetes - href: kubernetes/index.md + path: deployment-options/toc_p.yaml +- name: Управление конфигурацией кластера + href: configuration-management/index.md include: mode: link - path: kubernetes/toc_p.yaml -- name: Вручную - href: manual/index.md + path: configuration-management/toc_p.yaml +- name: Наблюдаемость + href: observability/index.md include: mode: link - path: manual/toc_p.yaml + path: observability/toc_p.yaml +- name: Резервное копирование и восстановление + href: backup-and-recovery.md +- name: Обслуживание кластера + href: maintenance/index.md + include: + mode: link + path: maintenance/toc_p.yaml diff --git a/ydb/docs/ru/core/maintenance/manual/balancing_load.md b/ydb/docs/ru/core/maintenance/manual/balancing_load.md index 2dc077f4dbdd..4b906b32d744 100644 --- a/ydb/docs/ru/core/maintenance/manual/balancing_load.md +++ b/ydb/docs/ru/core/maintenance/manual/balancing_load.md @@ -11,7 +11,7 @@ ## Распределить VDisk'и равномерно по устройствам {#cluster-balance} -В результате некоторых операций, например [декомиссии](../../devops/manual/decommissioning.md), VDisk'и могут быть распределены на блочных устройствах неравномерно. Улучшить равномерность распределения можно одним из способов: +В результате некоторых операций, например [декомиссии](../../devops/deployment-options/manual/decommissioning.md), VDisk'и могут быть распределены на блочных устройствах неравномерно. Улучшить равномерность распределения можно одним из способов: * [Перевезти VDisk'и](moving_vdisks.md#moving_vdisk) по одному с перегруженных устройств. * Воспользоваться утилитой [{{ ydb-short-name }} DSTool](../../reference/ydb-dstool/index.md). Следующая команда перевезет VDisk с перегруженного устройства на менее нагруженное: diff --git a/ydb/docs/ru/core/maintenance/manual/cluster_expansion.md b/ydb/docs/ru/core/maintenance/manual/cluster_expansion.md index b6b315e52295..ef21809b5a66 100644 --- a/ydb/docs/ru/core/maintenance/manual/cluster_expansion.md +++ b/ydb/docs/ru/core/maintenance/manual/cluster_expansion.md @@ -6,20 +6,20 @@ ## Подготовка новых серверов {#add-host} -В случае размещения новых статических или динамических узлов кластера на новых серверах, не входивших ранее в состав расширяемого кластера {{ ydb-short-name }}, на каждом новом сервере необходимо выполнить установку программного обеспечения {{ ydb-short-name }} в соответствии с процедурами, описанными в [инструкции по развертыванию кластеров](../../devops/manual/initial-deployment.md). В частности, необходимо: +В случае размещения новых статических или динамических узлов кластера на новых серверах, не входивших ранее в состав расширяемого кластера {{ ydb-short-name }}, на каждом новом сервере необходимо выполнить установку программного обеспечения {{ ydb-short-name }} в соответствии с процедурами, описанными в [инструкции по развертыванию кластеров](../../devops/deployment-options/manual/initial-deployment.md). В частности, необходимо: 1. создать учетную запись и группу в операционной системе для работы сервиса {{ ydb-short-name }}; 1. установить программное обеспечение {{ ydb-short-name }}; 1. подготовить и разместить на сервере соответствующий ему ключ и сертификат TLS; 1. скопировать на сервер актуальный конфигурационный файл кластера {{ ydb-short-name }}. -Используемые на новых серверах сертификаты TLS должны соответствовать [требованиям к заполнению полей](../../devops/manual/initial-deployment.md#tls-certificates), и быть подписаны доверенным центром регистрации, используемым на уже существующих серверах расширяемого кластера {{ ydb-short-name }}. +Используемые на новых серверах сертификаты TLS должны соответствовать [требованиям к заполнению полей](../../devops/deployment-options/manual/initial-deployment.md#tls-certificates), и быть подписаны доверенным центром регистрации, используемым на уже существующих серверах расширяемого кластера {{ ydb-short-name }}. ## Добавление динамических узлов {#add-dynamic-node} Добавление динамических узлов позволяет увеличить доступные вычислительные ресурсы (процессорные ядра и оперативную память) для выполнения пользовательских запросов кластером {{ ydb-short-name }}. -Для добавления динамического узла в кластер достаточно запустить процесс, обслуживающий этот узел, передав ему в параметрах командной строки путь к конфигурационному файлу кластера, имя обслуживаемой базы данных и адреса любых трех статических узлов кластера кластера {{ ydb-short-name }}, как показано в [инструкции по развертыванию кластеров](../../devops/manual/initial-deployment.md#start-dynnode). +Для добавления динамического узла в кластер достаточно запустить процесс, обслуживающий этот узел, передав ему в параметрах командной строки путь к конфигурационному файлу кластера, имя обслуживаемой базы данных и адреса любых трех статических узлов кластера кластера {{ ydb-short-name }}, как показано в [инструкции по развертыванию кластеров](../../devops/deployment-options/manual/initial-deployment.md#start-dynnode). После успешного добавления динамического узла в кластер информация о нем будет доступна на [странице мониторинга кластера во встроенном UI](../../reference/embedded-ui/ydb-monitoring.md). @@ -27,36 +27,21 @@ ## Добавление статических узлов {#add-static-node} -Добавление статических узлов позволяет увеличить пропускную способность при выполнении операций ввода-вывода и увеличить доступную емкость для хранения данных в кластере {{ ydb-short-name }}. +Добавление статических узлов позволяет увеличить пропускную способность при выполнении операций ввода-вывода и увеличить доступную ёмкость для хранения данных в кластере {{ ydb-short-name }}. Для добавления статических узлов в кластер необходимо выполнить следующую последовательность действий: -1. Отформатировать диски, которые будут использоваться для хранения данных {{ ydb-short-name }}, с использованием [процедуры, описанной для этапа развертывания кластера](../../devops/manual/initial-deployment.md#prepare-disks). - -1. Скорректировать [конфигурационный файл кластера](../../devops/manual/initial-deployment.md#config): - - * включить в конфигурацию описание добавляемых узлов (в секции `hosts`) и используемых на них дисков (в секции `host_configs`); - * установить номер изменения конфигурации в виде параметра `storage_config_generation: K` на верхнем уровне, где `K` - целое число, номер изменения (при первоначальной установке значение `K=0` или не указано, при первом расширении кластера `K=1`, при втором `K=2`, и так далее). - -1. Скопировать доработанный конфигурационный файл кластера на все существующие и на все добавляемые сервера кластера, заместив им старую версию конфигурационного файла. - -1. Выполнить последовательный перезапуск всех существующих статических узлов кластера, с ожиданием инициализации и восстановления работы каждого перезапускаемого узла. - -1. Выполнить последовательный перезапуск всех существующих динамических узлов кластера. - -1. Запустить процессы, обслуживающие новые статические узлы кластера, на соответствующих серверах. - -1. Убедиться в том, что новые статические узлы отображаются на [странице мониторинга кластера во встроенном UI](../../reference/embedded-ui/ydb-monitoring.md). +1. Очистить диски, которые будут использоваться для хранения данных {{ ydb-short-name }}, с использованием [процедуры, описанной для этапа развёртывания кластера](../../devops/deployment-options/manual/initial-deployment.md#prepare-disks). 1. Получить токен аутентификации для выполнения административных команд с помощью {{ ydb-short-name }} CLI, например: ```bash ydb -e grpcs://:2135 -d /Root --ca-file ca.crt \ - --user root auth get-token --force >token-file + --user root auth get-token --force > token-file ``` В примере команды выше используются следующие параметры: - * `node1.ydb.tech` - FQDN любого из серверов, на которых размещены статические узлы кластера; + * `node1.ydb.tech` - FQDN любого из серверов, на которых уже размещены статические узлы кластера; * `2135` - номер порта grpcs сервиса статических узлов; * `ca.crt` - имя файла с сертификатом центра регистрации; * `root` - логин пользователя с административными правами; @@ -64,12 +49,25 @@ При выполнении приведенной выше команды {{ ydb-short-name }} CLI запросит пароль для аутентификации указанного пользователя. +1. Получить текущую конфигурацию кластера, выполнив команду следующего вида на любом из узлов кластера: + + ```bash + ydb --token-file token-file --ca-file ca.crt -e grpcs://:2135 \ + admin storage fetch > config.yaml + ``` + +1. Скорректировать [конфигурационный файл кластера](../../devops/deployment-options/manual/initial-deployment.md#config), включив в конфигурацию описание добавляемых узлов (в секции `hosts`) и используемых на них дисков (в секции `host_configs`); + +1. Скопировать доработанный конфигурационный файл кластера на все существующие и на все добавляемые сервера кластера, заместив им старую версию конфигурационного файла. + +1. Запустить процессы, обслуживающие новые статические узлы кластера, на соответствующих серверах. + 1. Разрешить кластеру {{ ydb-short-name }} использовать диски на новых статических узлах для хранения данных, выполнив следующую команду на любом из узлов кластера: ```bash export LD_LIBRARY_PATH=/opt/ydb/lib - /opt/ydb/bin/ydbd -f ydbd-token-file --ca-file ca.crt -s grpcs://`hostname -f`:2135 \ - admin blobstorage config init --yaml-file /opt/ydb/cfg/config.yaml + ydb --token-file ydbd-token-file --ca-file ca.crt -e grpcs://:2135 \ + admin storage replace -f config.yaml echo $? ``` @@ -79,12 +77,14 @@ * `2135` - номер порта grpcs сервиса статических узлов; * `ca.crt` - имя файла с сертификатом центра регистрации. - Если при выполнении приведенной выше команды возвращается ошибка сверки номера конфигурации, это означает, что при корректировке конфигурационного файла кластера было неверно установлено поле `storage_config_generation`. Текст ошибки содержит ожидаемое значение номера конфигурации, которое можно использовать для корректировки файла настроек кластера. Пример сообщения об ошибке сверки номера конфигурации: + Если при выполнении приведённой выше команды возвращается ошибка сверки версии конфигурации, это означает, что версия текущего конфига устарела и необходимо получить новый из кластера, повторив шаг 3. Пример сообщения об ошибке сверки версии конфигурации: ```proto - ErrorDescription: "ItemConfigGeneration mismatch ItemConfigGenerationProvided# 0 ItemConfigGenerationExpected# 1" + ErrorDescription: "ConfigVersion mismatch ConfigVersionProvided# 0 ConfigVersionExpected# 1" ``` +1. Убедиться в том, что новые статические узлы отображаются на [странице мониторинга кластера во встроенном UI](../../reference/embedded-ui/ydb-monitoring.md). + 2. Добавить дополнительные группы хранения в одну или несколько баз данных, выполнив команды следующего вида на любом из узлов кластера: ```bash @@ -102,8 +102,8 @@ * `/Root/testdb` - полный путь к базе данных; * `ssd:1` - имя пула хранения и количество выделяемых групп хранения. -3. Убедиться, что добавленные группы хранения отображаются [странице мониторинга кластера во встроенном UI](../../reference/embedded-ui/ydb-monitoring.md). +3. Убедиться, что добавленные группы хранения отображаются на [странице мониторинга кластера во встроенном UI](../../reference/embedded-ui/ydb-monitoring.md). -Вывод статических узлов из кластера {{ ydb-short-name }} производится в соответствии с [документированной процедурой декомиссии](../../devops/manual/decommissioning.md). +Вывод статических узлов из кластера {{ ydb-short-name }} производится в соответствии с [документированной процедурой декомиссии](../../devops/deployment-options/manual/decommissioning.md). В случае повреждения и невозможности ремонта сервера, на котором работает статический узел кластера, необходимо разместить недоступный статический узел на новом сервере, содержащем аналогичное или большее количество и объем дисков. diff --git a/ydb/docs/ru/core/maintenance/manual/index.md b/ydb/docs/ru/core/maintenance/manual/index.md index 6d2f6d1c383e..0c9528da6b63 100644 --- a/ydb/docs/ru/core/maintenance/manual/index.md +++ b/ydb/docs/ru/core/maintenance/manual/index.md @@ -6,15 +6,13 @@ * [{#T}](cluster_expansion.md). * [{#T}](adding_storage_groups.md). - * [{#T}](../../devops/manual/state-storage-move.md) - * [{#T}](../../devops/manual/static-group-move.md) * Обслуживание: * [{#T}](node_restarting.md). * [{#T}](scrubbing.md). * [{#T}](selfheal.md). - * [{#T}](../../devops/manual/decommissioning.md). + * [{#T}](../../devops/deployment-options/manual/decommissioning.md). * [{#T}](moving_vdisks.md). * [{#T}](replacing_nodes.md). diff --git a/ydb/docs/ru/core/maintenance/manual/toc_i.yaml b/ydb/docs/ru/core/maintenance/manual/toc_i.yaml index 0400cedda1ba..fc02d57206b6 100644 --- a/ydb/docs/ru/core/maintenance/manual/toc_i.yaml +++ b/ydb/docs/ru/core/maintenance/manual/toc_i.yaml @@ -1,12 +1,10 @@ items: +- name: Обновление конфигурации + href: ../../devops/deployment-options/manual/update-config.md - name: Расширение кластера href: cluster_expansion.md - name: Добавление групп хранения href: adding_storage_groups.md -- name: Перемещение State Storage - href: ../../devops/manual/state-storage-move.md -- name: Перемещение статической группы - href: ../../devops/manual/static-group-move.md - name: Безопасный рестарт и выключение узлов href: node_restarting.md - name: Включение и выключение Scrubbing @@ -14,7 +12,7 @@ items: - name: Работа с SelfHeal href: selfheal.md - name: Декомиссия части кластера - href: ../../devops/manual/decommissioning.md + href: ../../devops/deployment-options/manual/decommissioning.md - name: Перевоз VDisk'ов href: moving_vdisks.md - name: Замена FQDN узла diff --git a/ydb/docs/ru/core/maintenance/toc_i.yaml b/ydb/docs/ru/core/maintenance/toc_i.yaml index aaa90502b1c8..a3f2abcbf770 100644 --- a/ydb/docs/ru/core/maintenance/toc_i.yaml +++ b/ydb/docs/ru/core/maintenance/toc_i.yaml @@ -1,27 +1,7 @@ items: -- name: Резервное копирование - href: backup_and_recovery.md - name: Диагностика include: { mode: link, path: ../troubleshooting/toc_p.yaml } - name: Обслуживание кластера items: - name: Встроенный UI include: { mode: link, path: ../reference/embedded-ui/toc_p.yaml } - - name: Управление дисковой подсистемой кластера - include: { mode: link, path: manual/toc_p.yaml } - - name: Изменение конфигурации актор-системы - href: manual/change_actorsystem_configs.md - - name: Управление конфигурацией кластера - items: - - name: Обзор конфигурации - href: manual/config-overview.md - - name: Статическая конфигурация кластера - href: ../deploy/configuration/config.md - - name: Динамическая конфигурация кластера - href: manual/dynamic-config.md - - name: DSL конфигурации кластера - href: manual/dynamic-config-selectors.md - - name: Временная конфигурация - href: manual/dynamic-config-volatile-config.md - - name: Изменение конфигураций через CMS - href: manual/cms.md diff --git a/ydb/docs/ru/core/reference/configuration/index.md b/ydb/docs/ru/core/reference/configuration/index.md index fa4b410d6a12..d7a2c1298a77 100644 --- a/ydb/docs/ru/core/reference/configuration/index.md +++ b/ydb/docs/ru/core/reference/configuration/index.md @@ -1,8 +1,6 @@ -# Статическая конфигурация кластера +# Параметры конфигурации кластера -Статическая конфигурация кластера задается в YAML-файле, передаваемом в параметре `--yaml-config` при запуске узлов кластера. - -В статье приведено описание основных групп конфигурируемых параметров в данном файле. +В данной статье приведено описание основных групп конфигурируемых параметров в файле конфигурации кластера. ## host_configs — типовые конфигурации хостов {#host-configs} @@ -123,29 +121,56 @@ hosts: При развертывании {{ ydb-short-name }} с помощью оператора Kubernetes секция `hosts` полностью генерируется автоматически, заменяя любой указанный пользователем контент в передаваемой оператору конфигурации. Все Storage узлы используют `host_config_id` = `1`, для которого должна быть задана [корректная конфигурация](#host-configs-k8s). -## domains_config — домен кластера {#domains-config} +## Топология кластера {#topology} -Данный раздел содержит конфигурацию кластера {{ ydb-short-name }}, включая [конфигурации Blob Storage](#domains-blob) (хранилища бинарных объектов), [State Storage](#domains-state) (хранилища состояний) и [настройки безопасности](#security). +Для конфигурации топологии кластера {{ ydb-short-name }} доступны следующие [режимы отказоустойчивости](../../concepts/topology.md): -``` yaml -domains_config: - domain: - - name: <имя корня кластера> - storage_pool_types: <конфигурация Blob Storage> - state_storage: <конфигурация State Storage> +Режим | Описание +--- | --- +`none` | Избыточность отсутствует. Применяется для тестирования. +`block-4-2` | Избыточность с коэффициентом 1,5, применяется для однодатацентровых кластеров. +`mirror-3-dc` | Избыточность с коэффициентом 3, применяется для мультидатацентровых кластеров. + +Топология кластера задается в качестве параметра `erasure` и принимает одно из значений, указанных в таблице выше. + +## Конфигурация безопасности {#security} + +В разделе `security_config` задаются режимы [аутентификации](../../security/authentication.md), первичная конфигурация локальных [пользователей](../../concepts/glossary.md#access-user) и [групп](../../concepts/glossary.md#access-group) и их [права](../../concepts/glossary.md#access-right). + +### Синтаксис + +```yaml +security_config: + # флаги, влияющие на настройку безопасности при первом старте кластера disable_builtin_security: false - default_groups: false - default_access: false - security_config: <конфигурация безопасности> + disable_builtin_groups: false + disable_builtin_access: false + + # настройка режима аутентификации + enforce_user_token_requirement: false + enforce_user_token_check_requirement: false + default_user_sids: <аутентификационный токен для анонимных запросов> + all_authenticated_users: <имя группы всех аутентифицированных пользователей> + all_users_group: <имя группы всех пользователей> + + # первичные настройки безопасности + default_users: <список пользователей по умолчанию> + default_groups: <список групп по умолчанию> + default_access: <список прав по умолчанию на корне кластера> + + # настройки привилегий + viewer_allowed_sids: <список SID'ов с правами просмотра состояния кластера> + monitoring_allowed_sids: <список SID'ов с правами просмотра и изменения состояния кластера> + administration_allowed_sids: <список SID'ов с доступом администратора кластера> ``` {% note info %} -Формально, поле `domain` может содержать много элементов, так как это список, но имеет значение только первый элемент; остальные будут проигнорированы (в кластере может быть только один «домен»). +Параметры безопасности можно задать в разделе [`domains_config`](#domains-config), однако этот вариант является устаревшим и не рекомендуется к использованию. {% endnote %} -Флаги `disable_builtin_security`, `default_groups`, `default_access` влияют на настройку кластера, осуществляемую только при первом старте кластера {{ ydb-short-name }}. +Флаги `disable_builtin_security`, `disable_builtin_groups`, `disable_builtin_access` влияют на настройку кластера, осуществляемую только при первом старте кластера {{ ydb-short-name }}. #| || Параметр | Описание || @@ -156,112 +181,16 @@ domains_config: Значение по умолчанию: `false`. || -|| `default_groups` | Отказаться от создания [встроенных групп](../../security/builtin-security.md), даже если явные группы по умолчанию ([`security_config.default_groups`](#security)) не заданы. +|| `disable_builtin_groups` | Отказаться от создания [встроенных групп](../../security/builtin-security.md), даже если явные группы по умолчанию ([`security_config.default_groups`](#security)) не заданы. Значение по умолчанию: `false` || -|| `default_access` | Отказаться от добавления прав на корне кластера для [встроенных групп](../../security/builtin-security.md), даже если явные права по умолчанию ([`security_config.default_access`](#security)) не заданы. +|| `disable_builtin_access` | Отказаться от добавления прав на корне кластера для [встроенных групп](../../security/builtin-security.md), даже если явные права по умолчанию ([`security_config.default_access`](#security)) не заданы. Значение по умолчанию: `false` || |# - -### Конфигурация Blob Storage {#domains-blob} - -Данный раздел определяет один или более типов пулов хранения, доступных в кластере для данных в базах данных, со следующими возможностями конфигурации: - -- Имя пула хранения -- Свойства устройств (например, тип дисков) -- Шифрование данных (вкл/выкл) -- Режим отказоустойчивости - -Доступны следующие [режимы отказоустойчивости](../../concepts/topology.md): - -Режим | Описание ---- | --- -`none` | Избыточность отсутствует. Применяется для тестирования. -`block-4-2` | Избыточность с коэффициентом 1,5, применяется для однодатацентровых кластеров. -`mirror-3-dc` | Избыточность с коэффициентом 3, применяется для мультидатацентровых кластеров. - -``` yaml -domains_config: - domain: - ... - storage_pool_types: - - kind: <имя пула хранения> - pool_config: - box_id: 1 - encryption_mode: <опциональный, укажите 1 для шифрования данных на диске> - erasure_species: <имя режима отказоустойчивости - none, block-4-2, or mirror-3-dc> - kind: <имя пула хранения - укажите то же значение, что выше> - pdisk_filter: - - property: - - type: <тип устройства для сопоставления с указанным в host_configs.drive.type> - vdisk_kind: Default - - kind: <имя пула хранения> -``` - -Каждой базе данных в кластере назначается как минимум один из доступных пулов хранения, выбираемый в операции создания базы данных. Имена пулов хранения среди назначенных могут быть использованы в атрибуте `DATA` при определении групп колонок в операторах YQL [`CREATE TABLE`](../../yql/reference/syntax/create_table/family.md)/[`ALTER TABLE`](../../yql/reference/syntax/alter_table/family.md). - -### Конфигурация State Storage {#domains-state} - -State Storage (хранилище состояний) — это независимое хранилище в памяти для изменяемых данных, поддерживающее внутренние процессы {{ ydb-short-name }}. Оно хранит реплики данных на множестве назначенных узлов. - -Обычно State Storage не требует масштабирования в целях повышения производительности, поэтому количество узлов в нём следует делать как можно меньшим с учетом необходимого уровня отказоустойчивости. - -Доступность State Storage является ключевой для кластера {{ ydb-short-name }}, так как влияет на все базы данных, независимо от того какие пулы хранения в них используются.Для обеспечения отказоустойчивости State Storate его узлы должны быть выбраны таким образом, чтобы гарантировать рабочее большинство в случае ожидаемых отказов. - -Для выбора узлов State Storage можно воспользоваться следующими рекомендациями: - -|Тип кластера|Мин количество
узлов|Рекомендации по выбору| -|---------|-----------------------|-----------------| -|Без отказоустойчивости|1|Выберите один произвольный узел.| -|В пределах одной зоны доступности|5|Выберите пять узлов в разных доменах отказа пула хранения block-4-2, для гарантии, что большинство в 3 работающих узла (из 5) остается при сбое двух доменов.| -|Геораспределенный|9|Выберите три узла в разных доменах отказа внутри каждой из трех зон доступности пула хранения mirror-3-dc для гарантии, что большинство в 5 работающих узлов (из 9) остается при сбое зоны доступности + домена отказа.| - -При развертывании State Storage на кластерах, в которых применяется несколько пулов хранения с возможным сочетанием режимов отказоустойчивости, рассмотрите возможность увеличения количества узлов с распространением их на разные пулы хранения, так как недоступность State Storage приводит к недоступности всего кластера. - -```yaml -domains_config: - ... - state_storage: - - ring: - node: <массив узлов StateStorage> - nto_select: <количество реплик данных в StateStorage> - ssid: 1 -``` - -Каждый клиент State Storage (например, таблетка DataShard) использует `nto_select` узлов для записи копий его данных в State Storage. Если State Storage состоит из большего количества узлов чем `nto_select`, то разные узлы могут быть использованы для разных клиентов, поэтому необходимо обеспечить, чтобы любое подмножество из `nto_select` узлов в пределах State Storage отвечало критериям отказоустойчивости. - -Для `nto_select` должны использоваться нечетные числа, так как использование четных чисел не улучшает отказоустойчивость по сравнению с ближайшим меньшим нечетным числом. - -### Конфигурация безопасности {#security} - -В разделе `domains_config.security_config` задаются режимы [аутентификации](../../security/authentication.md), первичная конфигурация локальных [пользователей](../../concepts/glossary.md#access-user) и [групп](../../concepts/glossary.md#access-group) и их [права](../../concepts/glossary.md#access-right). - -```yaml -domains_config: - ... - security_config: - # настройка режима аутентификации - enforce_user_token_requirement: false - enforce_user_token_check_requirement: false - default_user_sids: <аутентификационный токен для анонимных запросов> - all_authenticated_users: <имя группы всех аутентифицированных пользователей> - all_users_group: <имя группы всех пользователей> - - # первичные настройки безопасности - default_users: <список пользователей по умолчанию> - default_groups: <список групп по умолчанию> - default_access: <список прав по умолчанию на корне кластера> - - # настройки привилегий - viewer_allowed_sids: <список SID'ов с правами просмотра состояния кластера> - monitoring_allowed_sids: <список SID'ов с правами просмотра и изменения состояния кластера> - administration_allowed_sids: <список SID'ов с доступом администратора кластера> -``` - [//]: # (TODO: wait for pull/9387, dynamic_node_registration to add info about "register_dynamic_node_allowed_sids: <список SID'ов с правами подключения динамических нод в кластер>") #### Настройки режима аутентификации {#security-auth} @@ -448,6 +377,109 @@ default_access: - оператор должен состоять (прямо или через группы) во `viewer_allowed_sids` и в `monitoring_allowed_sids`; - полноценный администратор должен состоять во `viewer_allowed_sids`, `monitoring_allowed_sids` и в `administration_allowed_sids`. +## domains_config — домен кластера {#domains-config} + +Данный раздел содержит конфигурацию кластера {{ ydb-short-name }}, включая [конфигурации Blob Storage](#domains-blob) (хранилища бинарных объектов), [State Storage](#domains-state) (хранилища состояний) и [настройки безопасности](#security). + +{% note info %} + +Не требуется для работы кластера с [автоматической конфигурацией](../../devops/configuration-management/index.md) State Storage и статической группы. + +{% endnote %} + +### Синтаксис + +``` yaml +domains_config: + domain: + - name: <имя корня кластера> + storage_pool_types: <конфигурация Blob Storage> + state_storage: <конфигурация State Storage> + security_config: <конфигурация безопасности> +``` + +{% note info %} + +Формально, поле `domain` может содержать много элементов, так как это список. Но имеет значение только первый элемент, остальные будут проигнорированы (в кластере может быть только один «домен»). + +{% endnote %} + + +## Конфигурация Blob Storage {#domains-blob} + +{% note info %} + +Не требуется для работы кластера с [автоматической конфигурацией](../../devops/configuration-management/index.md) State Storage и статической группы. + +{% endnote %} + +Данный раздел определяет один или более типов пулов хранения, доступных в кластере для данных в базах данных, со следующими возможностями конфигурации: + +- имя пула хранения; +- свойства устройств (например, тип дисков); +- шифрование данных (вкл/выкл); +- [режим отказоустойчивости](#topology). + +### Синтаксис + +``` yaml +domains_config: + domain: + ... + storage_pool_types: + - kind: <имя пула хранения> + pool_config: + box_id: 1 + encryption_mode: <опциональный, укажите 1 для шифрования данных на диске> + erasure_species: <имя режима отказоустойчивости - none, block-4-2, or mirror-3-dc> + kind: <имя пула хранения - укажите то же значение, что выше> + pdisk_filter: + - property: + - type: <тип устройства для сопоставления с указанным в host_configs.drive.type> + vdisk_kind: Default + - kind: <имя пула хранения> +``` + +Каждой базе данных в кластере назначается как минимум один из доступных пулов хранения, выбираемый в операции создания базы данных. Имена пулов хранения среди назначенных могут быть использованы в атрибуте `DATA` при определении групп колонок в операторах YQL [`CREATE TABLE`](../../yql/reference/syntax/create_table/family.md)/[`ALTER TABLE`](../../yql/reference/syntax/alter_table/family.md). + +### Конфигурация State Storage {#domains-state} + +{% note info %} + +Не требуется для работы кластера с [автоматической конфигурацией](../../devops/configuration-management/index.md) State Storage и статической группы. + +{% endnote %} + +State Storage (хранилище состояний) — это независимое хранилище в памяти для изменяемых данных, поддерживающее внутренние процессы {{ ydb-short-name }}. Оно хранит реплики данных на множестве назначенных узлов. + +Обычно State Storage не требует масштабирования в целях повышения производительности, поэтому количество узлов в нём следует делать как можно меньшим с учётом необходимого уровня отказоустойчивости. + +Доступность State Storage является ключевой для кластера {{ ydb-short-name }}, так как влияет на все базы данных, независимо от того какие пулы хранения в них используются. Для обеспечения отказоустойчивости State Storate его узлы должны быть выбраны таким образом, чтобы гарантировать рабочее большинство в случае ожидаемых отказов. + +Для выбора узлов State Storage можно воспользоваться следующими рекомендациями: + +|Тип кластера|Мин количество
узлов|Рекомендации по выбору| +|---------|-----------------------|-----------------| +|Без отказоустойчивости|1|Выберите один произвольный узел.| +|В пределах одной зоны доступности|5|Выберите пять узлов в разных доменах отказа пула хранения block-4-2, для гарантии, что большинство в трёх работающих узлах (из пяти) остаётся при сбое двух доменов.| +|Геораспределенный|9|Выберите три узла в разных доменах отказа внутри каждой из трёх зон доступности пула хранения mirror-3-dc для гарантии, что большинство в пяти работающих узлов (из девяти) остаётся при сбое зоны доступности + домена отказа.| + +При развёртывании State Storage на кластерах, в которых применяется несколько пулов хранения с возможным сочетанием режимов отказоустойчивости, рассмотрите возможность увеличения количества узлов с распространением их на разные пулы хранения, так как недоступность State Storage приводит к недоступности всего кластера. + +```yaml +domains_config: + ... + state_storage: + - ring: + node: <массив узлов StateStorage> + nto_select: <количество реплик данных в StateStorage> + ssid: 1 +``` + +Каждый клиент State Storage (например, таблетка DataShard) использует `nto_select` узлов для записи копий его данных в State Storage. Если State Storage состоит из большего количества узлов чем `nto_select`, то разные узлы могут быть использованы для разных клиентов. Поэтому необходимо обеспечить, чтобы любое подмножество из `nto_select` узлов в пределах State Storage отвечало критериям отказоустойчивости. + +Для `nto_select` должны использоваться нечётные числа, так как использование чётных чисел не улучшает отказоустойчивость по сравнению с ближайшим меньшим нечётным числом. + ### Примеры {#domains-examples} {% list tabs %} @@ -597,6 +629,27 @@ default_access: ssid: 1 ``` +## Конфигурация аутентификации {#auth} + +[Режим аутентификации](../../security/authentication.md) на кластере {{ ydb-short-name }} задается в разделе `security_config`. + +{% note info %} + +Данная секция может указываться внутри раздела `domains_config.security_config`, что является устаревшим способом задания параметров аутентификации. + +{% endnote %} + +### Синтаксис + +```yaml +security_config: + enforce_user_token_requirement: Bool +``` + +Ключ | Описание +--- | --- +`enforce_user_token_requirement` | Требовать токен пользователя.
Допустимые значения:
  • `false` — режим аутентификации анонимный, токен не требуется (применяется по умолчанию, если параметр не задан);
  • `true` — режим аутентификации по логину и паролю, для выполнения запроса требуется валидный токен пользователя.
+ {% endlist %} ## Настройка акторной системы {#actor-system} @@ -914,14 +967,14 @@ node_broker_config: Название очереди | CPU | Memory | Описание --- | --- | --- | --- `queue_ttl` | 2 | — | Операции удаления данных по [TTL](../../concepts/ttl.md). -`queue_backup` | 2 | — | Операции [резервного копирования](../../devops/manual/backup-and-recovery.md#s3). -`queue_restore` | 2 | — | Операции [восстановления из резервной копии](../../devops/manual/backup-and-recovery.md#s3). +`queue_backup` | 2 | — | Операции [резервного копирования](../../devops/backup-and-recovery.md#s3). +`queue_restore` | 2 | — | Операции [восстановления из резервной копии](../../devops/backup-and-recovery.md#s3). `queue_build_index` | 10 | — | Операции [онлайн-создания вторичного индекса](../../concepts/secondary_indexes.md#index-add). `queue_cdc_initial_scan` | 4 | — | [Первоначальное сканирование таблицы](../../concepts/cdc.md#initial-scan). {% note info %} -Рекомендуется **дополнять** конфигурацию брокера ресурсов, используя [теги](../../maintenance/manual/dynamic-config-selectors.md#dopolnitelnye-tegi-v-yaml) `!inherit` и `!append`. +Рекомендуется **дополнять** конфигурацию брокера ресурсов, используя [теги](../../devops/configuration-management/dynamic-config-selectors.md#dopolnitelnye-tegi-v-yaml) `!inherit` и `!append`. {% endnote %} diff --git a/ydb/docs/ru/core/reference/configuration/tls.md b/ydb/docs/ru/core/reference/configuration/tls.md index 7c7126630a40..193b360050b4 100644 --- a/ydb/docs/ru/core/reference/configuration/tls.md +++ b/ydb/docs/ru/core/reference/configuration/tls.md @@ -64,7 +64,7 @@ kafka_proxy_config: ### HTTP -{{ ydb-short-name }} открывает отдельный HTTP порт для работы [встроенного интерфейса](../../reference/embedded-ui/index.md), отображения [метрик](../../devops/manual/monitoring.md) и других вспомогательных команд. +{{ ydb-short-name }} открывает отдельный HTTP-порт для работы [встроенного интерфейса](../../reference/embedded-ui/index.md), отображения [метрик](../../devops/observability/monitoring.md) и других вспомогательных команд. Пример включения TLS на HTTP-порту, что делает его использования HTTPS: diff --git a/ydb/docs/ru/core/reference/observability/metrics/grafana-dashboards.md b/ydb/docs/ru/core/reference/observability/metrics/grafana-dashboards.md index 03c73b84c1bb..40ded19eb9ee 100644 --- a/ydb/docs/ru/core/reference/observability/metrics/grafana-dashboards.md +++ b/ydb/docs/ru/core/reference/observability/metrics/grafana-dashboards.md @@ -1,6 +1,6 @@ # Grafana дашборды для {{ ydb-short-name }} -На этой странице представлено описание дашбордов Grafana для {{ ydb-short-name }}. Как установить дашборды читайте в разделе [{#T}](../../../devops/manual/monitoring.md#prometheus-grafana). +На этой странице представлено описание дашбордов Grafana для {{ ydb-short-name }}. Как установить дашборды читайте в разделе [{#T}](../../../devops/observability/monitoring.md#prometheus-grafana). ## DB status {#dbstatus} diff --git a/ydb/docs/ru/core/reference/observability/tracing/setup.md b/ydb/docs/ru/core/reference/observability/tracing/setup.md index 6318f69254ba..4256de46a545 100644 --- a/ydb/docs/ru/core/reference/observability/tracing/setup.md +++ b/ydb/docs/ru/core/reference/observability/tracing/setup.md @@ -123,7 +123,7 @@ tracing_config: Секция `external_throttling` не является обязательной, в случае ее отсутствия все trace-id в запросах **игнорируются** (никакие внешние трассы не продолжаются). -Данную секцию можно изменять без перезагрузки узла с помощью механизма [динамической конфигурации](../../../maintenance/manual/dynamic-config.md). +Данную секцию можно изменять без перезагрузки узла с помощью механизма [конфигурации](../../../devops/configuration-management/index.md). ### Sampling @@ -158,7 +158,7 @@ tracing_config: Секция `sampling` не является обязательной, в случае ее отсутствия никакие запросы не будут сэмплироваться. -Данную секцию можно изменять без перезагрузки узла с помощью механизма [динамической конфигурации](../../../maintenance/manual/dynamic-config.md). +Данную секцию можно изменять без перезагрузки узла с помощью механизма [динамической конфигурации](../../../devops/deployment-options/manual/before-v25.1/configuration-management/dynamic-config.md). ## Семантика правил {#semantics} diff --git a/ydb/docs/ru/core/reference/ydb-cli/export-import/_includes/tools-dump.md b/ydb/docs/ru/core/reference/ydb-cli/export-import/_includes/tools-dump.md index 688223147bc5..53569c9a06cd 100644 --- a/ydb/docs/ru/core/reference/ydb-cli/export-import/_includes/tools-dump.md +++ b/ydb/docs/ru/core/reference/ydb-cli/export-import/_includes/tools-dump.md @@ -27,7 +27,7 @@ `--save-partial-result`: Не удалять результат частично выполненной выгрузки. Без включения данной опции результат выгрузки будет удален, если в процессе её выполнения произойдет ошибка. -`--preserve-pool-kinds`: Если эта опция активна, в дамп будут сохранены имена типов устройств хранения, заданные для групп колонок таблиц (см. параметр `DATA` в статье [Группы колонок](https://ydb.tech/docs/ru/yql/reference/syntax/create_table/family)). Если при восстановлении данных в базе не окажется [пулов хранения](https://ydb.tech/docs/ru/concepts/glossary#storage-poolhttps://ydb.tech/docs/ru/concepts/glossary#storage-pool) с указанными именами, восстановление завершится ошибкой. По умолчанию данная опция деактивирована и при восстановлении используется пул хранения, заданный для базы данных при ее создании (см. [Создание базы данных](https://ydb.tech/docs/ru/devops/manual/initial-deployment#create-db)). +`--preserve-pool-kinds`: Если эта опция активна, в дамп будут сохранены имена типов устройств хранения, заданные для групп колонок таблиц (см. параметр `DATA` в статье [Группы колонок](https://ydb.tech/docs/ru/yql/reference/syntax/create_table/family)). Если при восстановлении данных в базе не окажется [пулов хранения](https://ydb.tech/docs/ru/concepts/glossary#storage-poolhttps://ydb.tech/docs/ru/concepts/glossary#storage-pool) с указанными именами, восстановление завершится ошибкой. По умолчанию данная опция деактивирована и при восстановлении используется пул хранения, заданный для базы данных при ее создании (см. [Создание базы данных](https://ydb.tech/docs/ru/devops/deployment-options/manual/initial-deployment#create-db)). `--ordered`: Строки в выгруженных таблицах будут отсортированы по первичному ключу. diff --git a/ydb/docs/ru/core/reference/ydbops/index.md b/ydb/docs/ru/core/reference/ydbops/index.md index 229daf538af3..e05a3a3008d3 100644 --- a/ydb/docs/ru/core/reference/ydbops/index.md +++ b/ydb/docs/ru/core/reference/ydbops/index.md @@ -2,7 +2,7 @@ {% include [warning.md](_includes/warning.md) %} -Утилита `ydbops` облегчает выполнение объемных сценариев на кластерах {{ ydb-short-name }}. Утилита поддерживает кластеры, развернутые с помощью [Ansible](../../devops/ansible/index.md), [Kubernetes](../../devops/kubernetes/index.md) или [вручную](../../devops/manual/index.md). +Утилита `ydbops` облегчает выполнение объемных сценариев на кластерах {{ ydb-short-name }}. Утилита поддерживает кластеры, развернутые с помощью [Ansible](../../devops/deployment-options/ansible/index.md), [Kubernetes](../../devops/deployment-options/kubernetes/index.md) или [вручную](../../devops/deployment-options/manual/index.md). ## Смотрите также diff --git a/ydb/docs/ru/core/reference/ydbops/rolling-restart-scenario.md b/ydb/docs/ru/core/reference/ydbops/rolling-restart-scenario.md index 26c0314889ca..e49592f8bbbb 100644 --- a/ydb/docs/ru/core/reference/ydbops/rolling-restart-scenario.md +++ b/ydb/docs/ru/core/reference/ydbops/rolling-restart-scenario.md @@ -2,7 +2,7 @@ {% include [warning.md](_includes/warning.md) %} -`ydbops` можно использовать для выполнения перезагрузки кластера: перезапуска всех или некоторых узлов кластера {{ ydb-short-name }} при сохранении доступности кластера. Почему это не тривиально и требует специальной утилиты, объясняется в [статье про обслуживание кластера без потери доступности](../../devops/manual/maintenance-without-downtime). +`ydbops` можно использовать для выполнения перезагрузки кластера: перезапуска всех или некоторых узлов кластера {{ ydb-short-name }} при сохранении доступности кластера. Почему это не тривиально и требует специальной утилиты, объясняется в [статье про обслуживание кластера без потери доступности](../../devops/deployment-options/manual/maintenance-without-downtime). Подкоманда, ответственная за эту операцию, — `ydbops restart`. diff --git a/ydb/docs/ru/core/security/audit-log.md b/ydb/docs/ru/core/security/audit-log.md index 5c94302fc491..f14d62eb1b19 100644 --- a/ydb/docs/ru/core/security/audit-log.md +++ b/ydb/docs/ru/core/security/audit-log.md @@ -18,7 +18,7 @@ _Аудитный лог_ — это поток, который содержит В случае направления в файл доступ к аудитному логу задается правами на уровне файловой системы. Сохранение аудитного лога в файл рекомендуется для использования в промышленных инсталляциях. -Направление аудитного лога в стандартный вывод ошибок `stderr` рекомендуется для тестовых инсталляций. Дальнейшая обработка данных потока определяется настройками [логирования](../devops/manual/logging.md) кластера {{ ydb-short-name }}. +Направление аудитного лога в стандартный вывод ошибок `stderr` рекомендуется для тестовых инсталляций. Дальнейшая обработка данных потока определяется настройками [логирования](../devops/observability/logging.md) кластера {{ ydb-short-name }}. ## События аудитного лога {#events} diff --git a/ydb/docs/ru/core/security/authorization.md b/ydb/docs/ru/core/security/authorization.md index 7b81c5adb7a7..2021ce20ed46 100644 --- a/ydb/docs/ru/core/security/authorization.md +++ b/ydb/docs/ru/core/security/authorization.md @@ -32,9 +32,9 @@ Подробнее про первоначальное развертывание: -* [Ansible](../devops/ansible/initial-deployment.md) -* [Kubernetes](../devops/kubernetes/initial-deployment.md) -* [Вручную](../devops/manual/initial-deployment.md) +* [Ansible](../devops/deployment-options/ansible/initial-deployment.md) +* [Kubernetes](../devops/deployment-options/kubernetes/initial-deployment.md) +* [Вручную](../devops/deployment-options/manual/initial-deployment.md) * [{#T}](./builtin-security.md) {% endnote %} diff --git a/ydb/docs/ru/core/security/encryption/data-in-transit.md b/ydb/docs/ru/core/security/encryption/data-in-transit.md index 1339239248be..b4115bf0860a 100644 --- a/ydb/docs/ru/core/security/encryption/data-in-transit.md +++ b/ydb/docs/ru/core/security/encryption/data-in-transit.md @@ -8,7 +8,7 @@ * [gRPC](../../reference/ydb-sdk/overview-grpc-api.md) — для внешнего взаимодействия с клиентскими приложениями, разработанными для нативной работы с {{ ydb-short-name }} через [SDK](../../reference/ydb-sdk/index.md) или [CLI](../../reference/ydb-cli/index.md). * [Протокол PostgreSQL](../../postgresql/intro.md) — для внешнего взаимодействия с клиентскими приложениями, изначально разработанными для работы с [PostgreSQL](https://www.postgresql.org/). * [Протокол Kafka](../../reference/kafka-api/index.md) — для внешнего взаимодействия с клиентскими приложениями, изначально разработанными для работы с [Apache Kafka](https://kafka.apache.org/). - * HTTP — для работы с [встроенным UI](../../reference/embedded-ui/index.md), публикации [метрик](../../devops/manual/monitoring.md) и других вспомогательных конечных эндпоинтов. + * HTTP — для работы с [встроенным UI](../../reference/embedded-ui/index.md), публикации [метрик](../../devops/observability/monitoring.md) и других вспомогательных конечных эндпоинтов. * {{ ydb-short-name }} в роли клиента: diff --git a/ydb/docs/ru/core/troubleshooting/performance/index.md b/ydb/docs/ru/core/troubleshooting/performance/index.md index 23d51fb3bb70..4f93d4aebd48 100644 --- a/ydb/docs/ru/core/troubleshooting/performance/index.md +++ b/ydb/docs/ru/core/troubleshooting/performance/index.md @@ -8,9 +8,9 @@ - [{{ ydb-short-name }} метрики](../../reference/observability/metrics/index.md). - Диагностика большинства проблем с производительностью включает анализ [дашбордов в Grafana](../../reference/observability/metrics/grafana-dashboards.md), которые используют метрики {{ ydb-short-name }}, собираемые с помощью Prometheus. Описание установки Grafana и Prometheus см. в разделе [{#T}](../../devops/manual/monitoring.md); + Диагностика большинства проблем с производительностью включает анализ [дашбордов в Grafana](../../reference/observability/metrics/grafana-dashboards.md), которые используют метрики {{ ydb-short-name }}, собираемые с помощью Prometheus. Описание установки Grafana и Prometheus см. в разделе [{#T}](../../devops/observability/monitoring.md); -- [Логи {{ ydb-short-name }}](../../devops/manual/logging.md); +- [Логи {{ ydb-short-name }}](../../devops/observability/logging.md); - [Трассировка](../../reference/observability/tracing/setup.md); - [{{ ydb-short-name }} CLI](../../reference/ydb-cli/index.md); - [Встроенный UI](../../reference/embedded-ui/index.md);