Plan 9 from Bell Labs’s /usr/web/sources/contrib/stallion/venti/rhel6/README

Copyright © 2021 Plan 9 Foundation.
Distributed under the MIT License.
Download the Plan 9 distribution.


This directory contains the Venti file system served by Plan 9 from User Space
on Red Hat Enterprise Linux 6.

Installation is straightforward, though developer tools must be installed on
the server to compile Plan 9 from User Space:

	# yum -y groupinstall "Developer tools"

Plan 9 from User Space may then be cloned and built:

	# git clone https://github.com/9fans/plan9port.git /usr/local/plan9
	# cd /usr/local/plan9
	# sh INSTALL
	# echo 'PLAN9=/usr/local/plan9 export PLAN9' >/etc/profile.d/plan9.sh
	# echo 'PATH=$PATH:$PLAN9/bin export PATH' >>/etc/profile.d/plan9.sh
	# . /etc/profile.d/plan9.sh

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:

	# 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

An init script was also written to link Venti to appropriate runlevels:

	# echo 'OPTIONS="-c /srv/venti/venti.conf"' >/etc/sysconfig/venti
	# cp venti.init /etc/init.d/venti
	# chkconfig --add venti
	# chkconfig venti on

Venti was then started and the index verified:

	# service venti start
	# 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.51.0.16!17034 -g 10.51.0.1 ether /net/ether0 10.51.0.24 255.255.255.0

Steven Stallion
March 2015

Bell Labs OSI certified Powered by Plan 9

(Return to Plan 9 Home Page)

Copyright © 2021 Plan 9 Foundation. All Rights Reserved.
Comments to webmaster@9p.io.