Добрый вечер, у меня есть тестовый кластер из трех узлов на базе PVE 8.4.1.
pve-01 & pve-02: CPU(s) 56 x Intel® Xeon® Gold 6132 CPU @ 2.60GHz (2 Socket)
pve-03: CPU(s) 28 x Intel® Xeon® Gold 6132 CPU @ 2.60GHz (1 Socket)
Версия ядра: Linux 6.8.12-10-pve (2025-04-18T07:39Z)
Режим загрузки: EFI
Объем оперативной памяти: 512 ГБ
CEPH уже настроен и использует 5 SSD по каждому узлу. Сейчас хочу использовать HDD на каждом хосте для "холодного хранения", ISO-образов и некритичных VM. Я создал:
a. второй пул CEPH (ceph-pool-hdd-01) для VM.
b. второй пул CEPHFS (cephfs-hdd-01) для ISO-образов и т.д.
a. работает пока что. Могу переносить VM в него, и выбирается правильный пул.
b. Два пула CEPHFS (HDD/SSD) сейчас используют одно и то же хранилище, каждый файл хранится в обоих пулах, что нежелательно.
Вот что я сделал:
1. Объединил SSD и HDD с правильным классом устройства:
Bash: root@p30-pve01:~# ceph osd tree
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 27.65454 root default
-3 9.82465 host p30-pve01
15 hdd 1.81940 osd.15 up 1.00000 1.00000
16 hdd 1.81940 osd.16 up 1.00000 1.00000
17 hdd 1.81940 osd.17 up 1.00000 1.00000
0 ssd 0.87329 osd.0 up 1.00000 1.00000
1 ssd 0.87329 osd.1 up 1.00000 1.00000
2 ssd 0.87329 osd.2 up 1.00000 1.00000
3 ssd 0.87329 osd.3 up 1.00000 1.00000
4 ssd 0.87329 osd.4 up 1.00000 1.00000
-5 9.82465 host p30-pve02
18 hdd 1.81940 osd.18 up 1.00000 1.00000
19 hdd 1.81940 osd.19 up 1.00000 1.00000
20 hdd 1.81940 osd.20 up 1.00000 1.00000
5 ssd 0.87329 osd.5 up 1.00000 1.00000
6 ssd 0.87329 osd.6 up 1.00000 1.00000
7 ssd 0.87329 osd.7 up 1.00000 1.00000
8 ssd 0.87329 osd.8 up 1.00000 1.00000
9 ssd 0.87329 osd.9 up 1.00000 1.00000
-7 8.00525 host p30-pve03
21 hdd 1.81940 osd.21 up 1.00000 1.00000
22 hdd 1.81940 osd.22 up 1.00000 1.00000
10 ssd 0.87329 osd.10 up 1.00000 1.00000
11 ssd 0.87329 osd.11 up 1.00000 1.00000
12 hdd 1.81940 osd.12 up 1.00000 1.00000
13 hdd 1.81940 osd.13 up 1.00000 1.00000
14 hdd 1.81940 osd.14 up 1.00000 1.00000
2. Создал два хранилища CEPHFS:
a. cephfs01 (SSD)
b. cephfs-hdd-01 (HDD)
3. Создал правила для каждого хранилища и назначил их соответствующим пулам (SSD/HDD)
4. Назначил соответствующие правила для VM (SSD/HDD)
Размер обоих хранилищ CEPHFS всегда одинаковый:
[Изображение]
[Изображение]
Тестирование с помощью DD:
Bash: root@p30-pve01:~# dd if=/dev/zero of=/mnt/cephfs01/testfile-ssd bs=1M count=100
root@p30-pve01:~# ls -l /mnt/pve/cephfs01/
total 112640000
drwxr-xr-x 2 root root 0 May 14 15:44 dump
drwxr-xr-x 4 root root 2 May 14 15:44 template
-rw-r--r-- 1 root root 104857600000 May 22 07:59 testfile-hdd
-rw-r--r-- 1 root root 10485760000 May 22 07:29 testfile-ssd
root@p30-pve01:~# ls -l /mnt/pve/cephfs-hdd-01/
total 112640000
drwxr-xr-x 2 root root 0 May 14 15:44 dump
drwxr-xr-x 4 root root 2 May 14 15:44 template
-rw-r--r-- 1 root root 104857600000 May 22 07:59 testfile-hdd
-rw-r--r-- 1 root root 10485760000 May 22 07:29 testfile-ssd
root@p30-pve01:~# rm /mnt/pve/cephfs-hdd-01/testfile-ssd
root@p30-pve01:~# ls -l /mnt/pve/cephfs-hdd-01/
total 102400000
drwxr-xr-x 2 root root 0 May 14 15:44 dump
drwxr-xr-x 4 root root 2 May 14 15:44 template
-rw-r--r-- 1 root root 104857600000 May 22 07:59 testfile-hdd
root@p30-pve01:~# ls -l /mnt/pve/cephfs01/
total 102400000
drwxr-xr-x 2 root root 0 May 14 15:44 dump
drwxr-xr-x 4 root root 2 May 14 15:44 template
-rw-r--r-- 1 root root 104857600000 May 22 07:59 testfile-hdd
Что я делаю не так? Как правильно разделить хранилище CephFS?
Заранее спасибо за поддержку.
С уважением,
Ян-Эрик
pve-01 & pve-02: CPU(s) 56 x Intel® Xeon® Gold 6132 CPU @ 2.60GHz (2 Socket)
pve-03: CPU(s) 28 x Intel® Xeon® Gold 6132 CPU @ 2.60GHz (1 Socket)
Версия ядра: Linux 6.8.12-10-pve (2025-04-18T07:39Z)
Режим загрузки: EFI
Объем оперативной памяти: 512 ГБ
CEPH уже настроен и использует 5 SSD по каждому узлу. Сейчас хочу использовать HDD на каждом хосте для "холодного хранения", ISO-образов и некритичных VM. Я создал:
a. второй пул CEPH (ceph-pool-hdd-01) для VM.
b. второй пул CEPHFS (cephfs-hdd-01) для ISO-образов и т.д.
a. работает пока что. Могу переносить VM в него, и выбирается правильный пул.
b. Два пула CEPHFS (HDD/SSD) сейчас используют одно и то же хранилище, каждый файл хранится в обоих пулах, что нежелательно.
Вот что я сделал:
1. Объединил SSD и HDD с правильным классом устройства:
Bash: root@p30-pve01:~# ceph osd tree
ID CLASS WEIGHT TYPE NAME STATUS REWEIGHT PRI-AFF
-1 27.65454 root default
-3 9.82465 host p30-pve01
15 hdd 1.81940 osd.15 up 1.00000 1.00000
16 hdd 1.81940 osd.16 up 1.00000 1.00000
17 hdd 1.81940 osd.17 up 1.00000 1.00000
0 ssd 0.87329 osd.0 up 1.00000 1.00000
1 ssd 0.87329 osd.1 up 1.00000 1.00000
2 ssd 0.87329 osd.2 up 1.00000 1.00000
3 ssd 0.87329 osd.3 up 1.00000 1.00000
4 ssd 0.87329 osd.4 up 1.00000 1.00000
-5 9.82465 host p30-pve02
18 hdd 1.81940 osd.18 up 1.00000 1.00000
19 hdd 1.81940 osd.19 up 1.00000 1.00000
20 hdd 1.81940 osd.20 up 1.00000 1.00000
5 ssd 0.87329 osd.5 up 1.00000 1.00000
6 ssd 0.87329 osd.6 up 1.00000 1.00000
7 ssd 0.87329 osd.7 up 1.00000 1.00000
8 ssd 0.87329 osd.8 up 1.00000 1.00000
9 ssd 0.87329 osd.9 up 1.00000 1.00000
-7 8.00525 host p30-pve03
21 hdd 1.81940 osd.21 up 1.00000 1.00000
22 hdd 1.81940 osd.22 up 1.00000 1.00000
10 ssd 0.87329 osd.10 up 1.00000 1.00000
11 ssd 0.87329 osd.11 up 1.00000 1.00000
12 hdd 1.81940 osd.12 up 1.00000 1.00000
13 hdd 1.81940 osd.13 up 1.00000 1.00000
14 hdd 1.81940 osd.14 up 1.00000 1.00000
2. Создал два хранилища CEPHFS:
a. cephfs01 (SSD)
b. cephfs-hdd-01 (HDD)
3. Создал правила для каждого хранилища и назначил их соответствующим пулам (SSD/HDD)
4. Назначил соответствующие правила для VM (SSD/HDD)
Размер обоих хранилищ CEPHFS всегда одинаковый:
[Изображение]
[Изображение]
Тестирование с помощью DD:
Bash: root@p30-pve01:~# dd if=/dev/zero of=/mnt/cephfs01/testfile-ssd bs=1M count=100
root@p30-pve01:~# ls -l /mnt/pve/cephfs01/
total 112640000
drwxr-xr-x 2 root root 0 May 14 15:44 dump
drwxr-xr-x 4 root root 2 May 14 15:44 template
-rw-r--r-- 1 root root 104857600000 May 22 07:59 testfile-hdd
-rw-r--r-- 1 root root 10485760000 May 22 07:29 testfile-ssd
root@p30-pve01:~# ls -l /mnt/pve/cephfs-hdd-01/
total 112640000
drwxr-xr-x 2 root root 0 May 14 15:44 dump
drwxr-xr-x 4 root root 2 May 14 15:44 template
-rw-r--r-- 1 root root 104857600000 May 22 07:59 testfile-hdd
-rw-r--r-- 1 root root 10485760000 May 22 07:29 testfile-ssd
root@p30-pve01:~# rm /mnt/pve/cephfs-hdd-01/testfile-ssd
root@p30-pve01:~# ls -l /mnt/pve/cephfs-hdd-01/
total 102400000
drwxr-xr-x 2 root root 0 May 14 15:44 dump
drwxr-xr-x 4 root root 2 May 14 15:44 template
-rw-r--r-- 1 root root 104857600000 May 22 07:59 testfile-hdd
root@p30-pve01:~# ls -l /mnt/pve/cephfs01/
total 102400000
drwxr-xr-x 2 root root 0 May 14 15:44 dump
drwxr-xr-x 4 root root 2 May 14 15:44 template
-rw-r--r-- 1 root root 104857600000 May 22 07:59 testfile-hdd
Что я делаю не так? Как правильно разделить хранилище CephFS?
Заранее спасибо за поддержку.
С уважением,
Ян-Эрик
