I am trying to run Aerospike in Docker with SSD as storage-engine
device on a VPS.
Following is my aerospike.conf
file-
service {
user root
group root
paxos-single-replica-limit 1
pidfile /var/run/aerospike/asd.pid
service-threads 4
transaction-queues 4
transaction-threads-per-queue 4
proto-fd-max 15000
}
logging {
file /var/log/aerospike/aerospike.log {
context any warning
}
console {
context any warning
}
}
network {
service {
address eth0
port 3000
}
heartbeat {
address eth0
mode mesh
port 3002
interval 150
timeout 10
}
fabric {
address eth0
port 3001
}
info {
port 3003
}
}
namespace test {
replication-factor 1
memory-size 2G
default-ttl 5d
storage-engine device {
device /dev/vda1
write-block-size 128K
data-in-memory true
}
}
The VPS has SSD and is mounted on /dev/vda1
as evident by the following-
root@test:~# df -h
Filesystem Size Used Avail Use% Mounted on
udev 3.9G 0 3.9G 0% /dev
tmpfs 798M 684K 797M 1% /run
/dev/vda1 49G 11G 38G 22% /
tmpfs 3.9G 0 3.9G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 3.9G 0 3.9G 0% /sys/fs/cgroup
/dev/vda15 105M 3.6M 101M 4% /boot/efi
tmpfs 798M 0 798M 0% /run/user/0
However on deploying I get the following error-
link eth0 state up
link eth0 state up in 0
FAILED ASSERTION (drv_ssd): (drv_ssd.c:3194) unable to open device /dev/vda1: No such file or directory
WARNING (as): (signal.c:213) SIGUSR1 received, aborting Aerospike Community Edition build 4.6.0.2 os debian9
WARNING (as): (signal.c:215) stacktrace: registers: rax 0000000000000000 rbx 000000000000000a rcx 00007f193590bfbf rdx 0000000000000000 rsi 00007ffd023a55f0 rdi 0000000000000002 rbp 00007ffd023a5c20 rsp 00007ffd023a5668 r8 0000000000000000 r9 00007ffd023a55f0 r10 0000000000000008 r11 0000000000000246 r12 0000000000000011 r13 0000000000000000 r14 0000000000000080 r15 000055c2d04d3100 rip 00007f193590bfbf
WARNING (as): (signal.c:215) stacktrace: found 10 frames: 0x55c2ce7ceee7 0x7f193590c0e0 0x7f193590bfbf 0x55c2ce87546e 0x55c2ce85032c 0x55c2ce850cbb 0x55c2ce8535fd 0x55c2ce762d69 0x7f19346b92e1 0x55c2ce76374a offset 0x55c2ce713000
WARNING (as): (signal.c:215) stacktrace: frame 0: asd(as_sig_handle_usr1+0x11f) [0x55c2ce7ceee7]
WARNING (as): (signal.c:215) stacktrace: frame 1: /lib/x86_64-linux-gnu/libpthread.so.0(+0x110e0) [0x7f193590c0e0]
WARNING (as): (signal.c:215) stacktrace: frame 2: /lib/x86_64-linux-gnu/libpthread.so.0(raise+0xcf) [0x7f193590bfbf]
WARNING (as): (signal.c:215) stacktrace: frame 3: asd(cf_fault_event+0x231) [0x55c2ce87546e]
WARNING (as): (signal.c:215) stacktrace: frame 4: asd(ssd_init_devices+0x410) [0x55c2ce85032c]
WARNING (as): (signal.c:215) stacktrace: frame 5: asd(as_storage_namespace_init_ssd+0x2c) [0x55c2ce850cbb]
WARNING (as): (signal.c:215) stacktrace: frame 6: asd(as_storage_init+0x34) [0x55c2ce8535fd]
WARNING (as): (signal.c:215) stacktrace: frame 7: asd(main+0x309) [0x55c2ce762d69]
WARNING (as): (signal.c:215) stacktrace: frame 8: /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xf1) [0x7f19346b92e1]
WARNING (as): (signal.c:215) stacktrace: frame 9: asd(_start+0x2a) [0x55c2ce76374a]
FAILED ASSERTION (drv_ssd): (drv_ssd.c:3140) usable device size 0 must be greater than header size 8388608
I noticed that there is no /dev/vda1
inside the Aerospike container.
So to sum it up, how to use SSD storage-engine device for Aerospike in Docker on a VPS?
Reference-