Proxmox 5 и Ceph Efficient Block Writers
Методи за съхранение и блокиращи устройства
Ceph предлага два вида пулове за съхранение:
- с репликации
- с изтриващ код
Върху двата типа пулове за съхранение можете да изграждате обекти за съхранение, които позволяват блокови операции (като моментни снимки). Разликата започва да се появява по време на операции за запис към такива обекти, тъй като една операция за запис към блоково устройство, използващо кодиране за изтриване, предполага някаква неделима последователност от четене на съхранените данни, частичното им модифициране и накрая запис на резултата. Атомно. Тоест, ако някоя част от последователността остане незавършена, цялата операция се отхвърля. Тази атомарност също се нарича транзакция.
Досега са предложени два метода за решаване на проблема с приложимостта на пулове с изтриване на кодиране за блокови обекти:
- използване на обект за записване само на цялото
- прилагане на наслояване с пул за кодиране на изтриване в основата и пул за репликация върху него
BlueStore като ново решение за основа за съхранение
Обектното съхранение на Ceph в крайна сметка се основава на файлова система на физически диск (или дисков дял), който се управлява от демон. За решаване на много проблеми, които възникват по пътяможе да се използва лог, в който се записват данни, преди клиентът да получи потвърждение за приключване на операцията си. В допълнение, демонът извършва необходимите действия в peer-to-peer мрежата на пула за съхранение, за да поддържа необходимия брой копия на данни (три по подразбиране), а с подразпределението на ролите master е slave. Всичко това всъщност еosd(устройство за съхранение на обекти). Но в крайна сметка самите обектни данни се съхраняват в "обикновен" файл на диска. Донякъде усложнява задачата фактът, че теоретично самият обект може да бъде придружен от почти неограничен брой метаданни. Като: името на обекта, датата, на която е създаден, датата, на която е последно модифициран, контролната сума, силата на прикачването ви към тези данни и всичко друго, за което се сетите в допълнение към метаданните, които вашият инструмент за съхранение доставя на този обект - файлова система, блоково устройство или система за управление на обекти и т.н. Освен това промяната на метаданните и самия обект за съхранение също е атомарна (всичко или нищо). Дълго време общността на Ceph беше убедена, че решението от най-ниско ниво на проблемите с транзакциите на обекти ще бъде решаването на btrfs, който трябваше да замени xfs и ext4, които се използват в повечето случаи за терминално съхранение на физически дискове. Времето минаваше, но проблемът оставаше.
Ceph Kraken ви кани да експериментирате с BlueStore, докато Ceph Luminous го прави стандартен. За моя личен вкус това е втората значима иновация в допълнение към асинхронната система за съобщения, която се превърна в основната в Kraken, което прави възможно, например, разпределени изчисления върху Ceph RADOS и AsyncMessenger и използването на RDMA.
Защо се нуждаем от Copy-On-Write
Операцията Copy-On-Write е действие, при което всички промени са първисе записват на ново място в хранилището, като в края им се извършват всички необходими мерки за маскиране на изтритите стари копия, което е несравнимо по-бързо от самия запис (грубо казано, подмяна на линк). Това ни дава възможност да извършваме операции като моментално клониране на изображения и моментни снимки. Освен това думата „моментално“ е ключова тук и времето на тази мигновеност се измерва с времето, необходимо за замяна на ограничен брой връзки, обикновено разположени в един дисков блок, добре или в няколко съседни.
Можете да помогнете и да прехвърлите средства за развитието на сайта