Диски в Linux: LVMRAID - Программный RAID-массив средствами LVM (Logical Volume Management) от In-Linux на Rutube•LiST
LVMRAID
- LVM можно использовать с mdadm
- mdadm снизу
- mdadm сверху
- и у того и у того средства “сверху” и “снизу” блочные устройства, поэтому можем комбинировать как угодно
- но это не всегда удобно
- RAID средствами LVM
- использует DM - device mapper и MD - multiple device - те же подсистемы ядра, что используются и mdadm-ом
- но управление средствами LVM
- имеет смысл если управляем томами при помощи LVM
- использует единый инструмент для работы с блочными устройствами
- Позволяет создать LV, работающий на различных физических устройствах (PV), входящих в одну группу томов
- для повышения производительности
- увеличения надежности хранения данных
- Поддерживаемые уровни RAID
- jbod - это просто LVM
- raid0
- raid1
- raid4
- raid5
- raid6
- raid10
- Создание
$ lvcreate --type raid0 -n <name> -L <size> [OPTIONS] <VG> [<PV>...]
- Просмотр
$ lvs -o name,segtype <VG>
RAID0 (stripe)

$ lvcreate --type raid0 -n <name> -L <size>
[--stripes <number> --stripesize <ssize>]
<VG> [<PV>...]
–stripes - количество PV, по которым будут распределены данные LV
–stripesize - размер единицы данных в Кб
RAID1 (mirror)

$ lvcreate --type raid1 -n <name> -L <size>
[--mirrors <number>]
<VG> [<PV>...]
- –mirrors - количество копий данных
RAID4 (non-rotating parity)

$ lvcreate --type raid4 -n <name> -L <size>
[--stripes <number> --stripesize <ssize>]
<VG> [<PV>...]
–stripes - количество PV, по которым будут распределены данные LV, не считая устройства для хранения блоков четности
–stripesize - размер единицы данных в Кб
RAID5 (rotating parity)

$ lvcreate --type raid5 -n <name> -L <size>
[--stripes <number> --stripesize <ssize>]
<VG> [<PV>...]
–stripes - количество PV, по которым будут распределены данные LV, не включая дополнительного устройства для хранения блоков четности
–stripesize - размер единицы данных в Кб
RAID6 (rotating double parity)

$ lvcreate --type raid6 -n <name> -L <size>
[--stripes <number> --stripesize <ssize>] <VG> [<PV>...]
–stripes - количество PV, по которым будут распределены данные LV, не включая дополнительных двух устройств для хранения блоков четности
–stripesize - размер единицы данных в Кб
RAID10 (RAID1+RAID0)

$ lvcreate --type raid10 -n <name> -L <size>
[--mirrors <number> --stripes <number> --stripesize <ssize>]
<VG> [<PV>...]
–stripes - количество PV, по которым будут распределены данные LV
–stripesize - размер единицы данных в Кб
–mirrors - количество копий данных
Количество используемых устройств = NumberStripes/(NumberMirrors+1)
--mirrors 1 stripes 4
распределение данных между двумя зеркалами RAID 1