From the diary of an automation sysengineer role

8:32 – Hurry for warm-up call

I started the day cleaning snow and ice off from the windows of my Mondeo. The
only problem was that I only have had 28 minutes before our MySQL warm-up
conference call. A conference call where some of my colleagues and me should
have had to share desktops presenting generic overview about our MySQL
environment to Nils, to our new MySQL specialist advisor. So handfree
bluetooth phone connection from the car wouldn’t have been enough. I decided
to optimize my available resources and started the engine and turned the
defroster of the car on. While getting out from the car I switched on the GPS
receiver on my smartphone. Waze app can be very useful during the Budapest
rush hours in the morning. I managed removing ice with a simple plasctic
scraper form the four side windows. The front and rear windows were melting by
the defroster threads, only a small assistance was required before windshield
wipers started to wipe. I jumped in, switched the seat heating – holy winter
package – and called my colleague, Gabor who developed the Puppet modules of
the MySQL cluster and will participate in the call. Just ringing, no answer.
Ok, Waze estimated 8:57 as arrival time. Gabor called me back in 5 minutes so
he would have facilitated the first few minutes. He called me again that Nils
is in traffic jam, we can start with 30 minutes delay. Unbelievable. I arrived
into the underground parking lot on time 8:54. 3 minutes on the upstairs and
my laptop was docked and started at 9:01.

Used tools:
The social navigation app Waze on Android smartphone with GPS
Bluetooth car kit
Ice scarper

Continue reading “From the diary of an automation sysengineer role”

What is syslog and what is it used for?

Introduction

Logging from Wikipedia:

“Logging is the cutting, skidding, on-site processing, and loading of trees or logs onto trucks or skeleton cars.”  /Wikipedia/
No, it’s a different industry. Again:
“In computing, a log file is a file that records either the events which happen while an operating system or other software runs, or the personal messages between different users of a communication software. The act of keeping a log is called logging.” /Wikipedia/

Event logging

Recording events on the specified system for different purposes. E.g. monitorting, debugging, audit etc.

Continue reading “What is syslog and what is it used for?”

Minimalistic docker: starting from scratch

Introduction
Next generation Linux distributions are out. Significant changes create special flavour by comparing to other unix-like derivatives.
In spite of implementation of similar features, the distance and the diversity
are growing. Sounds good, isn’t? Not all share this opinion.

Docker is one result of the actual virtualization trends on Linux. The control
groups (aka cgroups) realize features which make sense to use operating
system level virtualization, the one kernel many containers scenario.

Conditions, environment
X86 virtual machine deployed on VMware ESXi 5.5 on HP DL360Pg8.
Minimal Oracle Enterprise Linux 7 installed on 2 CPU cores and 4 GB.
No RAID on VM level, LVM and xfs for the general filesystems (default).
Extra softwares added: screen, wget and vim.
EL7 contains systemd and the Oracle kernel is used 3.8.13-44.el7uek.x86_64, dtrace is available.

First steps and look
Installing and configuring docker on OEL7 is quite easy. Continue reading “Minimalistic docker: starting from scratch”

Starting and keep running reboot persistent autossh on unix-like systems without root rights

Basic scenario

There are systems:

  • – which can’t be accessed from the public internet. E.g. behind ipv4 NAT and DMZ isn’t an option.
  • – which shouldn’t be access directly from the public internet. So firewal or other access control not suitable.

Solution

I wrote a simple shell script securing continuous running of autossh on unix-like systems.
The script is started by cron in every minutes, so no root rights is required. Allowed cron is necessary for your local user. I didn’t used @reboot because this crontab directive isn’t implemented on many Unix systems.
Autossh secures monitored ssh connection which opens a reversed ssh tunnel. If the connection losts it will be restarted by autossh.

The sshd is listening on the 22022 local port ot the host “sage”. So the my systems can be accessed only via local account of server “sage” which can be accessed from everywhere on the net.

The script

#!/bin/bash
#set -x

HOST=”sage”

AUTOSSH_PATH=”/usr/bin/ssh”
export AUTOSSH_PATH

AUTOSSH_PIDFILE=”/home/miam/bin/autossh.pid”
export AUTOSSH_PIDFILE

PIDFILE=”$AUTOSSH_PIDFILE”
AUTOSSH_CMD=”/usr/bin/autossh”

call_autossh ()
{
“$AUTOSSH_CMD” -M 22023 -N -R 22022:localhost:22 -f “$HOST”
}

self_check ()
{
if [ -f “$PIDFILE” ]; then
PID=`cat “$PIDFILE”`
kill -0 $PID
if [ $? -eq 1 ]; then
return 1
else
return 0
fi
else
return 1
fi
}

self_check
if [ $? -eq 1 ]; then
call_autossh
fi

The crontab entry

* * * * * /home/miam/bin/autossh.sh >> /home/miam/bin/autossh.log 2>&1

The repo

The code can be cloned from github:
https://github.com/miam/keeprun/tree/v0.1

Small linux anatomy – installing Arch Linux

Introduction

“Unix is user-friendly. It just isn’t promiscuous about which users it’s friendly with.”

Facts:

  1. Linux is the gpl licenced kernel.
  2. Arch Linux is the name of the distribution which is built around the linux kernel, forming an operating system (kernel + userland).
  3. None of them are Unix, but unix like. 😉

According to the quotation above: Arch Linux isn’t promiscuous about which users it’s friendly with. It seems friendly if can be understood what’s happening for what and what should be done for what.

Release

Arch is very pure and simple rolling release distro.

Since install media 2012.07.15 menu based installer is no longer available. Some scripts help to install Arch Linux to the target machine. Most of the configuration have to be done by hand.

Initial config

A small x86-64 virtual machine was created with 384M RAM and 8G of HDD.

Install steps in print screens

Booting install media

Continue reading “Small linux anatomy – installing Arch Linux”

Simple private cloud storage using WebDAV

WebDAV stand for the Web Distributed Authoring and Versioning.
For the end user it means file and diroctory manipulation in URL namespace. Operating systems with GUI are able to handle WebDAV resource as remote device.

Why this storage type is called cloud storage? Install this http server setup on 2 or more separate machine on different network and synchronize the data via network. I’ll use ZFS snapshots and the incremental send/receive capability of ZFS.

Continue reading “Simple private cloud storage using WebDAV”