About Docker and Storage

Docker LogoDocker seems to be all the rage this days, everyone seems to be running around integrating it, building things on top of it and generally giving it great press. It is no surprise then that I decided I should look into what this is all about.

The one bit of information I found somewhat less frequently discussed is where everything gets stored.

Storage is important. Disk partitioning is the first task any OS installer puts you through, even before that, an experienced sysadmin pays great attention to what kind of storage devices and channels go into a server. Data storage decisions have great effect on how your system end up performing, how robust is it as well how easy is it to backup and repair when it breaks. Bad storage decisions tend to be hard to fix, necessitating large data transfers and long downtimes. Indeed, allowing a sysadmin to fix bad storage decisions is where LVM, Veritas Volume Manager and other storage visualization tools come from.

Continue reading

Building Ethernet-over-IP tunnels with Linux

TunnelThere is a not so well documented way to link together separate Ethernet segments by using GRE tunnels over IP networks while using only Linux Kernel capabilities and not requiring any userland daemons.

This can be useful to make physically separate networks appear as one, although linking over the internet in this way may not be very wise as the tunnel isn’t encrypted.

This can also be used to simulate multiple separate networks for virtual machines running on different physical hosts, without requiring VLAN tagging support from the physical network or using Open vSwitch.

The basic idea is to add a tunnel link of type “gretap” and attach it to a bridge, here is how to see what little documentation is available about it:

ip link add foo type gretap help

Here is a blog post providing some further explanation.

This capability has existed in the kernel since 2.6.29, so it is included in most moderately-recent distributions including RHEL/CentOS 6, Ubuntu (since 9.10 – Kermic) and Debian (since 6.0 – Squeeze).

Remote-controling Linux from any mobile device

Remote ControlsRemote-controlling desktop computers from mobile devices is an idea that is typically implemented in the form of an Android/Iphone app that connects to the controlled computer over SSH, VNC, RDP or some proprietary protocol typically requiring a closed-source server component.

It had occurred to me a while ago that it shouldn’t be too difficult to write a webapp that would turn any mobile device with a web browser into a remote control for the server its running on, and I was wondering why I didn’t see any implementations of that idea around.

Well now there is one such implementation in the form of “Linux Remote Control“.

Continue reading

Installing Windows from Linux

It can be done.

But its more work then simply Kickstarting or Preseeding a Linux distro.

Here is an article on how to do it, its a part of a rather interesting distro called “Ultimate Deployment Appliance” that is a virtual appliance that can be setup to deploy many different OSes over the network.

Here is another article from the documentation of “RIS for Linux”, a software package needed for performing the installation.