Saya tidak bisa mengerti penggunaan ruang baku ceph.
Saya memiliki 14 HDD (14 OSD) di 7 server, 3TB setiap HDD ~ total ruang baku 42 TB.
ceph -s
osdmap e4055: 14 osds: 14 up, 14 in
pgmap v8073416: 1920 pgs, 6 pools, 16777 GB data, 4196 kobjects
33702 GB used, 5371 GB / 39074 GB avail
Saya membuat 4 perangkat blok, masing-masing 5 TB:
df -h
/dev/rbd1 5.0T 2.7T 2.4T 54% /mnt/part1
/dev/rbd2 5.0T 2.7T 2.4T 53% /mnt/part2
/dev/rbd3 5.0T 2.6T 2.5T 52% /mnt/part3
/dev/rbd4 5.0T 2.9T 2.2T 57% /mnt/part4
df menunjukkan bahwa 10,9 TB digunakan secara total, ceph menunjukkan bahwa 33702 GB digunakan. Jika saya memiliki 2 salinan, itu harus ~ 22 TB, tetapi sekarang saya memiliki 33,7 TB yang digunakan - 11 TB tidak terjawab.
ceph osd pool get archyvas size
size: 2
ceph df
GLOBAL:
SIZE AVAIL RAW USED %RAW USED
39074G 5326G 33747G 86.37
POOLS:
NAME ID USED %USED MAX AVAIL OBJECTS
data 0 0 0 1840G 0
metadata 1 0 0 1840G 0
archyvas 3 4158G 10.64 1840G 1065104
archyvas2 4 4205G 10.76 1840G 1077119
archyvas3 5 3931G 10.06 1840G 1006920
archyvas4 6 4483G 11.47 1840G 1148291
Blokir perangkat dan OSD FS - XFS
sudo apt-get install --install-recommends linux-generic-lts-vivid
), reboot, memetakan ulang dan me-mount volume rbd saya, menjalankanfstrim
masing-masing, dan secara kolektif memulihkan 450GB pada cluster 25TB kecil. Setelah Anda memutakhirkan, pastikan Anda mulai memasang volume rbd Anda dengandiscard
opsi.Saya bukan ahli ceph tetapi biarkan saya menebak sedikit.
Perangkat blok tidak dipasang tanpa
discard
opsi. Jadi setiap data yang Anda tulis dan hapus tidak muncul di sistem file (/mnt/part1
), tetapi seperti yang pernah ditulis dan tidak dipangkas, ia tetap berada di sistem file yang mendasarinya.Jika Anda melihat
USED
kumpulan Anda dan menambahkannya bersama-sama, Anda mendapatkan 16777GB, yang sama dengan apa yangceph -s
ditampilkan. Dan jika Anda kalikan dengan dua (dua salinan), Anda mendapatkan 33554GB, yang merupakan ruang yang cukup banyak.sumber
discard
dan "trim" pada dasarnya adalah kata yang berbeda untuk mekanisme yang sama yang dapat digunakan untuk mengembalikan blok yang tidak digunakan ke perangkat blok. Pemasangan dengandiscard
opsi harus memiliki efek yang diinginkan. Beberapa orang lebih suka menjalankan secara berkalafstrim
untuk menghindari overhead dari pembuangan terus-menerus oleh sistem file. Perhatikan bahwa agar semua ini berfungsi, driver RBD Anda perlu mendukung TRIM / buang. Seperti yang saya katakan, driver kernel RBD melakukan ini sejak Linux 3.18 — lihat tracker.ceph.com/issues/190 .