Category Archives: Data

netapp kommandoer

[bash]
disk show -n # Lister disker som ikke er medlem av noen kontroller.
vol size {volum} +{size}G # Husk å sjekk at det er ledig plass.
snapmirror status {volum} # Viser status på DR-mirror
options autosupport.doit Test # Sender email med filer status.
snapmirror update -S {filer}-sync:{volum} {filer-mirror}:{volum} # Force sync mirror
vfiler run {vfiler} dns flush # Flush dns cache ved netgroup problemer
vfiler run {vfiler} exportfs -f # Flush export cachen
priv set advanced led_on {disk_id} # Skru på led, kan også bruke blink_on
priv set advanced # Nesten som sudo
vfiler run {vfiler} exportfs -c {IP} {volume-path} # Sjekk om en IP har lov til å montere
vfiler run {vfiler} getXXbyYY gethostbyaddr_r {IP} # Kjør lookup i DNS cachen på netappen.

[/bash]

Cleanup av shared memory

I forbindelse med dårlig “shared memory” styring på noen av applikasjonene på jobb ser jeg for meg følgene implementering.

1. List ut shared memory segmenter (ipcs -m)
2. List ut påloggede brukere (w)
3. Slett alle shared memory segmenter fra brukere som ikke lenger er pålogget(ipcrm).

[bash]
#!/bin/bash
self=`basename $0`

if [[ "$1" = "-h" || "$1" = "–help" ]]; then
cat <<EOM

$self:
$self              list leftover
$self -r           list and remove leftover
$self -h or –help this text

EOM
exit 0
fi

if [ "$(id -u)" != "0" ]; then
echo "$self must be run as root"
exit 1
fi

if [ -f /etc/redhat-release ] ; then
if [[ ! `cat /etc/redhat-release | sed s/.*release\ // | sed s/\ .*//` = "3" ]] ; then
echo "$self only tested on RHEL3"
exit 1
fi
fi

ps -ef | egrep -v "clamav|daemon|root|rpc|smmsp|UID|xfs|gdm|ntp" | awk ‘{print $1}’ | sort -u > /tmp/online_ps
w | egrep -v "root|USER|load average" | awk ‘{print $1}’ | sort -u > /tmp/online_w
cat  /tmp/{online_ps,online_w} | sort -u > /tmp/online_
filter=`awk ‘{printf "%s",$0"|"}; END{print "root|gdm|Shared|shmid|Memory|owner|Message|msqid|Semaphore"}’ /tmp/online_`
rm -f /tmp/{online_ps,online_w,online_}
echo "Leftover shared mem"
ipcs -m | egrep -v "$filter"
echo "Leftover message q’s"
ipcs -q | egrep -v "$filter"
echo "Leftover semaphores"
ipcs -s | egrep -v "$filter"

if [[ "$1" = "-r" ]]; then
echo "Removing shared mem"
for i in `ipcs -m | egrep -v "$filter" | awk ‘/./{print $2}’`; do ipcrm -m $i;done
echo "Removing semaphores"
for i in `ipcs -s | egrep -v "$filter" | awk ‘/./{print $2}’`; do ipcrm -s $i;done
echo "Removing message q’s"
for i in `ipcs -q | egrep -v "$filter" | awk ‘/./{print $2}’`; do ipcrm -q $i;done
fi

[/bash]

preap

Kom over en litt kjekk funksjon i Solaris 10, preap(process reaper). Det denne gjør er å ta livet av defunct eller zombie prosesser, med å overstyre sikkerhetsfunksjonene. Har ikke funnet noe tilsvarende for Linux, men det er vel bare å håpe at dette kommer om ikke alt for lenge.

preap - force a defunct process to be reaped by its parent

SubSonic – mp3 on the go.

Jeg har egentlig vært klar over dette prosjektet i lang tid, men fikk en liten påminnelse idag i forbindelse med Android telefonen. I market ligger det en rimelig grei standalone klient, som har full mulighet til enten å streame direkte mot hvilken som helst server, eller så kan den lagre lokalt på selve mobilen. I tillegg tar subsonic seg av all konvertering fra forskjellige filformater, til hva du spesifiserer. For eksempel flac til mp3, dette blir da gjort på server-siden, slik at man ungår å laste unødvendig data.

SubSonic ligger i market, og er relativt enkel sak å sette opp. På serversiden er det bare å laste ned en standalone versjon fra SubSonic sine sider. Det er laget en ferdig rpm for RHEL/CentOS som vil opprette en server på port 4040, i tillegg tar rpmen seg av å lage oppstarts script. Sånn ellers anbefaler SubSonic at du innstallerer endel codecs for å kunne utnytte transcoding funksjonaliteten som er innebygget.

Nye altmulig server

Driver å ser litt rundt etter hva som finnes av nye mini-itx hovedkort til en eventuelt ny server(serveren idag holder i massevis, det må bli i forbindelse med forbruk av diskplass). Foreløpig har jeg funnet ett spennende hovedkort(ser foreløpig bare på Intel).

http://www.bvm-store.com/ProductDetail.asp?fdProductId=736

Kortet har alt jeg ser etter.

  • 2x NIC med Intel chip
  • 4 sata porter
  • Mini-ITX
  • støtte for 8gb minne
  • LGA 1156 Core i7 støtte.

På kabinett siden tipper jeg at jeg kommer til å gå for samme som sist, ett lite Chenbro kabinett med 4 stk hotswap brønner.

http://www.chenbro.eu/corporatesite/products_detail.php?sku=78

Blogg verktøy

I og med at denne bloggen er opprettet fordi jeg husker så dårlig….og generelt lat. Så har jeg kommet frem til at jeg trenger en desktop klient for wordpress. Foreløpig har jeg bare undersøkt muligheten, og det ser ut til at det finnes endel fine alternativer både for Linux og Windows.

http://codex.wordpress.org/Weblog_Client

Rangering av de jeg har sett på til nå:

  1. GNOME Blog
  2. BloGTK
  3. Drivel-Blog

BloGTK er den eneste som ser ut til å kunne plassere bilder fornuftig i forhold til tekst, noe som må sies å være essensielt, selv om jeg kanskje ikke er den som legger til flest bilder i mine poster.

SuperPXE

I forbindelse med at jeg tenkte å lære meg python, har jeg begynnt på ett lite prosjekt jeg kaller SuperPXE. Målet med prosjektet er ett webinterface hvor man kan velge å reinnstallere en maskin i nettverket med ett valgfritt OS.

Foreløpig er webserveren satt opp til å kjøre python programmet som leverer en “default” config, videre er planen at jeg skal få kompilert opp gPXE 0.9.6+ som automatisk peker mot serveren som inneholder python modulen. Systemet er i utgangspunktet to delt, hvor SuperPXE tar seg av parsingen av config filer, og webinterfacet står for selve opprettelsen av config filene. Hvis ingen config fil finnes, vil den vise standard menyen som vi alle kjenner.