Vmware backup e restore dei server fisici

Avendo dei server fisici con sistema operativo vmware può capitare di dover afare un aggiornamento o meglio come nel mio caso che sia da sostituire la usb stick in quanto danneggiata.
per fare il backup della configurazione della macchina c’è da installare VMA  scaricabile dal sito vmware, poi aprire da windows un console come amministratore ed andare nella seguente cartella :
C:\Program Files (x86)\VMware\VMware VI Remote CLI\bin

a questo punto lanciare il seguente comando per fare il backup della configurazione della macchina:

vicfg-cfgbackup.pl –-server 192.168.0.253 --username root --password "password" -s c:\temp\backup.bak

dove voi sostituite l’ip della macchina di cui volete fare il  backup  e il parametro seguente dove volete salvare il file della configurazione, vi chiedere username e password per collegarsi.

Per fare il restore della macchina basta installare una nuovo server e una volta partito lanciare il seguente comando:

vicfg-cfgbackup.pl –-server 192.168.0.253 --username username --password "password" -l c:\temp\backup.bak

vi chiederà utente e password e alla fine di procedere al riavvio; confermate e tempo che la macchina sia riavviata avrete ripristinato tutte le configurazione compreso il numeramento delle schede di rete che sbaglia tutte le volte che si reinstalla.

Windows 2008 R2, cambiare il timeout di disconnessione della maschera di login per il terminal server

Installando i Thin Client capita che quando partono, mostrano la schermata di login del Terminal Server. Se l’utente aspetta piu’ di 30sec a immettere le proprie credenziali, il terminal lo sconnette e il thin-client come ho configurato io si spegne. Per ovviare a questo problema bisogna intervenire sul registro del server terminal e aggiungere una chiave per il timeout di logon :
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro l\TerminalServer\WinStations\RDP-Tcp
la chiave da aggiungere è una dword chiamata  LogonTimeout e il valore esadecimale che si mette è espresso in secondi quindi per mettere 1 ora di timeout sarebbe 3600 secondi che espressi in esadecimale sono e10

Come lavorare con le date in sql

Molte volte ci si ritrova a fare i “conti” con le date e quindi con questo prontuario spero di fare chiarimenti su come si possono ottenere delle date di rifermento indietro eo avanti rispetto a oggi o a una determinata data.

Partiamo da alcune date riferite alla giornata odierna:

–Oggi
SELECT GETDATE()
–Ieri
SELECT DATEADD(d,-1,GETDATE())
–Domani
SELECT DATEADD(d,+1,GETDATE())

Ora vediamo dei giorni riferiti alla settimana corrente:

–Primo giorno della Settimana corrente
SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),0)
–Ultimo giorno della Settimana corrente
SELECT DATEADD(wk,DATEDIFF(wk,0,GETDATE()),6)
–Primo giorno della Settimana precedente
SELECT DATEADD(wk,DATEDIFF(wk,7,GETDATE()),0)
–Ultimo giorno della Settimana precedente
SELECT DATEADD(wk,DATEDIFF(wk,7,GETDATE()),6)

Riferiamoci ora al mese corrente:

–Primo giorno del Mese corrente
SELECT DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0)
–Ultimo giorno del Mese corrente
SELECT DATEADD(ms,-
3,DATEADD(mm,0,DATEADD(mm,DATEDIFF(mm,0,GETDATE())+1,0)))
–Primo giorno del Mese precedente
SELECT DATEADD(mm,-1,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0))
–Ultimo giorno del Mese precedente
SELECT DATEADD(ms,-3,DATEADD(mm,0,DATEADD(mm,DATEDIFF(mm,0,GETDATE()),0)))

Ed infine all’anno corrente:

–Primo giorno del anno corrente
SELECT DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0)
–Ultimo giorno del anno corrente
SELECT DATEADD(ms,-3,DATEADD(yy,0,DATEADD(yy,DATEDIFF(yy,0,GETDATE())+1,0)))
–Primo giorno del anno precedente
SELECT DATEADD(yy,-1,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0))
–Ultimo giorno del anno precedente
SELECT DATEADD(ms,-3,DATEADD(yy,0,DATEADD(yy,DATEDIFF(yy,0,GETDATE()),0)))

Ovviamente combinando  queste formule all’interno delle vostre query potete ottenere buoni risultati, ad esempio nel mio caso dovevo estrarre tutti i movimenti gestionali da oggi a 6 mesi indietro ma partendo sempre dal primo del mese, quindi se oggi è il 15/06/12 dovevo prendere tutti i movimenti dal 01/01/2012.

Trovare record duplicati in una tabella

Per trovare un record duplicato all’interno di una tabella non è una impresa semplice ma per fortuna ho trovato in rete questo comando sql che fa perfettamente il suo lavoro. L’esempio è per il confronto di un campo ma con una semplice concatenazione si può utilizzare per confrontare un insieme di campi che risultano doppi. Nel mio caso l’ho utilizzato per confrontare 4 campi se risultassero doppi facendo un concatenamento.

SELECT tab.campo_da_esaminare FROM tabella AS tab INNER JOIN (SELECT campo_da_esaminare FROM tabella GROUP BY campo_da_esaminare HAVING COUNT(campo_da_esaminare)>1) AS dup ON dup.campo_da_esaminare = tab.campo_da_esaminare;

Crash del server gentoo casuale

Saltuariamente e anche magari per mesi il server funzionava correttamento ma ogni tanto andava in crash e controllando nei log trovavo questo appena prima del blocco del kernel:

kernel: apache2 invoked oom-killer: gfp_mask=0x200da, order=0, oom_adj=0, oom_score_adj=0
kernel: apache2 cpuset=/ mems_allowed=0

Per risolvere il problema e per il momento sembra funzionare ho inserito nel make.conf :
APACHE2_MPMS="prefork"

ricompilato apache e modificato /etc/apache2/modules.d/00_mpm.conf con i seguenti valori:
StartServers 6
MinSpareServers 6
MaxSpareServers 6
MaxClients 6
MaxRequestsPerChild 10000

Ho modificato inoltre in mysql /etc/mysql/my.cnf abbassando i seguenti valori a :
key_buffer = 2M
myisam_sort_buffer_size = 1M

Ovviamente dopo aver ricompilato apache e fatte le varie modifiche riavviate mysql e apache.

Abilitare Autologon su Windows 2008R2

Se avete bisogno che un server faccia l’autologon al boot, ad esempio perchè venga lanciato un programma che non può funzionare come servizio, potete creare un utente oppure utilizzare un già esistente ed eseguire questa procedura:

Aprite il prompt dei comandi e digitate  control userpasswords2 a questo punto si aprirà Account Utente ; voi dovete togliere la spunta a Per utilizzare questo computer è necessario che l’utente immetta il nome utente e la password.
Fatto questo fate OK e vi verrà chiesto il nome utente e la password dell’utente che farà l’autologon ad ogni accensione della macchina, immettete username e password provate a fare un riavvio e vi troverete loggati in automatico con quell’utente e potrete mettere quindi in esecuzione automatica i programmi che devono partire all’avvio.

Abilitare utenti all’accesso in modalità terminal su Windows 2008R2

Una volta creato un utente standard su windows 2008R2 se prova a collegarvi da remoto non vi farà entrare; di default solo gli utenti administrator hanno accesso al desktop remoto.

Per abilitare un determinato utente andate in Pannello di Controllo – Sistema e Sicurezza – Sistema

Premete il pulsante Seleziona Utenti e aggiungete l’utente o gli utenti che volete abbiano la possibilità di collegarsi da remoto.

Cambiare la lingua su Windows 2008R2

Installando Windows 2008R2 mi sono trovato in lingua inglese e seguendo diverse guide non sono riuscito a portarlo in italiano, poi alla fine ho trovato il metodo, ovviamente vale anche per passare ad altre lingue.

Per cambiare o aggiungere una lingua in Windows server 2008 R2 avrete bisogno di scaricare la ISO con tutti language pack.
La potete prelevare qui: Windows Server 2008 R2 Service Pack 1 Multilingual User Interface Language Pack

Una volta scaricata masterizzatela o utilizzatela tramite un programma che emuli un lettore dvd  come ad esempio MagicISO.

Dal menu Start->Run, lanciate il comando lpksetup, scegliere il file CAB dalla directory del DVD relativa alla lingua da installare, seguire le istruzioni e al termine verrà chiesto quale lingua selezionare per default, il sistema chiederà il riavvio e avrete finalmente il server nella lingua che desiderate.

Terminal Server windows 2008R2 Le credenziali specificate non funzionano

Se vi capita che salvando utente e password per una connessione a un terminal server 2008R2 e rilanciando la connessione vi dia questo errore:

le credenziali specificate non funzionano.
l'amministratore del sistema non consente l'utilizzo di credenziali salvateper l'accesso al computer remoto IPDELSERVERTS perchè l'identità di tale computer non è stata completamente verificata. immettere le nuove credenziali

e ridigitando la password poi si collega allora potete eseguire questa semplice guida per farlo funzionare a dovere.

1.Loggatevi sul client come amministratore
2. fate partire “Editor Criteri di gruppo Locali” ; per farlo aprite un prompt dei comandi e lanciate  “gpedit.msc” .
3. Navigate fino a “Configurazione Computer\Modelli Amministrativi\Sistema\Delega di credenziali”.


4. Doppio Click su “Consenti delega credenziali salvate con autenticazione server NTLM”.
5. Attivate questa policy Enable the policy e poi cliccate sul tasto mostra per vedere la lista dei server abilitati.


6. inserite la riga”TERMSRV/*” per abilitare il salvataggio su tutti i server terminal, altrimenti se volete essere più restrittivi potete abilitare un server per riga “termsrv/192.168.0.1” oppure “termsrv/pippo.pluto.com”


7. Confermate i cambiamenti cliccando ok e chiudete pure il “Editor Criteri di gruppo Locali”.
8. Tornate al prompt dei comandi e digitate “gpupdate /force” per forzare il sistema ad applicare le policy immediatamente.

 

A questo punto provate pure con il client terminal e vedrete che si collegerà senza più quel noioso errore.

Aggiungere macchina Windows 7 o Windows 2008R2 a un dominio samba

Per aggiungere una macchina Windows 7 e Windows 2008R2 a un dominio samba per prima cosa bisogna controllare che la versione sia almeno la 3.3.4  altrimenti non ci sarà speranza alcuna.

Dopodichè bisogna inserire nel registro di Windows le seguenti righe in questa posizione:

HKLM\System\CurrentControlSet\Services\LanmanWorkstation\Parameters


DWORD DomainCompatibilityMode   = 00000001
DWORD DNSNameResolutionRequired = 00000000

 

Mentre le seguenti chievi di registro vanno controllate ed eventualmente settate:
HKLM\SYSTEM\CurrentControlSet\services\Netlogon\Parameters

DWORD RequireStrongKey = 00000001
DWORD RequireSignOrSeal = 00000001

 

Ora per sicurezza un bel riavvio della macchina e poi fate il join al dominio senza problemi.