Resilio Connect

For a couple of months ago i was looking at a p2p sync service which works almost as seafile or ‘owncloud’ except with a p2p engine which has been improved/hardening according to their webpage. So i signed up for some more information, and a possibility to try or look on a demo. It took a while and i thought it was a no show, but last week i received a phone call with more information about the products and how it worked. But I also received a demo key to try it out for the company where i work.

So in this short post i will go through the product from the installation point to fully test the product and give some pro’s and con’s. But first i’ll go through how it works.

P2P

Peer to Peer is a rather interesting protocol, instead of the old classic client -> server thinking it’s more about decentralise the content. This by putting files or content into smaller chunks and distributing it to peers or more like nodes that also has the file/content or parts of the file/content. This also means that we don’t need a dedicated server constantly to serve the file or content, but the collected bunch of nodes need to have 100% of the content/file to sync up. P2P works great as long the content is distributed to one or more nodes, computers that are fully synced or has the whole content is often called seeders since they are able to serve the whole content while the peers has parts of the content and is probably still downloading the content. But the main point is decentralise, increase the speed of the peers and distribute the load over several nodes.

Resilio

Free, Pro, & Workgroup
Resilio offers 3 different kinds of products, Resilio free / pro is a basic filesyncing program which resembles seafile except the engine. Free is rather limited but still a good product, if you spend some extra bucks you get a decent program that syncs your files across several devices and it also includes selective sync. I would go with Resilio free if it’s just syncing from device to device and if i don’t have several devices at home. But if i have several devices and across wan interface i would go with the pro edition, since i could limit the bandwidth usage and use selective sync to limit what i sync across the wan. More info about it here: https://www.resilio.com/individuals/

Workgroup is the second product that is rather good if you want to use it at work, for example projects. The difference between workgroup and resilio free/pro is the several user concept. Thus you are able to share files and folders with co-workers. And it’s very easy to manage which user have access to which file and easy to remove unacceptable users. Another thing they have done with workgroup that free/pro doesn’t offer is ease of access to the files, it’s very easy to share a qr code and give readonly access to specific user. This is also a good product compared to the other syncing tools because it offers unlimited data. More info here: https://www.resilio.com/workgroups/

Connect
Resilio Connect is a enterprise solution, unlike workgroup and pro/free solution its goal is to have a centralised management control over file syncing and command execution(almost like group policy in windows server) . It’s a rather good solution if you only want centralised control and not allowing the users to select what to sync and when to sync. It also has several good features that like scheduled syncing, wan optimisation, selective syncing and several other features. It’s a very good tool to sync data between servers and sending a distributed cmd, their management interface also allows the administrator the view if ‘jobs’ are done and executed. Connect allows almost no user control, this means the users / clients are not allowed to say when how where to sync the data, that is up to the administrator to direct and manage. More information can be found here: https://www.resilio.com/connect/

Installing

After a clean install of debian i decided to download and install Resilio, it seems very simple to install on windows since all the installation guides tend to deal with that. But from my perspective the linux install seems, odd. From what i can read it’s a basic download and un-tar in /opt. I would never do it this way. But since this is a test run with the product sure i’ll go with it. No boot script which means that you have either find one or write it on your own. Remember, NEVER RUN THIS AS ROOT!!!

Installing the management console:

# Install
cd /tmp/
wget https://changethis/resilio-connect-server-linux-x64.tar.gz
tar -xvf resilio-connect-server-linux-x64.tar.gz -C /opt

useradd -M -r -s /bin/false resilioconnect
chmod -R 755 /opt/resilio-connect-server
chown -R resilioconnect:resilioconnect /opt/resilio-connect-server

# No boot script published, please create your own. 

# To run it
/opt/resilio-connect-server/srvctrl start
Testing

First test contained syncing a 3.8gb ISO file between 2 computers and 1 server. 2nd test was to try syncing cmd’s and forcing the computers to reboot on demand. 3rd and final test was to work on the same document at the same time in a synced folder.

The setup
The setup is a very basic network, one AC access point connected to a gbic switch. one macbook connected to the access point with the max theoretical speed of 300Mbit. one server with debian connected to the switch with a 1 gbic interface, this server also has the resilio connect management control installed. And one client pc connected with a 1 gbic interface to the switch. Both the macbook and the pc client has the resilio agent installed and connected to the server. A clear image of the setup is shown bellow.

1. Result from filesync
The files synced rather fast, first the server got the whole file but at the same time the client was also synchronising. Which meant once the server was done it also pushed out (seeded) the file that was stored in the shared folder, pushing the client to a peak of 700Mbit, which wasn’t bad. It took a bit longer with several small files to sync up but it also the same, pushing both the server and the clients to its limit.

2. Results from cmd’s
First i ran basic restart script to find out if the computers & server actually reboots, resulted in none of them restarted since none of the agents on the computers had the privilege to execute it. Though the Resilio manager returned ‘job done’. It was rather neat since i was able to set different reboot cmd’s depending on OS. The second cmd was basic fetch sys information from the systems into the shared sync folder, which was a success. All the systems returned the information that they had privilege to access. This could be a alternative way to shoot out scripts and files, perfect if you are managing several servers that requires a patch or application.

3. Several editing the same file
I did a basic text document editing, just to find out what happens when two or more users were working with the same file at the same moment. On one computer i wrote a couple of lines saved and kept it open, on the other computer i edited the same file and save upon exit. I waited for the sync to be completed. It wrote over the file on computer 1. Saved and exit on computer 1 again and the old version was back. Thus no version check or conflicting copies were done, which i dislike since i always have users editing projects at the same time. Maybe a feature they might implement but who knows.

Conclusion

Resilio seems to be in the early stage of development, it has a really good concept and possible a good engine. But lacks several features that could give the administrator and the users more right to manage content. But i will give a very strong warning to who ever uses this software, make sure to jail this software and ensure no one ever gets access to the management interface without permission or experience. If this software is installed by default settings, and is running with the wrong permission it could do more damage than good.

What i would love to see is mixing both resilio connect and resilio workgroup, specially if it’s a larger company that needs workgroup features but still some control over how everything is used over the network and when. thus be able to limit the bw usage different hours and so on. And making it easier for those users that needs to be forced into syncing different folders. And maybe expand the possibility to backup user data using this tech. The selective sync might be advanced for beginners and would be easier with a interface showing what to sync and not to sync in a project.

This is almost as good as the project in the tv show ‘Silicon Valley’ super good idé and engine, but lacks the bigger picture and direction on where to go. It will be a hit for advanced users and administrators, but doesn’t reach the less savvy users.

Pros
+ Fast syncing
+ Server downtime isn’t the end of the world
+ Nice looking interface
+ BG Sync works perfect
+ Large file transfers
Cons
– Users will not be able to select what to sync.
– Users will use their bw to sync.
– Linux lacks boot script and sketchy install
– Has few functions compared to the competition
– Lacks the features that Resilio Workgroup has.
– Lacks a bigger picture

Watercooling – Open system

This is my first attempt connecting a watercooling to a computer, it contains a couple of newbie issues due to lack of reading before ordering. But in the end everything went well and fully running. I want to thank my students for giving me suggestions how to complete this build and for coming up with improvements, since I’m not perfect in any kind of way. And you will find the full shopping cart for this water-cooling build at the bottom of the post.

GPU Waterblock

First I had to remove the fan / current cooling from the graphic card, and clean it. Which was rather easy. Screwing on the gpu block wasn’t a big deal ensure that the holes are upwards for clean and good connection.

Two things I forgot while ordering the cooling system was the passive heatsink for the small chipset/memory marked in the 3rd photo. And I was stupid or lazy enough that I didn’t read the item description while ordering so I had no connector for the GPU-block to the tube. So in my second delivery i added connector, heatsink, and a extra tube just in case of incidents.

Installing the components

Installing the components will be easy, just put down the mainboard in the case and screw it down, same with graphic card, memory cards, and power supply. I’m skipping the wires till the end, just to ensure that i wont drill into them while modifying the case. The images bellow is self explaining of how everything is placed and screwed down into the case.

Installing radiator

Starting of with the placement of each part, there are some alternatives to where everything has a place to be screwed down. But all those alternatives are meant for a smaller kit, thus if connected to those places everything will weak and easy to break, even possible that it will give some vibration in the case.

I decided to use the 5.25” drive bay for the radiator since i had no mini display or dvd for the build. This means that i had to drill for some extra holes to keep it in place. Since the powersupply is right under the radiator i gave it some space by leaning the radiator on the back plate and screwing everything down. On the plus side, it looks good and fits perfect with the rest of the case.

Images of the radiator modification/placement

Installing the pump/reservoir

The pump + reservoir was a bit trickier to add to the case, i was given several tips from my students where to put it, either on the right side of the computer case making it look slick but had a flaw when it came to connecting the pipes and wires also a hazel to get the uv-led strip to shine on everything. Another place was to put it in the back of the case almost where the water pipe holes were located which is a good place for the wiring, but it would be hidden all the time.

But we ended up placing it at the bottom of the mainboard which will hide some of the wires, and the tubes will be easy to connect and give that extra nice look. But this also meant that we had to drill 4 holes in the case which was a easy fix.

Images of the pump/reservoir placement

Wiring

I kept the wiring pretty much basic, and I decided to skip sleeving for a future lesson. The goal is hide all the wires and keep the wires in order, instead of a rat nest that people tend to create. This part is just time consuming and not that hard to do. I left some areas to improve for the future, but that have to wait because i have to replace the power supply due to a faulty connector, and sleeve the wires with bright green sleeves.

Images of the wiring

Watertubes

The watertubes was easy to install, the hard part was making sure that i had enough to make it go around. It didn’t allow any mistake, and none were made. I recommend to have the correct tools for cutting the tubes and measuring correct lengths. We decided to wire it water from pump -> radiator -> cpu -> gpu -> back to pump.

Up and running end images
PC-Specs

CPU: Intel 4670k | Mainboard: Asus Z87-Pro | GPU: Gigabyte Nvidia 660OC-2GD
Memory: 2x8Gb | Powersupply: Corsair 500W modular psu. | HDD: 2x 1TB WD-Black, in raid 0.

Bill of material

http://www.coolerkit.com/shop/ek-vga-supremacy-3316p.html – GPU Block
http://www.coolerkit.com/shop/xspc-raystorm-d5-4261p.html?key=01XS025 – Full Kit
http://www.coolerkit.com/shop/alphacool-gpu-heatsinks-1763p.html?key=AL002 – GPU Heatsink
http://www.coolerkit.com/shop/alphacool-gpu-heatsinks-4170p.html – More GPU heatsink
http://www.coolerkit.com/shop/xspc-push-on-2991p.html – 2 Extra push-on screws for the gpu
http://www.coolerkit.com/shop/coollaboratory-liquid-2585p.html – The liquid 1L