█║ S Y N C H R O K N O T ║█
█║▌║▌║ SynchroKnot : SynchroKnot Instructional Manual ║█
**This document is a work-in-progress and may contain errors. Content can be added/modified anytime.**
*Power Modules have their own separate manuals.
*Familiarize yourselves with ZFS on Linux filesystem and warm up your hands-on skills. SynchroKnot does all the ZFS automation as well, but you will have to create a zpool the first time, expand it when needed, scrub, etc. and replace faulty disks.
*May work with Debian derivatives like Devuan, Astra Linux and others. Must have the same Linux Kernel as found in Debian Stretch [i.e Linux kernel version 4.9] and the kernel must accept external non-signed kernel modules [i.e the kernel must not be compiled with module signature verification CONFIG_MODULE_SIG]
*Take your time to understand for a fun learning curve. Good Luck! and ^Zip+++Up^ your Spacesuits!!
║█║ IMPORTANT REQUIREMENTS FOR PERFORMANCE AND SCALABILITY: *** You can use any x86_64 hardware with LOCAL DRIVES ONLY. *** *** DO NOT import block devices via iSCSI, SAN, NAS, Distributed block/file storage or other methods. *** *** DO NOT use Blade Servers. *** *** DO NOT run SynchroKnot Software in virtual machines. *** *** Use Regular, Inexpensive and High-Performance Commodity Hardware [Eg. workstation/desktop motherboards with AMD [Ryzen] / INTEL [i9]. *** *** Read "GENERIC GUIDE TO HARDWARE SELECTION, CONSULTING AND PRICING" on the website for more information. *** ║█║ Debian 9 [Stretch] on x86_64 Hardware █ Get Started: ■ Install Devuan [ASCII] from devuan.org OR Debian 9 [Stretch] from debian.org *OR* ■ Install Devuan [ASCII] Virtual Machine Image [ Recommended ] OR Debian 9 [Stretch] Openstack Debian Cloud Raw Image on x86_64 hardware ║ ╚══> Click Here To Read █ Install Standard Packages with Apt. apt-get -y install uml-utilities numactl bridge-utils vlan apache2 qemu-kvm socat ebtables ethtool iptables inotify-tools curl tcpdump dnsmasq lsof ldap-utils nodejs *** Only proceed to the next step if the all packages have been successfully installed *** ■ If you happen to need a graphical user interface. This is not a requirement but may be helpful. apt-get install x-window-system-core gdm3 firefox synaptic ■ The known-to-be-working version of bitcoind comes packaged with the SynchroKnot software. Feel free to download and verify the checksum of the latest version from the official Bitcoin site. █ Install and set up ZFS on Linux with a RAID volume of choice with the name tier0 and mounted at /tier0 eg. zpool create tier0 /dev/sdb by default mounts at /tier0. ■ If you don't have an extra disk or partition then you can create a file based ZFS volume: modprobe zfs mkdir /root/zfs truncate -s 4000M /root/zfs/zfs0 zpool create tier0 /root/zfs/zfs0 zpool scrub tier0 zpool status ■ In some situations, after a reboot you may have to do : zpool import tier0 OR losetup /dev/loop0 /root/zfs/zfs0 && zpool import tier0 █ IMPORTANT: ■ *** The ZFS tier0 volume *MUST* always be up [online] and mounted at /tier0 before proceeding with any SynchroKnot operation *** ■ *** Confirm the workability and testing of the network, for example, checking if your Ethernet cards [drivers and cabling] are set up and working individually and also when connected in ring or torus topology. Verify if vlans [single, double and triple stacks] work when set up [ie 802.1ad+802.1q+802.1q]. This is a requirement every time an operating system is updated/upgraded.*** ■ *** Be sure to follow only the QEMU-KVM manual [not libvirt] for syntaxes/options regarding the virtual machine. Wrong options and/or syntaxes may not start/function the virtual machine as expected. When in doubt start a virtual machine using the QEMU-KVM syntax/option[s] from the commandline and then incorporate them into the Spacesuit of the virtual machine using the trigger vm-modify. *** If USB Ethernet adapters are used for testing or for whatever reason, then Linksys 3.0 Gigabit Ethernet Adapter [Model No. USB3GIGV1] is known to work [Eg. It does not have to be unplugged and plugged back in while testing bringing down and up ethernet interfaces].
2 Port NIC for 1-D Ring Topology [X Axis] and 4 port NIC for 2-D Torus Topology [X and Y Axis].
Seamless Incremental Network Expansion of 1-D Ring Topology [using both one long cable and single length cable].
2-D Torus Topology.
Seamless Incremental Network Expansion of X and Y Axis.
Multipath Optimized Routes and Links for Mission Critical Operation.
║█║║║ SynchroKnot Auto NAT Enablement SynchroKnot Auto NAT Enablement allows for transparent access to Infrastructure Engine and Virtual Machine Consoles [HTML5/Java], Log Panorama and more from behind NAT [Network Address Translation]. This feature allows for secure and easy setup & access from behind standard NATs so that tenants can have direct access, or access from their VPNs without accessing the actual provider network. This feature brings about flexibility and simplicity, while at the same time allows the service providers to securely keep the tenants separated. Excerpt from the SynchroKnot Manual: The Infrastructure Engine can be accessed by all tenants in the 10.xxx.xxx.xxx range corresponding to the 28.xxx.xxx.xxx range IP address given to the Spatial Fabric Satellite. Eg. https://10.9.0.1/SynchroKnot.sknt To access the SynchroKnot Infrastructure Engine on a Spatial Fabric Satellite from the above description, the IP address of the machine used to access the Infrastructure Engine from the web browser must be in the 10.x.x.x range for security reasons. If you have a tenant behind a transparent NAT in the 172.x.x.x range for example, and it is pointed to the 10.x.x.x range to access the Infrastructure Engine, then the access is possible but with certain limitations. The Infrastructure Engine will not know about the 172.x.x.x range from where the request is coming in as it is on the other side of NAT. Therefore, the response[s] given would still be pointing to the 10.x.x.x range. This would cause the http and other requests & redirects such as Cross Domain Ajax, the opening of new tabs for websocket based HTML5 console access, Java based console access, Log Panorama .... and much more to NOT work. Example scenarios without the use of SynchroKnot Auto NAT Enablement: ■ Scenario A Works: [ web browser in 10.x.x.x range ] ------------> [ Infrastructure Engine in 10.x.x.x range ] Different types of redirects sent from the Infrastructure Engine work transparently. ■ Scenario B Does Not Work: [ web browser in 172.x.x.x range ] -----> [ NAT ] ------> [ Infrastructure Engine in 10.x.x.x range ] [ web browser in 192.x.x.x range ] -----> [ NAT ] ------> [ NAT ] -----> [ Infrastructure Engine in 10.x.x.x range ] Different types of redirects sent from the Infrastructure Engine are pointing in the 10.x.x.x. The web browsers in 172 & 192 ranges behind single and double NATs will trigger the redirect in the 10.x.x.x range but will not be able reach the destination in the 10.x.x.x range. The SynchroKnot Auto NAT Enablement feature transparently addresses this issue and allows full access just as if you were accessing the Infrastructure Engine from the 10.x.x.x network. The above Scenario A and B would work with SynchroKnot Auto NAT Enablement. This should work with any transparent NAT [eg. with IPtables etc]. This unique solution was possible with the combination of partly server-side + partly server-side-embedded-client-side functionality [which is unique to SynchroKnot]. One does not have to touch the transparent firewall! Eg. If you were using IPtables to DNAT and SNAT/Masquerade on a transparent NAT box inbetween, then simply set the 172.x.x.x range to point to 10.x.x.x. range. That's it. No need for further reconfiguration, updating the rules for mapping/unmapping/remapping ports, IP addresses etc. [We will share the details of how to set up a transparent IPtables NAT in our manual shortly.]
SynchroKnot [ website - content - technology - architecture - methodology ] by SynchroKnot is licensed under a Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License.
Based on a work by its creator Mehul Sharma at SynchroKnot : synchroknot.[com|org|tokyo|in|ru|ch|de].