Last SuperCharger in Sweden, going to Norway

Leaving Sweden

In the past two days we visited Stockholm and continued our journey towards Norway.

We both never visited Stockholm before, so yesterday morning we visited Stockholm. We saw Gamla Stan (Old City) and visited the Abba Museum. (My dad is a Abba fan!)

From there on we continued to the Sollentuna and Gävle SuperChargers. We spend the night in Gävle and today we continued towards the Krokum SuperCharger via the Sundsvall.

Nothing really special actually. It started snowing and the temperatures started to drop, it’s -11 Celcius right now and snow is still falling.

Heading to Norway

Tomorrow we are going to drive from Krokum to the Grong SuperCharger in Norway. This is a 250km trip via what it seems some very small towns.

It looks like we have to cross mountains as well, so we’ll do a 100% charge at the Krokum SuperCharger before heading to Grong in Norway.

250km should be doable under the worst conditions possible with a full battery, so it’s looking good. We’ll be in Norway tomorrow!

Energy Consumption

I’m keeping a detailed spreadsheet with the energy consumption during the trip and we are currently at 225Wh/km over 2200km. That is really not bad, I expected higher consumption.

To Copenhagen and almost in Stockholm

Leaving for Denmark

Yesterday we started our journey to the most Northen SuperCharger in the world, Setermoen in Norway!

We started in Amersfoort (The Netherlands) and from there on drove to the Emsburen SuperCharger in Germany. Charged for a bit and drove towards the Tesla Service Center in Hamburg. Although it’s not listed on the Tesla website or in the navigation, there are two SuperCharger stalls available during opening hours. A gap Tesla still has to fill with a permanent installation somewhere around Hamburg.

From the Tesla Service Center we drove to Rødekro, Middelfart and Køge (all in Denmark) before calling it a day. 900km was enough for that day.

The Køge SuperCharger however is a special one. It’s not completely finished yet, 6 stalls are operational, but it’s looking awesome!

Køge SuperCharger

Visiting Copenhagen and towards Sweden

We stayed the night in a hotel in Køge and the next morning we drove to the SuperCharger at the Tesla Service Center near the airport. Charged for a bit and went into Copenhagen for a quick citytour.

In the early afternoon we left for Sweden and drove to the Löddeköpinge, Lagan, Ödeshög and Tystberga SuperChargers.

Somewhere around the Lagan SuperCharger it started snowing and it didn’t stop for the rest of the day.

Lagan SuperCharger

The Nokian Hakka R2 wintertires work great in the snow. In wet conditions they aren’t the best, but as soon as the road becomes covered in snow you notice what they are made for. I’m really happy with them!

That’s the trip so far. Nothing special, the SuperChargers and my Model S simply work.

Energy consumption is currently at 220Wh/km over 1500km, that’s better then I expected. I’m keeping a detailed spreadsheet with a triplog which I’ll post at the end of my journey.

That’s it for today, Stockholm tomorrow!

Ready for departure to the Arctic

Next week it’s time to leave for the arctic with my Tesla Model S!

Allmost all the preparations are done, I just have to buy some food and drinks and install my winter tyres (Nokian Hakka R2) before I leave.

I’m checking the temperature in Setermoen on a daily basis and this is what I saw last night:

Low temps in Setermoen

Yes, it’s pretty cold and dark there! Just 90 minutes of daylight at this time of year in Setermoen.

Next Tuesday, Jan the 20th my Model S will get a last check at Tilburg before we leave to Denmark on the 21st in the morning. Looking forward to it!

I’ve been getting a lot of e-mails from all over the world with tips and tricks, I thank you all who send me information. It’s all welcome!

NFS-Ganesha with libcephfs on Ubuntu 14.04

This week I’m testing a lot with CephFS and one of the things I never tried was re-exporting CephFS using NFS-Ganesha and libcephfs.

NFS-Ganesha is a NFS server which runs in userspace. It has multiple backends (FSALs) it can use and libcephfs is one of them.

libcephfs is a userspace library which you can use to access CephFS. It is written in C/C++ and has Java and Python bindings. NFS-Ganesha however links to the native C++ bindings.

Running NFS-Ganesha on Ubuntu 14.04 is not plug and play, it involves manual compiling which I’ll explain below.

I tested this using:

  • Ubuntu 14.04.1
  • Ceph 0.89
  • NFS-Ganesha 2.1

Building NFS-Ganesha

It starts with installing a couple of packages:

apt-get install git-core cmake build-essential portmap libcephfs-dev bison 
flex libkrb5-dev libtirpc1

We then clone the Git repository:

cd /usr/src
git clone https://github.com/nfs-ganesha/nfs-ganesha.git
cd nfs-ganesha
git checkout -b V2.1-stable origin/V2.1-stable
git submodule update --init

Now we have the sources we can build it:

mkdir build
cd build
cmake ../src
make
make install

NFS-Ganesha uses DBus and we have to copy a DBus profile:

cp ../src/scripts/ganeshactl/org.ganesha.nfsd.conf /etc/dbus-1/system.d/

Configuring the NFS export

Now we can create our NFS-Ganesha configuration:

nano /usr/local/etc/ganesha.conf

Add the following:

EXPORT
{
    Export_ID = 1;
    Path = "/";
    Pseudo = "/";
    Access_Type = RW;
    NFS_Protocols = "3";
    Squash = No_Root_Squash;
    Transport_Protocols = TCP;
    SecType = "none";

    FSAL {
        Name = CEPH;
    }
}

With this configuration we say that we want to export (Path) “/” of our CephFS filesystem as “/” (Pseudo) from our NFS server.

Configuring Ceph

To run NFS-Ganesha you have to make sure that CephFS is up and running and that the server where you are going to run Ganesha on can access the Ceph cluster.

Make sure your ceph.conf and ceph.client.admin.keyring file are both present in /etc/ceph and run:

ceph -s

If that works you can start NFS-Ganesha

Starting NFS-Ganesha

Now Ceph is working we can start the NFS server:

ganesha.nfsd -f /usr/local/etc/ganesha.conf -L /tmp/ganesha.log -N NIV_DEBUG -d

This makes the NFS server log with a DEBUG profile. It gives you a lot of insight on what’s happing. You probably want to disable this when it all works.

Mounting NFS

On a NFS client we can now mount the NFS filesystem which is actually our CephFS:

mkdir /mnt/cephfs-nfs
mount -o rw,noatime 1.2.3.4:/ /mnt/cephfs-nfs

Replace 1.2.3.4 with the hostname/IP-Address of the server running NFS-Ganesha.

You should now have a NFS mount which shows you your CephFS filesystem! This way legacy clients can access the most awesome filesystem.

Driving to the Arctic with my Tesla Model S!

The Tesla SuperCharger Network

The Tesla SuperCharger network keeps expanding rapidly in the US, Europe and Asia. Looking at the community maintained website supercharge.info I saw that the SuperCharger network was slowly expanding to the North of Norway.

I have never seen the Aurora and it’s still on my bucketlist. So watching the SuperCharger network expand I got the crazy idea to drive there with my Tesla Model S!

My father lives on Bali (Indonesia), but I thought it would be a very cool trip to do together. I gave him a call and he promptly answered: YES!

This January we will be driving from Amersfoort (The Netherlands) to the most Northern SuperCharger in the world: Setermoen in Norway!

6500km round-trip

Following the SuperCharger network through Germany, Denmark, Sweden and Norway it will be a trip of roughly ~3.250km to the most Northern SuperCharger. So in total we will be driving 6.500km using just the Tesla SuperCharger network.

During the trip we’ll encounter rain, snow, temperatures well below -10C and the beautiful nature Sweden and Norway have to offer!

Route to Norway

Above is the route we will follow. The main goal is to only use the SuperCharger network. We might plug in at a regular socket overnight to keep the battery warm during the cold weather, but 90% of our charge should come from the SuperChargers.

Schedule

My father will arrive in the Netherlands on Jan 15th 2015 and we plan to leave the 20th or 21st.

The first day we will try to reach the SuperCharger in Middelfart (Denmark) and stay there for the night. The next day we’ll travel to Copenhagen and continue our journey to Stockholm and towards Norway.

Our current expectation is that the entire trip will to 3 to 4 weeks. We are not in a hurry. We both have never seen Copenhagen nor Stockholm, so we’ll probably stay there to do a quick city tour. Afterwards we’ll slowly continue our journey towards Norway and the Arctic.

If all goes well we should be back in the Netherlands on February ~20th, but we’ll see how it goes!

Preparations

Since we are going to be driving in sub-zero temperatures we have to prepare. We will be driving on remote roads and should be prepared for the fact that we might get stuck. We would rather not get stuck, but you never know.

Nokian Hakkapeliitta R2

It all starts with a good set of winter tyres! I bought a set of Nokian Hakkapeliitta R2 tyres. Tesla owners from Norway and the Northern parts of the USA said they were very happy with these under winter conditions.

‘Better be safe than sorry’ is probably a good thing when going to Sweden and Norway in January and February, so in case we get stuck along the road I bought a Multi-Fuel Stove from XGK:

XGK EX with bottle

The MSR XGK EX Multi-Fuel Stove burns White Gas, Kerosine and Diesel, which makes it suiteable for cooking while temperatures are well below zero. Should be get stuck on a very remote location we should still be able to cook ourselfs a warm meal.

Follow us!

During our trip I’ll be updating this blog and you can follow me on Twitter on @widodh.

We’ll be leaving for Norway somewhere around Jan 20th 2015! We are looking forward to it 🙂

Ceph with a cluster and public network on IPv6

I’m a big fan of Ceph and IPv6, so I always try to deploy Ceph over IPv6 when possible. Ceph is the future, just like IPv6 is. Why implement legacy?

Recently I did a deployment of Ceph with a public and cluster network running over IPv6. It has a small catch, so I let me explain the cluster and public network first.

Ceph cluster and public network

This image comes from the Ceph documentation and shows the two types of network:

  • Public network for clients and monitors
  • Cluster network for inter-OSD communication (Replication and recovery)

If you want to run your Ceph cluster over IPv6 you have a couple of settings to make:

[global]
ms_bind_ipv6 = true
mon_host = [2a00:f10:XX:XX::XX]:6789, [2a00:f10:XX:XX::XY]:6789, [2a00:f10:XX:XX::YY]:6789

As you can see, you have to write the IPv6 address enclosed by [ and ]

When configuring the cluster and/or public network in the ceph.conf you should however not use them:

[global]
public_network = 2a00:f10:XX:XX:XX::/64
cluster_network = 2a00:f10:XX:XX:XY::/64

When that is set correctly it should all be working fine and your Ceph cluster will be running over IPv6 with different networks!

Een EV is schoner dan een ICE!

English: On Twitter I got into a discussion with Ton Aarts (@ton_aarts) that a EV is always cleaner then a ICE when you calculate the well-to-wheel efficieny. This post is to show him I’m right. Sorry, it’s in Dutch!

Ton Aarts daagde mij op Twitter na een discussie uit over het feit dat mijn Tesla Model S volgens hem niet schoner zou zijn dan een ICE.

Ook zou mijn Tesla Model S een duur speeltje zijn betaald door de Nederlandse belastingbetaler.

Ik heb de Model S gekocht om meerdere redenen:

  • Wil geen ICE meer rijden
  • Rijd 50.000km per jaar, de Model S is de enige die dat kan
  • Het is een ruime en comfortabele auto

De performance versie heb ik niet, ook de 21 inch velgen niet. Wel de 85kWh batterij.

De discussie gaat daar echter niet over, het gaat over het feit dat een EV altijd schoner is dan een ICE. Daarvoor moeten we het well-to-wheel rendement uitrekenen.

Ruwe olie

Voor een ICE begint het bij ruwe olie die we moeten gaan oppompen uit de aarde, tegenwoordig op de meeste rare plekken, zelfs al op de Noordpool!

Ik beschouw mijzelf niet als hippie, maar ik kan het niet langer aanzien dat we puur uit economische belangen zelfs al op de Noordpool aan het boren zijn naar olie.

Deze olie uit de grond krijgen kost energie, veel energie. Ik heb gezocht naar de cijfers, maar die zijn niet te vinden. Wel is het makkelijk om te begrijpen dat het oppompen van de olie en transporteren naar een raffinaderij veel energie kost. Ik ga dat nu echter buiten beschouwing laten omdat ik simpelweg de cijfers niet hard kan maken.

Raffineren

Om van ruwe olie naar benzine danwel diesel te gaan moeten we de olie gaan kraken. Meerdere bronnen vertellen dat er ongeveer 9kWh nodig is om 1 US Gallon (3.7L) aan benzine te verkrijgen uit ruwe olie.

Dat komt er op neer dat je 2,4kWh aan energie nodig hebt om 1 liter benzine te verkrijgen uit ruwe olie.

De bronnen hiervoor zijn: Bron 1, Bron 2, Bron 3.

2,4kWh aan energie

Voordat een ICE ook maar 1 kilometer gereden heeft op de liter brandstof is er al 2400Wh aan energie gebruikt om de brandstof te verkrijgen. Nogmaals, ik laat het hele proces van pompen en transport buiten beschouwing.

Een Model S heeft een gemiddeld verbruik van 200Wh/km. Op die 2400Wh aan energie zou een Model S dus al 12 kilometer kunnen rijden terwijl de ICE nog geen kilometer gereden heeft.

CO2 uitstoot Kolencentrale

Een kolencentrale stoot tussen de 350 en 400 Gram CO2 uit per kWh.

Het raffineren van een liter brandstof kost 2,4kWh, bij 400 Gram CO2 per kWh wordt er dus 960 Gram CO2 uitgestoten om een liter brandstof te raffineren.

Alvorens een ICE een kilometer gereden heeft is er al 960 Gram CO2 uitgestoten! Terwijl op die kWh een Model S al 5km had kunnen rijden en daarbij 80 Gram CO2 had “uitgestoten”.

KM per liter van een ICE

Het wisselt uiteraard per auto, maar een veilige aanname is dat een ICE zo’n 17 kilometer kan rijden op een liter brandstof.<.p>

Als we een Prius als voorbeeld pakken, al is dat geen eerlijke vergelijking met een Model S, komen we anno 2014 uit op een CO2 uitstoot van 135 Gram CO2 per km.

Daarbij moeten we echter nog de 960 Gram CO2 optellen die is uitgestoten bij het raffineren van de olie tot brandstof. Dit was 960 Gram voor 1 liter en daar kan 17 kilometer op worden gereden. Dat is nog eens 56 Gram CO2 extra per kilometer.

In totaal stoot een Prius dus 135 + 56 = 191 Gram CO2 uit per kilometer.

Uitstoot van een Model S

Indien een Model S wordt geladen met electriciteit opgewekt door een kolencentrale ‘stoot’ deze 80 Gram CO2 uit.

Een Prius, een van de schoonste auto’s, stoot well-to-wheel 191 Gram CO2 per kilometer uit.

Verliezen

Het electriciteitsnet kent uiteraard verliezen, zo ook het laden van een Model S. Het transporten van brandstof kent deze echter ook, daarbij ook mee te nemen wat het energie kost om brandstof in de auto te pompen vanuit de tanks bij het tankstation.

Conclusie

Zoals hier boven voor gerekend is er duidelijk te zien dat een Tesla Model S ruim 2x zo schoon is als een Toyota Prius uit 2014.

Daarnaast brengt een EV direct nog een aantal voordelen met zich mee:

  • Geen lokale uitstoot
  • Geen fijnstof van remschijven
  • Minder geluidsoverlast in leefgebieden
  • Mogelijkheid tot lagere uitstoot door schonere opwekking

Het laatste punt is vooral belangrijk: Bij een EV kan je de bron vervangen en direct minder uitstoot realiseren. Een winst van slechts 5% in het rendement van een centrale levert direct 5% minder uitstoot op. Dat is met een ICE simpelweg onmogelijk.

Dus Ton, ik zie de fles wijn graag tegemoet! Mijn adres staat op de contact pagina.

Flash LSI 2308 to IT-mode on a SuperMicro X10SL7-F mainboard

For a new SSD-only Ceph deployment I got my hands on a couple of SuperMicro SYS-1018D-73MTF 1U server with 8 Intel SSDs.

Great machines, but by default SuperMicro ships them with the IR (Integrated RAID) firmware and I wanted to use the IT (JBOD) firmware.

The X10SL7 mainboard has a UEFI bios, so flashing the controller was rather easy.

First, download the latest firmware for the LSI 2308 controller from SuperMicro. At this moment it is the PH19-IT firmware.

Now we have to create a small disk image with a FAT32 filesystem to use as a virtual drive for the IPMI.

I run Ubuntu on my desktops and laptops, so this is how I created that small disk image:

NOTE: You can generate the ISO with the steps below, or download it directly.

mkfs.msdos -C ipmi.iso 2880
sudo mkdir /media/ipmi/
sudo mount -o loop ipmi.iso /media/ipmi/
wget ftp://ftp.supermicro.com/Driver/SAS/LSI/2308/Firmware/IT/PH19-IT.zip
sudo unzip PH19-IT.zip UEFI/* -d /media/ipmi/
sudo umount /media/ipmi/

Now open your IPMI and attach ipmi.iso to your server.

Reboot the machine and hit the F11 key to open a boot menu and start the build in UEFI shell.

When in the UEFI shell enter these commands:

fs0:
cd UEFI
SMC2308T.NSH

At some point it will ask for the 9 remaining digits of the SAS address. Simply enter 000000000 (9 zeros) and you’re fine.

Reboot the system and the controller should now be in IT mode

Yealink SIP-T20P on a IPv6-only network

At PCextreme we are looking into replacing all our current Cisco, Linksys and Polycom IP phones with new phones. The old phones are worn out and have to be replaced.

We have two demands:

  • IPv6 support
  • TLS support

After some searching I found out that neither Cisco or Polycom support IPv6 in their phones with SIP, so they we off the list.

More searching led us to Yealink and we ended up ordering a SIP-T20P.

A couple of days later I created a IPv6-only VLAN on our XS4All VDSL2 connection to I was sure there was NO IPv4 available for the phone.

It took some time to figure it out, but using the T20 over IPv6 is fairly easy.

  • Start the phone
  • Go to the Advanced Network Settings (password: admin)
  • Set the network type to IPv6

The T20 (Firmware 7.72.0.75) does NOT support DHCPv6 (The T4xx models do), it relies on Router Advertisements. We had to manually enter the auto provisiong URL (over HTTP) and afterwards the phone provisioned itself.

If we choose to go for Yealink it will probably be the T4x models since they support DHCPv6 and we want the auto provisioning to be fully automatic.

Cisco 887VA with VDSL2 vectoring on XS4All/KPN

Note: This post is in Dutch since it’s targeted towards a Dutch audience.

Vandaag werd op kantoor onze VDSL2 verbinding van 50Mbit (non-vectoring) naar 65Mbit (vectoring) geupgrade door XS4All. Dat liep niet helemaal lekker. Onze Cisco 887VA router/modem kon daar niet goed mee overweg.

Na wat zoeken (uren) kwam ik er achter dat er een andere firmware nodig is, te weten VA_A_38k1_B_38h_24g1.bin

Om iedereen de moeite te besparen, deze firmware is hier te downloaden. (Hekel aan dat Cisco alles achter logins plaatst!)

Plaats vervolgens de firmware in de router door middel van TFTP of een HTTP-copy en dan is het slechts dit stukje configuratie:

!         
controller VDSL 0
 firmware filename flash:VA_A_38k1_B_38h_24g1.bin
!

Als ik nu in de Cisco kijk zie ik dit:

firewall#show controllers VDSL 0
Controller VDSL 0 is UP

Daemon Status:		 Up 

			XTU-R (DS)		XTU-C (US)
Chip Vendor ID:		'BDCM'			 'BDCM'
Chip Vendor Specific:   0x0000			 0xA45F
Chip Vendor Country:    0xB500			 0xB500
Modem Vendor ID:	'CSCO'			 '    '
Modem Vendor Specific:  0x4602			 0x0000
Modem Vendor Country:   0xB500			 0x0000
Serial Number Near:    FCZ162390P2 887VA-SE 15.3(3)   
Serial Number Far:     AA1250FE43S-05
Modem Version Near:    15.3(3)
Modem Version Far:     0xa45f

Modem Status:		 TC Sync (Showtime!) 
DSL Config Mode:	 AUTO 
Trained Mode:		 G.993.2 (VDSL2) Profile 17a
TC Mode:		 PTM 
Selftest Result:	 0x00 
DELT configuration:	 disabled 
DELT state:		 not running 
Trellis:		 ON			  ON
SRA: 			 disabled			 disabled
 SRA count: 		 0			 0
Bit swap: 		 enabled			 enabled
 Bit swap count:	 1710			 5
Line Attenuation:	  0.0 dB		  0.0 dB
Signal Attenuation:	  0.0 dB		  0.0 dB
Noise Margin:		 12.1 dB		 26.2 dB
Attainable Rate:	90384 kbits/s		 36750 kbits/s
Actual Power:		 12.4 dBm		 - 1.2 dBm
Per Band Status:       	D1 	D2 	D3 	U0 	U1 	U2 	U3
Line Attenuation(dB):   11.7	28.0	44.0	4.0	21.5	33.8	N/A	
Signal Attenuation(dB): 16.3	27.6	44.0	4.0	20.8	33.3	N/A	
Noise Margin(dB):       12.2	12.2	12.1	26.2	26.1	26.2	N/A	
Total FECC:		54			 0
Total ES:		0			 0
Total SES:		0			 0
Total LOSS:		0			 0
Total UAS:		78			 78
Total LPRS:		0			 0
Total LOFS:		0			 0
Total LOLS:		0			 0

Full inits:		1
Failed full inits:	0
Short inits:		0
Failed short inits:	0

Firmware	Source		File Name (version)
--------	------		-------------------
VDSL		user config	flash:VA_A_38k1_B_38h_24g1.bin (10)

Modem FW  Version:	130208_1314-4.02L.03.A2pv6C038k1.d24g1
Modem PHY Version:	A2pv6C038k1.d24g1
Vendor Version:		Ap6v38k1.24g1 68


 		  DS Channel1	  DS Channel0	US Channel1	  US Channel0
Speed (kbps):	          0	       83997	         0	        8399
SRA Previous Speed:       0	           0	         0	           0
Previous Speed:	          0	           0	         0	           0
Reed-Solomon EC:          0	          54	         0	           0
CRC Errors:	          0	           0	         0	           0
Header Errors:	          0	           0	         0	           0
Interleave (ms):       3.00	        0.00	      0.00	        0.00
Actual INP:	       4.00	       55.00	      4.00	       55.00

Training Log :	Stopped
Training Log Filename :	flash:vdsllog.bin

firewall#