vitastor/docs/intro/quickstart.ru.md

5.9 KiB
Raw Blame History

Документация → Введение → Быстрый старт


Read in English

Быстрый старт

Подготовка

  • Возьмите серверы с SSD (SATA или NVMe), желательно с конденсаторами (серверные SSD). Можно использовать и десктопные SSD, включив режим отложенного fsync, но производительность будет хуже. О конденсаторах читайте здесь.
  • Возьмите быструю сеть, минимум 10 гбит/с. Идеал - что-то вроде Mellanox ConnectX-4 с RoCEv2.
  • Для лучшей производительности отключите энергосбережение CPU: cpupower idle-set -D 0 && cpupower frequency-set -g performance.
  • Установите пакеты Vitastor.

Настройте мониторы

На хостах, выделенных под мониторы:

  • Пропишите нужные вам значения в файле /usr/lib/vitastor/mon/make-units.sh
  • Создайте юниты systemd для etcd и мониторов: /usr/lib/vitastor/mon/make-units.sh
  • Запустите etcd и мониторы: systemctl start etcd vitastor-mon
  • Пропишите etcd_address и osd_network в /etc/vitastor/vitastor.conf. Например:
    {
      "etcd_address": ["10.200.1.10:2379","10.200.1.11:2379","10.200.1.12:2379"],
      "osd_network": "10.200.1.0/24"
    }
    

Настройте OSD

  • Пропишите etcd_address и osd_network в /etc/vitastor/vitastor.conf. Например:
    {
      "etcd_address": ["10.200.1.10:2379","10.200.1.11:2379","10.200.1.12:2379"],
      "osd_network": "10.200.1.0/24"
    }
    
  • Инициализуйте OSD:
    • SSD: /usr/lib/vitastor/make-osd.sh /dev/disk/by-partuuid/XXX [/dev/disk/by-partuuid/YYY ...].
      Внимание! Скрипт по умолчанию рассчитан на то, что у вас диски с конденсаторами и отключённым кэшем! Если это не так, из юнитов systemd нужно убрать строчки disable_data_fsync и immediate_commit!
    • Гибридные, HDD+SSD: /usr/lib/vitastor/mon/make-osd-hybrid.js /dev/sda /dev/sdb ... - передайте все ваши SSD и HDD скрипту в командной строке подряд, скрипт автоматически выделит разделы под журналы на SSD и данные на HDD. Скрипт пропускает HDD, на которых уже есть разделы или вообще какие-то данные, поэтому если диски непустые, сначала очистите их с помощью wipefs -a. SSD с таблицей разделов не пропускаются, но так как скрипт создаёт новые разделы для журналов, на SSD должно быть доступно свободное нераспределённое место.
  • Вы можете менять параметры OSD в юнитах systemd или в vitastor.conf. Описания параметров смотрите в справке по конфигурации.
  • Если все ваши диски - серверные с конденсаторами, пропишите это в глобальную конфигурацию в etcd:
    etcdctl --endpoints=... put /vitastor/config/global '{"immediate_commit":"all"}'
  • Запустите все OSD: systemctl start vitastor.target

Создайте пул

Создайте конфигурацию пула с помощью etcdctl:

etcdctl --endpoints=... put /vitastor/config/pools '{"1":{"name":"testpool",
  "scheme":"replicated","pg_size":2,"pg_minsize":1,"pg_count":256,"failure_domain":"host"}}'

Для пулов с кодами коррекции ошибок конфигурация должна выглядеть примерно так:

etcdctl --endpoints=... put /vitastor/config/pools '{"2":{"name":"ecpool",
  "scheme":"ec","pg_size":4,"parity_chunks":2,"pg_minsize":2,"pg_count":256,"failure_domain":"host"}`

После этого один из мониторов должен сконфигурировать PG, а OSD должны запустить их.

Проверьте состояние кластера

vitastor-cli status

Либо же вы можете проверять состояние PG прямо в etcd: etcdctl --endpoints=... get --prefix /vitastor/pg/state. Все PG должны быть 'active'.

Создайте образ

Используйте vitastor-cli (смотрите документацию CLI здесь):

vitastor-cli create -s 10G testimg

После этого вы можете запускать тесты или вручную запускать QEMU с новым образом.

Установите плагины