我目前正在学习rump unikernel,并且我成功地运行了教程来运行nginx静态服务器。
然而,许多服务可能需要某种持久性。如何将持久性添加到剩余的unikernel?
您可以附加磁盘并使用它来存储持久数据信息。Rump支持安装外部磁盘-请参阅此处:
https://github.com/rumpkernel/rumprun/blob/master/doc/config.md#blk-块设备和文件系统
您可以配置一个装载点和一个设备,然后以相同的顺序连接它们(例如在qemu-drive参数中)。例如,对于qemu-virtio设备,使用以下值:
- 来源:"dev"
- mountpoint:您希望设备在unikernel中访问的任何路径
- fstype:"blk"(在aws中,您将使用etf)
- 路径:/dev/ld0a("0"-第一台设备,"a"-第一个分区)
当然,就像在任何软件中一样,您可以使用数据库或其他基于网络的存储。
此外,签出Project Unik(完全公开,我是它的创建者之一)-我们试图为unikernel创建一个管理平台,包括rump。我们的功能之一是持久的卷支持。