Встроенный в оперативную память диск для PCF cloud Foundry

#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 нет повышенных разрешений, у него те же ограничения, и ему не разрешено ничего монтировать. Монтирование должно происходить за пределами контейнера в ячейке и накладываться на контейнер, что и делают службы тома.