Чтобы полностью использовать полосу пропускания SAS/SATA SSD или NVMe, они должны расщепляться примерно между пятью (для SAS SSD, для NVMe нет данных).
Для включения такой возможности вам необходимо удалить OSD, созданные на этих SSD при установке, разделить каждый SSD на пять разделов и создать на них OSD.
Рассмотрим случай с четырьмя хостами, каждый из которых имеет шесть дисков Intel s3610 1.6ТБ SSD. Последовательность действий такова:
Подробнее:
Для включения такой возможности вам необходимо удалить OSD, созданные на этих SSD при установке, разделить каждый SSD на пять разделов и создать на них OSD.
Рассмотрим случай с четырьмя хостами, каждый из которых имеет шесть дисков Intel s3610 1.6ТБ SSD. Последовательность действий такова:
- Определите все номера OSD, которые вы хотите заменить. Отобразите все OSD сгруппировав их по хостам, на которых они находятся воспользовавшись командой
ceph osd tree
на любом Контроллере или узле Ceph. Все узлы имеют веса близкие к их размерам в ТБ. В отображаемом примере вес равен 1.45 (для OSD 1.5ТБ):
root@node-12:~# ceph osd tree ID WEIGHT TYPE NAME UP/DOWN REWEIGHT PRIMARY-AFFINITY -6 34.79999 root root -7 8.70000 host node-7 0 1.45000 osd.0 up 1.00000 1.00000 1 1.09000 osd.1 up 1.00000 1.00000 2 1.09000 osd.2 up 1.00000 1.00000 3 1.09000 osd.3 up 1.00000 1.00000 4 1.09000 osd.4 up 1.00000 1.00000 5 1.45000 osd.5 up 1.00000 1.00000 6 1.09000 osd.6 up 1.00000 1.00000 7 1.09000 osd.7 up 1.00000 1.00000 8 1.45000 osd.8 up 1.00000 1.00000
- Выпишите соответствия идентификаторов host к osd. В нашем случае мы сохраняем их в качестве переменных оболочки:
host7_osd='0 5 8 15 19 20' host8_osd='21 22 27 29 31 39' host9_osd='26 41 44 48 54 64' host10_osd='33 63 70 72 77 79'
- Установите соединение SSH к самому первому узлу OSD Ceph. Остановите и удалите все OSD на нём:
osd="$host7_osd" for i in $osd; do service ceph-osd stop id=$i sleep 1 ceph osd crush remove osd.$i ceph auth del osd.$i ceph osd rm $i done disks=$(mount|egrep "ceph-(${osd// /|}) "|cut -d' ' -f1|cut -d/ -f3|tr ' ' ' '|tr -d3)for i in $osd; do umount /var/lib/ceph/osd/ceph-$i; done
Отметим, что у вас имеется переменная оболочки с названиемdisks
, которая содержит имена дисков SSD, используемых этими OSD. Нам понадобится эта переменная для последующих шагов.
- Разметьте заново все SSD, перечисленные в имеющейся переменной
disks
. Создайте пять эквивалентных разделов XFS на каждом SSD:
for i in $disks; do parted /dev/$i rm 3 parted /dev/$i mkpart ceph xfs 237MB 320253MB parted /dev/$i mkpart ceph xfs 320253MB 640269MB parted /dev/$i mkpart ceph xfs 640269MB 960285MB parted /dev/$i mkpart ceph xfs 960285MB 1280301MB parted /dev/$i mkpart ceph xfs 1280301MB 1600321MB done
- Создайте и активируйте новые OSD в этих новых разделах:
for d in $disks; do for i in 3 4 5 6 7; do ceph-disk -v prepare --fs-type xfs --cluster ceph -- $d$i; done; done for d in $disks; do for i in 3 4 5 6 7; do ceph-disk -v activate --mark-init upstart --mount $d$i; done; done
- Воспользовавшись командой
ceph status
проверьте состояние Ceph. Дождитесь пока весь кластер Ceph вновь станет полностью жизнеспособным и все OSD перейдут в состояниеactive+clean
:
root@node-12:~# ceph status cluster ee126587-f638-484f-a23a-7aac7e931c12 health HEALTH_OK monmap e3: 3 mons at {node-14=192.168.3.14:6789/0,node-15=192.168.3.15:6789/0,node-22=192.168.3.17:6789/0} election epoch 14, quorum 0,1,2 node-14,node-15,node-22 osdmap e4426: 180 osds: 178 up, 178 in pgmap v738789: 8960 pgs, 13 pools, 36966 MB data, 9582 objects 373 GB used, 100929 GB / 101302 GB avail 8960 active+clean
- Повторите шаги 3-6 для каждого из узлов Ceph.
Подробнее:
Поделиться с друзьями
Комментарии (13)
MinamotoSoft
15.03.2017 20:09+3Что бы сделать марипупу надо взять 4 ноусера и одного обратить, затем перемешав всех сложить их в замкнутую коробку к утру точно будет марипупу.
… примерно так читается сей опус.
Dimonyga
16.03.2017 06:00Что я только что прочитал?
Автору рекомендую почитать официальную доку, а не городить костыли.
http://docs.ceph.com/docs/master/rados/configuration/osd-config-ref/#operationsOlegBou
16.03.2017 10:57в вашей ссылке описывается журналирование.
В заметке описывается создание полноценных OSD на SSD, пытающихся использовать всю имеющуюся пропускную способность имеющихся в их распоряжении физ.устройств.
Opik
Bluestore все еще нельзя использовать? Ведь по идее там должно быть все лучше
OlegBou
пропустил, спасибо буду знакомиться с новым голубым другом.
Здесь речь идёт о промышленных применениях.
Faight
Его пока не рекомендуют использовать в продакшене.