Tällä hetkellä palvelimessa on kaksi 10-ytimistä Xeon E5-2690 v2 -prosessoria ja 144 Gt keskusmuistia. Käynnistyslevynä on kaksi 10k rpm 300 Gt SAS-levyä RAID 1 -konfiguraatiossa ja datalevynä kuusi teran SAS-levyä RAID 5 -konfiguraatiossa.

Tämä kirjoitus on julkaistu alkuaan jo noin vuosi sitten, mutta en silloin vielä ottanut palvelinta käyttöön. Syynä oli lähinnä hankaluudet käyttöjärjestelmien kanssa ja kun edeltäjä toimi ongelmitta, ei ollut riittävän hyvää syytä vaihtaa. Lopullinen palvelimien vaihto tapahtui 1.11.2022.

Olen korjannut tärkeimpiä kohtia kirjoituksessa vastaamaan nykyhetkeä, mutta paljon on sellaista, että korjaaminen tai käytännössä uudelleenkirjoittaminen olisi liian työlästä.

Edeltäjä ML350 G5

DL380 tulee korvaamaan nykyisen palvelinkoneeni HP ProLiant ML350 G5:n. ML350 G5 -koneita minulla on kaksi. Alla tiedostopalvelimena toimivan esittelyä.

Tiedostopalvelimen raidz2-pakassa on nyt 23 510 112 tiedostoa tai hakemistoa ja levytilaa on k√§ytetty 19 361 183 872 kilotavua (runsas 19 teratavua). En en√§√§ muista tuon projektin alkuvaiheita kunnolla, mutta nykyisess√§ kokoonpanossaan se on ollut jo 5¬Ĺ vuotta. Tiedostoj√§rjestelm√§ksi valitsin ZFS:n ja sen takia k√§ytt√∂j√§rjestelm√§n√§ oli aluksi OpenSolaris ja pian OpenIndiana. ZFS:√§√§ aloin tutkimaan loppuvuonna 2011 ja alkuvuodesta 2012 sen voi sanoa olleen tuotantok√§yt√∂ss√§.

Toinen ML350 G5 toimii yleispalvelimena, mm. www, sähköposti ja ssh, ja reitittimenä sekä palomuurina. Siinä oli jonkin aikaa kaksi neliytimistä Xeon E5440 2,83 GHz -prosessoria, mutta poistin toisen suuren sähkön kulutuksen takia. Se tippui noin 370 Watista noin 230 Wattiin. CPU Mark -arvo vuonna 2009 myyntiin tulleella LGA771-kantaisella prosessorilla on vain 2 246, joten on jo aikakin, että koko kone siirtyy alkuperäiseen käyttötarkoitukseensa, tiedostopalvelimen varaosiksi.

Lopuksi täytyy vielä lisätä, että tiedostopalvelimena oleva ML350 on oikeastaan vain backup-palvelin, niin harvoin se on päällä. Eikä se ole siinä kunnossa, että sitä kannattaisi käynnistää viikottain tai edes kuukausittain. Vuosi voi olla vähän liian pitkä aikaväli, jos ajattelee säännöllistä RAID 5 -pakan backuppia, joka sekin on jo niin hyvin varmistettu, että toisaalta aikaväli voisi olla useampikin vuosi.

Tuota kuntoa pitänee hieman selventää. Kunto tai sen puute on kätevä sana kuvaamaan sitä, että pelkkä tiedostolistauksen tulostaminen juuri käynnistetyltä ML350:n raidz2-pakalta kestää noin vuorokauden. Aikaa voi hyvin merkittävästi lyhentää seuraavilla kerroilla, jos esimerkiksi liittää raidz2-zpooliin cache-laitteeksi nopean NVMe-levyn M.2.-liitännän lisäkortilla, mutta cache-laitteen sisältö merkitään aina likaiseksi, kun se otetaan käyttöön koneen käynnistymisen yhteydessä. Toimivin ratkaisu olisi kuitenkin hakemistopuiden siirtäminen tiedostoineen pakattuihin arkistotiedostoihin eli tiedostomäärän radikaali vähentäminen. Osan voisi ehkä ennen arkistoihin poistamista odottamaan siirtoa poistaa ilman turhaa välivaihettakin.

DL380p Gen8

IT Creationsin vajaa neliminuuttinen DL380p Gen8:n esittely käy läpi koneen tärkeimmät ominaisuudet.

DL380 on 2U eli noin 9 cm korkea räkkiasennettava palvelinmalli. Proliant Gen8-sarjan palvelimissa prosessorikanta on useimmissa malleissa LGA2011 (v1) ja kaksiprosessorisiin malleihin voi asentaa Xeon E5-[24][46]xx (v1) ja v2 eli Sandy Bridge- ja uudemman Ivy Bridge -arkkitehtuurin prosessoreja. V2-prosessorit vaativat BIOS- ja BIOS bootblock -päivityksen, joka on ladattavissa HPE:n sivuilta ilman tukisopimusasiakkuutta. Ohjesivu on Instructions for Upgrading an HP ProLiant Gen8 Server From an Intel Xeon Processor E5-2600, E5-2400, or E5-4600 to an Intel Xeon Processor E5-2600 v2, E5-2400 v2, or E5-4600 v2, jossa on latauslinkki päivityksen käynnistys-CD:n näköistiedostoon.

HP ProLiant DL380p Gen8 julkaistiin jo vuoden 2012 loppupuolella, mutta PCMag UK julkaisi siitä ensiarvion vasta heinäkuussa 2013. Artikkelin mukaan sen lähtöhinta tuolloin oli 2 659 USD ja HP:n lähettämän kokooonpanon hinta oli yli 14 000 USD. Keskeiset tiedot olivat 128 GB keskusmuistia, kahdeksan 300 GB 10k rpm SAS-kiintolevyä ja kaksi Xeon E5-2690 -prosessoria. Minun kokoonpanossani kaikki on nopeampaa, enemmän tai suurempaa. Hinta siis kesällä 2013 olisi ollut vähintään 16 000 USD.

Alla hidastempoinen (yllä olevaa omaa videota on nopeutettu) vilkaisu DL380:n sisälle.

Prosessorit

Aluksi DL380:ss√§ oli vain yksi Xeon E5-2640, mutta tilasin Saksasta eBayn kautta toisen hintaan 15,84 ‚ā¨ postikuluineen. Seuraavaksi tilasin Kiinasta kaksi Xeon E5-2650 v2 -prosessoria hintaan 41,38 ‚ā¨ postikuluineen. Viimeisin prosessoritilaus oli Kiinasta kaksi E5-2690 v2:sta hintaan 147,39 ‚ā¨ postikuluineen.

Alla on kuvakaappaus cpubenchmark.netin vertailusta, jossa ensimmäinen CPU on Intelin nopein työpöytäkäyttöön valmistama malli silloin, kun ostin DL380:n, seuraava DL380:n alkuperäinen, välivaiheen prosessori ja nykyinen. Viimeinen on Salon kansalaisopiston tietokoneluokkien koneiden prosessori syksyllä 2021. Huomaa että kaksi E5-2690 v2 -prosessoria ovat yhdessä tehokkaampia, yhteenlaskettu CPU Mark 26 812, kuin yksikään tavallinen Intelin työpöytäkone-CPU, joita ei voida käyttää moniprosessoriemolevyissä. AMD:llä tosin on paljon tehokkaampia 16-ytimisiä työpöytäprosessoreja. Lisäksi 4.11.2021 julkaistuissa Intelin Alder Lake prosessorisukupolven prosessoreissa on jo vihdoin tehokkaampia malleja.

Cpubenchmark.netin hintatiedot ovat uusien prosessorien osalta oikeita, mutta k√§ytettyjen hinnat ovat AliExpressiss√§ ja eBayss√§ paljon halvempia. Verkkokauppa.comissa on myynniss√§ vain aavistuksen verran hitaampi Intel Core i9-11900K -suoritin hintaan 596,9 ‚ā¨ ilman tuuletinta. Amazonissa ja Neweggiss√§ se on 50 USD halvempi kuin Intel Core i9-11900KF. Halvin heti saatavilla oleva LGA1200-emolevy Verkkokauppa.comissa maksaa kirjoitushetkell√§ (syksy 2021) 219,9 ‚ā¨.

DL380:een saisi hieman viel√§kin nopeampia prosessoreita, mutta ne ovat 12-ytimisi√§ ja yhden ytimen nopeus (Single Thread Rating) on hitaampi. Lis√§ksi hinta on korkeampi. HP:n tukemien listalla nopeimman, Xeon E5-2697 v2:n CPU Mark on 14 124, Single Thread Rating 1 749 ja kahden kappaleen hinta 213 ‚ā¨ postikuluineen.

Yksi prosessorien nopeuteen selvästi vaikuttava tekijä on Spectre- ja Meltdown-haavoittuvuuksien BIOS-korjauspäivitys. Sellaisen asentaminen hidastaisi konetta muistaakseni yli 10 % ja ko. haavoittuvuuksia voidaan hyödyntää vain, jos käytössä on lähinnä haitallinen HyperThreading-ominaisuus. Järkevintä on siis olla asentamatta liian uutta BIOS-versiota ja olla käyttämättä haavoittuvuuksille altistavaa sekä useissa tapauksissa hidastavaa HyperThreadingia.

Kun nykyisessä kokoonpanossa on prosessoriytimiä 16 ja hyvin pian 20, on käytännössä mahdotonta löytää ohjelmistoa, joka skaalautuisi eli osaisi hyödyntää tehokkaasti kaikkia ytimiä. Jos ytimien määrä tuplataan, tuplautuu myös skaalautuvuusongelma ja ydintä kohden varattu prosessorin sisäinen erittäin nopea välimuisti ja ydintä kohden ulkoisen muistiväylän saatavuus puolittuu. HyperThreading on hyödyllinen silloin, kun ytimiä on kaksi tai neljä, kun ytimiä on kahdeksan, se saattaa hyvinkin olla jo haitallinen ja on jo varmasti sitä, kun ytimiä on 16 tai 20.

Keskusmuisti

Vain palvelinkoneisiin sopiva rekister√∂ity ECC-virheenkorjaava DDR3-muisti on k√§ytettyn√§ h√§vytt√∂m√§n halpaa. Olen maksanut nelj√§n 4 Gt 1 333 MHz PC3-10600R-muistikamman setist√§ yhteens√§ 10 ‚ā¨. Yhteens√§ 4-gigaisia kampoja koneessa on nyt 20 kpl, viisi nelj√§n kamman setti√§, yhteens√§ 80 Gt eli 50 Euron arvosta. Lis√§ksi minulla sattui olemaan nelj√§ 8-gigaista PC3-8500R-kampaa, jolloin kokonaism√§√§r√§ oli 112 Gt. Vaikka ne ovat hitaampia, 1 067 MHz, tiputtaa BIOS 1 333 MHz muistien nopeuden siihen, jos asennettuna on maksimim√§√§r√§ 24 muistikampaa. Sill√§ taas ei ole merkityst√§, jos jokaisella muistikanavalla on t√§ydet nelj√§ kampaa. Muistipiirien nopeudella alkaa olla merkityst√§ vasta, kun kanavalla on vain kaksi muistikampaa.

Muistia tuli hieman vahingossa lis√§√§, kun ostin kes√§ll√§ HP:n Z420-ty√∂asemakoneen k√§ytettyn√§ ja siihen 8- ja my√∂hemmin 16-gigaisia muistikampoja. 16-gigaiset olivat quad rank -tyyppisi√§ ja niit√§ DL380 huolii vain joka toiseen muistikantaan, kun taas Z420:een pystyi asentamaan kaikki 8 ostamaani 16-gigaista eli yhteens√§ 128 Gt muistia. Z420 on k√§tev√§ DL380p G8:n parina, koska niiss√§ voi k√§ytt√§√§ l√§hes kaikkia samoja muistikampoja sek√§ prosessoreita. Ennen 16-gigaisia muistikampoja olin ostanut Z420:een 8 kpl 8-gigaisia muisteja, joten siirsin ne DL380:een ja muistim√§√§r√§ kohosi 144 gigaan. Alkuper√§inen suunnitelma oli suunnilleen niin, ett√§ Z420:een olisi tullut vain puolet 16-gigaisista, ja ostin niit√§ kuitenkin 8 kpl, koska halusin testata, voiko siihen asentaa per√§ti kaikki 8 muistikampaa 16-gigaisia. Se ett√§ DL380 oli se rajoittuneempi, oli pienoinen yll√§tys, mutta maksoin 16-gigaisista muisteista vain 15 ‚ā¨/kpl, yhteens√§ 120 ‚ā¨.

DL380:ss√§ on ollut kaikkia n√§it√§ muisteja. Ylimp√§n√§ olevia 8-gigaisia siin√§ on nyt nelj√§, Samsungin 4-gigaisia tuli samassa paketissa kuin itse kone 12 kpl, samanlaisia Hynixin kampoja on nyt 8 kpl ja alimmat hieman erilaiset, PC3L-tyyppiset nelj√§ Hynixi√§ olivat alkuper√§isi√§, mutta palautan ne myyj√§lle. Niiden toiminnassa oli er√§√§ss√§ vaiheessa “mielenkiintoisia” ongelmia.

Ulkomailla eli eBayssä ja AliExpressissä DDR3-palvelinmuisti näyttää olevan lähes neljä kertaa kalliimpaa. Suomessa yritysten poistamia tietokoneita ja tarvikkeita myyvä MP-IT Computers ei kuitenkaan myy ulkomaille ja varmaankin sen takia tarjontaa on enemmän kuin kysyntää muisteissa. Toisaalta taas vanhoista prosessoreista suomalaiset alan yritykset pyytävät lähes naurettavan paljon.

Tavallinen DDR3-muisti on k√§ytettyn√§kin selv√§sti kalliimpaa kuin k√§ytetty rekister√∂ity ECC-muisti. Luotettavin vertailukohta on kuitenkin uuden tavallisen muistin hinta. Verkkokauppa.comissa halvin 4-gigainen DDR3 maksaa 20,9 ‚ā¨ ja 8-gigainen 37,9 ‚ā¨. Vastaava m√§√§r√§ tavallista muistia maksaisi siis 569,6 ‚ā¨.

Kiintolevyt

Vasemmalla Toshiban valmistama 10k rpm 300-gigainen SAS-levy ja oikealla Seagaten 7200 rpm 1-terainen Constellation.2-sarjan SAS-levy.

Koneessa oli alkuperäisinä kaksi 300-gigaista levyä RAID1 eli peilaavana loogisena levynä. Lisäksi ostin lisää neljä käytettyä teran levyä, jotka ovat RAID5-pakkana eli loogisen levyn koko on kolme teraa.

Toshiban levyjen tiedot valmistajan sivulla: AL13SEBxxx SERIES ENTERPRISE PERFORMANCE HDD ja Seagaten Constellation.2‚ĄĘ Data Sheet.

Koneen emolevyllä oleva 8-porttinen Smart Array P420i Controller SAS-ohjain on hämmästyttävän nopea laitetason RAID-ohjain. Kolmeteraisen RAID5-pakan lukunopeus on hdparm-ohjelman mukaan nopeampi kuin kolme kertaa yksittäisen levyn lukunopeus valmistajan mukaan eli enemmän kuin 3 x 115 Mt/s.

Toinen 300-gigainen levy onkin Seagaten valmistama. Kuvaan mahtui myös M.2-liitäntäisten levyjen adapteri, joka on todella yksinkertainen vehje. Adapterissa on asennettuna yksi NVMe SSD -levy.

Seagaten Savvio¬ģ 10K.6 SAS Product Manual kertoo, ett√§ levyn suurin lukunopeus on 195 Mt/s. RAID1-pakan lukunopeus on kuitenkin hdparmin mielest√§ yli 300 Mt/s. sda on alla kuvakaappauksessa suurempi RAID5-pakka ja sdb 300-gigainen RAID1-pakka.

wolrk18.sh on tekemäni hyvin yksinkertainen skripti, jonka tarkoitus on pitää muistissa koneen MAC-osoite. wol on tietysti ohjelma, joka herättää jonkun toisen koneen W(ake)O(n)L(an)-toiminnolla.

[root@rk9 ~]# cat /usr/local/bin/wolrk18.sh
#!/usr/bin/sh
wol ac:16:2d:6e:a6:ac
CPU-päivityksen, Xeon E5-2690 v2, jälkeen keskusmuistin eli cached reads nopeus oli lähes aina yli 10 000 MB/sec.
Proliant Gen8- ja Gen9-levykelkoissa on neljä lediä, joista yksi on neljän ledin ryhmä ja yksi monivärinen. Käynnistyksen yhteydessä levykelkat esittävät lyhyen valoshown.
Vasemmalla ylhäällä on 300-gigaiset levyt, joiden aktiviteettirenkaan ledeistä kaksi on päällä. Oikealla olevia RAID5-pakan levyjä tunnistetaan koneen käynnistyessä.

300-gigaiset kuuluivat koneen hintaan, mutta niit√§ on kaupattu kympill√§. Teran levyist√§ maksoin 40 ‚ā¨/kpl ja tingin levykelkan hinnan 15 Eurosta kymppiin. Nelj√§ kumpaakin maksoi siis yhteens√§ 200 ‚ā¨. Koneeseen j√§i viel√§ tilaa kahdelle levylle, mutta kun minulla on erillinen tiedostopalvelinkone ja siell√§ runsaasti vapaata tilaa, on kolmekin teraa varsin hulppea m√§√§r√§ tallennustilaa. Se nyt hieman harmittaa, ett√§ maksamalla satasen lis√§√§, olisi loogisen levyn lukunopeus ollut v√§hint√§√§n 5 x 115 eli 575 Mt/s eli melko tarkkaan SSD-levyjen maksiminopeus. Halvin neliterainen SSD-levy maksaa nyt 390 ‚ā¨ Verkkokauppa.comissa.

SAS ja tavallisissa tietokoneissa yleisempi levyliit√§nt√§ SATA ovat fyysisesti yhteensopivia. SAS-ohjaimiin voidaankin liitt√§√§ my√∂s SATA-levyj√§, mutta samassa loogisessa taltiossa tai RAID-pakassa levyjen liit√§nn√§t on oltava samoja. SATA-adaptereihin ei kuitenkaan voi liitt√§√§ SAS-levyj√§, joten k√§yt√∂st√§ poistettujen palvelinkoneiden SAS-levyill√§ on rajoitetut markkinat ja lis√§ksi ne kilpailevat edullisten uusien SATA-levyjen kanssa. eBayss√§ vanhoja SAS-levyj√§ on runsaasti myynniss√§ ja maksamani 40 ‚ā¨ teratavun kokoisesta levyst√§ on melko edullinen, mutta ei halvin mahdollinen hinta.

Levyjen lisäys jälkikäteen RAID-pakkaan

Kyllä kolme teraa pitäisi ihan hyvin riittää, mutta kun paikkoja levyille oli tyhjänä kaksi, niin ne piti täyttää, kun nopeuskin näytti kasvavan ihan lineaarisesti. Päätöstä helpotti se tieto, että jo olemassa olevaan RAID-pakkaan voisi lisätä levyjä rakentamatta sitä uudelleen. Se ominaisuus oli ollut jo vaikka kuinka pitkään Linuxin softa-RAID:ssa, jota en ole edes käyttänyt enää noin kymmeneen vuoteen.

Valmisteluja oli kontrollerin firmwaren päivitys uusimpaan: versio 8.32 (2. 11. 2017), paketista hp-firmware-smartarray-46a4d957a7-8.32-1.1.x86_64.rpm, jonka voi ladata sivulta Supplemental Update / Online ROM Flash Component for Linux (x64) РSmart Array P220i, P222, P420i, P420, P421, P721m, and P822. Vanhan versio oli 3.04 ja varmaankin vuodelta 2012, kuten koneen muutkin alkuperäiset laitteistoohjelmat.

eBayss√§ on muuten myynniss√§ samanlaisia k√§ytettyj√§ SAS/SATA-kontrollereja, mutta tavanomaisena lis√§korttina, noin hintaan 30 ‚ā¨. Esimerkiksi nimikkeell√§ HP 631670-B21 Smart Array P420 1GB FBWC 6Gb 2-ports SAS Controller with Battery myyt√§v√§ maksaa juuri nyt 30,01 ‚ā¨ ilmaisella postituksella ja siin√§ on yht√§ paljon v√§limuistiakin. 2 porttia tarkoittaa, ett√§ kontrollerin pariksi pit√§√§ hankkia kaksi nelj√§√§n SAS/SATA-datakaapeliksi haarautuvia kaapeleita. eBayss√§ uusi kaapelipari nimikkeell√§ 2x Mini SAS to 4 SATA SFF-8087 Multi-Lane Forward Breakout Cable 3 Feet/1M-NEW maksaa 14 ‚ā¨ Kiinasta postikuluineen. Muillakin valmistajilla, kuten IBM, Dell ja LSI, on samanlaisia kontrollereita ja niidenkin hinnat ovat varsinkin k√§ytettyin√§ hyvin alhaisia.

Lisälevyt ovat Dellin leimalla, mutta ihan samoja teran Seagate Constellation.2 7200RPM-levyjä kuin aiemmat HP:n leimaamat.

En ole viel√§ saanut luottokorttilaskua levyostoksesta, joten en tied√§ kahden teran SAS-levyn lopullista hintaa euroissa, mutta 108,34 USD olisi kirjoitushetken kurssin mukaan 96,90 ‚ā¨. Siin√§ on tietysti postimaksu ja ALV jo mukana. Isommat 3,5-tuumaiset SAS-levyt ovat muuten hyvin halpoja k√§ytettyin√§. Olin ostaa 8 kpl kahden teran 3,5-tuumaisia Ranskasta kappalehintaan alle 15 ‚ā¨ kunnes huomasin niiden hankalan koon.

RAID 5-pakan koon kasvattamiseen ja uudelleenrakentamisen seuraamiseen käytin komentoriviohjelmaa ssacli, joka löytyi HPE:n Management Component Pack -kokoelmasta. Kokoelman ja ohjelman käytöstä löytyy Wiki-sivusto osoitteessa https://wiki.webko.net.ua/index.php?title=HP_ProLiant_G8.

Ohjelmien asennus, ensimmäisen levyn lisäys RAID 5 -pakkaan, uudelleenrakentamisen seuraaminen ja loogisen levyn koon kasvattaminen:

# yum install -y ssacli ssaducli ssa
# ssacli ctrl all show config

Smart Array P420i in Slot 0 (Embedded)   

Note: Predictive Spare Activation Mode is enabled, physical drives that are in predictive failure state will not be available for use as data or spare drives.

 (sn: 0014380227E4500)



  Internal Drive Cage at Port 1I, Box 2, OK



  Internal Drive Cage at Port 2I, Box 2, OK


  Port Name: 1I

  Port Name: 2I

  Array A (SAS, Unused Space: 0  MB)

     logicaldrive 1 (279.37 GB, RAID 1, OK)

     physicaldrive 1I:2:1 (port 1I:box 2:bay 1, SAS HDD, 300 GB, OK)
     physicaldrive 1I:2:2 (port 1I:box 2:bay 2, SAS HDD, 300 GB, OK)


  Array B (SAS, Unused Space: 0  MB)

     logicaldrive 2 (2.73 TB, RAID 5, OK)

     physicaldrive 2I:2:5 (port 2I:box 2:bay 5, SAS HDD, 1 TB, OK)
     physicaldrive 2I:2:6 (port 2I:box 2:bay 6, SAS HDD, 1 TB, OK)
     physicaldrive 2I:2:7 (port 2I:box 2:bay 7, SAS HDD, 1 TB, OK)
     physicaldrive 2I:2:8 (port 2I:box 2:bay 8, SAS HDD, 1 TB, OK)

  Unassigned

     physicaldrive 1I:2:4 (port 1I:box 2:bay 4, SAS HDD, 1 TB, OK)

  SEP (Vendor ID PMCSIERA, Model SRCv8x6G) 380  (WWID: 50014380227E450F)

[root@rk18 ~]# ssacli ctrl slot=0 ld 2 add drives=allunassigned  
[root@rk18 ~]# ssacli ctrl all show config                      

Smart Array P420i in Slot 0 (Embedded)   

Note: Predictive Spare Activation Mode is enabled, physical drives that are in predictive failure state will not be available for use as data or spare drives.

 (sn: 0014380227E4500)



  Internal Drive Cage at Port 1I, Box 2, OK



  Internal Drive Cage at Port 2I, Box 2, OK


  Port Name: 1I

  Port Name: 2I

  Array A (SAS, Unused Space: 0  MB)

     logicaldrive 1 (279.37 GB, RAID 1, OK)

     physicaldrive 1I:2:1 (port 1I:box 2:bay 1, SAS HDD, 300 GB, OK)
     physicaldrive 1I:2:2 (port 1I:box 2:bay 2, SAS HDD, 300 GB, OK)


  Array B (SAS, Unused Space: 1192297  MB)

     logicaldrive 2 (2.73 TB, RAID 5, Transforming, 0.01% complete)

     physicaldrive 1I:2:4 (port 1I:box 2:bay 4, SAS HDD, 1 TB, OK)
     physicaldrive 2I:2:5 (port 2I:box 2:bay 5, SAS HDD, 1 TB, OK)
     physicaldrive 2I:2:6 (port 2I:box 2:bay 6, SAS HDD, 1 TB, OK)
     physicaldrive 2I:2:7 (port 2I:box 2:bay 7, SAS HDD, 1 TB, OK)
     physicaldrive 2I:2:8 (port 2I:box 2:bay 8, SAS HDD, 1 TB, OK)

  SEP (Vendor ID PMCSIERA, Model SRCv8x6G) 380  (WWID: 50014380227E450F)

[root@rk18 ~]# date ; ssacli ctrl slot=0 ld 2 show status
to 24.2.2022 21.03.47 +0200

  logicaldrive 2 (2.73 TB, RAID 5): Transforming, 10.36% complete


[root@rk18 ~]# date ; ssacli ctrl slot=0 ld 2 modify size=max forced

K√§ytin date-komentoa, jotta varsinainen komento saisi “aikaleiman” ja laskin jo puolen tunnin kuluttua arvion siit√§, milloin homma olisi valmis. Uudelleenrakentuminen vei noin 27 tuntia. Sen j√§lkeen hdparmilla lukunopeuden testaus:

[root@rk18 ~]# hdparm -Tt /dev/sda

/dev/sda:
Timing cached reads:   20014 MB in  1.99 seconds = 10033.8 MB/sec
Timing buffered disk reads: 1424 MB in  3.00 seconds = 477.8 MB/sec

Luvut ovat kolmen testauskerran keskiarvoja. Kuudennen levyn lisääminen oli yhtä hidasta, noin 27 tuntia, mutta lukunopeus ei enää kasvanutkaan lineaarisesti vaan oli aluksi 523,41 Mt/s, kun sen oli voinut odottaa olevan lähes 600 Mt/s. Neljällä levyllä lukunopeus oli noin 372 Mt/s, joka on yllättäen enemmän kuin kolme kertaa Seagaten ilmoittama lukunopeus 115 Mt/s.

Levyjen lis√§√§minen ja RAID-pakan uudelleenrakennus eiv√§t vaadi koneen sammuttamista ja uudelleenk√§ynnistyst√§. Sen sijaan osion tai osioiden koon muuttaminen vaatii sen, koska en l√∂yt√§nyt mit√§√§n keinoa saada Linuxin ytimen lukemaan uudelleen SAS-kontrollerin luoman loogisen levylaitteen kokoa uudelleen. Uudelleenk√§ynnistyksest√§ oli my√∂s se etu, ett√§ RAID-pakan lukunopeus nousi ja oli l√§hell√§ viiden levyn yhteist√§ lukunopeutta (viimeinen eli t√§ss√§ tapauksessa kuudes “menetet√§√§n” pariteetille). Seuraava komentorivi antoi tuloksia v√§lill√§ 546 ja 573 Mt/s:

hdparm -Tt /dev/sda /dev/sda /dev/sda | awk 'BEGIN{tot=0};/buffered/ {tot=tot+$11};END{print tot/3}'

Laiteostokset

On tähän harrasteprojektiin uponnut jo hieman rahaakin. Osan, ainakin Xeon E5-2650 v2 -prosessorit, aion kyllä myydä pois ja nVidian Quadro K2000 -näyttökortti maksoi 599 USD, kun se julkaistiin. Sitä ei ollut aiemmassa 16 000 USD:n hinta-arviossa vuonna 2013 mukana.

Laite/komponenttiHinta, ‚ā¨
DL380p Gen8220
Jäähdytinsiili10
3 x tuuletin15
Riser-kortti20
8 x 4Gb muistit20
Xeon E5-264015,84
2 x Xeon E5-2650 v241,38
4 x 1 Tt levyt ja kelkat208
nVidia Quadro K2000 näytönohjain30
2 x Xeon E5-2690 v2147,39
4 x 4Gb muistit10
Yhteensä737,61
Kaikissa hinnoissa paitsi viimeisessä on mukana postitus ja ALV.

Jos l√§hes vastaavaa uutta konetta kasaisi, maksaisi Intel Core i9-11700K -prosessori ja sille halvin emolevy Verkkokauppa.comissa yhteens√§ 816,8 ‚ā¨. Kun siihen lis√§isi yhteensopimasti DDR3-muistia 112 Gt aiemman laskelman mukaisesti, olisi kokonaissumma jo 1 386,4 ‚ā¨.

Laskelmasta puuttuu kaksi lis√§tty√§ teratavun levy√§ ja niiden kelkat, 12 kpl 8 Gt muistikampaa, USB 3.0 lis√§kortti ja M.2-liit√§nt√§isten NVMe-levyjen adapteri sek√§ SSD-levykortti siihen. Lis√§korteilla ei kuitenkaan ole t√§ll√§ hetkell√§ k√§ytt√∂√§ ja ne voisi poistaa kuten my√∂s n√§yt√∂nohjaimen, joka on jo poistettu. Xeon E5-2650 v2:t on jo myyty pienell√§ voitolla ja Xeon E5-2640 v1:kin pit√§isi myyd√§. 8-gigaisia muistikampoja en ole ostanut yht√§k√§√§n DL380:t√§ varten, ne ovat vain “k√§tev√§sti” j√§√§neet yli muista projekteista. Huippuhalvoilla 4-gigaisillakin, 24*4 = 96 gigaa olisi riitt√§nyt aivan mainiosti ainakin “alkuun”. Toisaalta nyt joulun alla 2022 tuli Huuto.netiin myyntiin varsin mielenkiintoisia muistikampoja, myynti-ilmoituksesta: “32GB 4Rx4 PC3L-10600L, Low Voltage tyyppinen, rekister√∂ity (ECC Reg.) muisti.
T√§m√§ on ns Quad-rank muistia, mik√§ on syyt√§ huomioida joittenkin palvelimien muistikonfiguraatioissa. Joihinkin koneisiin voi Quad-rank muisteja laittaa vain joka toiseen muistipaikkaan.” DL380:n maksimimuistim√§√§r√§ on 768 Gt, joka onnistuu vain tuollaisilla LRDIMM (Load-Reduced DIMM) -palvelinmuisteilla. Kappalehintapyynt√∂ on 30 ‚ā¨. Ostaisiko sit√§ itselleen viel√§ joululahjan? Laskelma siis kuitenkin viel√§ el√§√§.

iLO 4

Ennen käyttöjärjestelmä- ja ohjelmistovalintoja on syytä esitellä HP Integrated Lights-Out tai iLO, joka on laitteiston ja ohjelmiston välimaastossa. Sen edeltäjät olivat lisäkortteja, joilla pystyttiin hallitsemaan palvelinkoneita verkon kautta. iLOn voisi ajatella olevan erillinen palvelimessa oleva tietokone ja ohjelmisto, jolla hallitaan palvelinta silloinkin, kun palvelinta ei ole vielä käynnistetty tai se on jumittunut niin pahoin, että normaalisti jouduttaisiin käyttämään reset- tai virtakatkaisijaa.

Proliant DL380p Gen8:n iLO 4 kuluttaa sähköä noin 8 10 W yhdellä virtalähteellä ja 10 12 W kahdella silloin, kun konetta ei ole käynnistetty. ML350 G5:n iLO 2 taas kuluttaa peräti 18 W yhdellä virtalähteellä, joten Ledvancen kännykällä WiFi-ohjattava sähköpistorasia tai ajastin olisi pidemmällä tähtäimellä järkevä ratkaisu tiedostopalvelimelleni.

Alla on taas melko hidastempoinen video, jota on syytä nopeuttaa ainakin Youtuben mediasoittimen salliman kaksinkertaistuksen verran.


Uhrituulettimet

Pari vuotta sitten redditin r/homelab-palstalla julkaistiin kirjoitus otsikolla “Silence of the fans: Controlling HP server fans with a modified iLO4. And MORE!” (Elokuvan Uhrilampaat alkukielinen nimi on The Silence of the Lambs.)

Ilmeisesti kaikkien Proliant Gen8 ja Gen9 -palvelinten, joissa on iLO 4, ongelmana on tuulettimien äänitaso. Erityisen paha se on matalissa DL380- (2U) ja DL360- (1U) -malleissa. Mitä pienempi tuulettimen halkaisija on eli mitä matalampi kone on, sitä äänekkäämpi se on.

Jos DL380p Gen8:ssa ei ole lisäkortteja, häiritsee tuulettimien melu paljon vain koneen käynnistyessä, mutta ei se kovin hiljainen ole koskaan käynnissä ollessaan. Jos koneeseen kuitenkin asentaa yhdenkin lisäkortin, on melutaso jo melkoisen sietämätön vähänkään pitempään kuunneltuna. Voisi tietysti luulla, että HP:n itse valmistamat ja DL380:n kanssa yhteensopiviksi listaamat lisäkortit eivät saisi tuulettimia villiintymään, mutta ainakin HP:n valmistama tai valmistuttama näyttökortti nVidia Quadro K2000 saa ne huutamaan suunnilleen kaksinkertaisilla kierroksilla.

Redditin kirjoituksessa neuvottiin hakemaan muokattu iLO 4:n versio 2.60 ja kommentoinnissa käy ilmi, että siinä ei ole HTML5 -pohjaista etähallintaa (Remote Console), mutta muuten 2.60 on jo ihan mainio iLOn versio. Se alkuperäinen, koskaan päivittämätön versio oli lähes kokonaan toimimaton. Firefox ei toiminut sen kanssa eikä Android-sovellus, eikä ssh-yhteys, eikä niitä toimimattomuuksia viitsinyt sen tarkemmin kartoittaa, kun se ei yleensäkään oikeastaan toiminut. Noh, en minä saanut tuota 2.60:stä asentumaan, joka oli hyvä asia. Löysin GitHubista ohjelmistopaketin HP-ILO-Fan-Control, jossa on iLOn versio 2.73, päiväys 11.2.2020, kun uusin iLO on 2.78, päiväys 28.4.2021. 2.73:ssa on HTML5-etähallinta eli siinä taitaa olla kaikki uusimmat ominaisuudet.

HP-ILO-Fan-Control on sekin aika ongelmallinen. Install.sh lataa GitHubista tiedostojen sijaan html-sivut, joissa ko. tiedostot näkyvät eli siitä ei ole mitään iloa. Kuitenkin kun varsinaiset tiedostot, varsinkin flash_ilo4 ja ilo4_250.bin, on saanut ladattua, toimii iLOn päivitys. flash_ilo4:lle pitää vielä antaa suoritusoikeudet ja emolevyllä olevalla dippikytkimellä pitää poistaa iLOn kirjoitussuojaus sekä todennäköisesti poistaa hpilo-moduuli rmmod-käskyllä. Dippikytkimen ohjeet ovat koneen kotelon kannen sisäpuolella.

Uudemmalla mukautetulla iLOlla on myös sivu redditissä: Silence of the fans pt 2: HP iLO 4 2.73 now with the fan hack! Kolmas sivu, johon kannattaa tutustua, jos iLO kiinnostaa, on Subverting your server through its BMC: the HPE iLO4 case.

Aputuulettimet

SAS-kontrollerin CPU:n jäähdytyksen toteutus DL380p Gen8:ssa on mielestäni suunnitteluvirhe. Voi tietysti olla, että se kuumenee erityisesti vain laskiessaan RAID5-pakkojen pariteetteja, mutta RAID5:n edut ovat niin suuret, että kyllä sitä käytetään usein. Käynnistyslevyillä RAID1 on tietysti ihan järkevä, mutta minullakin alkuperäiset 300-gigaiset ovat jääneet pois käytöstä ainakin toistaiseksi, koska siellä on Fedora 34:llä luodut osiot, joiden tiedostojärjestelmiä CentOS 7 ei ymmärrä.

Jos edes se jäähdytyssiili olisi korkeampi, niin sekin auttaisi varmaankin jo aika paljon. Siilin mitat ovat 40 x 50 mm ja korkeus uskoakseni 6 mm. Sekin auttoi muutaman asteen verran, kun irrotettuani siilin, poistin kuivuneen lämmönsiirtotahnan ja laitoin uutta tilalle.

Jonkin aikaa pohdittuani ja vanhoja romuja kaiveltuani l√∂ysin yll√§tt√§v√§n hyv√§n ja helpon ratkaisun. Vanhasta kiintolevyn j√§√§hdytyslevyst√§ l√∂ytyi sopivat √ė 50 mm tuulettimet ja alemman kiinnitin kahdella ruuvilla, jotka sopivat sopivan tiukasti j√§√§hdytyssiilin piikkien v√§liin ja ylemm√§n kiinnitin alempaan kahdella M5-ruuvilla. Tuulettimien kiinnitysreikien koko oli juuri sopivasti alle 5 mm, ett√§ kierretappi py√∂ri niiss√§ melkein sormivoimin. Virtaakin sain vanhoilla kaapeleilla ilman kolvin k√§ytt√∂√§. Kuvat alla kertovat tarinan.

Sivuraide: 5 voltin jännite Molex- ja SATA-virtaliittimeen.

Yleensä kiintolevyjen käyttämissä Molex- ja SATA-virtaliittimissä on jännitteet -5 ja -12 V. Edellä aputuulettimille saatiin -12 V jännite ensimmäisestä tai vakio-riseristä (toiseen riseriin ei pitäisi tulla emolevyltä jännitteitä sen 10-napaiseen liittimeen). Helpoin tapa saada elektroniikan ja USB-liitännän käyttämä latausjännite -5 V on ottaa se DVD-asemalle lähtevästä johdosta. Siinä virtajohtoja on vain kaksi, -5 ja 0 V.

Vasemmalla DVD-aseman mini-SATA-data-ja-virta-liitin on irti emolevyltä ja ilmastointiteippi peittää kolvatut virtajohtimet. Keskellä ylhäällä riserissä on USB 3.1 -lisäkortti, joka saa virtansa Molex-SATA-adapterijohdon kautta. Molex-haaroitusjohto saa -12 V jännitteen yllä kuvatun aputuulettimien virtajohdosta ja -5 V jännitteen DVD-aseman johdosta ja vapaita Molex-liittimiä olisi vielä kaksi.

Tuulettimien ohjauksen suunnittelun perusteet ja toteutus

Minä kokeilin molempia mukautettuja iLOn versioita, koska fan-käsky useimmiten ei jostain syystä tulostanut mitään. Esimerkiksi fan show a, jonka pitäisi tulostaa kymmeniä rivejä, toimi vain lyhyen aikaa iLOn mukautetulla versiolla 2.60.17. Kun se jostain syystä ei enää toiminut, vaihdoin takaisin uudempaan iLOn mukautettuun versioon 2.73.2. ja sen kanssa fan-käsky ei ole koskaan tulostanut mitään. Jouduin siis tyytymään siihen tietoon, mitä iLOn www-liittymä tarjosi ja oikeastaan ipmitool sensor kertoo kaiken tarpeellisen.

[root@rk18 wp]# ipmitool sensor | awk '{sub(" na        \\| na        \\| na        \\| na        \\|","",$0);print $0}' 
UID Light                | 0x0        | discrete   | 0x0180| na        | na        
Sys. Health LED          | na         | discrete   | na    | na        | na        
01-Inlet Ambient         | 32.000     | degrees C  | ok    | 42.000    | 46.000    
02-CPU 1                 | 40.000     | degrees C  | ok    | 70.000    | na        
03-CPU 2                 | 40.000     | degrees C  | ok    | 70.000    | na        
04-P1 DIMM 1-3           | 42.000     | degrees C  | ok    | 87.000    | na        
05-P1 DIMM 4-6           | 43.000     | degrees C  | ok    | 87.000    | na        
06-P1 DIMM 7-9           | 46.000     | degrees C  | ok    | 87.000    | na        
07-P1 DIMM 10-12         | 46.000     | degrees C  | ok    | 87.000    | na        
08-P2 DIMM 1-3           | 48.000     | degrees C  | ok    | 87.000    | na        
09-P2 DIMM 4-6           | 52.000     | degrees C  | ok    | 87.000    | na        
10-P2 DIMM 7-9           | 43.000     | degrees C  | ok    | 87.000    | na        
11-P2 DIMM 10-12         | 43.000     | degrees C  | ok    | 87.000    | na        
12-HD Max                | 40.000     | degrees C  | ok    | 60.000    | na        
13-Chipset               | 55.000     | degrees C  | ok    | 105.000   | na        
14-P/S 1                 | 41.000     | degrees C  | ok    | na        | na        
15-P/S 2                 | 44.000     | degrees C  | ok    | na        | na        
16-P/S 2 Zone            | 45.000     | degrees C  | ok    | 75.000    | 80.000    
17-VR P1                 | 47.000     | degrees C  | ok    | 115.000   | 120.000   
18-VR P2                 | 49.000     | degrees C  | ok    | 115.000   | 120.000   
19-VR P1 Mem             | 47.000     | degrees C  | ok    | 115.000   | 120.000   
20-VR P1 Mem             | 46.000     | degrees C  | ok    | 115.000   | 120.000   
21-VR P2 Mem             | 49.000     | degrees C  | ok    | 115.000   | 120.000   
22-VR P2 Mem             | 48.000     | degrees C  | ok    | 115.000   | 120.000   
23-VR P1Vtt Zone         | 47.000     | degrees C  | ok    | 90.000    | 95.000    
24-VR P2Vtt Zone         | 47.000     | degrees C  | ok    | 90.000    | 95.000    
25-HD Controller         | 72.000     | degrees C  | ok    | 100.000   | na        
26-iLO Zone              | 49.000     | degrees C  | ok    | 90.000    | 95.000    
27-LOM Card              | na         |            | na    | 100.000   | na        
28-PCI 1                 | na         |            | na    | 100.000   | na        
29-PCI 2                 | na         |            | na    | 100.000   | na        
30-PCI 3                 | na         |            | na    | 100.000   | na        
31-PCI 4                 | na         |            | na    | 100.000   | na        
32-PCI 5                 | na         |            | na    | 100.000   | na        
33-PCI 6                 | na         |            | na    | 100.000   | na        
34-PCI 1 Zone            | 44.000     | degrees C  | ok    | 65.000    | 70.000    
35-PCI 2 Zone            | 45.000     | degrees C  | ok    | 66.000    | 71.000    
36-PCI 3 Zone            | 46.000     | degrees C  | ok    | 66.000    | 71.000    
37-PCI 4 Zone            | na         |            | na    | 65.000    | 70.000    
38-PCI 5 Zone            | na         |            | na    | 65.000    | 70.000    
39-PCI 6 Zone            | na         |            | na    | 65.000    | 70.000    
40-I/O Board 1           | 47.000     | degrees C  | ok    | 66.000    | 71.000    
41-I/O Board 2           | na         |            | na    | 66.000    | 71.000    
42-VR P1 Zone            | 39.000     | degrees C  | ok    | 95.000    | 100.000   
43-BIOS Zone             | 51.000     | degrees C  | ok    | 90.000    | 95.000    
44-System Board          | 47.000     | degrees C  | ok    | 80.000    | 85.000    
45-SuperCap Max          | 36.000     | degrees C  | ok    | 65.000    | na        
46-Chipset Zone          | 48.000     | degrees C  | ok    | 75.000    | 80.000    
47-Battery Zone          | 45.000     | degrees C  | ok    | 75.000    | 80.000    
48-I/O Zone              | 48.000     | degrees C  | ok    | 75.000    | 80.000    
49-Sys Exhaust           | 47.000     | degrees C  | ok    | 75.000    | 80.000    
50-Sys Exhaust           | 47.000     | degrees C  | ok    | 75.000    | 80.000    
Fan 1                    | 6.272      | percent    | ok    | na        | na        
Fan 2                    | 6.272      | percent    | ok    | na        | na        
Fan 3                    | 6.272      | percent    | ok    | na        | na        
Fan 4                    | 18.816     | percent    | ok    | na        | na        
Fan 5                    | 18.816     | percent    | ok    | na        | na        
Fan 6                    | 18.816     | percent    | ok    | na        | na        
Power Supply 1           | 20         | Watts      | ok    | na        | na        
Power Supply 2           | 150        | Watts      | ok    | na        | na        
Power Meter              | 148        | Watts      | ok    | na        | na        
Power Supplies           | 0x0        | discrete   | 0x0180| na        | na        
Fans                     | 0x0        | discrete   | 0x0180| na        | na        
Memory                   | 0x0        | discrete   | 0x4080| na        | na        
C1 P1I Bay 1             | 0x1        | discrete   | 0x0180| na        | na        
C1 P1I Bay 2             | 0x1        | discrete   | 0x0180| na        | na        
C1 P2I Bay 5             | 0x1        | discrete   | 0x0180| na        | na        
C1 P2I Bay 6             | 0x1        | discrete   | 0x0180| na        | na        
C1 P2I Bay 7             | 0x1        | discrete   | 0x0180| na        | na        
C1 P2I Bay 8             | 0x1        | discrete   | 0x0180| na        | na        
C1 P1I Bay 4             | 0x1        | discrete   | 0x0180| na        | na        
C1 P1I Bay 3             | 0x1        | discrete   | 0x0180| na        | na

Minulle on kaksi kertaa tapahtunut niin, ett√§ “ipmitool sensor” ei ole tulostanut juuri mit√§√§n arvoja ja silloin j√§ljemp√§n√§ esitelt√§v√§ tuulettimien ohjaus ei ole toiminut. Ensimm√§isell√§ kerralla olin k√§ynnist√§nyt 300-gigaisilla levyill√§ olevan Fedora 34:n ja yritin saada tuulettimien ohjauksen toimimaan. J√§ljitin ongelmaa sen verran, ett√§ ipmitool ei toiminut. Syyksi ep√§ilin sit√§, ett√§ palvelimille suunnattu ipmitool ei syyst√§ tai toisesta toiminut enemm√§nkin ty√∂asema- ja kannettava-k√§ytt√∂√∂n suuntautuneessa Fedorassa.

Jälkimmäisellä kerralla DL380p oli ollut jonkin aikaa irti sähköverkosta ja silloin huomasin, että myöskään iLO ei näyttänyt juuri mitään arvoja ja tilanne korjaantui käynnistämällä kone uudelleen parin minuutin päästä sammutuksesta. Suora uudelleenkäynnistys on aiheuttanut usein virhetilanteita, joten pyrin välttämään sitä.

Ensimmäinen tehtävä tuulettimien ohjauksessa oli määrittää alin riittävä tuulettimien pyörimisnopeustaso. Sitä varten tein useita alla olevan kaltaisia skriptejä.

[root@rk18 ~]# cat fanset18.sh  
#!/bin/bash
USERNAME="root"
ILOIP="192.168.0.122"
ssh $USERNAME@$ILOIP 'fan p 0 max 48'
ssh $USERNAME@$ILOIP 'fan p 1 max 48'
ssh $USERNAME@$ILOIP 'fan p 2 max 48'
ssh $USERNAME@$ILOIP 'fan p 3 max 48'
ssh $USERNAME@$ILOIP 'fan p 4 max 48'
ssh $USERNAME@$ILOIP 'fan p 5 max 48'

Tuota ennen olin luonut iLOn www-liittymän kautta uuden käyttäjätunnuksen root, antanut sille täydet oikeudet ja ladannut koneen pääkäyttäjän julkisen ssh-avaimen (/root/.ssh/id_rsa.pub, luodaan ssh-keygen-ohjelmalla) iLOn www-liittymässä reittiä Administration -> Security -> Secure Shell Key -> Authorize New Key.

Virittämäni SAS-kontrollerin CPU:n jäähdytys toimi niin hyvin, että CPU ei lähellekään ylikuumentunut vaikka tuulettimet pyörivät vain 6 % teholla, mutta koko lähialue kuumeni, tosin hitaasti, useiden tuntien aikana.

Kuuma pinta -varoitustarran pitäisi olla hieman ylempänä kuin missä kuumemittari on kuvassa. Jossain muualla väitettiin, että DL380p painaisi vähintään vain 18 kg, mutta en ole viitsinyt omaani punnita. 23 kg ja varsinkin 37 kg vaikuttaa kyllä liioittelulta vaikka kone kyllä painava on.

Päädyin kuitenkin 18 % tehoon, koska silloin tuulettimien äänitaso jo hukkuu muuhun taustameluun asunnossani.

Seuraava vaihe oli tehdä skripti, joka nostaa tuulettimien nopeusrajoitusta, kun prosessorit saavat työtä. E5-2690 v2 -prosessorit pysähtyvät lähes kokonaan ja säästävät virtaa silloin kun niitä ei rasiteta. Alla atop:in näkemys kahdesta laiskasta CPU:sta.

Hitain käynnissä oleva ydin tikittää vain 1 MHz taajuudella ja nopein 824 MHz. Yhteensä prosessorit laiskottelevat 1972 %.

Silloin kun vain yhtä ydintä rasitetaan, sen nimellinen kellotaajuus nousee 3 GHz:iin ja todellinen 3,58:aan. Jos useampia ytimiä rasitetaan, on korkein keskimääräinen kellotaajuus 3,3 GHz. Virran kulutuksessa prosessorien hyvin dynaaminen virransäästö näkyy iLOn kautta esimerkiksi seuraavasti:

Tarvitsin siis jonkun testiohjelman, joka skaalautuisi niin hyvin, että molempien prosessorien kaikki ytimet, yhteensä 20 kpl, olisivat täysin työllistettyjä. Varsin hyvä sellainen löytyi Phoronixin testikokoelmasta, käynnistyskomento phoronix-test-suite benchmark blender. Phoronixin testikokoelman voi ladata sivun Phoronix Test Suite Download kautta.

Testiajon aikana seurasin tekemäni skriptin, fancontrol.sh, toimintaa ja tein välillä siihen pieniä muutoksia. Valmiissa muodossaan se oli seuraava:

#!/bin/bash
USERNAME="root"
ILOIP="192.168.0.122"

# CPU Temperature limit
TLIMIT="56"
# When to double speed up
HLIMIT="61"
# When to slow down
TLLIMIT="49"
# Speed inc/dec step
STEP=3
# Fan lowest speed percentage
FLIMIT="16"
# 0 = be quiet, 1 = report changes, 2 = report state also with changes, 3 = report state always
DEBUG=2

ipmitool sensor > /var/tmp/fancontrol.tmp
T1=`cat /var/tmp/fancontrol.tmp | awk '/02-CPU 1/{sub(".000","",$4);print $4}'`
T2=`cat /var/tmp/fancontrol.tmp | awk '/03-CPU 2/{sub(".000","",$4);print $4}'`
F2=`cat /var/tmp/fancontrol.tmp | awk '/Fan 2/{prc=substr($4,1,2);sub("\\\.","",prc);print prc}'`
F5=`cat /var/tmp/fancontrol.tmp | awk '/Fan 5/{prc=substr($4,1,2);sub("\\\.","",prc);print prc}'`
if [ $DEBUG -gt 2 ] ; then echo "T1="$T1", T2="$T2", F2="$F2", F5="$F5 ; fi

if [ $T1 -gt $TLIMIT ]
   then
   if [ $T1 -gt $HLIMIT ]
      then
      NEWF5=`echo $F5" "$STEP | awk '{print int(2.55*($1+2*$2))}'`
   else
      NEWF5=`echo $F5" "$STEP | awk '{print int(2.55*($1+$2))}'`
   fi
   if [ $DEBUG -gt 1 ] ; then echo -n "T1="$T1", F5="$F5"  " ; fi
   if [ $DEBUG -gt 0 ] ; then echo "Fans 3 to 5 are set up to level "$NEWF5 ; fi
   ssh $USERNAME@$ILOIP "fan p 3 max $NEWF5" > /dev/null
   ssh $USERNAME@$ILOIP "fan p 4 max $NEWF5" > /dev/null
   ssh $USERNAME@$ILOIP "fan p 5 max $NEWF5" > /dev/null
elif [ $F5 -gt $FLIMIT -a $T1 -lt $TLLIMIT ]
   then
      NEWF5=`echo $F5" "$STEP | awk '{print int(2.55*($1-$2))}'`
      if [ $DEBUG -gt 1 ] ; then echo -n "T1="$T1", F5="$F5"  " ; fi
      if [ $DEBUG -gt 0 ] ; then echo "Fans 4 to 6 are set down to level "$NEWF5 ; fi
      ssh $USERNAME@$ILOIP "fan p 3 max $NEWF5" > /dev/null
      ssh $USERNAME@$ILOIP "fan p 4 max $NEWF5" > /dev/null
      ssh $USERNAME@$ILOIP "fan p 5 max $NEWF5" > /dev/null
fi

if [ $T2 -gt $TLIMIT ]
   then
   if [ $T2 -gt $HLIMIT ]
      then
      NEWF2=`echo $F2" "$STEP | awk '{print int(2.55*($1+2*$2))}'`
   else
      NEWF2=`echo $F2" "$STEP | awk '{print int(2.55*($1+$2))}'`
   fi
   if [ $DEBUG -gt 1 ] ; then echo -n "T2="$T2", F2="$F2"  " ; fi
   if [ $DEBUG -gt 0 ] ; then echo "Fans 1 to 3 are set up to level "$NEWF2 ; fi
   ssh $USERNAME@$ILOIP "fan p 0 max $NEWF2" > /dev/null
   ssh $USERNAME@$ILOIP "fan p 1 max $NEWF2" > /dev/null
   ssh $USERNAME@$ILOIP "fan p 2 max $NEWF2" > /dev/null
elif [ $F2 -gt $FLIMIT -a $T2 -lt $TLLIMIT ]
   then
      NEWF2=`echo $F2" "$STEP | awk '{print int(2.55*($1-$2))}'`
      if [ $DEBUG -gt 1 ] ; then echo -n "T2="$T2", F2="$F2"  " ; fi
      if [ $DEBUG -gt 0 ] ; then echo "Fans 1 to 3 are set down to level "$NEWF2 ; fi
      ssh $USERNAME@$ILOIP "fan p 0 max $NEWF2" > /dev/null
      ssh $USERNAME@$ILOIP "fan p 1 max $NEWF2" > /dev/null
      ssh $USERNAME@$ILOIP "fan p 2 max $NEWF2" > /dev/null
fi

Käynnistys testausta varten komennolla:

for i in `seq 1 400` ; do sh fancontrol.sh ; sleep 3 ; done

Tein skriptistä palvelun tai demonin ja siirsin muuttujat konfigurointiedostoon, jolloin skriptin toimintaa enää siinä muodossa ei ole niin helppo ymmärtää. Lisäksi tein siitä rpm-paketin, jotta se olisi helppo asentaa ja levittää.

Toistaiseksi fand on System V -tyyppinen palvelu eikä paketissa ole mitään dokumentointia. Tämän kirjoituksen pitäisi toimia kuitenkin varsin hyvin sen dokumentointina. Binääripaketti on fand-0.9-1.noarch.rpm ja lähdekoodi fand-0.9-1.src.rpm. Ne on paketoitu CentOS Linux release 7.9.2009 (Core) -käyttöjärjestelmässä.

Käyttöjärjestelmä ja ohjelmistot

Käyttöjärjestelmäksi valikoitui CentOS 7 lähinnä koska se on videoeditointiohjelma Da Vincin suositelluin alusta Linuxille ja väistyvän palvelimen CentOS 8 vaikuttaa edelleen olevan rikki liian monesta kohtaa. En ole tosin sen kanssa viitsinyt taistella enää viime aikoina muutosta odotellessa ja CentOS 8:n tukikin loppuu tämän vuoden aikana.

DL380p Gen8:n eräs tärkeä tehtävä tulee olemaan päätepalvelimena toimiminen. Siihen on kaksi tapaa, perinteinen X-ohjelmien ajo verkon yli ja VNC. Molemmissa on jonkintasoisena ongelmana ääni, mutta se on kummassakin tapauksessa ratkaistavissa. Lisäksi äänen tuonti johdolla viritinvahvistimeeni ja äänilähteen vaihto kauko-ohjaimella on aina yksi mahdollisuus, mutta internetin kautta se ei ole mahdollista. VDSL-liittymäni paluukanavan nopeus on tosin vain 50 Mbps, mutta kun talojakamoon tulee valokaapeli, on Lounea jo kysellyt mielenkiintoani gigabitin liittymään.

VNC on minulle tuttu jo vuosituhannen alkuvuosilta, mutta olin jo unohtanut, miten käyttökelpoinen se on. Vaikka päätepalvelimella pyörivältä etätyöpöydältä kirjautuu ulos, jäävät ohjelmat ja koko työpöytä odottamaan samassa tilassa ja kirjautua voi miltä tahansa koneelta ja Windowsillekin löytyy asiakasohjelmia. Kaupallisessa RealVNC:ssä on mukana myös äänituki.

Lähes vuosi myöhemmin

Julkaisin t√§m√§n kirjoituksen jo marraskuun alussa 2021, mutta t√§ydensin sit√§ viel√§ vuoden 2022 helmikuussa. Sen j√§lkeen DL380 oli pitk√§√§n k√§ytt√§m√§tt√∂m√§n√§ ja loppukes√§ll√§ ostin HP Z420 ty√∂aseman, joka on “samaa sarjaa” kuin DL380 G8, siihen sopii samat prosessorit ja muistit. Kun Z420 oli “valmis” hieman my√∂hemmin syksyll√§, palasin DL380:n pariin ja huomasin, ett√§ Red Hat Enterprise Linuxista oli ilmestynyt kev√§√§ll√§ versio 9.0 ja sen sai ladattua ja rekister√∂ity√§ ilmaiseksi harrastajak√§ytt√∂√∂n. Toistaiseksi RHEL 9:n suurin ongelma on ollut ssh, joka ei suostu toimimaan ilman s√§√§t√∂j√§ iLO 4:n kanssa. fand on siis toistaiseksi rikki, mutta on koneenkin rasitus ollut niin v√§h√§ist√§, ett√§ tuulettimia ei ole ollut tarvetta kiihdytt√§√§ perusasetuksena laitetusta hitaasta ja hiljaisesta vauhdista.

Työtä siis vielä on ja kaikenlaisia ajatuksia siitä, mitä vielä voisi rakentaa. Levytilaa ja muistia lisää, kun halvalla saa, mutta ensin täytyy laittaa paljon ohjelmistoja toimimaan.

Väliaikapäivitys, maaliskuun alku

Keskusmuistia on nyt 256 Gt, joka on järkevä minimi maksimista. Muistikammat ovat Reduced Load -tyyppisiä, vain 1,35 V jännitteellä toimivia, kun normaalin DDR3-muistin jännite on 1,5 V. Se on ainoa muistityyppi, jota voi käyttää tai tod. näk., on edes saatavilla 32-gigaisina kampoina. Prosessoreissa on neljä muistikanavaa, joten muistia kannattaa lisätä neljä kampaa jokaista prosessoria kohden. 2 (CPU) x 4 (muistikampaa) x 32 Gt on 256 Gt. 1,5 V DDR3-muistia ei voi samaan aikaan käyttää, joten hyllyssä on lähes 200 gigaa käyttämätöntä muistia!

Kiinnitin jo aiemmin huomiota SSD-levyjen reippaasti halvempiin hintoihin, mutta merkit olivat outoja ja uusia (joku Somnabulist (unissak√§velij√§!) oli er√§s). Jokunen viikko sen j√§lkeen oli tuttu merkki ja l√§hes yht√§ halvat hinnat. Tilasin 3 kpl KingSpecin 512-gigaisia ja 2,5-tuumaisia yhteishintaan 76 ‚ā¨. Kaksi niist√§ tulee korvaamaan 300-gigaiset RAID1-SAS-levyt. Odottavat viel√§ l√§ht√∂√§ Kiinasta.

RHEL 9 ja tuulettimien nopeussäätö

fand 0.9 oli system V init-skripti, joka toimi hyvin vielä Centos 7:ssä, mutta RHEL 9:ssä ei. Versio 0.99 on sen takia systemd-palvelu, mutta myös ssh vaati säätöjä. En ole varma oliko seuraava lisäys lopulta tarpeellinen, mutta sillä pääsi hieman eteenpäin:

[root@rk18 ~]# cat .ssh/config
Host 192.168.0.122
##Legacy changes
       KexAlgorithms +diffie-hellman-group1-sha1
       HostKeyAlgorithms +ssh-dss,ssh-rsa
       Ciphers +aes128-cbc

Suunnilleen samaa yritin komentorivill√§kin: “ssh -oPubkeyAcceptedAlgorithms=+ssh-dss 192.168.0.122”, mutta RHEL 9:ss√§ on parannettu turvallisuutta: “Disabled TLS and SSH algorithms using SHA-1, with an exception of SHA-1 usage in Hash-based Message Authentication Codes (HMACs).” (kopioitu version 9 Release Notes‘ista). Ratkaisu l√∂ytyi RH:n Knowledgebasesta, joka vaatii kirjautumisen, otsikolla SSH from RHEL 9 to RHEL 6 systems does not work. Jos ssh valittaa: “ssh_dispatch_run_fatal: Connection to 1.2.3.4 port 22: error in libcrypto” ja t√§ss√§ tapauksessa, kun palvelimena on iLO eik√§ RHEL 6, ei palvelimen puolella ole ainakaan helppoa tehd√§ s√§√§t√∂j√§, on s√§√§t√∂ teht√§v√§ asiakasp√§√§ss√§ RHEL 9:ss√§ ja se tehd√§√§n komennolla:

[root@rk18 rpmbuild]#  update-crypto-policies --set DEFAULT:SHA1

dnf taitaa tuonkin osata asentaa itse, jos se puuttuu ja antaa luvan, mutta “dnf install crypto-policies-scripts” sen viimeist√§√§n hoitaa.

Paketit ovat:

Ennen kuin tuon voi ottaa käyttöön, on syytä varmistaa, että ssh-yhteys toimii ja iLO:on on asennettu pääkäyttäjän ssh-avain, se onnistuu selaimella:

Kun ssh-yhteys on todettu toimivaksi, palvelun voi k√§ynnist√§√§ komennolla “systemctl start fand”, tarkistaa toiminta:

systemd seuraa palvelujen käyttämää prosessoriaikaakin.

ja lopulta laittaa k√§ynnistym√§√§n aina koneen k√§ynnistyess√§ komennolla “systemctl enable fand”.