Redis
Redis#
I suggest moving the Redis database save files outside of the root partition.
In this example we will use /redis
as the database destination.
To use Redis with the presented configuration, client programs need to access
Redis’s socket at /var/run/redis/redis-server.sock
. You need to add the
running client users to the redis
group. As an alternative you can
also use socat
to create a copy of the socket with the appropriate permissions.
See also
amazon ec2 - Redis reports read-only filesystem, but it isn’t - Server Fault 1
install the dependencies
apt-get update apt-get install redis-server rsync
create the new redis directory and move existing content. Make sure to create a new partition first
systemctl stop redis.service mkdir /redis # Mount the new partition here. rsync --avAX /var/lib/redis/dump.rdb /redis
edit the
configuration file
like this/etc/redis/redis.conf#1bind 127.0.0.1 2protected-mode yes 3port 0 4tcp-backlog 511 5unixsocket /var/run/redis/redis-server.sock 6unixsocketperm 770 7timeout 0 8tcp-keepalive 300 9daemonize yes 10supervised no 11pidfile /var/run/redis/redis-server.pid 12loglevel verbose 13logfile /var/log/redis/redis-server.log 14databases 32 15always-show-logo no 16save 900 1000 17save 300 10000 18save 60 10000000 19stop-writes-on-bgsave-error yes 20rdbcompression yes 21rdbchecksum yes 22dbfilename dump.rdb 23dir /redis 24replica-serve-stale-data yes 25replica-read-only yes 26repl-diskless-sync no 27repl-diskless-sync-delay 5 28repl-disable-tcp-nodelay no 29replica-priority 100 30lazyfree-lazy-eviction no 31lazyfree-lazy-expire no 32lazyfree-lazy-server-del no 33replica-lazy-flush no 34appendonly no 35appendfilename "appendonly.aof" 36appendfsync everysec 37no-appendfsync-on-rewrite no 38auto-aof-rewrite-percentage 100 39auto-aof-rewrite-min-size 64mb 40aof-load-truncated yes 41aof-use-rdb-preamble yes 42lua-time-limit 5000 43slowlog-log-slower-than 10000 44slowlog-max-len 128 45latency-monitor-threshold 0 46notify-keyspace-events "" 47hash-max-ziplist-entries 512 48hash-max-ziplist-value 64 49list-max-ziplist-size -2 50list-compress-depth 0 51set-max-intset-entries 512 52zset-max-ziplist-entries 128 53zset-max-ziplist-value 64 54hll-sparse-max-bytes 3000 55stream-node-max-bytes 4096 56stream-node-max-entries 100 57activerehashing no 58client-output-buffer-limit normal 0 0 0 59client-output-buffer-limit replica 256mb 64mb 60 60client-output-buffer-limit pubsub 32mb 8mb 60 61hz 10 62dynamic-hz yes 63aof-rewrite-incremental-fsync yes 64rdb-save-incremental-fsync yes
edit the service unit file
systemctl edit redis.service
Add this content
[Service] ReadWritePaths=-/redis
restart the service
systemctl restart redis.service
Footnotes
- 1
https://serverfault.com/questions/942328/redis-reports-read-only-filesystem-but-it-isnt CC BY-SA 4.0, Copyright (c) 2018 serverfault.com contributors