1,000 Year Personal Bit Storage

M-DISC

LG WH16NS40 Blu-ray M-DISC Writer — $130
Verbatim BDXL M-DISC (pack of 10) — $60

Data Layout

RAID5

$ dd if=/dev/zero of=raid5-01.bin bs=1G count=99
$ dd if=/dev/zero of=raid5-02.bin bs=1G count=99
$ dd if=/dev/zero of=raid5-03.bin bs=1G count=99
$ dd if=/dev/zero of=raid5-04.bin bs=1G count=99
$ mknod /dev/loop10 b 7 10
$ mknod /dev/loop11 b 7 11
$ mknod /dev/loop12 b 7 12
$ mknod /dev/loop13 b 7 13
$ losetup loop10 raid5-01.bin
$ losetup loop11 raid5-02.bin
$ losetup loop12 raid5-03.bin
$ losetup loop13 raid5-04.bin
$ mdadm --create /dev/md0 --level=5 --raid-devices=4 /dev/loop10 /dev/loop11 /dev/loop12 /dev/loop13
$ mkfs.ext4 /dev/md0
$ mkdir raid
$ mount /dev/md0 raid/
$ cp -r vault/* raid/
$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid5 loop13[4] loop12[2] loop11[1] loop10[0]
3035136 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/4] [UUUU]
unused devices: <none>
$ umount raid/
$ mdadm --stop /dev/md0
$ losetup -l
$ losetup -d /dev/loop10
$ losetup -d /dev/loop11
$ losetup -d /dev/loop12
$ losetup -d /dev/loop13
$ losetup -r loop10 raid-01.bin
$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : inactive loop10[0](S)
1011712 blocks super 1.2
unused devices: <none>
$ losetup -r loop11 raid-02.bin
$ losetup -r loop12 raid-03.bin
$ cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active (read-only) raid5 loop12[2] loop11[1] loop10[0]
3035136 blocks super 1.2 level 5, 512k chunk, algorithm 2 [4/3] [UUU_]
unused devices: <none>
$ mount /dev/md0 raid/
mount: /home/anders/raid: WARNING: device write-protected, mounted read-only.

zfs RAIDZ3

$ apt install zfsutils-linux
$ dd if=/dev/zero of=raidz3-01.bin bs=1G count=99
$ dd if=/dev/zero of=raidz3-02.bin bs=1G count=99
$ dd if=/dev/zero of=raidz3-03.bin bs=1G count=99
$ dd if=/dev/zero of=raidz3-04.bin bs=1G count=99
$ dd if=/dev/zero of=raidz3-05.bin bs=1G count=99
$ zpool create pool-raidz3 raidz3 /root/raidz3-01.bin /root/raidz3-02.bin /root/raidz3-03.bin  /root/raidz3-04.bin /root/raidz3-05.bin
$ zpool status
pool: pool-raidz3
state: ONLINE
scan: none requested
config:
NAME STATE READ WRITE CKSUM
pool-raidz3 ONLINE 0 0 0
raidz3-0 ONLINE 0 0 0
/root/raidz3-01.bin ONLINE 0 0 0
/root/raidz3-02.bin ONLINE 0 0 0
/root/raidz3-03.bin ONLINE 0 0 0
/root/raidz3-04.bin ONLINE 0 0 0
/root/raidz3-05.bin ONLINE 0 0 0
errors: No known data errors
$ zfs set compression=lz4 pool-raidz3
$ zfs set copies=2 pool-raidz3
$ cp -r vault/* /pool-raidz3
$ zfs get compressratio
NAME PROPERTY VALUE SOURCE
pool-raidz3 compressratio 1.31x -
$ zpool export pool-raidz3
$ mkdir hold/
$ mv raidz3-04.bin hold/
$ mv raidz3-05.bin hold/
$ zpool import -d /root/
pool: pool-raidz3
id: 9730183507039862411
state: DEGRADED
status: One or more devices are missing from the system.
action: The pool can be imported despite missing or damaged devices. The
fault tolerance of the pool may be compromised if imported.
see: http://zfsonlinux.org/msg/ZFS-8000-2Q
config:
pool-raidz3 DEGRADED
raidz3-0 DEGRADED
/root/raidz3-01.bin ONLINE
/root/raidz3-02.bin ONLINE
/root/raidz3-03.bin ONLINE
14777853700595681385 UNAVAIL cannot open
7227292630874512686 UNAVAIL cannot open
$ zpool import -d root/ -o readonly=on pool-raidz3

Bootable Partition

Wishlist

Arctic Code Vault 2D Data Format (source: YouTube)

Conclusion

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Anders Brownworth

Anders Brownworth

Applied CBDC Research — formerly USDC @ Circle.com, Bandwidth.com. MIT / Podcaster / Runner / Helicopter Pilot