HP Microserver N40L, SATA portok, főzött BIOS

Sajnos az N40L-nél is ugyanaz a helyzet alapból, mint az N36L-nél: a 4-5-ös SATA portokat a default HP BIOS IDE módban konfigurálja föl. A 4-es port az eSATA a gép hátulján, az 5-ös pedig az ODD-nek kiosztott port, a gépen belül (0-3-ig kapják a portokat a berakható HDD-k).

Ennek az a folyománya, hogy az ODD portra dugott SSD-vel problémázik a Solaris (lassú és időnként packet errorokat ad, majd helyrerakja a SATA kapcsolatot), illetve a Linux kernel is azt írja ki rá bootnál, hogy 40 eres IDE kábelt érzékel (WTF?), ezért csak UDMA33 módban használja. Ennek ellenére nálam egy teszt erejéig Ubuntu 10.10 alatt röhögve tolt ~150 MB/s-et, de a Solaris belassul tőle, néha rövid időre teljesne megáll.

A megoldás: fölrakni a főzött BIOS-t, ami a 4-5-ös SATA portokat is AHCI módba kapcsolja.

Hozzávalók:
- USB flash utility a HP-tól
- valamilyen USB kulcs, nem kell túl nagy (én egy elfekvő 1 GB-ossal csináltam)
- a főzött BIOS.

A HP utility a pendrive tartalmát levakarja teljesen, tehát ha van rajta fontos cucc, az előtte mentendő.

Systems ROMPaq Firmware Upgrade for HP ProLiant MicroServer (For USB Key-Media)

Főzött BIOS ebben a fórumthreadben található

A fórum tanúsága szerint van vmi flash-util Linuxra is, amivel a művelet elvégezhető, de én Windowson csináltam.

Futtatod a HP ROMPaq telepítőjét, az kitömöríti magát egy könyvtárba. Onnét elindítod, letörli az USB kulcsot és kiírja magát rá (ehhez adminjogok kellenek, ofkorsz). Ezek után nincs más dolgod, mint a pendrive gyökerébe bemásolni a főzött ROM file-t az eredeti helyére.

Bootolsz a pendrive-ról, az automatikusan frissíti a BIOS-t. Ki-bekapcs és utána örülsz a 2 új SATA portnak, de azért a setupba mássz be és nézd meg, hogy AHCI módban van-e mind a 6.

Nekem ezután Solaris 11 alatt a belső 4 vinyó c3t[0123]d0-ként látszódott, az SSD pedig c3t5d0 néven jelentkezett. Telepítettem rá a Solarist, fölment szépen, azóta is problémamentesen működik.

Hozzászólások

BTW, tud valaki Silicon Image-alapú, PCIe-s, 4 portos SATA kártyát, hogy hol lehet venni? :) Rájöttem, hogy az ODD helyére az egyik hot-swap keretemben még 4 mobilvinyó befér. :)

A doksi állításával ellentétben a belső fiókok is hot-swappelhetőek! A kivételt nem próbáltam, de bedugásnál a Solaris érzékeli a SATA hotplug eventet, a kernel ki is írja dmesg-be az új vinyó és a port paramétereit, majd egy

cfgadm -c configure sataX/0

után megjelennek devfs-en is az eszközfile-ok és használható a disk.

--
Java apps are nothing more than sophisticated XML-to-exception converters.

Na? :)

Az itthoni üzletekből úgy tűnik, mintha eltűntek volna a Silicon Image chipes vezérlők. Adaptec 4 portost találtam, de azt nem támogatja a Solarist. Az áráról nem is beszélve, no meg személyes tapasztalat folytán nem bízom a márkában.

--
Java apps are nothing more than sophisticated XML-to-exception converters.

(Erdekes, mar nem tudom hol, de valahol azt olvastam, hogy az N40L-ben mar "rendes" a BIOS. De kosz az info-t.)

Nem az :(
Sajnos nekem most pont ezzel megy a szívás.
SSD ment az ODD helyére, sebesség elérés az hibátlan.
Annyi a fura, hogy minden indításkor más sorrendet állít fel a BIOS, ezért csak UUID alapján lehet mountolni :S
Ez sajnos láncreakcióban hozza a problémákat elő...

Írtam az egyik előző blogbejegyzésemben, hogy roppan egyszerű flash-elni a patkolt BIOS-ra, lépd meg. Linux ugyan tudja használni - egy rövid tesztem alapján - eredeti konfigurációban is az összes SATA portot, a Solaris 11 viszont válogatós és az IDE módú portokon időnként hibázik.

--
Java apps are nothing more than sophisticated XML-to-exception converters.

Nem 4x2 TB, hanem 2x2 és 2x500 GB csak. :) Még föntre akarok berakni 4 db. 2,5"-os 500 GB-os HDD vinyót, ami az előző szerverből "maradt", egy Supermicro hot-swap rackben.

Nem teszteltem a sebességét, csak "belemértem", amikor a régi gépről másoltam át file-okat. _Írásra_ NFS-en át olyan 20-30 MB/s-ot tudott, de ezt csak nagy file-oknál, sok kicsi file esetén leesett nagyon. rsync/SSH-n keresztül olyan 20-25 MB/s-mal írt. Olvasási tesztet nem csináltam.

--
Java apps are nothing more than sophisticated XML-to-exception converters.

Megléptem, még mindig van vele gond, még pedig a köv:

Minden indításkor, vagy újra indításkor az ODD-re szúrt SSD-t az ubuntu server 10.04LTS hol legelsőnek látja (sda), hol pedig sde -nek.
A többi négy sorrendje változatlan.

Jelenleg erre próbálok rájönni, hogy miért van ez :(

Ez attól függ, hogy az Ubuntu initrd hogyan pásztázza végig a PCI buszokat és a talált vezérlők sorrendjében hogyan tölti be a drivereket, azok hogyan inicializálják magukat stb.

Régebben - legalábbis Debianon - lehetett valami /etc/ alatti file-tban explicit sorrendet megadni, amit egy update-initramfs után betárazott és abból dolgozott, mielőtt automatikusan töltögette volna őket. De használj inkább LVM-et, vagy UUID-alapú mountolást, az sokkal rugalmasabb.

--
Java apps are nothing more than sophisticated XML-to-exception converters.

Debian wheezy, Ocz Agility 3, patchelt bios fent.
Sebesség szerintem nem elég jó.

hdparm -tT
SSD-re

Timing cached reads: 3006 MB in 2.00 seconds = 1503.17 MB/sec
Timing buffered disk reads: 744 MB in 3.01 seconds = 247.27 MB/sec

SATA diszkre

Timing cached reads: 2988 MB in 2.00 seconds = 1494.10 MB/sec
Timing buffered disk reads: 514 MB in 3.01 seconds = 171.04 MB/sec

Raid5 tömbre

/dev/md1:
Timing cached reads: 3048 MB in 2.00 seconds = 1524.18 MB/sec
Timing buffered disk reads: 1252 MB in 3.00 seconds = 416.71 MB/sec

fstab beállítása
noatime,nodiratime,discard,errors=remount-ro 0

Mit kellene még finom hangolnom?

Model=OCZ-AGILITY3, FwRev=2.25,
Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=468862128
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6
AdvancedPM=yes: unknown setting WriteCache=disabled
Drive conforms to: unknown: ATA/ATAPI-2,3,4,5,6,7