Logical Domains 1.0
Sun hat heute offiziell LDoms veröffentlicht. Ich werde das mal bei Gelegenheit auf einer T2000 ausprobieren und einen Artikel darüber schreiben.
Sun hat heute offiziell LDoms veröffentlicht. Ich werde das mal bei Gelegenheit auf einer T2000 ausprobieren und einen Artikel darüber schreiben.
Weiter gehts mit dem ZFS Special, dieses mal Hardware Fehler:
Um einen Hardware Fehler zu simulieren, habe ich aus dem JBOD eine Disk während dem Betrieb entfernt
Apr 10 10:38:02 newponit scsi: WARNING: /pci@1f,4000/scsi@5/sd@a,0 (sd52): Apr 10 10:38:02 newponit SYNCHRONIZE CACHE command failed (5) Apr 10 10:38:04 newponit scsi: WARNING: /pci@1f,4000/scsi@5/sd@a,0 (sd52): Apr 10 10:38:04 newponit disk not responding to selection Apr 10 10:38:06 newponit scsi: WARNING: /pci@1f,4000/scsi@5/sd@a,0 (sd52): Apr 10 10:38:06 newponit disk not responding to selection Apr 10 10:38:06 newponit scsi: WARNING: /pci@1f,4000/scsi@5/sd@a,0 (sd52): Apr 10 10:38:06 newponit SYNCHRONIZE CACHE command failed (5) Apr 10 10:38:08 newponit scsi: WARNING: /pci@1f,4000/scsi@5/sd@a,0 (sd52): Apr 10 10:38:08 newponit disk not responding to selection Apr 10 10:38:08 newponit scsi: WARNING: /pci@1f,4000/scsi@5/sd@a,0 (sd52): Apr 10 10:38:08 newponit SYNCHRONIZE CACHE command failed (5) Apr 10 10:38:10 newponit scsi: WARNING: /pci@1f,4000/scsi@5/sd@a,0 (sd52): Apr 10 10:38:10 newponit disk not responding to selection Apr 10 10:38:13 newponit scsi: WARNING: /pci@1f,4000/scsi@5/sd@a,0 (sd52): Apr 10 10:38:13 newponit disk not responding to selection Apr 10 10:38:15 newponit scsi: WARNING: /pci@1f,4000/scsi@5/sd@a,0 (sd52): Apr 10 10:38:15 newponit disk not responding to selection Apr 10 10:38:17 newponit scsi: WARNING: /pci@1f,4000/scsi@5/sd@a,0 (sd52): Apr 10 10:38:17 newponit disk not responding to selection Apr 10 10:38:18 newponit scsi: WARNING: /pci@1f,4000/scsi@5/sd@a,0 (sd52): Apr 10 10:38:18 newponit disk not responding to selection SUNW-MSG-ID: ZFS-8000-D3, TYPE: Fault, VER: 1, SEVERITY: Major EVENT-TIME: Tue Apr 10 10:38:38 CEST 2007 PLATFORM: SUNW,Ultra-60, CSN: -, HOSTNAME: newponit SOURCE: zfs-diagnosis, REV: 1.0 EVENT-ID: 2ed00edd-5d3f-e4bc-b09b-fc9c5dd449cf DESC: A ZFS device failed. Refer to http://sun.com/msg/ZFS-8000-D3 for more information. AUTO-RESPONSE: No automated response will occur. IMPACT: Fault tolerance of the pool may be compromised. REC-ACTION: Run 'zpool status -x' and replace the bad device.
Bei parallel SCSI Systemen kann es unter Umständen einige Minuten dauern, bis es einen Timeout gibt und die Disk als Failed angezeigt wird:
root@newponit # zpool status pool: pool0 state: DEGRADED status: One or more devices could not be opened. Sufficient replicas exist for the pool to continue functioning in a degraded state. action: Attach the missing device and online it using 'zpool online'. see: http://www.sun.com/msg/ZFS-8000-D3 scrub: none requested config: NAME STATE READ WRITE CKSUM pool0 DEGRADED 0 0 0 mirror ONLINE 0 0 0 c1t0d0 ONLINE 0 0 0 c5t8d0 ONLINE 0 0 0 mirror ONLINE 0 0 0 c1t1d0 ONLINE 0 0 0 c5t9d0 ONLINE 0 0 0 mirror DEGRADED 0 0 0 c1t2d0 ONLINE 0 0 0 c5t10d0 UNAVAIL 268 1.24K 0 cannot open mirror ONLINE 0 0 0 c1t3d0 ONLINE 0 0 0 c5t11d0 ONLINE 0 0 0 errors: No known data errors
Nachdem die neue Disk ins JBOD eingeschoben wurde, muss man diese nur noch aktivieren:
root@newponit # zpool replace pool0 c5t10d0
Da ZFS genau weiss, welche Daten gesynct werden müssen, geht das wiedereinbinden denkbar schnell. Nach nicht mal 5 Minuten war die Disk wieder in Betrieb:
root@newponit # zpool status pool: pool0 state: DEGRADED status: One or more devices is currently being resilvered. The pool will continue to function, possibly in a degraded state. action: Wait for the resilver to complete. scrub: resilver in progress, 77.35% done, 0h0m to go config: NAME STATE READ WRITE CKSUM pool0 DEGRADED 0 0 0 mirror ONLINE 0 0 0 c1t0d0 ONLINE 0 0 0 c5t8d0 ONLINE 0 0 0 mirror ONLINE 0 0 0 c1t1d0 ONLINE 0 0 0 c5t9d0 ONLINE 0 0 0 mirror DEGRADED 0 0 0 c1t2d0 ONLINE 0 0 0 replacing DEGRADED 0 0 0 c5t10d0s0/o UNAVAIL 268 1.24K 0 cannot open c5t10d0 ONLINE 0 0 0 mirror ONLINE 0 0 0 c1t3d0 ONLINE 0 0 0 c5t11d0 ONLINE 0 0 0 errors: No known data errors root@newponit # zpool status pool: pool0 state: ONLINE scrub: resilver completed with 0 errors on Tue Apr 10 10:57:34 2007 config: NAME STATE READ WRITE CKSUM pool0 ONLINE 0 0 0 mirror ONLINE 0 0 0 c1t0d0 ONLINE 0 0 0 c5t8d0 ONLINE 0 0 0 mirror ONLINE 0 0 0 c1t1d0 ONLINE 0 0 0 c5t9d0 ONLINE 0 0 0 mirror ONLINE 0 0 0 c1t2d0 ONLINE 0 0 0 c5t10d0 ONLINE 0 0 0 mirror ONLINE 0 0 0 c1t3d0 ONLINE 0 0 0 c5t11d0 ONLINE 0 0 0 errors: No known data errors
Es gibt ein paar gute Gründe, warum man man PHP über FastCGI benutzen möchte. Im folgenden Beispiel habe ich Apache 2.2.4 zusammen mit PHP 4.4.4 unter Solaris installiert. Die Anleitung kann man auch problemlos für PHP 5.2.x benutzen.
Als erstes muss man von Blastwave die Pakete apache2, ap2_worker, ap2_modfastcgi, php4_cgi und die je nach Bedarf benötigten PHP Module installieren. Danach kreieren wir im Verzeichnis /opt/csw/apache2/etc/extra ein config File für mod_fastcgi mit dem Namen httpd-fastcgi.conf und folgendem Inhalt:
FastCgiServer /var/www/foo/fcgi-bin/php4-fcgi-starter
Dieses File muss man dann in der httpd.conf includen:
# FastCGI settings Include etc/extra/httpd-fastcgi.conf
Über das File /var/www/foo/fcgi-bin/php4-fcgi-starter wir der FastCGI Server gestartet und sollte folgenden Inhalt haben:
#!/bin/sh PHPRC="/opt/csw/lib" export PHPRC PHP_FCGI_CHILDREN=8 export PHP_FCGI_CHILDREN PHP_FCGI_MAX_REQUESTS=5000 export PHP_FCGI_MAX_REQUESTS TZ=CET export CET exec /opt/csw/bin/php-cgi
Nachdem man auch noch in der /opt/csw/apache2/etc/extra/httpd-vhosts.conf folgende Einträge gemacht hat, ist man eigentlich schon fertig:
<VirtualHost foo:80> DocumentRoot /var/www/foo/htdocs/ ServerName foo.bar.com ServerAlias foo ErrorLog /var/log/apache/foo/error_log
CustomLog /var/log/apache/foo/access_log combined
ScriptAlias /fcgi-bin/ "/var/www/foo/fcgi-bin/" <Directory "/var/www/foo/fcgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory>
<Directory /var/www/foo/htdocs/> Order allow,deny Allow from all Options Indexes +ExecCGI </Directory> AddHandler php-fastcgi .php Action php-fastcgi /fcgi-bin/php4-fcgi-starter DirectoryIndex index.html index.php AddType application/x-httpd-php .php </VirtualHost>
Wichtig ist hier die Option +ExecCGI. Diese Option erlaubt es im entsprechenden Verzeichnis Programme über FastCGI auszuführen.
Jetzt kann man bereits den Apache starten:
# svcadm enable svc:/network/http:cswapache2
Mit ptree sieht das dann so aus:
7369 /opt/csw/apache2/sbin/httpd -k start 7370 /opt/csw/apache2/sbin/httpd -k start 7372 /opt/csw/bin/php-cgi 7375 /opt/csw/bin/php-cgi 7376 /opt/csw/bin/php-cgi 7377 /opt/csw/bin/php-cgi 7378 /opt/csw/bin/php-cgi 7379 /opt/csw/bin/php-cgi 7380 /opt/csw/bin/php-cgi 7381 /opt/csw/bin/php-cgi 7382 /opt/csw/bin/php-cgi 7371 /opt/csw/apache2/sbin/httpd -k start 7373 /opt/csw/apache2/sbin/httpd -k start 7374 /opt/csw/apache2/sbin/httpd -k start
Ich hatte im Februar einen Case bei der Sun betreffend ZFS aufgemacht. Nach gut 1.5 Monaten, wollte ich mich bei der Sun um den Stand des Cases erkundigen, da mir die Sun damals mitgeteilt hatte, dass es sich dabei um einen Bug handeln könne.
Zu meinem Erschrecken musste ich feststellen, dass der Case einfach so geschlossen wurde, ohne mich (ja, ich bin der Kunde) zu benachrichtigen. Das Customer Care Center der Sun hat den Case dupliziert und nach 5 Minuten wurde ich bereits von einem Techniker kontaktiert.
Liebe Sun, es ist nicht akzeptabel, dass der Support Cases schliesst, ohne den Kunden darüber zu informieren, geschweige denn eine Lösung zu präsentieren. Leider ist das auch kein Einzelfall!
Sun bietet seit Jahren mit Jumpstart eine leistungsfähige Installationsumgebung für die Sparc Plattform an. Was viele nicht wissen, ist dass Jumpstart bereits seit längerem auf für Solarix x86 verfügbar ist. Auf BigAdmin ist jetzt ein Howto erschienen, wie man eine Jumpstart Umgebung für x86 aufsetzt.
Template: TheBuckmaker.com Themes for WordPress