vitastor/docs/intro/quickstart.ru.md

127 lines
7.5 KiB
Markdown
Raw Permalink Normal View History

2022-01-29 23:43:22 +03:00
[Документация](../../README-ru.md#документация) → Введение → Быстрый старт
-----
[Read in English](quickstart.en.md)
# Быстрый старт
- [Подготовка](#подготовка)
2023-07-09 12:57:46 +03:00
- [Рекомендуемые диски](#рекомендуемые-диски)
2022-01-29 23:43:22 +03:00
- [Настройте мониторы](#настройте-мониторы)
- [Настройте OSD](#настройте-osd)
- [Создайте пул](#создайте-пул)
- [Проверьте состояние кластера](#проверьте-состояние-кластера)
- [Создайте образ](#создайте-образ)
- [Установите плагины](#установите-плагины)
2024-03-11 00:42:33 +03:00
- [Создайте VitastorFS](#создайте-vitastorfs)
2022-01-29 23:43:22 +03:00
## Подготовка
- Возьмите серверы с SSD (SATA или NVMe), желательно с конденсаторами (серверные SSD). Можно
использовать и десктопные SSD, включив режим отложенного fsync, но производительность будет хуже.
О конденсаторах читайте [здесь](../config/layout-cluster.ru.md#immediate_commit).
- Если хотите использовать HDD, берите современные модели с Media или SSD кэшем - HGST Ultrastar,
Toshiba MG08, Seagate EXOS или что-то похожее. Если такого кэша у ваших дисков нет,
обязательно возьмите SSD под метаданные и журнал (маленькие, буквально 2 ГБ на 1 ТБ HDD-места).
2022-01-29 23:43:22 +03:00
- Возьмите быструю сеть, минимум 10 гбит/с. Идеал - что-то вроде Mellanox ConnectX-4 с RoCEv2.
- Для лучшей производительности отключите энергосбережение CPU: `cpupower idle-set -D 0 && cpupower frequency-set -g performance`.
- [Установите пакеты Vitastor](../installation/packages.ru.md).
2023-07-09 12:57:46 +03:00
## Рекомендуемые диски
2023-07-13 01:09:55 +03:00
- SATA SSD: Micron 5100/5200/5300/5400, Samsung PM863/PM883/PM893, Intel D3-S4510/4520/4610/4620, Kingston DC500M
- NVMe: Micron 9100/9200/9300/9400, Micron 7300/7450, Samsung PM983/PM9A3, Samsung PM1723/1735/1743,
Intel DC-P3700/P4500/P4600, Intel D7-P5500/P5600, Intel Optane, Kingston DC1000B/DC1500M
- HDD: HGST Ultrastar, Toshiba MG06/MG07/MG08, Seagate EXOS
2023-07-09 12:57:46 +03:00
2022-01-29 23:43:22 +03:00
## Настройте мониторы
На хостах, выделенных под мониторы:
2022-09-03 01:33:40 +03:00
- Пропишите одинаковые etcd_address в `/etc/vitastor/vitastor.conf`. Например:
2022-01-29 23:43:22 +03:00
```
{
2022-09-03 01:33:40 +03:00
"etcd_address": ["10.200.1.10:2379","10.200.1.11:2379","10.200.1.12:2379"]
2022-01-29 23:43:22 +03:00
}
```
2022-09-03 01:33:40 +03:00
- Инициализируйте сервисы etcd, запустив `/usr/lib/vitastor/mon/make-etcd`
- Запустите etcd и мониторы: `systemctl enable --now etcd vitastor-mon`
2022-01-29 23:43:22 +03:00
## Настройте 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 или только HDD: `vitastor-disk prepare /dev/sdXXX [/dev/sdYYY ...]`.
Если вы используете десктопные SSD без конденсаторов, добавьте опцию `--disable_data_fsync off`,
чтобы оставить кэш записи диска включённым. НЕ добавляйте эту опцию, если используете
жёсткие диски (HDD).
- Гибридные, SSD+HDD: `vitastor-disk prepare --hybrid /dev/sdXXX [/dev/sdYYY ...]`.
Передайте все ваши SSD и HDD скрипту в командной строке подряд, скрипт автоматически выделит
разделы под журналы на SSD и данные на HDD. Скрипт пропускает HDD, на которых уже есть разделы
2022-01-29 23:43:22 +03:00
или вообще какие-то данные, поэтому если диски непустые, сначала очистите их с помощью
`wipefs -a`. SSD с таблицей разделов не пропускаются, но так как скрипт создаёт новые разделы
для журналов, на SSD должно быть доступно свободное нераспределённое место.
- Вы можете менять параметры OSD в юнитах systemd или в `vitastor.conf`. Описания параметров
смотрите в [справке по конфигурации](../config.ru.md).
- Если все ваши диски - серверные с конденсаторами, и даже если нет, но при этом
вы не добавляли опцию `--disable_data_fsync off` на первом шаге, а `vitastor-disk`
не ругался на невозможность отключения кэша дисков, пропишите следующую настройку
в глобальную конфигурацию в etcd: \
`etcdctl --endpoints=... put /vitastor/config/global '{"immediate_commit":"all"}'`.
2022-01-29 23:43:22 +03:00
- Запустите все OSD: `systemctl start vitastor.target`
## Создайте пул
Создайте пул с помощью vitastor-cli:
2022-01-29 23:43:22 +03:00
```
vitastor-cli create-pool testpool --pg_size 2 --pg_count 256
2022-01-29 23:43:22 +03:00
```
Для пулов с кодами коррекции ошибок конфигурация должна выглядеть примерно так:
```
vitastor-cli create-pool testpool --ec 2+2 --pg_count 256
2022-01-29 23:43:22 +03:00
```
После этого один из мониторов должен сконфигурировать PG, а OSD должны запустить их.
Если вы используете HDD-диски, то добавьте в конфигурацию пулов опцию `"block_size": 1048576`.
Также эту опцию можно добавить в /vitastor/config/global, в этом случае она будет
применяться ко всем пулам по умолчанию.
2022-01-29 23:43:22 +03:00
## Проверьте состояние кластера
`vitastor-cli status`
Либо же вы можете проверять состояние PG прямо в etcd: `etcdctl --endpoints=... get --prefix /vitastor/pg/state`. Все PG должны быть 'active'.
## Создайте образ
Используйте vitastor-cli ([смотрите документацию CLI здесь](../usage/cli.ru.md)):
```
vitastor-cli create -s 10G testimg
```
После этого вы можете [запускать тесты](../usage/fio.ru.md) или [вручную запускать QEMU](../usage/qemu.ru.md) с новым образом.
## Установите плагины
- [Proxmox](../installation/proxmox.ru.md)
- [OpenStack](../installation/openstack.ru.md)
- [Kubernetes CSI](../installation/kubernetes.ru.md)
2024-03-11 00:42:33 +03:00
## Создайте VitastorFS
Если вы хотите использовать не только блочные образы виртуальных машин или контейнеров,
а также кластерную файловую систему, то:
- [Следуйте инструкциям](../usage/nfs.en.md#vitastorfs)