因为上周末在腾讯云上搭建了Calibre-web 程序。为了节省服务器硬盘,为了以后书库扩容方便,自己把书库文件通过腾讯云的对象存储挂载到云主机的方式存放的。
开始主要是想用腾讯云免费的50G对象存储(cos)空间,但后来发现用户对象存储好像天热比较适合这种固定且读写不频繁的图书库场景。
但用对象存储挂载到云服务器上发现读写瓶颈非常明显,基本上只要一更新calibre的数据库就会把 Calibre-web的程序搞崩溃。自己开始不知道是对象存储当磁盘挂载的读写造成的。结果反复的尝试和研究calibre-web的驱动方式与挂载磁盘的关系,一个劲的重启、删除数据库、重装来测试。
最后才发现原来是对象存储当磁盘使用不能把对象文件当数据库来使用。仔细研究了一下calibre管理图书的原理,发现书库的索引库放在了跟图书源文件一个目录,这行好处是可以配置一个数据库文件地址,就能按照数据相对索引到图书文件。
[……]