forked from vitalif/vitastor
5.9 KiB
5.9 KiB
Документация → Введение → Быстрый старт
Быстрый старт
- Подготовка
- Настройте мониторы
- Настройте OSD
- Создайте пул
- Проверьте состояние кластера
- Создайте образ
- Установите плагины
Подготовка
- Возьмите серверы с 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 должно быть доступно свободное нераспределённое место.
- 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 с новым образом.