#cloud-foundry #rocksdb
#облако-литейный #rocksdb
Вопрос:
Я должен хранить некоторые данные в RocksDB в среде PCF, где у меня есть только ограниченный диск, но доступно ~ 10 гигабайт основной памяти. Итак, я хотел бы использовать RAM-диск для этого. Есть ли какие-либо положения в PCF для этого? Можно ли использовать пользовательский пакет сборки sidecar?
Постскриптум: я в курсе всего крупного рогатого скота против домашних животных. Это больше похоже на локальный кэш для повышения производительности, у меня есть хранилище состояния в другом месте. Итак, я согласен с эфемерной природой контейнеров CF и частыми потерями данных, записанных на диск.
Ответ №1:
Вы можете делать в своем контейнере приложений все, на что у вас есть разрешение ( cf ssh
это хороший способ проверить, есть ли у вас разрешение), но вы не сможете монтировать файловые системы, поскольку у вас не будет разрешения на это. В прошлом вы могли монтировать файловые системы fuse, но даже это ограничено в текущих версиях CF.
Cloud Foundry имеет механизм, с помощью которого пользователи могут монтировать файловые системы. Он называется Volume Services. Существует поддержка для монтирования томов NFS и SMB, но я не видел поддержки для монтирования RAM-диска.
Если вам нужно больше места на диске, чем может быть запрошено с помощью cf push -k
, то, скорее всего, вам нужна служба томов. Он не только предоставит вам больше места, но и обеспечит постоянное хранение данных.
Комментарии:
1. Могу ли я смонтировать RAM с помощью промежуточного пакета сборки (входит в комплект поставки)
sudo mount -t tmpfs -o rw,size=2G tmpfs /mnt/ramdisk
2. У buildpack нет повышенных разрешений, у него те же ограничения, и ему не разрешено ничего монтировать. Монтирование должно происходить за пределами контейнера в ячейке и накладываться на контейнер, что и делают службы тома.