upgrade the 64-bit tools set (SamrtOS GZ) 2016Q3

Hi,

if you need to update pkgsrc on GZ

  1. read the documentation https://pkgsrc.joyent.com/install-on-illumos/

but today (10 october) I found some error on my global zone “Live Image”: “20160929T025934Z”,

 

root@d8-cb-8a-bf-92-f0 ~ # pkg_add -U pkgin
SSL support disabled
pkg_add: Can't process https://pkgsrc.joyent.com:443/packages/SmartOS/2016Q3/tools/All/pkgin*: Not owner
pkg_add: no pkg found for 'pkgin', sorry.
pkg_add: 1 package addition failed

 

  1.  wget https://pkgsrc.joyent.com/packages/SmartOS/2016Q3/tools/All/pkgin-0.9.4nb3.tgz --no-check-certificate
  2.  wget https://pkgsrc.joyent.com/packages/SmartOS/2016Q3/tools/All/libarchive-3.2.1nb2.tgz --no-check-certificate
  3.  pkg_add -u ./libarchive-3.2.1nb2.tgz
  4.  pkg_add -u ./pkgin-0.9.4nb3.tgz
  5.  pkgin update
  6.  pkgin full-upgrade

 

now I can install software into Global Zone 😉

 

 

SmartDataCenter and coal-setup

Hi,

“Cloud on a Laptop”  in progress :-)  I’d like to check  so my  “man is” :

https://github.com/joyent/sdc/blob/master/docs/developer-guide/coal-setup.md

 

 

 

Link Status Monitor ….a tribute

LSM – Link Status Monitor

LSM è un “Link Status Monitor” che può essere usato per controllare ad esempio  la connettività di un router/firewall Linux  e se accade di avere delle connessione multiple, LSM  può  cambiare il routing a seguito di un evento up/down mediante uno script esterno.

Quando un segnale  SIGUSR1 è ricevuto lo stato attuale della connessione è inviata al syslog.

Questo software è fortemente influenzato da fping e da iputils  arping. Un grande riconoscimento gli va dato per i loro lavoro.

LICENSE

GPLv2, tu sarai in grado di trovare la  GNU Public License 2.0 in  www.gnu.org.

DECISION MAKING

Nella vesione 0.27 di lsm , l’algoritmo di  “detection” lavora in questo modo:

LSM tiente traccia di

1) il risultato dei più recenti ping ( sino a 100).

2) il numero di consecutivi ping persi .

3) il numero consecutivo di ping ricevuti .

Sia  A == al numero di ping recentemente persi

Sia  B == al numero di ping consecutivi persi

Sia C == al numero di ping consecutivi ricevuti

 Se la connessione ( o il gruppo di connessioni) è UP

AND ( (A >= max_packet_loss) OR (B >= max_successive_pkts_lost) allora cambio la connessione ( o il gruppo di connessioni) in down .

Altrimenti se la connessione (o il gruppo di connessioni) è DOWN

AND ( (A <= min_packet_loss) AND (C > min_successive_pkts_rcved) ) allora cambio la connessione ( o il gruppo di connessioni) in up.

Nota: LSM assume che ogni connessione è in uno stato iniziale “sconosciuto”.

AUTHORS

Mika Ilmaranta <ilmis at nullnet.fi>

DOWNLOADS

Download directory.

MAILING LIST

LSM mailing list subscription


LSM in action – Link Status Monitor in action

Hi,

this link http://lsm.foobar.fi/  solved my problem.

 

%description
Lsm is the link status monitor.

Lsm can ping multiple targets and when up or down event happens
it will execute user configured external script so it can be used
as poor man's routing protocol.

 

 

 

|LB1|10.10.10.1
———————-<—-(one o more client with LSM onboard)
|LB2|10.10.10.2

 

so when one load balancer  is down  lsm exec a little script in /usr/libexec/lsm/

In my case just down is the “case”

#!/bin/bash -x
#put all output into file
 echo "$@" >/var/log/lsm.log
# what is my default router ?
 DEFAULT_R=$(ip route show to exact 0.0.0.0/0  | awk '{ print $3 }')
#if  the status  is down and that is just my default router  then I change it with the new one
 # otherwise if is up just logger :-)
if [ $1  == "down" ] && [ $3 == "${DEFAULT_R}" ]
 then
 logger  "ip route replace default via 10.10.10.1 dev eth0"
 ip route replace default via 10.10.10.1 dev eth0
 elif [ $1 == "up" ]
 then
 logger "$@"
 fi

English lesson is over.

The end …. another link to see LSM in action is http://shorewall.net/MultiISP.html#lsm

 

 

Ciao,

come ringraziare chi mi ha risolto il problema, semplice lo pubblico in modo che altri possano averne lo stesso beneficio che ne ho avuto io.

 

Premessa.

Il problema si presenta quando abbiamo due o più server che fanno da gateway ad una batteria di server alle loro spalle.  Sappiamo che il default gateway nella rete è l’ultima risorsa che è presente nella tabella di routing. In rete possiamo trovare molta documentazione sul “policy routing” e tutti partono dal presupposto di avere due interfacce di rete con due indirizzamenti differenti a cui poi far puntare i due default gateway. Nel mio caso non ho la necessità di avere due indirizzamenti diversi ma poichè gioco in un ambiente virtuale mi posso permettere di avere due server che fungono da default gateway per la stessa sottorete. Tanto loro non lo sanno :)  ma dobbiamo farlo sapere ai server che li usano. Altra fortuna è data dal fatto che i server dietro i  due server  gateway sono anche loro sulla stessa sottorete e quindi anche in caso di down di uno dei due riescono sempre a raggiungere il nodo up, proprio perché “parlano” a livello due. Ora LSM entra in gioco sui server che usano i due lb come gateway. LSM restituisce al cambio di stato la seguente stringa

up server-lb1 10.10.10.1 eth0 support@example.com 96 4 5 1 94 0 0 31425 10.10.10.3 down 1459592375

${STATE}  ${NAME} ${CHECKIP}  ${DEVICE}  ${WARN_EMAIL}  SOME_STATISTICS ${SRCIP} ${PREVSTATE}  OTHER_STATISTICS

Di questa stringa ho usato il  $1=STATE e $CHECKIP che ho passato allo script che richiama LSM per impostare il nuovo gateway. La logica è la seguente:

trovo il default gateway del server dove viene eseguito LSM e poi se lo stato della connessione – che ho fatto coincidere con un gateway – è down paragono il  ${CHECKIP} con il default gateway e se questi coincidono è il caso che lo cambio con quello che ipotizzo UP.

 

#!/bin/bash -x
#put all output into file
 echo "$@" >/var/log/lsm.log
# what is my default router ?
 DEFAULT_R=$(ip route show to exact 0.0.0.0/0  | awk '{ print $3 }')
#if  the status  is down and that is just my default router  then change it with the new one
 # otherwise if is up just logger :-)
if [ $1  == "down" ] && [ $3 == "${DEFAULT_R}" ]
 then
 logger  "ip route replace default via 10.10.10.1 dev eth0"
 ip route replace default via 10.10.10.1 dev eth0
 elif [ $1 == "up" ]
 then
 logger "$@"
 fi

 

 

La condizione che tutti i gateway siano DOWN porterebbe i nodi ad un ping pong continuo, la condizione la possiamo mitigare inserendo un “sleep 30” al termine del “ip route replace” . Perchè dico mitigare, se tutto è giù allora il problema è  grave e mi devo solo preoccupare di non sovraccaricare il server con un loop infinito di “ip route  replace”

 

 

 

 

 

io tuta blu

N E T T O DEL M E S E

1.588,00€

Io speriamo che me la cavo

Ciao,

questo post è  così !

 

Joyent’s Triton at Barton’s Blog

Intro: Setting up Joyent’s Triton in Dell’s CTO lab; post 1

The platform supporting Joyent’s Triton in Dell’s CTO lab – post 2

Installation details for Joyent’s Triton in Dell’s CTO lab; post3

SmartOS Project-FiFo and metrics

just to enjoy

smartOS_FiFO_metrics

 

who help me 😉

Creating a KVM clone with SmarOS

Tratto da  [smartos-discuss]: Cloning woes

Q:
I would like to create a KVM VM clone,   I rather go the quick and
dirty way and not deal with datasets, I followed the wiki however is
outdated those instructions aren’t working.https://wiki.smartos.org/display/DOC/Managing+Datasets
Has the process of creating a KVM clone changed?
zfs snapshot disk
zfs clone
vmadm createAny clues? Maybe an step by step?Thx.
A:

I have not tried it myself but…

vmadm create (source kvm)
… install OS in KVM …
vmadm stop (source kvm)
vmadm create (new kvm)
zfs destroy zones/{new kvm}-disk0
zfs snapshot zones/{source kvm}-diks0@base
zfs clone zones/{source kvm}-disk0@base zones/{new kvm}-disk0
vmadm start (new kvm)

Is how I would do it.

Jorge Schrauwen
ps.
Ho provato e funziona :)

Zeroshell on SmartOS

hello world  !!

Zeroshell as KVM  guest on SmartOS

 

ZeroshellOnSmartOS

my json file to build the vm

kvm.json
{
 "brand": "kvm",
 "vcpus": 1,
 "autoboot": false,
 "ram": 1024,
 "alias": "zeroshell-3.4.0",
 "resolvers": [
 "8.8.4.4",
 "8.8.8.8"
 ],
 "disks": [
  {
  "boot": true,
  "model": "ide",
  "size": 5120
  }
   ],
  "nics": [
  {
  "nic_tag": "switch1",
  "model": "e1000",
  "ip": "10.0.0.75",
  "netmask": "255.255.255.0",
  "gateway": "10.0.0.1",
  "primary": 1,
  "allow_ip_spoofing": "1"
  },
  {
  "nic_tag": "switch2",
  "model": "e1000",
  "ip": "192.168.20.1",
  "netmask": "255.255.255.0",
  "allow_ip_spoofing": "1"
  }
 ]
}

we test the json file with

$ vmadm validate create -f kvm.json

and then

$ vmadm create -f kvm.json

vmadm boot 9a581ac1-a508-4ad1-b564-49262e15a54e order=d cdrom=/Zeroshell-3.4.0.iso,ide

but before to run that, I have already get the iso image in right place /zones/9a581ac1-a508-4ad1-b564-49262e15a54e/root

$ ls /zones/9a581ac1-a508-4ad1-b564-49262e15a54e/root/
dev                  lib                  smartdc              tmp                  var
etc                  sbin                 startvm              usr                  ZeroShell-3.4.0.iso
$ vmadm list

UUID                                  TYPE  RAM      QUOTA  CPU_SHARE  IO_PRIORITY  NICS.0.IP             NICS.1.IP             ALIAS       STATE
9a581ac1-a508-4ad1-b564-49262e15a54e  KVM   512      10     100        100          10.0.0.75          192.168.20.1                     zeroshell-3.4.0  running
$ dladm show-vnic | grep 9a58 
net0         switch1    0     12:ea:9a:82:ff:db fixed       0    9a581ac1-a508-4ad1-b564-49262e15a54e
net1         switch2    0     b2:3e:bb:1f:42:83 fixed       0    9a581ac1-a508-4ad1-b564-49262e15a54e

so two “etherstub” frontend and backend :-)

Now we try to connect to web gui, at this point there is a little trick … In Zeroshell you have to declare who is enabled to connect, and can be done from “HTTPS Web Interface Settings”. By default just subnet 10.0.0./8, 172.16.0.0./12 and 192.168.0.0./16 are enabled to connect. In my case I’m connecting from internet, this is my topology

INTERNET ——HN—–VM_PROXY—–VM1,VM2,ZS1,ZS2

So connection to ZS are coming from public ip and vm_proxy send request to ours vm, in this case I can’t connect to web gui of Zeroshell; but we have also a vnc console

$ vmadm info 9a581ac1-a508-4ad1-b564-49262e15a54e | json vnc
{
  "host": "IP PUBLIC",
  "port": 57213,
  "display": 51313
}

Note: at moment no vnc password is request, but man of vmadm tell us:

vnc_password:

This property allows you to set a password which will be required when
connecting to the VNC port. IMPORTANT: this password will be visible
from the GZ of the CN and anyone with access to the serial port in the
guest. Set to an empty string (default) to not require a password at
this level.

type: string (8 chars max)
vmtype: KVM
listable: no
create: yes
update: yes
default:

Now we have access to zeroshell console user=admin password=zeroshell (just with default profile), and the trick is:

  #iptables -F

:-) and then you can open the web gui and complete the configuration: create profile, activate profile – but again you have to flush iptables; last time – and add ETH00 or your static public ip from you connect in “HTTPS Web Interface Settings”

HTTPSWEBINTEFACESETTINGS

 

https://zeroshell.renatomorano.net