5.1.5.4.2. Дефрагментация
Дефрагментация – это процесс физического восстановления дискового пространства после уплотнения. Хотя уплотнение и удаляет логически старые ревизии, фактическое дисковое пространство не освобождается автоматически, из-за особенностей работы нижележащей базы данных (BoltDB в etcd).
5.1.5.4.2.1. Как работает
-
Дефрагментация выполняется вручную, с помощью команды
etcdctl defrag
или через API. -
ETCD считывает активные данные и записывает их в новую базу данных, игнорируя пустое пространство, оставшееся от удаленных ревизий.
-
После перезаписи старая база данных заменяется новой, и неиспользуемое дисковое пространство возвращается операционной системе.
5.1.5.4.2.2. Предпосылки
-
Из-за особенностей BoltDB, даже после удаления данных, физическое пространство не освобождается автоматически.
-
Для эффективного использования дискового пространства и предотвращения его исчерпания, требуется периодическая дефрагментация.
-
Дефрагментация может улучшить производительность ввода-вывода за счет упорядочивания данных и уменьшения размеров файлов базы данных.