Installing pfSense on Dell R230 error mfi0: failed to get command

La scorsa settimana ho dovuto installare l’ultima versione disponibile di pfsense (2.3.2) su un server Dell poweredge 230 con a bordo un controller raid Perc H330. Dopo aver bootato dal cd di installazione seguo i primi passi di configurazione dell’installazione e, quando inizia a scrivere su disco per installare il sistema operativo ho la sensazione che ci stia impiegando un po’ troppo…. dopo qualche minuto con il cursore che continua a “girare” mi compare questo errore:

error mfi0: failed to get command

e poi una serie di messaggi simili a questi:

mfi0: COMMAND 0xfffffe00013a6440 TIMEOUT AFTER 37 SECONDS

mfi0: COMMAND 0xfffffe00013a6440 TIMEOUT AFTER 40 SECONDS

Di primo acchito ho pensato a qualche scheda che non veniva rilevata correttamente ma il server era veramente minimale, l’unica cosa che era stata aggiunta era una seconda scheda di rete per altro broadcom che ero certo fosse vista correttamente da pfsense.

Alla fine, visto che gli errori iniziavano a comparire mentre l’installer scriveva su disco, ho anche pensato ad un problema del raid controller ma un mio collega aveva installato la stessa versione di pfsense su una macchina identica senza alcun problema. Giusto per sicurezza ho aggiornato tutti i firmware del server compreso quello della Perc… risultato l’installazione è andata a buon fine…

iDrac – Error when reading from SSL socket connection

Se avete a che vedere con delle iDrac un po vecchie e avete invece un browser e java virtual machine recenti è molto probabile che vi imbattiate in questo errore tentando di aprire la console del server: “Error when reading from SSL socket connections”

drac_error_when_reading_from_ssl

Il problema è dovuto al fatto che le ultime versioni di java di default disabilitano i protocolli insicuri per la comunicazione SSL e per la cifratura. Fortunatamente c’è un modo per riabilitarli (anche temporaneamente) e riuscire quindi a collegarsi alla console senza dover reinstallare altre versioni di java.

Quello che dovete fare è andare a modificare il file java.security che trovate nel percorso C:\\Program Files\\Java\\jre1.8.0_71\\lib\\security e commentare le due righe (vi basta mettere un # all’inizio della riga):

jdk.certpath.disabledAlgorithms=MD2, MD5, RSA keySize < 1024

jdk.tls.disabledAlgorithms=SSLv3, RC4, MD5withRSA, DH keySize < 768

Verificate anche se state utilizzando la versione di java a 32 o 64 bit perché ovviamente il percorso del file java.security cambia di conseguenza: C:\\Program Files (x86)\\Java\\jre1.8.0_71\\lib\\security

 

Salvate il file e riprovate ad aprire la console!

ESXi upgrade operation failed – Error: permission denied on Dell server

Non molto tempo fa mi sono imbattuto in questo problema nel tentare di aggiornare un esxi 5.5 dalla versione update1 alla versione update3 su un server Dell R630 arrivato con esxi preinstallato su un raid1 di due schede SD. Il tentativo di aggiornamento è stato fatto inserendo il cd al boot del server (in realtà in questo caso montando la iso tramite la idrac ma il discorso non cambia) ed avviando la procedura per l’upgrade del server. Dopo aver selezionato il volume contenente l’installazione da andare ad upgradare mi si è presentato questo errore:

ESXi upgrade operation failed – Error: permission denied

esxiupdate_error

Come se la partizione (o una delle partizioni) fosse in read only e non potesse essere modificata. Ho provato subito a vedere se nel bios c’era qualche impostazione che rendeva l’SD read only ma così non era, come seconda cosa ho verificato se, per qualche strano motivo, una delle SD avesse la “linguetta” che fisicamente bloccava la scrittura ma non era nemmeno quello. Non avendo molto tempo a disposizione per indagare a fondo ho deciso di provare a reinstallare da zero l’host e riconfigurarlo ed in questo caso il processo è andato a buon fine.

Se qualcuno ha avuto un problema simile ed è riuscito a risolvere in qualche altro modo (ad esempio modificando la partition type 0xfb che viene segnalata nell’errore con qualche comando) lo segnali pure nei commenti, vedrò di aggiornare il post!

Equallogic warning: Free space is below threshold of 15 percent for pool PoolName. Default Snapshot Schedule will run with max-keep set to 1

Ciao a tutti, questo warning mi è già comparso da un paio di clienti dopo aver upgradato il firmware di un Dell Equallogic alla versione 8 o successiva. Si verifica nei casi in cui non utilizzate la funzionalità delle snapshot e decidete di non assegnare spazio utile alle snapshot. Se siete in questa casistica l’equallogic di default ogni notte alle 00.00 ha schedulato un job per creare delle snapshot sui volumi che hanno spazio riservato per le snapshot ma non hanno snapshot presenti in quel momento.

Se non c’è abbastanza spazio per creare la snapshot genera questo warning, ed è normale che lo generi visto che non avete assegnato spazio per le snapshot…..

—————————————–
WARNING event from storage array EQLMEMBERNAME
subsystem: MgmtExec
event: 8.3.65
time: Wed May 11 00:00:00 2016

Free space is below threshold of 15 percent for pool PoolName. Default Snapshot Schedule will run with max-keep set to 1.
—————————————–

Se effettivamente non avete intenzione di utilizzare le snapshot e volete togliere questo fastidioso warning potete disabilitare il job che viene eseguito alle 00.00, dovete collegarvi in ssh (o in console) e dare questo comando:

grpparams default-snapshot-sched disable

 

 

Massively configure Dell iDrac snmp and smtp parameters

In questo post creeremo un piccolo script powershell per modificare in maniera massiva la configurazione snmp delle iDrac presenti sui server Dell, torna molto comodo se avete una batteria di qualche decina/centinaia di iDrac da configurare in quanto vi evita di entrare in ogni singola interfaccia web e perdere 5 minuti per ogni iDrac da configurare.

Come prima cosa bisogna scaricare dal sito Dell ed installare il pacchetto che contiene il comando racadm, il pacchetto si chiama “Dell OpenManage DRAC Tools” ed al momento l’ultima versione disponibile è la 8.1.

Abilitate gli script powershell non firmati se non l’avete già fatto con il comando:

set-executionpolicy unrestricted

Di seguito trovate lo script in powershell, quindi create un file .ps1 e copiateci dentro queste righe; ovviamente dovrete impostare i parametri presenti nelle prime righe in base alla vostra confgiurazione ed all’ip delle vostre iDrac:

###POWERSHELL CODE

#Insert all the ip addresses in an array
$aRAC = @(“10.16.27.223″,”10.16.27.224”)

$user = “root”
$password = “Pa$$w0rd”
$snmp_dest = “10.16.27.202”
$smtp_server = “mail.domain.com”
$mail_dest = “mail@comain.com”
$snmp_community = “monitoring”

$dns_server1 = “10.16.27.210”

$dns_server2 = “10.16.27.211”

$ntp_server1 = “10.16.27.5”

$ntp_server2 = “10.16.27.6”

foreach ($idrac in $aRAC) {

racadm -r $idrac -u $user -p $password set iDRAC.Tuning.DefaultCredentialWarning Disabled

#DNS Config
write-host “Setup iDrac $idrac DNS…”
racadm -r $idrac -u $user -p $password config -g cfgLanNetworking -o cfgDNSServer1 $dns_server1
racadm -r $idrac -u $user -p $password config -g cfgLanNetworking -o cfgDNSServer2 $dns_server2

write-host “Setup iDrac $idrac SNMP…”

racadm -r $idrac -u $user -p $password set idrac.IPMILan.AlertEnable Enabled
racadm -r $idrac -u $user -p $password config -g cfgIpmiPet -o cfgIpmiPetAlertEnable -i 1 1
racadm -r $idrac -u $user -p $password config -g cfgIpmiPet -o cfgIpmiPetAlertDestIPAddr -i 1 $snmp_dest
racadm -r $idrac -u $user -p $password config -g cfgIpmiLan -o cfgIpmiPetCommunityName $snmp_community
racadm -r $idrac -u $user -p $password set iDRAC.SNMP.TrapFormat 1
racadm -r $idrac -u $user -p $password set iDRAC.Snmp.AgentEnable enabled
racadm -r $idrac -u $user -p $password set iDRAC.SNMP.AgentCommunity $snmp_community

#Config NTP
write-host “Setup iDrac $idrac NTP…”
racadm -r $idrac -u $user -p $password set idrac.NTPConfigGroup.NTPEnable Enabled
racadm -r $idrac -u $user -p $password set idrac.time.timezone Europe/Rome
racadm -r $idrac -u $user -p $password set idrac.NTPConfigGroup.ntp1 $ntp_server1
racadm -r $idrac -u $user -p $password set idrac.NTPConfigGroup.ntp2 $ntp_server2

#write-host “Setup iDrac $idrac SMTP…”
#racadm -r $idrac -u $user -p $password set iDRAC.RemoteHosts.SMTPServerIPAddress $smtp_server
#racadm -r $idrac -u $user -p $password config -g cfgEmailAlert -o cfgEmailAlertEnable -i 1 1
#racadm -r $idrac -u $user -p $password config -g cfgEmailAlert -o cfgEmailAlertAddress -i 1 $mail_dest
}

####

P.S.

Ho lasciato commentate le righe che configurano la parte SMTP che potrebbero comunque tornare utili per gli alert, per eseguirle togliete semplicemente il commento ad inizio riga.