---
metadata:
  - name: generator
    content: Diplodoc Platform v5.50.6
alternate:
  - https://ydb.tech/docs/en/maintenance/manual/disk_end_space.md?version=main
  - https://ydb.tech/docs/ru/maintenance/manual/disk_end_space.md?version=main
sourcePath: ru/core/maintenance/manual/disk_end_space.md
---
> **Documentation Index:** Fetch the complete configuration index at https://ydb.tech/docs/ru/llms.txt

# Освобождение места на физических устройствах

При исчерпании места на дисках база данных может отвечать ошибками на все запросы. Для сохранения работоспособности рекомендуется удалить часть данных или расширить кластер блочными устройствами.

Ниже приведены инструкции которые могут помочь добавить или освободить место на дисках.

## Дефрагментировать VDisk

В ходе эксплуатации возникает внутренняя фрагментация VDisk'а. Узнать степень фрагментации можно на странице мониторинга VDisk'а. Дефрагментация VDisk'ов, фрагментированных на 20 и менее процентов не рекомендуется.

По модели отказа кластер переживает потерю двух VDisk'ов одной группы без потери данных. Если в группе все VDisk'и работоспособны, нет VDisk'ов в состоянии ошибки или репликации, удаление данных с одного из VDisk'ов приведет к восстановлению VDisk'ом данных в компактном виде. Следует понимать, что избыточность хранения данных будет снижена до завершения автоматической репликации данных.

В процессе репликации данных нагрузка на все VDisk'и группы будет увеличена, возможно ухудшение времени отклика.

1. Посмотреть коэффициент фрагментации на странице VDisk'а во вьювере.

   Если значение превышает 20%, то дефрагментация позволит освободить место на VDisk'е.

2. Проверить состояние группы, в которую входит VDisk. В группе не должно быть недоступных VDisk'ов, VDisk'ов в состоянии ошибки или репликации.

    Посмотреть состояние группы можно во вьювере.

3. Выполнить команду wipe для VDisk'а.

    Все данные, хранимые VDisk'ом, будут необратимо удалены, после чего VDisk начнет восстанавливать данные, читая их с остальных VDisk'ов группы.

    ```bash
    ydb-dstool -e <bs_endpoint> vdisk wipe --vdisk-ids <VDiskId> --run
    ```

    `<bs_enpoint>` - эндпоинт произвольного [узла хранения](https://ydb.tech/docs/ru/concepts/glossary.md?version=main#storage-node) кластера.
    `<VDiskId>` - идентификатор VDisk-а, в формате [GroupId:_:FailRealm:FailDomain:VDiskIdx].
    Узнать `VDiskId` можно в веб-интерейсе кластера, во вкладке Storage. Необходимо выбрать нужный VDisk и перейти на его страницу в Developer UI.
    Команда допускает множественное указание VDisk-ов, в таком случае их ID вводятся через пробел, в кавычках.

В случае заканчивающегося места на блочном устройстве можно применить дефрагментацию на все устройство.

1. Проверить состояние групп в кластере. Не должно быть проблемных групп, которые находятся на том же узле, что и проблемное устройство.

2. Зайти по ssh на узел, где находится этот устройство

3. Проверить, можно ли [перезапустить процесс](https://ydb.tech/docs/ru/maintenance/manual/node_restarting.md?version=main#restart_process).

4. Остановить процесс

    ```bash
    sudo systemctl stop ydbd
    ```

5. Форматировать устройство

    ```bash
    sudo ydbd admin blobstorage disk obliterate <путь до партлейбла устройства>
    ```

6. Запустить процесс

    ```bash
    sudo systemctl start ydbd
    ```

## Перевоз отдельных VDisk'ов с заполненных устройств

Если дефрагментация не помогает освободить место на устройстве, то можно [перевозить](https://ydb.tech/docs/ru/maintenance/manual/moving_vdisks.md?version=main#moving_disk) отдельные VDisk'и.
