Showing posts with label Theory. Show all posts
Showing posts with label Theory. Show all posts

10 July 2017

How To Create A NAS Using ZFS and Proxmox

Let's virtualize all the things! And also set up a NAS seedbox.

Theory:
The idea is to create a standalone server that uses ZFS, transfer files to it and selectively share those files using file sharing protocols.
CIFS-SMB/HTTP(S)/BitTorrent/NFS

Part 1) Learn
Part 2) Download Prerequisites
Part 3) Create Proxmox Installer USB flash drive
Part 4) Install Proxmox
Part 5) Connect over HTTPS and SSH
Part 6) Update System
Part 7) Configure ZFS
Part 8) Configure "iso" Storage Directory in ZFS Pool
Part 9) Configure Samba/ZFS SMB
Part 10) Connect to ZFS Share
Part 11) Create Container/VM
Part 12) Install and Configure Container OS
Part 13) Share ZFS Mount Point(s) with Container
Part 14) Start rTorrent/ruTorrent configuration

Part 1) Learn

27 October 2016

The Internet and Hosting Providers

The Internet:

  • A term used to collectively describe the interconnected heterogenous networks that route packets worldwide using Internet Protocol (IP).

Domain Name System (DNS):

Patches and xdelta3

"Patches" are small scripts that take an existing file, a difference file (patch.vcdiff) and create a new file based on those differences. This is usually done using a program called xdelta3 which implements RFC 3284.

Concept: FileA + differences.vcdiff = FileB

Usually a shell language is used for the actual script like batch and/or bash and the patch bundle includes the xdelta3 binary.

Use Cases:

Patches are typically used when needing to make very small changes to very large files in a binary exact way (the hash of newFileB must match the hash of originalFileB).

BitTorrent Tracker Theory

BitTorrent Trackers are Hyper Text Transfer Protocol (HTTP) or User Datagram Protocol (UDP) servers that keep a list of peers associated with an info_hash and return that peer_list when queried. Thus, at their core, trackers have no knowledge of the files clients are exchanging. Some trackers are configured to only keep peer_lists for certain info_hashes (registered torrents) or to only return the peer_list to certain query requests (registered peers). In common parlance, some websites operate as front-ends for tracker software so are referred to as "trackers." This is technically incorrect, but this diction shall be used going forward.

Prerequsite: Introduction to BitTorrent Protocol, Beginner's Guide, WikiBooks, Wikipedia

Internet Relay Chat (IRC) and Kludges


Internet Relay Chat (IRC) is an archaic protocol developed in the days where mail servers, newsgroups and BBSes were common (e.g. predates HTTP and the web). The idea behind the protocol, like others of its time, is that clients would have their textual messages relayed by a centralized server to other clients, with the innovation of IRC being that it supported real-time multi-user communications (BBSes were sometimes single user and mailservers/newsgroups asynchronous).

While it is unfortunate that electronic mail is here to stay, BBS, newsgroups and IRC are luckily just about dead.