D 2017-03-24T01:06:43.406
L lxd_test_cluster
N text/x-markdown
P 71af31c7dbb275f15249fb0ef86b914e9382bffc
U bjbarcla
W 5303
# Setup lxd cluster for megatest
## I setup 3 container "boxes" - pablo, ruby, ash
- shared disk space at /lxd-shared
- picked pablo to serve vnc
- put containers on home network to make things easy
## install lxd - loosely followed [this](https://stgraber.org/2015/04/21/lxd-getting-started/)
## put containers on home LAN- followed [this](https://insights.ubuntu.com/2015/11/10/converting-eth0-to-br0-and-getting-all-your-lxc-or-lxd-onto-your-lan/) procedure
host# lxc remote add images images.linuxcontainers.org
host# lxc launch images:ubuntu/xenial/amd64 ruby
host# lxc launch images:ubuntu/xenial/amd64 pablo
host# lxc launch images:ubuntu/xenial/amd64 ash
## setup shared space across containers, mounted from host fs
mkdir /lxd-shared
- my root disk is bigly
chmod 777 /lxd-shared
host# lxc config device add ruby sharedtmp disk path=/lxd-shared source=/lxd-shared
host# lxc config device add ash sharedtmp disk path=/lxd-shared source=/lxd-shared
host# lxc config device add pablo sharedtmp disk path=/lxd-shared source=/lxd-shared
## Setup containers
- Foreach container :
host# lxc exec container /bin/bash
container# apt update
container# apt upgrade
container# apt-get install -y openssh-server htop ncurses-term fossil make
container# service ssh start
container# addgroup megatest
container# adduser --ingroup megatest mtuser
container# apt-get install -y libreadline-dev
container# apt-get install -y libwebkitgtk-dev libfreetype6-dev libx11-dev libxpm-dev libxmu-dev libxft-dev libgtk2.0-dev \
container# libgl1-mesa-dev libglu1-mesa-dev libpangox-1.0-dev \
container# bison libwebkitgtk-3.0-dev
container# apt-get install -y libmotif-common
container# apt-get install -y uuid-dev
## setup ssh host keys across mtuser
host# lxc exec container1 /bin/bash
container1# su - mtuser
% ssh-keygen
- leave password blank, take all defaults
% cat .ssh/id\_rsa.pub > .ssh/authorized\_keys
% chmod go= .ssh/authorized\_keys
% tar czvf /lxd-shared/mtuser-ssh.tgz .ssh
% ssh container2 tar xzvf /lxd-shared/mtuser-ssh.tgz
% ssh container3 tar xzvf /lxd-shared/mtuser-ssh.tgz
- ssh between all pairs to initialize host keys. should be passwordless now.
## pick a container and setup X / vnc
container# apt-install vnc4server xfce4
container# su -c mtuser
% vncpasswd
- put following in .vnc/xstartup
#!/bin/sh
# Uncomment the following two lines for normal desktop:
# unset SESSION\_MANAGER
# exec /etc/X11/xinit/xinitrc
#[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
#[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
#xsetroot -solid grey
#vncconfig -iconic &
#x-terminal-emulator -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Desktop" &
#x-window-manager &
#!/bin/sh
unset SESSION\_MANAGER
unset DBUS\_SESSION\_BUS\_ADDRESS
startxfce4 &
[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
xsetroot -solid grey
vncconfig -iconic &
mtuser% vncserver -geometry 1366x746 -depth 24
## fix consternating issue breaking tab completion working in any term:
- edit ~/.config/xfce4/xfconf/xfce-perchannel-xml/xfce4-keyboard-shortcuts.xml
- find the line
- and change it to
- restart vnc (vncserver -stop :1 ;
## start a vnc session (so iup works)
## from home network, use vnc client to connect to container:1
- setup shop in /lxd-share, eg:
% cd /lxd-share
% fossil clone http://kiatoa.com/fossils/megatest megatest.fossil
.....
Z 41e2ecda0e9f4ac7b8ea56caf0f3843e