OpenSolaris 2008.11 with ZFS-mirroring

OpenSolarisBoth Sun Solaris and OpenSolaris now support ZFSboot which allows you to have your operating system on a ZFS-pool. Also the text-installer for Sun Solaris lets you define if you want your ZFSboot device to be mirrored, but with the OpenSolaris installer this option isn’t given and with the default options it isn’t even possible. This due to selection of the whole disk option for ZFS which appears to be a wise option for people who know ZFS. The truth is that you need to select Solaris partitions during installation if you want your ZFSboot environment to support mirroring.

After OpenSolaris has been installed you can turn on mirroring as in the good old days with SVM. The first step it get the VTOC the same on both disks.

$ pfexec prtvtoc /dev/rdsk/c3d0s2 | pfexec fmthard -s - /dev/rdsk/c4d1s2
fmthard: New volume table of contents now in place.

ZFS can be tolled to create a mirror and the resilvering starts.

$ pfexec zpool attach -f c3d0s0 c4d1s0

Now the last step is to install GRUB on the second disk.

$ pfexec installgrub /boot/grub/stage1 /boot/grub/stage2 /dev/rdsk/c4d1s0

Afterwards I did a scrub to make sure the data on both disks was correct and the following output confirms I have mirrored my two disks.

$ zpool status
pool: rpool
state: ONLINE
scrub: scrub completed after 0h5m with 0 errors on Sat May 30 11:50:12 2009
config:
NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
mirror ONLINE 0 0 0
c3d0s0 ONLINE 0 0 0
c4d1s0 ONLINE 0 0 0
errors: No known data errors

You’re ready to go and as long as you do a scrub on a regular basis the zpool should stay a safe place to store your data.

DNSSEC en DLV

Debian 5.0 heeft de beschikking over BIND 9.5.1 en Debian Unstable heeft de beschikking over BIND 9.6.0 welke beide de mogelijkheid bieden om DNSSEC-validatie te gaan aan de hand van DLV. Met behulp van DLV is eigenlijk het probleem van chain-of-trust vanuit de root-zone “opgelost”. Door een derde partij te vertrouwen welke de DS-keys kan vertellen aan andere partijen wordt gevalideerde resolving mogelijk.

Een van de partijen die dit aanbiedt is ISC en is sinds BIND 9.4 te gebruiken, maar versie 9.5.1 of 9.6.0 (deze versie ondersteunt NSEC3-records) zijn aanbevolen. Gelukkig zijn er al toplevels zoals van Zweden en Brasilie welke als DNSSEC op ccTLD hebben ingevoed. Helaas heeft SIDN, de beheerder van de nl-zone, alleen een tijdelijk project gehad om DNSSEC te testen en hopelijk komt daar binnenkort verandering in met vorderingen van DRS4. Een andere toplevel welke een harde deadline heeft gekregen is het toplevel .gov welke onder de Verenigde Staten van Amerika valt. En alle overheidsinstellingen moeten met ingang van december 2009 voor zowel internet als intranet DNSSEC hebben ingevoerd. Op de dns-operations mailinglist werd ook aangekondigd dat per 1 mei 2009 .gov weer was opgenomen in dlv.isc.org zodat verificatie weer mogelijk werd. En tot nu toe lijkt deze actie redelijk probleemloos te gaan.

Sinds BIND op dit moment een van de weinige authoritive en resolving nameservers is die DNSSEC ondersteunt werd het weer tijd om te gaan testen. Helaas heeft Sun Solaris cq OpenSolaris nog geen bijgewerkte versie van BIND standaard meegeleverd en blijft alleen Debian voor mij over op dit moment. Een (virtuele) machine met Debian 5.0 met daarop BIND 9.5.1 of hoger en een werkende NTP-server zijn voorlopig voldoende om DNSSEC te gaan testen voor een resolving nameserver. Als de volgende aanpassingen worden gemaakt aan /etc/bind/named.conf.options:

trusted-keys {
dlv.isc.org. 257 3 5 "BEAAA...rBNh";
};
options {
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside . trust-anchor dlv.isc.org.;
};
logging {
channel dnssec_log {
file "/var/log/named/dnssec" size 20m;
print-time yes;
print-category yes;
print-severity yes;
severity debug 3;
};
category "dnssec" { "dnssec_log"; };
};

In het voorbeeld staat geen valide key om veiligheidsredenen en de key kan worden opgehaald bij ISC en het is verstandig om de sleutel te controleren met PGP voordat deze wordt toegevoegd. Dit is een kritiek punt in de vertrouwens relatie en door een foutieve key te importeren wordt ook de vertrouwensrelatie met de rest van de wereld beïnvloed.

Standaard is er geen directory voor logfiles van BIND binnen Debian aanwezig en met de eerste twee volgende commando’s wordt er een directory aangemaakt en de permissies goed gezet. Het commando erna zal BIND volledig opnieuw starten zodat alle instellingen worden geactiveerd en zal DNSSEC moeten werken.

sudo mkdir -m 0700 /var/log/named
sudo chown bind /var/log/named
sudo /etc/init.d/bind9 restart

Het onderstaande commando kan worden gebruikt om aan te tonen dat DNSSEC nu wordt gebruikt voor validatie. Bij de flags staat nu ook de flag ad (Authentic Data) welke alleen wordt gezet als er met behulp van DNSSEC en DLV een validatie is gedaan.

$ dig +dnssec -t any br. @127.0.0.1
; < <>> DiG 9.5.1-P2 < <>> +dnssec -t any br. @127.0.0.1
;; global options: printcmd
;; Got answer:
;; ->>HEADER< <- opcode: QUERY, status: NOERROR, id: 33043
;; flags: qr rd ra ad; QUERY: 1, ANSWER: 13, AUTHORITY: 7, ADDITIONAL: 1

Het is misschien onnodig om te vermelden, maar DNSSEC is geen oplossing om even te testen, neer te zetten en daarna te vergeten. De komende jaren zullen veel problemen ontstaan welke in het verleden stilletjes zijn ontstaan door slecht ontworpen infrastructuur en infrastructuur welke slecht of geen beheer heeft. En mijn persoonlijk vermoede is dat hier vooral e-mail hinder van gaat ondervinden, maar dat is iets wat tijd ons zal leren en hopelijk heb ik ongelijk.

SXCE b108: hostid per zone

Nog steeds gebruiken veel software leveranciers het hostid van een Solaris-machine om de licentie aan vast te pinnen. Met de komst van zones in Solaris 10 is deze optie een beetje op de achtergrond geraakt, maar nu gebruikers migreren komt het probleem weer naar voren. Zeker omdat een zone gebruik maakt van het hostid van de fysieke machine, maar dit levert problemen op als je de zone wilt verplaatsen naar een andere machine.

Dit probleem is met de release van Solaris Express Community Edition (aka Nevada) build 108 opgelost. In de zone configuratie is de optie opgenomen om een hostid te configureren zodat de zone altijd de juist hostid heeft. Hiermee worden migraties ineens een stuk gemakkelijker en blijft een virtual zone zometeen ook voor elke gebruiker werken. De vraag is wel wat de toegevoegde waarde nog is van een licentie op basis van een hostid, want het commando zonecfg lost je problemen op.

Een herziene blik op Ubuntu 8.10

Melde ik amper een week geleden nog dat de aankomende release Ubuntu 8.10 er redelijk goed uitzag en veel bruikbare features had. Nu moet ik melden dat ik helaas mijn mening moet herzien, want de release was dermate instabiele cq onverspelbaar dat het onbruikbaar begon te worden. Zeker als er geen aantoonbaar bewijs van een bug was in zowel de session afhandeling van GNOME, maar nog meer in de stabiliteit van Xorg welke op de meest onvoorspelbare moment het scherm en keyboard bevroor.

Ben nu ook weer terug bij release 8.04.1 en ik vraag me af of ik 8.10 uberhaupt nog wel ga proberen, want mijn vertrouwen heeft best wel een deuk opgelopen na zoveel jaar Linux gebruik op de desktop. En misschin nog wel meer de manier hoe sommige dingen bij Ubuntu oa niet worden opgepakt terwijl je voor ze aan het testen bent. Alternatieven zoals OpenSolaris, Solaris 11 en Snow Leopard beginnen nu met de komst van ZFSboot ineens nog interessanter te worden. En dat na meer dan 10 jaar Linux op de desktop.

Linux Standard Base 4.0

Er zijn veel Linux-distributies en vele komen er elke week weer bij en vele verdwijnen ook weer. De kern is redelijk stabiel en zal hoogstwaarschijnlijk ook zo blijven in de komende jaren met Red Hat, Novell, Debian en tegenwoordig ook Ubuntu. Maar blijkbaar is de markt te verdeelt en tracht met sinds 2001 eenheid te brengen zoals POSIX dit moest brengen in de Unix-wereld.

Als ik eerlijk ben zal Linux Standard Base me gestolen worden, omdat het simpel weg een vendor dwingende specificatie is en niet richtlijnen aan voldaan moet worden. De grootste twee bezwaren zijn denk ik wel het verplichten van RPM en Qt aangezien dit redelijk bedrijfsafhankelijke oplossingen zijn. Dit geeft ook aan wat er eigenlijk mis is met de LSB en dat ze geen functionele eisen opleggen, maar afdwingen welke leveranciersoplossing er gekozen moet worden.

De toegevoegde waarde van Linux Standard Base is dus eigenlijk niet meer dan als je een applicatie van een derde partij wilt gaan gebruiken zoals bijvoorbeeld van Oracle. Ik ben dan ook meer geneigd om het pad te gaan bewandelen van Sun Solaris waar dingen al jaren volgens bepaalde afspraken worden gedaan die je niet direct verplichten tot een leverancier. Dit is eigenlijk ook de strijd die gaande is binnen Sun Microsystems en het open sourcen van hun producten. En ik kan me er wel iets bijvoorstellen. Ook omdat het geen wat ze misschien het meeste vrezen, het GNU-project, misschien wel hun grootste medestander is in deze strijd samen met de mensen achter BSD.

Helaas is het probleem dat Linux op dit moment beter allround uit de bus komt dan zeg BSD, GNU/Hurd of Solaris. Dit terwijl ze alle drie eigenlijk technologisch beter zijn. Het wordt misschien tijd om of Linux op orde te krijgen of serieus de nadelen van de alternatieven te bekijken en beoordelen of ze opgelost kunnen worden. Want de concurrentie heeft voldoende in huis voor de toekomst waar Linux misschien nog wel jaloers op kan.

Een andere optie is om Linux-distributies te gaan beoordelen op hoe goed ze zijn ingericht qua al geldende standaarden, maar ook vertalingen, documentatie, proactief veiligheidsbeleid. Het kan zijn dat de gemeenschap hier meer mee geholpen is dan bij Linux Standard Base, maar deze is ook meer ontworpen voor bedrijven die software willen verkopen ipv een dienst.