This directory contains the Venti file system served by Plan 9 from User Space
on Red Hat Enterprise Linux 7.
A Copr project is available that provides up-to-date builds for Plan 9
from User Space and related packages at: https://copr.fedorainfracloud.org/coprs/stallion/plan9/.
To install the plan9port package using yum, issue:
# cd /etc/yum.repos.d && curl -O https://copr.fedorainfracloud.org/coprs/stallion/plan9/repo/epel-7/stallion-plan9-epel-7.repo
# yum -y install plan9port
An unprivileged user should then be created to run the venti service:
# adduser -c "Venti User" -d /srv/venti -r -s /sbin/nologin venti
A venti.conf(6) was created with a reasonable set of defaults. A total of 768MB
of memory was dedicated to the file server. 512MB index sections, 2GB arenas
files, and a 256MB bloom filter were chosen to permit incremental growth over
time without sacrificing portability. A 2GB arenasize and the default blocksize
(8KB) were employed; a total of 32GB was initialized.
A script was written to simplify creating needed files based upon venti.conf
and user input, which should be issued as the venti user:
$ mkventi -a 2g venti.conf
isect size (in blocks): 65536
fmtisect /srv/venti/isect0: 65,439 buckets of 215 entries, 524,288 bytes for index map
fmtisect /srv/venti/isect1: 65,439 buckets of 215 entries, 524,288 bytes for index map
arenas size (in blocks): 262144
fmtarenas /srv/venti/arenas00: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
fmtarenas /srv/venti/arenas01: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
fmtarenas /srv/venti/arenas02: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
fmtarenas /srv/venti/arenas03: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
fmtarenas /srv/venti/arenas04: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
fmtarenas /srv/venti/arenas05: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
fmtarenas /srv/venti/arenas06: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
fmtarenas /srv/venti/arenas07: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
fmtarenas /srv/venti/arenas08: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
fmtarenas /srv/venti/arenas09: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
fmtarenas /srv/venti/arenas10: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
fmtarenas /srv/venti/arenas11: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
fmtarenas /srv/venti/arenas12: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
fmtarenas /srv/venti/arenas13: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
fmtarenas /srv/venti/arenas14: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
fmtarenas /srv/venti/arenas15: 1 arenas, 2,146,689,024 bytes storage, 524,288 bytes for index map
bloom size (in blocks): 32768
fmtbloom: using 256MB, 32 hashes/score, best up to 47,721,858 blocks
fmtindex: 16 arenas, 130,877 index buckets, 34,346,762,240 bytes storage
A systemd unit was written to manage the Venti service:
# echo 'OPTIONS="-c /srv/venti/venti.conf"' >/etc/sysconfig/venti
# cp venti.service /etc/systemd/system
# systemctl enable venti
A firewalld service was also written to permit Venti traffic to the host:
# cp venti.xml /etc/firewalld/services
# firewall-cmd --permanent --add-service=venti
# firewall-cmd --reload
Venti was then started and the index verified:
# systemctl start venti
# 9 hget http://localhost:8000/index
Arenas on an older file server were then copied via venti/rdarena and
venti/wrarena (see venti-backup(8)). Finally, plan9.ini(8) was updated on the
file server to point to the new venti instance and restarted:
venti=tcp!10.50.0.24!17034 -g 10.50.0.1 ether /net/ether0 10.50.0.42 255.255.255.0
Steven Stallion
November 2019
|