11c9e5a6cSDavid du Colombier.HTML "Venti Backups to Blu-Ray Discs" 21c9e5a6cSDavid du Colombier.EQ 31c9e5a6cSDavid du Colombierdelim $$ 41c9e5a6cSDavid du Colombier.EN 51c9e5a6cSDavid du Colombier. 61c9e5a6cSDavid du Colombier.TL 71c9e5a6cSDavid du ColombierVenti Backups to Blu-Ray Discs 81c9e5a6cSDavid du Colombier.AU 91c9e5a6cSDavid du ColombierGeoff Collyer 101c9e5a6cSDavid du Colombier.AI 111c9e5a6cSDavid du Colombier.MH 121c9e5a6cSDavid du Colombier.SH 131c9e5a6cSDavid du ColombierOverview 141c9e5a6cSDavid du Colombier.PP 151c9e5a6cSDavid du ColombierAs a precaution against multiple disks in our 161c9e5a6cSDavid du ColombierPlan 9 171c9e5a6cSDavid du Colombier.I venti 181c9e5a6cSDavid du Colombierserver's RAID array failing at about the same time, 191c9e5a6cSDavid du Colombieror other catastrophic failure, we record 201c9e5a6cSDavid du Colombier.I venti 211c9e5a6cSDavid du Colombierarenas, 221c9e5a6cSDavid du Colombierafter they are sealed, 231c9e5a6cSDavid du Colombieronto dual-layer Blu-Ray discs (BDs). 241c9e5a6cSDavid du ColombierOne could use other large optical discs instead. 251c9e5a6cSDavid du Colombier.PP 261c9e5a6cSDavid du ColombierThe advertised capacity of a dual-layer BD is 50GB, 271c9e5a6cSDavid du Colombierbut those aren't even disk-manufacturer's (decimal) gigabytes, 281c9e5a6cSDavid du Colombierwhich would give a capacity of 291c9e5a6cSDavid du Colombier$50 times 10 sup 9$ bytes, 301c9e5a6cSDavid du Colombierwhich is roughly equivalent to 46.6 gigabytes, 311c9e5a6cSDavid du Colombieras the term is used by everyone but disk manufacturers. 321c9e5a6cSDavid du ColombierIn the case of BDs, 331c9e5a6cSDavid du Colombiereven that is an exaggeration, with the actual capacity being 341c9e5a6cSDavid du Colombiercloser to $48.44 times 10 sup 9$ bytes, 35*fac6300fSDavid du Colombierso the claimed capacity should be read as `50 BD-gigabytes', 361c9e5a6cSDavid du Colombierwhere a 37*fac6300fSDavid du Colombier.I BD-gigabyte 381c9e5a6cSDavid du Colombieris 968,800,338 bytes. 391c9e5a6cSDavid du ColombierThe default 401c9e5a6cSDavid du Colombier.I venti 411c9e5a6cSDavid du Colombierarena size is 512MB, but for some reason our server is configured 421c9e5a6cSDavid du Colombierwith 1GB arenas, so we could fit 46 of them on a BD. 431c9e5a6cSDavid du ColombierTo leave a little extra room for lead-in, lead-out, inter-track gaps, 441c9e5a6cSDavid du Colombierlossless-linking and the like, 451c9e5a6cSDavid du Colombierwe record 45 arenas per BD. 461c9e5a6cSDavid du Colombier.PP 471c9e5a6cSDavid du ColombierThe scripts used and records kept are in 481c9e5a6cSDavid du Colombier.CW /sys/lib/backup 491c9e5a6cSDavid du Colombierand pertain to the file server on which they are stored. 501c9e5a6cSDavid du ColombierYou will probably want to edit 511c9e5a6cSDavid du Colombier.CW funcs 521c9e5a6cSDavid du Colombierto set default file server and Blu-ray device, at minimum. 531c9e5a6cSDavid du Colombier.SH 541c9e5a6cSDavid du ColombierCreating and Updating Backups 551c9e5a6cSDavid du Colombier.PP 561c9e5a6cSDavid du ColombierWe start 571c9e5a6cSDavid du Colombier.I cdfs 581c9e5a6cSDavid du Colombierafter inserting a disc (virgin or partially-written), 591c9e5a6cSDavid du Colombierthen use 601c9e5a6cSDavid du Colombier.I venti/rdarena 611c9e5a6cSDavid du Colombierto copy the next sealed but not backed-up arena 621c9e5a6cSDavid du Colombierto the start of the unwritten portion of the BD by writing to 631c9e5a6cSDavid du Colombier.CW /mnt/cd/wd/x . 641c9e5a6cSDavid du ColombierWe don't fixate data BDs, as that seems to tickle a bug, 651c9e5a6cSDavid du Colombierperhaps in our Sony Blu-Ray burners, that only records the first track 661c9e5a6cSDavid du Colombierin the disc index upon fixation. 671c9e5a6cSDavid du Colombier.PP 681c9e5a6cSDavid du ColombierOne can find out which arenas are sealed and which are open by viewing 691c9e5a6cSDavid du Colombier.CW http://\fIventi-server\fP/index . 701c9e5a6cSDavid du ColombierWe also periodically print the most recent 711c9e5a6cSDavid du Colombier.I fossil 721c9e5a6cSDavid du Colombierdump scores and save the paper with the discs. 731c9e5a6cSDavid du Colombier.PP 741c9e5a6cSDavid du ColombierAll of this is packaged up as scripts in 751c9e5a6cSDavid du Colombier.CW /sys/lib/backup , 761c9e5a6cSDavid du Colombiernotably 771c9e5a6cSDavid du Colombier.CW backup . 781c9e5a6cSDavid du ColombierA typical invocation would be just 791c9e5a6cSDavid du Colombier.DS 801c9e5a6cSDavid du Colombier.ft CW 811c9e5a6cSDavid du Colombiercd /sys/lib/backup 821c9e5a6cSDavid du Colombierbackup 831c9e5a6cSDavid du Colombier.ft 841c9e5a6cSDavid du Colombier.DE 851c9e5a6cSDavid du Colombierwhich will guide its invoker as to which discs to insert into a Blu-ray 861c9e5a6cSDavid du Colombierburner and when. 871c9e5a6cSDavid du ColombierThis works for a first full backup and for subsequent incremental backups 881c9e5a6cSDavid du Colombierof just the newly-sealed arenas. 891c9e5a6cSDavid du ColombierThere is provision for burning multiple backup sets, the default being 901c9e5a6cSDavid du Colombier.CW set1 . 911c9e5a6cSDavid du ColombierTo burn a second set, we would 921c9e5a6cSDavid du Colombier.DS 931c9e5a6cSDavid du Colombier.ft CW 941c9e5a6cSDavid du Colombiermkdir /sys/lib/backup/set2 951c9e5a6cSDavid du Colombierbackup -s set2 961c9e5a6cSDavid du Colombier.ft 971c9e5a6cSDavid du Colombier.DE 981c9e5a6cSDavid du Colombier.CW backup 991c9e5a6cSDavid du Colombierand related scripts keep track of which BD is current and how many 1001c9e5a6cSDavid du Colombiertracks are recorded, and which arenas have been dumped to BD. 1011c9e5a6cSDavid du Colombier.PP 1021c9e5a6cSDavid du ColombierWe have recorded two sets of BD backups, one of which will go to 1031c9e5a6cSDavid du ColombierAntwerp to seed their 1041c9e5a6cSDavid du Colombier.I venti 1051c9e5a6cSDavid du Colombierserver and also serve as off-site backup for Murray Hill. 1061c9e5a6cSDavid du Colombier.SH 1071c9e5a6cSDavid du ColombierRestoring from Backups 1081c9e5a6cSDavid du Colombier.PP 1091c9e5a6cSDavid du ColombierAfter a disaster, or when setting up a new 1101c9e5a6cSDavid du Colombier.I venti 1111c9e5a6cSDavid du Colombierserver from BD backups, 1121c9e5a6cSDavid du Colombierthe first step is to get Plan 9 running on the new 1131c9e5a6cSDavid du Colombier.I venti 1141c9e5a6cSDavid du Colombierserver. 1151c9e5a6cSDavid du ColombierThis could be done by installing into a smallish (2GB) 1161c9e5a6cSDavid du Colombier.I fossil 1171c9e5a6cSDavid du Colombierpartition from a Plan 9 installation CD, if necessary. 1181c9e5a6cSDavid du ColombierOne would then initialise the new disk partitions per 1191c9e5a6cSDavid du Colombier.I venti-fmt (8) 1201c9e5a6cSDavid du Colombierand read all the arenas on all the BDs into the new 1211c9e5a6cSDavid du Colombier.I venti 1221c9e5a6cSDavid du Colombierby running 1231c9e5a6cSDavid du Colombier.I venti/wrarena 1241c9e5a6cSDavid du Colombieronce per BD track (arena). 1251c9e5a6cSDavid du Colombier.br 1261c9e5a6cSDavid du Colombier.ne 3 1271c9e5a6cSDavid du Colombier.PP 1281c9e5a6cSDavid du ColombierTo add the contents of a backup BD to a (possibly fresh) 1291c9e5a6cSDavid du Colombier.I venti 1301c9e5a6cSDavid du Colombierstore, 1311c9e5a6cSDavid du Colombiershut down the 1321c9e5a6cSDavid du Colombier.I venti 1331c9e5a6cSDavid du Colombierserver, 1341c9e5a6cSDavid du Colombierformat the arenas partition, then 1351c9e5a6cSDavid du Colombierrun 1361c9e5a6cSDavid du Colombier.DS 1371c9e5a6cSDavid du Colombier.ft CW 1381c9e5a6cSDavid du Colombierrestore \fIfirst-arena-number\fP 1391c9e5a6cSDavid du Colombier.ft 1401c9e5a6cSDavid du Colombier.DE 1411c9e5a6cSDavid du Colombierafter inserting a BD into the Blu-ray drive. 1421c9e5a6cSDavid du ColombierRepeat this for each BD in the backup set. 1431c9e5a6cSDavid du ColombierWhen all the arenas have been restored, 1441c9e5a6cSDavid du Colombierit will be necessary to build a new 1451c9e5a6cSDavid du Colombier.I venti 1461c9e5a6cSDavid du Colombierindex, 1471c9e5a6cSDavid du Colombierthe usual steps being to run 1481c9e5a6cSDavid du Colombier.I checkarenas , 1491c9e5a6cSDavid du Colombier.I fmtisect , 1501c9e5a6cSDavid du Colombier.I fmtbloom , 1511c9e5a6cSDavid du Colombier.I fmtindex , 1521c9e5a6cSDavid du Colombierand 1531c9e5a6cSDavid du Colombier.I "buildindex -b" , 1541c9e5a6cSDavid du Colombierall from 1551c9e5a6cSDavid du Colombier.I venti-fmt (8). 1561c9e5a6cSDavid du ColombierThen the 1571c9e5a6cSDavid du Colombier.I venti 1581c9e5a6cSDavid du Colombierserver may be restarted. 1591c9e5a6cSDavid du Colombier.PP 1601c9e5a6cSDavid du ColombierOnce the 1611c9e5a6cSDavid du Colombier.I venti 1621c9e5a6cSDavid du Colombierstorage has been restored, 1631c9e5a6cSDavid du Colombiera new 1641c9e5a6cSDavid du Colombier.I fossil 1651c9e5a6cSDavid du Colombierpartition (perhaps the existing one or another one) 1661c9e5a6cSDavid du Colombiercan be initialised from the last 1671c9e5a6cSDavid du Colombier.I fossil 1681c9e5a6cSDavid du Colombierdump score corresponding to the last arena on BD 1691c9e5a6cSDavid du Colombier(see 1701c9e5a6cSDavid du Colombier.I fossil/flfmt 1711c9e5a6cSDavid du Colombierin 1721c9e5a6cSDavid du Colombier.I fossil (4)): 1731c9e5a6cSDavid du Colombier.DS 1741c9e5a6cSDavid du Colombier.ft CW 1751c9e5a6cSDavid du Colombierfossil/flfmt -v c388...32b5 /dev/sdC0/fossil 1761c9e5a6cSDavid du Colombier.ft 1771c9e5a6cSDavid du Colombier.DE 178