wordpress hosting - vpn - cloud - statistiekservice - email

Nieuwe server uitrollen met Satellite 6

Voor het uitrollen van een nieuwe server middels hammer zijn een aantal parameters nodig:

  • environment-id
  • architecture-id
  • domain-id
  • operatingsystem-id
  • partition-table-id

Er dient al een hostgroup aangemaakt te zijn, dat kan via hammer of de WebGUI. Exporteer de benodige settings, voorbeeld:


    export ORG_NAME=Datacenter
    export ORG_LOCATION=Amsterdam
    export ORG_ID=$(hammer --csv organization list --search "${ORG_NAME}"| awk -F, 'FNR == 2 {print $1}')
    export LOCATION_ID=$(hammer --csv location list --search "${ORG_LOCATION}" | awk -F, 'FNR == 2 {print $1}')

    export HOSTGROUP_NAME='rhel-6-x86_64-test'
    export HOSTGROUP_ID=$(hammer --csv hostgroup list --search "name = \"${HOSTGROUP_NAME}\""| awk -F, 'NR==2 {print $1}')

    export DOMAIN_NAME='example.com'
    export HOST_SHORTNAME="test-103"
    export HOST_FQDN="${HOST_SHORTNAME}.${DOMAIN_NAME}"
    export HOST_MAC='52:55:00:54:0b:e1'
    export ROOT_PWD='12345678FOOD'

Nu dit gebeurd is kan hammer worden aangeroepen om de host aan te maken:

     hammer host create --ask-root-password false --build false --hostgroup-id ${HOSTGROUP_ID} --mac ${HOST_MAC} --name "${HOST_SHORTNAME}" --root-password ${ROOT_PWD}

Als de host aangemaakt is moet deze nog gekoppeld worden aan een organistatie en locatie (organization en location). Deze info kunnen we niet via hammer opvragen en gebruiken hier de API voor:

     export HOST_ID=$(hammer host list | grep "${HOST_SHORTNAME}" | awk '{print $1}')

     json_file=$(mktemp)
     cat > ${json_file} <<EOF
     {"organization_id":"$ORG_ID","location_id":"$LOCATION_ID"}
     EOF

     curl -X PUT -k -u admin:securepassword -H 'Content-Type: application/json' -d @${json_file} https://localhost/api/hosts/${HOST_ID}

LinuxPro brengt WordPress hosting

Altijd al je eigen blog met je reisverhalen, dagelijkse beslommeringen of foto-album willen hebben? Dat kan nu en wel voor niets 🙂  Ga naar http://blog.linuxpro.nl en maak je eigen WordPress blog aan. Je krijgt de beschikking over meerdere thema's om je blog een eigen uiterlijk te geven, je bent zelf beheerder en hebt de keuze uit talloze plugins.

Kijk maar op http://blog.linuxpro.nl

 

 

De fitbit onder linux aan de praat

Fitbit

 

Fitbit daemon voor OpenSuSE compileren en in gebruik nemen

– met dank aan Ralph Schell

1.    Source van github downloaden en in home-directory plaatsen:
       git clone https://github.com/paulburton/fitbitd
2.    README gelezen,  bevatte geen instructies
3.    probeer een make,  klaagde over ontbrekende pakketten
4.    pakketten installeren:

  •     zypper in libusb-1_0-devel libusb-1_0-devel-32bit
  •     zypper in dbus-1-devel dbus-1-devel-32bit
  •     zypper in mxml-devel
  •     zypper in libindicator libindicator3-devel libindicator3-tools libindicator-devel libindicator-tools
  •     zypper in tinyxml 

Opmerking: zypper in betekent installeren, gebruik anders rpm voor RedHat/CentOS of apt-get voor Debian/Ubuntu

  •     zypper si gtk3
  •     zypper si dbus-1
  •     zypper si mxml 
  •     zypper si libindicator
  •     zypper si mxml
  •     zypper si tinyxml
  •     zypper si ltxml

Opmerking: zypper si betekent source-install, wrschl zijn er vergelijkbere opties voor RdeHat/CentOS of Debian/Ubuntu

5.    probeer nogmaals make, klaagde over werrors
    makefile aanpassen: regel met CFLAGS wijzigen:
   CFLAGS += \
            -Wall  -O2 \
            -DVERSION=\"$(VER_MAJ).$(VER_MIN)$(addprefix ~,$(VER_GIT))\" \
            -I. -I/usr/local/include # -I/usr/include  -Werror

    zet Werror achter # en voeg toe -I/usr/local/include [voor mee te compileren mxml lib]
6.    Mini-XML [mxml] downloaden van https://www.msweet.org/downloads.php?L+Z3
hier heb ik eerst de 2.8 versie gedownload, maar fitbitd wilde niet met de site syncen. Gaf ook SEGV/11 errors.        Uiteindelijk versie 2.6 gedownload en met     tar -zxvf mxml-v2.6.tar.gz uitgepakt.
 met ./configure, dan make, dan sudo make install deze libraries geïnstalleerd
7.    Daarna weer terug naar de fitbitd directory, en met (sudo) make clean, dan make, en dan sudo make install de fitbitd executable weer geïnstalleerd
8.    Kopie maken van 51-fitbit.rules in /etc/udev/rules.d
9.    Kopie maken van fitbitd/fitbitd.service in /etc/systemd/system en aanpassen
    [Unit]
    # Description=eu.paulburton.fitbitd.server
    Description=run fitbit 
    [Service]
    User=ralph
    ExecStart=/usr/bin/fitbitd –no-dbus –no-daemon

    Opmerking: dus uitvoeren als user ralph [dus de user waarmee je inlogt op je linux]
10.    Als user ralph fitbitd – –no-dbus – –no-daemon uitgevoerd en gekeken naar de output 
11.    Daarna fitbitd – –exit uitgevoerd
12.    Dan als root systemctl start fitbitd uitgevoerd
13.    En ter controle enkele keren systemctl status fitbitd.service -l uitgevoerd
14.    Afsluiten met systemctl stop fitbitd.service 
15.    Herstarten zoals in punt 12.

Opmerking: Fedora kent systemd, dus dit zal ook werken in Fedora, Ubuntu gebruikt daarentegen upstart.

LVM – Logical Volume Management

Logical Volume Management

Algemeen

Met Logical Volume Management (lvm) kan flexiber omgegaan worden met de vraag naar opslagruimte. Je zit niet meer vast aan eenmaal bedachte grootes van partities maar er kan geschoven worden met de beschikbare ruimte. Er zijn grofweg drie lagen te onderscheiden:

  1. De fysieke harddisk
  2. Een of meerdere volume groepen (vg’s)
  3. Een of meerdere logical volumes (lv’s)

Kort samengevat: Op een fysieke harddisk worden een of meerdere vg’s aangemaakt. In een vg worden de lv’s aangemaakt. De opslagruimte die een vg biedt kan uitgebreid worden door bijv. een extra disk aan toe te voegen. De totaal beschikbare ruimte in een vg kan flexibel aan de lv’s worden verdeeld.

In praktijk kan op een 100GB harddisk in eerste instantie 50GB gebruikt worden en wordt 50GB vrij gelaten om later toe te wijzen. Mocht in praktijk blijken dat bijvoorbeeld het mountpoint /opt meer ruimte nodig heeft dan voorzien terwijl de ruimte aan /home niet of nauwelijks gebruikt wordt dan kan de toegewezen ruimte aan /home worden verkleind met lvreduce en met lvextend kan de vrijgekomen ruimte aan /opt worden toegevoegd. Dit dynamisch omgaan met beschikbare diskruimte is dan ook aan te raden.

lvcreate : Aanmaken van een nieuw logical volume

Om een logical volume (lv) aan te maken moet eerst het lv zelf aangemaakt worden in een bestaande volume group (vg). Daarna moet het aangemaakte lv worden voorzien van een filesyteem en kan hierna worden gemount.

In dit voorbeeld wordt een logical volume lv_imap aangemaakt van 500MB in de volume group vg_data en het nieuwe lv wordt voorzien van de ext4 filesysteem:

   lvcreate -n lv_imap --size 500M vg_data
   mkfs.ext4 /dev/vg_data/lv_imap

Nu kan als er een mountpoint is aangemaakt met mount /dev/vg_data/lv_imap /mnt/imap of iets dergelijks de nieuwe lv worden gemount. Er zou ook een soortgelijke regel in /etc/fstab opgenomen kunnen worden. Echter is het beter om de UUID te gebruiken in plaats van de devicenaam. Het UUID is onveranderlijk en kan worden opgevraagd met:

  blkid /dev/vg_data/lv_imap
  /dev/vg_data/lv_imap: UUID="3c6980c7-b12d-43e6-b536-00d32194c4da" TYPE="ext4"

Dit UUID kan dan worden gebruikt in de fstab:

  UUID=3c6980c7-b12d-43e6-b536-00d32194c4da   /mnt/imap   ext4  defaults  1 2

Let op In /etc/ftab wordt het gevonden UUID gebruikt z_o_n_d_e_r de aanhalingstekens. Dit is zelfs een (instinker) vraagje op diverse linux examens! Dit is verwarrend omdat blkid een keurige bruikbare regel lijkt op te leveren maar met aanhalingstekens die dus niet in de fstab gebruikt kan worden.

lvextend : Vergroten van een bestaand logical volume

Als er nog ruimte is in de volume groep kan dat op de volgende manier: Eerst wordt het volume en daarna wordt het filesysteem op het volume vergroot. In dit voorbeeld wordt het logical volume lv_var vergroot met 1GB:

  lvextend -L +1G dev/vg_mx1/lv_var
  resize2fs /dev/vg_mx1/lv_var

Als de server onder VMWare draait en binnen VMware al wel de disk is uitgebreid dient de scsi bus gescand te worden zodat het OS de wijziging ziet:

for dev in /sys/block/*/device/rescan; do   echo 1 > $dev; done

Als dit gebeurd is kan met fdisk -l gekeken worden of deze extra ruimte ook getoond wordt. Normaliter is dit het geval.
Afhankelijk van hoe LVM geconfigureerd is zijn er twee scenario’s mogelijk. Als de LVM’s als partities zijn aangemaakt moet eerst een nieuwe partitie worden aangemaakt met label 8e (Linux LVM) en kan deze nieuwe partitie met pvcreate en vgextend worden aangemaakt. Zodra dit gebeurd is kan met lvextend de extra ruimte worden toegewezen. In dit voorbeeld wordt van /dev/sdc gebruik gemaakt om de volumegroup data met alle nieuwe beschikbare ruimte te vergroten:

pvcreate /dev/sdc2
pvextend vg_data /dev/sdc2
lvextend -l +100%FREE /dev/vg_data/data

Bij het vergroten van het filesysteem met resize2fs komt de melding Filesystem at /dev/mapper/vg_mx1-lv_var is mounted on /var; on-line resizing required indien het filesysteem, in dit voorbeeld, als /vargemount is. Bij ext4 filesystems kan het vergroten zonder problemen on-the-fly gebeuren.

resize2fs /dev/vg_data/data

volumegroup renamen

Umount het mountpoint van het onderliggende logical volume
Maak het onderliggende logical volume of volumes inactief: lvchange -an
Hernoem de volumegroup met vgrename
Maak het onderliggende logical volume of volumes weer actief met: lvchange -ay