D 2017-03-24T01:08:19.281 L lxd_test_cluster N text/x-markdown P 9eb2c2d23f8e9095269ed89f2f41c425dcad6843 U bjbarcla W 5296

Table of Contents

# 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 14e7f5d82452d362776033e3bfae47b1