Когда я пытаюсь создать базу с sqlite3
на каталог EFS, это приводит к ошибке:Почему sqlite3 не работает на Amazon Elastic File System?
$ sqlite3 foo.db SQLite version 3.7.17 2013-05-20 00:56:22 Enter ".help" for instructions Enter SQL statements terminated with a ";" sqlite> .log stderr sqlite> CREATE TABLE foo (int bar); Error: disk I/O error
База Sqlite3 в вопросе предполагается только история метаданных и будет обновляться нечасто. Параллельный доступ не требуется. Тем не менее, требуется, чтобы при создании процесса создания базы данных процесс можно перезапустить на другом хосте и продолжить, когда предыдущий экземпляр завершен.
Amazon утверждает, что EFS - это «файловая система, доступная для экземпляров Amazon EC2 через интерфейс файловой системы (с использованием стандартных API ввода/вывода файлов операционной системы) и поддерживающих полную семантику доступа к файловой системе (например, сильную согласованность и блокировка файлов). " Таким образом, я предполагаю, что он подходит для этой задачи.
Варианты монтирования в /etc/fstab
являются:
eu-west-1a.fs-ID.efs.eu-west-1.amazonaws.com:/ /efs nfs4 nfsvers=4.1,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2 0 0
Я понимаю, что it is often generally discouraged to put databases on NFS. Однако я считаю, что, учитывая язык, используемый как Amazon, так и SQLite, разработчики будут продолжать пытаться.
Используйте '.log stderr', чтобы получить дополнительную информацию об ошибке. –
@CL. '.log stderr' не производит никакого дополнительного вывода – Jan
Прежде чем пытаться что-либо написать. –