Как заставить Cassandra использовать два диска на ZFS в SmartOS?
Я слышал, что есть огромное улучшение, когда Cassandra может записывать свои лог-файлы на один диск, а таблицы SS - на другой. У меня есть два диска, и если бы я работал под Linux, я бы смонтировал каждый из них по-своему и настроил Cassandra для записи на них.
Я хотел бы знать, как это сделать в ZFS и SmartOS.
Я - новичок в SmartOS, и из того, что я понял, я добавляю диски в пул хранения, они управляются как единое целое?
2 ответа
По умолчанию SmartOS объединяет все ваши диски в один пул ZFS (SmartOS называет этот пул "зонами"). Из этого пула вы создаете наборы данных ZFS, которые могут выглядеть как блочные устройства (используемые для виртуальных машин KVM) или как файловые системы (используемые для зон SmartOS).
Вы можете настроить более одного пула в SmartOS, но вам придется сделать это вручную. Документация по Solaris все еще довольно хороша и применима к современным дистрибутивам Illumos (включая SmartOS). Глава 4 содержит всю необходимую информацию для создания нового пула ZFS, но это может быть так просто:
zpool create some_new_pool_name c1t0d0 c1t1d0
Это предполагает, что у вас есть доступ к глобальной зоне.
Если бы я использовал кластер Cassandra на голом железе и хотел бы получить выгоду от таких вещей, как ZFS и DTrace, я бы, вероятно, использовал OmniOS вместо SmartOS. Я не хочу никакой конкуренции за ресурсы с моими компьютерами баз данных, поэтому я не буду запускать какие-либо другие зоны или виртуальные машины на этом оборудовании (в этом SmartOS действительно хорош).
psanford объяснил, как использовать два диска, но это, вероятно, не то, что вы хотите здесь. Обычно это рекомендуется для устранения недостатков в планировании ввода / вывода операционной системы. ZFS имеет регулятор записи, чтобы избежать насыщения дисков [0], а SmartOS может быть настроен на регулирование операций ввода-вывода, чтобы обеспечить хорошую производительность считывателей, когда некоторые пользователи (возможно, один и тот же пользователь) выполняют интенсивную запись [1]. Я был бы удивлен, если бы готовой конфигурации не было достаточно, но если вы видите плохую производительность, было бы хорошо определить это количественно.
[0] http://dtrace.org/blogs/ahl/2014/02/10/the-openzfs-write-throttle/[1] http://dtrace.org/blogs/wdp/2011/03/our-zfs-io-throttle/