SmartOS provisioing second disk on kvm

Hi,

just a node to add a second disk on kvm machines

 

{
 "brand": "kvm",
 "alias": "OpenVZ",
 "resolvers": [
 "8.8.8.8",
 "8.8.4.4"
 ],
 "ram": "2048",
 "vcpus": "1",
 "nics": [
 {
 "nic_tag": "intranet0",
 "ip": "10.0.0.4",
 "netmask": "255.255.255.0",
 "gateway": "10.0.0.1",
 "model": "virtio",
 "allow_ip_spoofing": "1",
 "primary": true
 }
 ],
 "disks": [
 {
 "image_uuid": "7a50b1da-d22c-11e4-8ffe-071989ea571f",
 "boot": true,
 "model": "virtio"
 },
 {
 "boot": false,
 "model": "virtio",
 "size": 2048000
 }
 ]

# vmadm create -f centOS6.json
Successfully created VM c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5

zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk0 10G 1.01T 2.30G –
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 19.5T 20.5T 108K –

# zfs list zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk0
# zfs list zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1
root@50-47-5d-a1-96-fa /opt/vmdefs $ zfs list zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk0
NAME USED AVAIL REFER MOUNTPOINT
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk0 10G 1.01T 2.31G -
root@50-47-5d-a1-96-fa /opt/vmdefs $ zfs list zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1
NAME USED AVAIL REFER MOUNTPOINT
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 19.5T 20.5T 310K -
root@50-47-5d-a1-96-fa /opt/vmdefs $ zfs get "all" zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1
NAME PROPERTY VALUE SOURCE
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 type volume -
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 creation Tue Mar 31 23:22 2015 -
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 used 19.5T -
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 available 20.5T -
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 referenced 310K -
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 compressratio 1.00x -
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 reservation none default
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 volsize 19.5T local
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 volblocksize 8K -
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 checksum on default
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 compression off default
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 readonly off default
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 copies 1 default
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 refreservation 19.5T local
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 primarycache all default
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 secondarycache all default
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 usedbysnapshots 0 -
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 usedbydataset 310K -
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 usedbychildren 0 -
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 usedbyrefreservation 19.5T -
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 logbias latency default
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 dedup off default
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 mlslabel none default
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 sync standard default
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 refcompressratio 1.00x -
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 written 310K -
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 logicalused 56.5K -
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 logicalreferenced 56.5K -
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 snapshot_limit none default
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 snapshot_count none default
zones/c3af16ba-e7b6-4bc0-b3f3-546e6a453cf5-disk1 redundant_metadata all default

At last you need to format but …

http://www.unix-ninja.com/p/Formatting_Ext4_volumes_beyond_the_16TB_limit/

illumos books

Just to learn :)

http://illumos.org/books/

vmadm update resolv.conf

Hi,

with SmartOS you can play with your zone KVM/OS to change  network and more.  Some parameters can be  changed “live”. One is the file /etc/resolv.conf inside the zone. You can do with:

vmadm update UUID -f file.json

with file.json like

{
                   "resolvers": [ "192.168.198.2", 
                                            "8.8.8.8",
                                            "8.8.4.4"
                      ]
}

or with

vmadm update UUID resolvers="IP1,IP2,IP3"

Then you can check with

vmadm get UUID | json resolvers

But please check if maintain_resolvers = true  only in that case you can see your change into your zone.

If maintain_resolvers is false you can change it with

vmadm update UUID maintain_resolvers=1

 

As always man vmadm is your master :)

 

Zeroshell come client OpenVPN

Some quick notes , actually in Italian.

 Zeroshell come client OpenVPN

(di un server OpenVpn Linux)

Le funzionalità di stabilire connessioni VPN di Zeroshell vede come scenario solito Zeroshell sia come client sia come server e per scelta architetturale, come dispositivo in user space, una interfaccia di tipo tap. Le motivazioni sono elencate nella sezione di configurazione

LAN_to_LAN

che riporto:

Zeroshell uses OpenVPN to encapsulate Ethernet datagrams in TLS tunnels authenticated via X.509 certificates on both endpoints as a solution to the site-to-site VPNs. This non-standardized solution requires the use of a Zeroshell box in both LANs or another system using the OpenVPN. This type of LAN-to-LAN VPN has been chosen because it has the following advantages:

  • By creating an Ethernet (Layer 2) connection between the two LANs, in addition to routing, bridging of the networks is made possible guaranteeing the passage of any layer 3 protocol (IP, IPX, Apple Talk);
  • The 802.1Q VLAN protocol is supported. This means that if a network is broken into Virtual LANs, the latter can also be transported on the peer network with a single VPN tunnel;
  • Bonding of two or more VPNs is supported in load balancing or fault tolerance configuration. This means, for example, that if there are two or more ADSL connections, a VPN can be created for each connection and they can be combined increasing the bandwidth or reliability
  • Thanks to the LZO real-time compression algorithm, data is compressed in an adaptive manner. In other words, compression only occurs when the data on the VPN really can be compressed;
  • The use of TLS tunnels on TCP or UDP ports makes it possible to transit the router where the NAT is enabled without problems.

La frase da annotare è “or another system using the OpenVPN

In questo piccolo contributo vediamo come poter configurare Zeroshell come semplice client openvpn con un server Linux. Il server OpenVPN Linux non solo stabilirà la connessione con il client Zeroshell ma gli fornirà anche la configurazione di rete. Nel dettaglio vogliamo mantenere le funzionalità grafiche di Zeroshell anche nel caso in cui l’altro end point non sia Zeroshell stesso.

La personalizzazione del comportamento di Zeroshell è ottenuta mediante la possibilita di inserire i parametri nella sezione Parameters dove abbiamo la possibilità di passare al daemon openvpn i paramentri personalizzati.

I punti evidenziati nell’immagine sono:

il ruolo che avrà Zeroshell nella connessione – client -

il nome dell’interfaccia in user space utilizzato dal processo openvpn – VPNXX

ed infine il campo dove inserire i nuovi parametri di connessione – Parameters – .

Parameters LAN -to-LAN

Il primo scenario prevede che il server OpenVPN usa una interfaccia tap e passa la configurazione di rete al client.

Interfaccia di tipo TAP

L’uso dell’interfaccia tap è previsto in Zeroshell ma ho riscontrato che per poter attivare la visualizzazione e la gestione delle configurazioni di rete “apprese” dal server OpenVPN Linux dobbiamo attivare una configurazione mista. Dove per mista intendo l’uso sia di un file configurazione sia di alcuni valori passati come parametri. Lo scopo di una configurazione mista è quello mantenere la configurazione la più grafica possibile.

I valori da inserire in Parmeters sono

Parameters_Tunnel

–config /Database/certs/client.conf
–dev VPN00
–dev-type tun
–verb 3

Il primo parametro definisce un file di configurazione che verrà utilizzato dal processo openvpn. Questo file risiede all’interno del profilo attivo dove avremo creato una directory – certs – e creato il file client.conf con il seguente comando

root@zeroshell # echo “client” > client.conf

 

Parameters_Tunnel_config

Il file di configurazione contiene solo il ruolo che assumerà nella connessione VPN.

Il paramentro –dev VPN00 indica il nome dell’interfaccia in user space e poiché non comincia per tun/tap gli passiamo anche il parametro –dev-type tap. Infine il –verb 3 aumentiamo il logging della sessione VPN.

Al termine della configurazione abbiamo la VPN00 connessa e tra le informazioni disponibili anche l’indirizzo IP assegnato dal server OpenVPN al client Zeroshell
VPN00

 

Il log della connessione mostra le istruzioni apprese dal server OpenVPN:

 

08:10:37 SENT CONTROL [server1]: 'PUSH_REQUEST' (status=1)
08:10:37 PUSH: Received control message: 'PUSH_REPLY,route 192.168.33.0 255.255.255.0,route-gateway 192.168.55.1,ping 10,ping-restart 120,ifconfig 192.168.55.4 255.255.255.0'
08:10:37 OPTIONS IMPORT: timers and/or timeouts modified
08:10:37 OPTIONS IMPORT: --ifconfig/up options modified
08:10:37 OPTIONS IMPORT: route options modified
08:10:37 OPTIONS IMPORT: route-related options modified
08:10:37 ROUTE: default_gateway=UNDEF
08:10:37 TUN/TAP device VPN00 opened
08:10:37 TUN/TAP TX queue length set to 100
08:10:37 /sbin/ifconfig VPN00 192.168.55.4 netmask 255.255.255.0 mtu 1500 broadcast 192.168.55.255
08:10:37 /sbin/route add -net 192.168.33.0 netmask 255.255.255.0 gw 192.168.55.1

Così come lo “Show Info” mostra l’indirizzo assegnato dal server OpenVPN

 

VPN00

 

Anche la tabella di routing rispetta le informazioni apprese dal server OpenVPN

 

VPN00_Routing

 

Il secondo scenario prevede che il server OpenVPN Linux usa una interfaccia tun e passa la configurazione di rete al client.

Interfaccia di tipo TUN

Anticipiamo che la configurazione di una connessione openvpn mediante una interfaccia di tipo tun avrà come modifica principale quella di contenere un comando come post boot. Esaminiamo prima come cambiano i parametri di configurazione

 

Parameters_Tunnel_config_TUN

 

–config /Database/certs/client.conf
–dev VPN00
–dev-type tun
–verb 3

anche in questo caso facciamo riferimento ad un file di configurazione che contiene la sola stringa client e come paramentri aggiuntivi abbiamo la definizione del nome della interfaccia –dev VPN00 e ne specifichiamo la tipologia --dev-type tun. Anche se avremo la conferma della connessione non potremo verificare tramite GUI le configurazioni ottenute dal server OpenVPN sino quando non avremo inserito come Post Boot i seguenti comandi:

VPN00_tun_post_boot

I comandi sono necessari proprio perchè Zeroshell non contempla una tipologia tun e quindi ne forziamo la creazione. Dopo aver fatto il Save della configurazione possiamo abilitare la configurazione effettuando il Test.
Il risultato finale è visibile nella visualizzazione della VPN LAN-TO-LAN con il dettaglio della configurazione IP appresa

VPN00_tun

così come lo Show Info

VPN00_tun_show_info

Il log della connessione riporta per esteso il comandi appresi dal server OpenVPN Linux

09:29:51 SENT CONTROL [server1]: 'PUSH_REQUEST' (status=1)
09:29:51 PUSH: Received control message: 'PUSH_REPLY,route 192.168.33.0 255.255.255.0,topology p2p,ping 10,ping-restart 120,ifconfig 192.168.55.4 192.168.55.1'
09:29:51 OPTIONS IMPORT: timers and/or timeouts modified
09:29:51 OPTIONS IMPORT: --ifconfig/up options modified
09:29:51 OPTIONS IMPORT: route options modified
09:29:51 ROUTE: default_gateway=UNDEF
09:29:51 TUN/TAP device VPN00 opened
09:29:51 TUN/TAP TX queue length set to 100
09:29:51 /sbin/ifconfig VPN00 192.168.55.4 pointopoint 192.168.55.1 mtu 1500
09:29:51 /sbin/route add -net 192.168.33.0 netmask 255.255.255.0 gw 192.168.55.1
09:29:51 Initialization Sequence Completed
09:29:51 Interface VPN00 is UP

 

La tabella di routing mostra ancora una volta gli instradamenti appresi

 

VPN00_tun_routing

 

The end

 

Osservazioni:

tutta la configurazione dell’autenticazione ,certificati X509 , etc , etc  è la solita:

import della CA del server OpenVPN Linux

import del certificato e della chiave generato del server OpenVPN Linux per il client Zeroshell.

Perf on Zeroshell ;-)

Perf_on_ZeroShell

Reclamo BRT SPA Corriere Espresso

Spett. BRT Corriere Espresso

Filiale di Trani

Contrada Pezza del Tesoro
76125 – Trani (BT)

per conoscenza:

ADIOCONSUM

Viale Degli Ammiragli n. 91
00136 Roma

CODACONS

Responsabile Avv. Cristiano GRAMATICA
Via Paolo Ricci, 10 – 70051 Barletta

OGGETTO: Reclamo e richiesta di rimborso per la seguente spedizione arrivata con involucro danneggiato e contenuto ( Tavolo ) completamente filato e inutilizzabile.

N. spedizione

1001491846

Riferimento mittente

110814YKO000009931992

Mittente

PIANORO (BO)

Destinatario

ANDRIA(BT)

Colli

2

Peso (kg)

100,0

Volume m³

0,500

Natura merce

TAVOLO SMONTATO

Pagamento a carico

Destinatario

Distinta consegna

2162 del 14/08/2014

Fattura

1266 del 12/08/2014

Filiale di arrivo

TRANI

In data 13 Agosto 2014 un vostro incaricato ci consegnava il pacco costituito da due colli. Il collo contenente il piano del tavolo presentava nell’involucro una rottura. A seguito della nostra segnalazione il vostro incaricato ci tranquillizzava dicendo avrebbe aggiunto la clausola di “accettato con riserva”. Il giorno 15 abbiamo aperto il pacco dalla parte opposta al segno di rottura dell’involucro e abbiamo ritrovato il tavolo rotto con una filatura che partiva proprio dal segno di rottura dell’involucro sino alla parte opposta e per tutto il suo diametro. Subito ho inviato una e-mail alla filiale di Trani e il lunedì 18 agosto mi sono recato di persona presso S.p.A. BRT filiale di Trani dove ci hanno detto che avebbero fatto degli ulteriori controlli e poi avrebbero risposto per e-mail. Ma la cosa incredibile che non risultava “una specifica segnalazione di accettazione con riserva”. Questa raccomandata la pubblicherò sul mio blog [ www.renatomorano.net ] con allegate le fotografie dello stato del tavolo.

Infine ci sentiamo truffati per due volte, la prima perchè è venuta meno la fiducia che avevamo nei confronti di S.p.A. BRT che non è riuscita a trasportare indenne un pacco a cui noi tenevamo molto, la seconda da un suo dipendente che non ci ha tutelato e dichiarato il falso.

La nostra richiesta di risarcimento è : un rimborso totale sia della spedizione 109,71€ sia del valore del tavolo, pari a 200,00 €. Se non avremo il rimborso entro i prossimi 30 giorni procederemo per le vie legali e denunceremo per truffa e falso il trasportatore che ci ha consegnato il pacco.

In fede

Renato Morano  

DSC_0057 DSC_0043 DSC_0042 DSC_0038 DSC_0037

quick note about CentOS, Mdadm, Lvm, Glusterfs

Hi,

first thanks to all people that write something about GNU software and Linux too.

 

I had a task : install a new server with CentOS

– trouble  2TB disk and automatic install does’t work as expected  only 2Tb are managed by fdisk  but on the WWW you can find the solution ( http://www.betweendots.com/topic/53-how-to-partition-hetzner-sx290/)

With anaconda you can do the “cration”  disk 1 and disk 2

– partitions

512 M  , swraid

61G  , swraid

until 4T , swraid

– mdadm device

/dev/md0 with /dev/sda1 and /dev/sdb1

/dev/md1 with /dev/sda2 and /dev/sdb2

/dev/md2 with /dev/sda3 and /dev/sda3

 

LVM

pvcreate /dev/md1

pvcreate /dev/md2

vgcreate  vg00 /dev/md1

vgcreate vg01 /dev/md2

 

lvcreate -n lvroot -L  X0X vg00

lvcreate -n lvswap -L X0X  vg00

lvcreate -n lvvar -L X0X vg00

lvcreate -n lvtmp -L X0X vg00

lvcreate -l lvtest -L X0X vg01

 

Anaconda manage the correct device version (1.0 )  when /boot is created.

 

setup complete :-)  time zone , pkg , etc , etc reboot

 

[root@newserver ]  yum update

If you can manage selinux is good but now I disable it

then is better to reboot

[root@newserver ]  reboot

I plan to install zfs take care about two pkg zlib-develop and libuuid-develop after that please read  FAQ on zfsonlinx

so from http://zfsonlinux.org/epel.html

    • EPEL 6
$ sudo yum localinstall --nogpgcheck http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
$ sudo yum localinstall --nogpgcheck http://archive.zfsonlinux.org/epel/zfs-release.el6.noarch.rpm
$ sudo yum install kernel-devel zfs

 

then is better to reboot

[root@newserver ]  reboot

[root@newserver ]   type zfs

missing command
usage: zfs command args …
where ‘command’ is one of the following:

[root@newserver ]   yum install man :-)

[root@newserver ]    ls -l /dev/disk/by-id/ | grep scsi

can you see all the disk ? If not

[root@newserver ] parted -a optmal /dev/sdXX
mklabel gpt

 quit

Now

 [root@newserver ]    ls -l /dev/disk/by-id/ | grep scsi

lrwxrwxrwx 1 root root  9 Aug  7 12:51 scsi-SATA-XXXC -> ../../sdc

lrwxrwxrwx 1 root root  9 Aug  7 12:51 scsi-SATA-XXXD -> ../../sdd

lrwxrwxrwx 1 root root  9 Aug  7 12:51 scsi-SATA-XXXE-> ../../sde

lrwxrwxrwx 1 root root  9 Aug  7 12:51 scsi-SATA-XXXF-> ../../sdf

lrwxrwxrwx 1 root root  9 Aug  7 12:51 scsi-SATA-XXXG-> ../../sdg

 

[root@newserver ]   zpool create tank raidz scsi-SATA-XXXC scsi-SATA-XXXD scsi-SATA-XXXE scsi-SATA-XXXF scsi-SATA-XXXG

[root@newserver ~]# zpool list
NAME SIZE ALLOC FREE CAP DEDUP HEALTH ALTROOT
tank 18.1T 358G 17.8T 1% 1.00x ONLINE –

[root@newserver ~]# zpool status

pool: tank
state: ONLINE
scan: scrub in progress since Tue Aug 12 21:46:05 2014
139G scanned out of 349G at 34.8M/s, 1h42m to go
0 repaired, 39.91% done
config:

NAME STATE READ WRITE CKSUM
bckpool ONLINE 0 0 0
raidz1-0 ONLINE 0 0 0
scsi-SATA_XXXC ONLINE 0 0 0
scsi-SATA_XXXD ONLINE 0 0 0
scsi-SATA_XXXE ONLINE 0 0 0
scsi-SATA_XXXF ONLINE 0 0 0
scsi-SATA_XXXG ONLINE 0 0 0

errors: No known data errors

 

Now glusterfs 

Download the repo packages:

[root@newserver ~]# cd /etc/yum.repo.d ; wget http://download.gluster.org/pub/gluster/glusterfs/LATEST/CentOS/glusterfs-epel.repo

and install the pkg 

[root@newserver ~]# yum install glusterfs glusterfs-fuse glusterfs-geo-replication glusterfs-server

and configure the brick as you need.

Bye bye

Ciao

 

SmartOS-ChangeLog

Just a little  note:

https://github.com/bahamas10/smartos-changelog

https://us-east.manta.joyent.com/Joyent_Dev/public/SmartOS/smartos.html

well done Dave Eddy !!

 

SmartOS-ChangeLog

ZeroShell 3.0 upgrade “in a hurry”

Hi,

you need to upgrade Zeroshell from RC3 to 3.0.0 inside Virtualbox 4.3.10.

1) download the new version of ZeroShell  ZeroShell-3.0.0-Disk-2GB.img.gz

2) gunzip the file …. and you have the file img

3) ???? How to convert img into vdi

4) VBoxManage convertfromraw

This command converts a raw disk image to a VirtualBox Disk Image (VDI) file.

The syntax is as follows:

VBoxManage convertfromraw <filename> <outputfile>
[–format VDI|VMDK|VHD]
[–variant Standard,Fixed,Split2G,Stream,ESX]
[–uuid <uuid>]

VBoxManage convertfromraw --format VDI ZeroShell-3.0.0-Disk-2GB.img ZeroShell-3.0.0-Disk-2GB.vdi

URRA !

5) unlink  the old  disk from   IDE  controller and add this new one.

6) add a new SCSI controller and link the old one disk ( where is your old profile )

ZS_UPGRADE

7)  boot the virtual machine and rescan/add the old profile

 

 

that’s all  !!!

 

 

Dad, why don’t find a work near me ?

:-(