Tag Archives for software

linux : jnlp dateien ausfuehren

in zusammenhang mit >diesem< artikel sei hier noch beschrieben, was man machen muss, falls "das eine etwas" fehlt auf dem system, auf dem man die datei ausfuehren moechte.

sudo apt-get install icedtea-netx

und dann einfach den befehl “javaws” mit der entsprechenden file ausfuehren:

javaws filename.jnlp

20181106155702 by sd
shorturl: https://sd.vc/4fy
tags: , ,
Leave a comment

proxmox: remove dead ceph node (osd/mon) after removing cluster node

after removing a pve cluster node that was also a ceph osd and monitor node i realised that i forgot to remove the ceph stuff before removing the node from the cluster. there is no possibility to remove it with the pve gui, so i have to do it on the command line.

to delete it from the ceph crush map:

ceph osd crush rm nodenametoremove

to remove the monitor:

ceph mon remove nodenametoremove

the edit the file /etc/ceph/ceph.conf and remove the complete section for the node.

then edit the file /etc/ceph/storage.conf and remove the ip address of the dead monitor node. this step can also be done via the gui.

20181025195838 by sd
shorturl: https://sd.vc/4fw
tags: , , ,
Leave a comment

workaround fuer javaws jnpl error “Cannot grant permissions to unsigned jars.”

in mein kleines serverchen habe ich ein “ASMB8-iKVM” rein gesteckt, damit ich nicht immer in den keller rennen muss, wenn ich mal ne vlan config versaut hab und die kiste nicht mehr erreichbar ist 😉

beim starten der java KVM console kam dieser fehler:

Fatal: Application Error: Cannot grant permissions to unsigned jars.

um das zu beheben, muss man in der datei java.security in dieser zeile:

jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024

…das “MD5” entfernen. (zeile kopieren, auskommentieren, aendern)

#jdk.jar.disabledAlgorithms=MD2, MD5, RSA keySize < 1024
jdk.jar.disabledAlgorithms=MD2, RSA keySize < 1024

bei meinem linux mint liegt die datei unter: /usr/lib/jvm/java-8-openjdk-amd64/jre/lib/security/java.security

20181013082031 by sd
shorturl: https://sd.vc/4fu
tags: , , ,
Leave a comment

proxmox: eine partition als osd nutzen

gleich vorneweg: nicht offiziell von proxmox unterstuetzt, aber (fuer mich) funktionieren tuts. 😉

fuer meine aktuelle “spielwiesen-evaluierung” habe ich als boot platte eine 500 GB ssd gekauft. da das betriebsystem und swap nur wenige gigabytes benoetigen, moechte den restlichen platz als OSD fuer ceph verwenden. proxmox unterstuetzt von haus aus nur kompletten festplatten als OSD. mit ein paar tricks kann man das aber trotzdem eintueten. dafuer muessen ein paar vorraussetzungen eingehalten und die folgenden schritte ausgefuehrt werden.

1. als grundlage habe ich ein debian stretch installiert. dabei waehlt man am besten den modus “expert install” aus, da man nur in diesem den typ der partition table der festplatte setzen kann. der installer macht standardmaessig eine MBR patrition table, aber wir brauchen zwingend eine des typs GPT!

2. das debian system samt proxmox und ceph installieren (siehe proxmox wiki)

3. danach muss die OSD partition wie folgt angelegt und praepariert werden:

als erstes setzen wir ein paar variablen… der partition typecode “is designating a Ceph data disk

PTYPE_UUID=4fbd7e29-9d25-41b8-afd0-062c0ceff05d

die festplatte, die verwendet werden soll:

disk=/dev/sda

die nuemmer der partition ist die naechste freie nummer:

part=4

und eine zufaellige UUID wird benoetigt, um die neue OSD zu identifizieren:
(wenns nicht funktioniert, vorher noch das paket “uuid-runtime” installieren)

OSD_UUID=`uuidgen -r`

wenn all diese variablen gesetzt sind, kann mit dem sgdisk kommando die neue partition angelegt werden:

sgdisk --largest-new=$part --change-name="${part}:ceph" --partition-guid=${part}:$OSD_UUID --typecode=${part}:$PTYPE_UUID $disk

der output koennte so aussehen:

Setting name!
partNum is 3
REALLY setting name!
Warning: The kernel is still using the old partition table.
The new table will be used at the next reboot or after you
run partprobe(8) or kpartx(8)
The operation has completed successfully.

um die proxmox boardmittel nutzen zu koennen, muss man ein bischen in einem perl script rumpfuschen… und zwar das: /usr/share/perl5/PVE/API2/Ceph.pm
vorher bitte eine sicherungskopie anlegen, damit man die originale datei im anschluss wiederherstellen kann. (funktioniert mit pve 5.2)
suche in der datei nach diesem string:

$devname =~ s|/dev/||;

…und kommentiere diese und die folgenden zeilen bis zu dieser aus:

my $devpath = $diskinfo->{devpath};

dann fuege diese zeile darunter ein:

my $devpath = $devname;

jetzt suche nach

my $cmd = ['ceph-disk', 'prepare', '--zap-disk',

…und entferne am ende das argument “–zap-disk”, so dass die zeile so aussieht:

my $cmd = ['ceph-disk', 'prepare',

dann kann man endlich die OSD erstellen:

pveceph createosd /dev/sda4 --bluestore=0

(wenn die fehlermeldung “not a valid block device” kommt, ist noch ein reboot notwendig, damit der kernel die oben abgeaenderte partition table frisst.)

ich habe hier bluestore auf 0 gesetzt, da es bei mir nicht funktioniert hatte. (ich bin mir garnicht sicher, ob man bluestore ueberhaupt mit einer partition verwenden kann… vermutlich eher nicht.) so wird der herkoemmliche typ “filestore genommen und die partition mit xfs formatiert.
der output koennte so aussehen:

create OSD on /dev/sda4 (xfs)
meta-data=/dev/sda4              isize=2048   agcount=4, agsize=29150209 blks
         =                       sectsz=4096  attr=2, projid32bit=1
         =                       crc=1        finobt=1, sparse=0, rmapbt=0, reflink=0
data     =                       bsize=4096   blocks=116600833, imaxpct=25
         =                       sunit=0      swidth=0 blks
naming   =version 2              bsize=4096   ascii-ci=0 ftype=1
log      =internal log           bsize=4096   blocks=56934, version=2
         =                       sectsz=4096  sunit=1 blks, lazy-count=1
realtime =none                   extsz=4096   blocks=0, rtextents=0

und zum schluss noch die OSD aktivieren, wodurch die partition gemountet und der zugehoerige OSD daemon gestartet wird

ceph-disk activate /dev/sda4

und schon ist die partiton unter proxmox als OSD verfuegbar. in der proxmox oberflaeche wird die ganze festplatte als OSD angezeigt, was mich aber nicht weiter stoert 😉

20181010203748 by sd
shorturl: https://sd.vc/4ft
tags: , , , ,
Leave a comment

proxmox spontane reboots oder alle festplatten “verloren”

in einem proxmox/ceph cluster mit insgesamt sieben nodes sind vier identische nodes nur für den ceph storage zustaendig. alles supermicro x8dtl-3f mit ssds und 10gbit nics.
irgendwann… ich weiss nicht genau wann… aber auf jeden fall nach dem update auf debian stretch und pve5 hatten diese vier server problemchen. erstmal sah es so aus, als ob es mehrere verschiedene probleme sind.

1. in einem zeitraum von 1 bis 7 tage booteten die server spontan und ohne erkenntlichen grund. keine eintraege im syslog und nichts im bios/ipmi eventlog zu sehen.

2. weniger haeufig kam es vor, dass ein node zwar noch “online” war, aber alle seine festplatten “verloren” hat. seh dann auf dem bildshirm so aus:

3. die onboard netzwerkkarten haben rumgezickt, was im logfile dann so aussah:

das hat sich dann im sekundentakt wiederholt

4. selten bekam ich meldungen wie diese auf den schirm:

wie sich aber rausstellte, war das genau das ausschlaggebende! falls noch was im syslog zu sehen war (eher garnicht ausser bei dem nic flapping), dann war auch immer so eine meldung unmittelbar davor zu sehen.

nach ein wenig googlen kam heraus, dass der “irqbalanced” fuer diese meldungen verantwortlich ist. der irqbalanced kann im laufenden betrieb irq’s bei bedarf auf eine andere cpu mappen. wenn man google nach diesem ding fragt, bekommt man viele aussagen. von “braucht man nicht, weil aktuelle kernels das von alleine koennen” bis “sehr wichtig bei hoher last fuer performanceoptimierungen”.

ich hab dann kurzerhand in der datei /etc/default/irqbalance den parameter “IRQBALANCE_ONESHOT=YES” gesetzt. in der beschreibung dazu steht: “after starting, wait for a minute, then look at the interrupt load and balance it once; after balancing exit and do not change it again.”

….und was soll ich sagen. seit vier wochen habe ich nun ruhe und die server lauifen durch 🙂

fuer eine genaua analyse und warum das seit wann auftritt… puh.. da fehlt mir die zeit. ich hab mich lange genug damit beschaeftigt und nun laufen die kisten wieder rund.

20180831092534 by sd
shorturl: https://sd.vc/4fp
tags: , , ,
Leave a comment

…egal, wie sie sich entscheiden

auf irgendeiner webseite wollte ich ein PDF runterladen. dann kam diese fehlermeldung:

und egal, welchen knopf man drueckt… man kam immer wieder zur downloadseite zurueck. warum macht man sowas?

20180815111731 by sd
shorturl: https://sd.vc/4fn
tags: ,
Leave a comment

reihenfolge der kalender in nextcloud bzw. der default kalender

eine alte owncloud installation habe ich “aus gruenden” endlich mal auf nextcloud aktualisiert. soweit war alles fein, aber in meinen sehr umfangreichen kalendern waren wohl ein paar syntaktische probleme enthalten. weil ich das bei der menge an eintraegen niemals einfach und schnell rausbekommen haette, waehlt ich eine holzhammer mehode. einmal exportieren, kalender loeschen, neu anlegen und wieder importieren.
bis dahin war der kalender mit dem namen “default” auch mein wirklicher default kalender und bei nutzung der webgui war dieser bei neu erstellten eintraegen auch vorausgewaehlt. nach meiner o.g. aktion war er es leider nicht mehr. jedes mal beim erstellen eines eintrages den passenden kalender auswaehlen war aber auch keine loesung. also gesucht und was gefunden. der beschrieben bug ist schon seit zwei jahren gemeldet… nur erledigt hats scheinbar noch niemand. da ich kein programmierer bin bin ich eher auf die workarounds angewiesen. diesen mag ich hier kurz beschreiben….

erstmal schauen, was da bei meinen kalendern so drin steht:

SELECT id, displayname, uri, calendarorder FROM oc_calendars WHERE principaluri LIKE '%MYUSERNAME;

da in dem feld “calendarorder” ueberall NULL drin steht, wirds erstmal gesetzt (auf wert “1”):

UPDATE oc_calendars SET calendarorder=1 WHERE principaluri LIKE '%MYUSERNAME%';

…um dann danach den richtigen kalender (“default” mit id 773) in der reihenfolge (calendarorder) eins hoeher (0 statt 1) zu setzen:

UPDATE oc_calendars SET calendarorder=0 WHERE principaluri LIKE '%MYUSERNAME%' AND id=773;

nach einem reload der webgui ist nun wieder alles paletti 🙂

20180815100348 by sd
shorturl: https://sd.vc/4fm
tags: , , ,
Leave a comment

bots aussperren per iptables

irgendwann haben mal irgendwelche drecks bots einen uralten webserver lahm gelegt.
an die robots.txt haben sie sich nicht gehalten und eigentlich sollte die seite von keiner suchmaschine gecrawled werden. also aussperren nach diesem muster:

for i in `cat /var/log/apache/*.log | grep YandexBot|cut -d" " -f1|sort|uniq`; do iptables -A INPUT -s $i -j DROP; done

das parst die apache logs, filtert nach dem entsprechenden bot, und sperrt die genutzten ips.
quick and dirty 😉

20180613214734 by sd
shorturl: https://sd.vc/4fl
tags: , , , ,
Leave a comment

ceph blinkenlights

zu dem beitrag mit dem proxmox/ceph cluster gibts noch ein schickes video:

und das im dunkeln anzusehen… hach… das kann jeden nerd dazu bringen, ewigkeiten davor zu stehen und einfach nur stur auf das geblinke zu starren. so wie bei einem lagerfeuer.

20180613213710 by sd
shorturl: https://sd.vc/4fk
tags: , , , ,
Leave a comment

ceph recovery io

hab ichs schonmal gesagt? ich liebe ceph. und bei solchen datenraten beim recovery … boah…

(nein, das ist nicht von meinem “spiel cluster” auf intel NUC basis mit usb3 platten 😉 )

20180420090402 by sd
shorturl: https://sd.vc/4fj
tags: , , ,
Leave a comment