meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
blog:2022:09:23 [2022/09/23 17:54] – mchusblog:2022:09:23 [2022/09/30 10:44] (current) – [Table] mchus
Line 1: Line 1:
 +====== 2022-09-23 GlusterFS ======
 +{{tag>glusterfs veil ovirt hostvm zvirt}}
 +
 +{{:blog:2022:09:23:20220923-205745.png?400  }}
 +
 +Некоторые отечественные системы виртуализации, основанные на oVirt и ECP Veil поддерживают в качестве системы хранения данных решение GlusterFS. При первом рассмотрении это может показаться приятной новостью, так как Gluster давно известен в ИТ-среде. При этом мнения о гластере при более глубоком изучении более негативные чем позитивные.
 +  * Много пользователей жалуются на то, что гластер тяжело вернуть в рабочее состояние при потере брика. Это комплексная проблема, я не стану приводить примеры так как каждый раз что то новое;
 +  * Гластер не поддерживает гибкое использование дисков, при разметке вы должны однозначно указывать какие диски или разделы войдут в страйп-сет;
 +  * Рекомендуемый уровень защиты rf=3. 
 +  * EC не рекомендуется, но если вы решите его использовать то существует только несколько рекомендованных уровней;
 +  * Нечётное страйп-сету количество дисков невозможно использовать.
 +
 +
 +----
 +
 +Пример полезной ёмкости которую вы можете получить при минимальном уровне отказоустойчивости (1 сервер) в таблице ниже. Видно что при некоторых конфигурациях нам необходимо будет использовать связку локального RAID и репликацию блоков чтобы не терять каждый раз узел при выходе из строя одного диска. 
 +
 +^        ^  1               ^  2             ^  3                ^  4                   ^  5  ^  6                ^  7  ^  8                   ^  9  ^  10                  ^  11               ^  12               ^ Hosts  ^
 +^  1     |  no HA           |  50% ((rf=2))  |  33% ((rf=3))     |  50% ((rf=2))        |  ?  |  **66%** ((4+2))  |  ?  |  50% ((rf=2))        |  ?  |  50% ((rf=2))        |  **72%** ((8+3))  |  **66%** ((8+4))  |        |
 +^  2     |  50% ((raid1))   |  50% ((rf=2))  |  **66%** ((4+2))  |  50% ((rf=2))        | ?   |  **66%** ((8+4))  | ?   |  50% ((rf=2))        | ?   |  50% ((rf=2))        |  **72%** ((8+3))  |  **66%** ((8+4))  |        |
 +^  3     |  66% ((raid5))   |  50% ((rf=2))  |  33% ((rf=3))     |  33% ((rf=2+R5))     | ?   |  **66%** ((4+2))  | ?   |  33% ((rf=2+R5))     | ?   |  33% ((rf=2+R5))     |  **72%** ((8+3))  |  **66%** ((8+4))  |        |
 +^  4     |  75% ((raid5))   |  50% ((rf=2))  |  **66%** ((4+2))  |  37,5% ((rf=2+R5))   | ?   |  **66%** ((8+4))  | ?   |  37,5% ((rf=2+R5))   | ?   |  37,5% ((rf=2+R5))   |  **72%** ((8+3))  |  **66%** ((8+4))  |        |
 +^  5     |  80% ((raid5))   |  50% ((rf=2))  |  33% ((rf=3))     |  40% ((rf=2+R5))     | ?   |  **66%** ((4+2))  | ?   |  40% ((rf=2+R5))     | ?   |  40% ((rf=2+R5))     |  **72%** ((8+3))  |  **66%** ((8+4))  |        |
 +^  6     |  83% ((raid5))   |  50% ((rf=2))  |  **66%** ((4+2))  |  41,5% ((rf=2+R5))   | ?   |  **66%** ((8+4))  | ?   |  41,5% ((rf=2+R5))   | ?   |  41,5% ((rf=2+R5))   |  **72%** ((8+3))  |  **66%** ((8+4))  |        |
 +^  7     |  85%  ((raid5))  |  50% ((rf=2))  |  33% ((rf=3))     |  42,5% ((rf=2+R5))   | ?   |  **66%** ((4+2))  | ?   |  42,5% ((rf=2+R5))   | ?   |  42,5% ((rf=2+R5))   |  **72%** ((8+3))  |  **66%** ((8+4))  |        |
 +^  8     |  75%  ((raid6))  |  50% ((rf=2))  |  **66%** ((4+2))  |  37,5% ((rf=2+R6))   | ?   |  **66%** ((8+4))  | ?   |  37,5% ((rf=2+R6))   | ?   |  37,5% ((rf=2+R6))   |  **72%** ((8+3))  |  **66%** ((8+4))  |        |
 +^  9     |  77%  ((raid6))  |  50% ((rf=2))  |  33% ((rf=3))     |  38,5% ((rf=2+R6))   | ?   |  **66%** ((4+2))  | ?   |  38,5% ((rf=2+R6))   | ?   |  38,5% ((rf=2+R6))   |  **72%** ((8+3))  |  **66%** ((8+4))  |        |
 +^  10    |  80%  ((raid6))  |  50% ((rf=2))  |  **66%** ((4+2))  |  40%  ((rf=2+R6))    | ?   |  **66%** ((8+4))  | ?   |  40%  ((rf=2+R6))    | ?   |  40%  ((rf=2+R6))    |  **72%** ((8+3))  |  **66%** ((8+4))  |        |
 +^  11    |  81% ((raid6))   |  50% ((rf=2))  |  33% ((rf=3))     |  40,5%  ((rf=2+R6))  | ?   |  **66%** ((4+2))  | ?   |  40,5%  ((rf=2+R6))  | ?   |  40,5%  ((rf=2+R6))  |  **72%** ((8+3))  |  **66%** ((8+4))  |        |
 +^  12    |  83% ((raid6))   |  50% ((rf=2))  |  **66%** ((4+2))  |  41,5%  ((rf=2+R6))  | ?   |  **66%** ((8+4))  | ?   |  41,5%  ((rf=2+R6))  | ?   |  41,5%  ((rf=2+R6))  |  **72%** ((8+3))  |  **66%** ((8+4))  |        |
 +^ Disks  |                  |                |                   |                      |     |                   |     |                      |     |                      |                   |                   |        |
 +
 +Подробное описание как собрать конфигурацию, например 8+4 например на трёх серверах в [[https://access.redhat.com/documentation/en-us/red_hat_gluster_storage/3.1/html/administration_guide/chap-recommended-configuration_dispersed|статье RedHat.]] 
 +
 +О гластер сломано много копий, он часто используется у сервис-провайдеров. Это связано видимо с низкими требованиями к ресурсам и относительно простой настройке и эксплуатации по сравнению с CEPH. В интернете очень много историй о больших внедрениях, только руку протяни. 
 +
 +Какой вывод можно сделать:
 +  * На маленьких конфигурациях гиперконвергентных отечественных виртуализациях приготовьтесь использовать RF=3 и локальный рэйд;
 +  * Старайтесь использовать количество серверов кратное трём во избежание SplitBrain. 
 +  * На больших ландшафтах уж лучше поставить СХД и не морочить себе голову;
 +