Colectie de tool-uri de sincronizat/copiat
Am vrut sa pun in acest post cateva tool-uri utile atunci cand aveti de copiat sau sincronizat fisiere intre diverse locatii (foldere/volume/servere) – mai mult o referinta pentru mine pentru ca alta data sa-mi aduc aminte mai usor:
XCOPY – asta e baza, e in orice versiune de Windows si are si cateva avantaje in fata altori comenzi mai ales de la Windows 7 in sus. Problema e ca nu face sincronizare.
ROBOCOPY – e inclus by default in noile versiuni de Windows, in cele mai vechi venea in Resource Kit. Stie sync, retry etc. E folosit de pe vremea NT-ului mai ales datorita functiei de retry. Exista chiar si o versiune intermediara intre XP si Vista ce vine odata cu Robocopy GUI.
Un articol basic despre robocopy si documentatia aferenta gasiti in link-urile de mai jos:
http://technet.microsoft.com/en-us/magazine/ee851678.aspx
http://ss64.com/nt/robocopy.html
De mentionat ca una din marile probleme pana la Windows 7 era performanta acestui tool, cei ce aveau nevoie de high performance file copy fiind nevoiti sa foloseasca alte variante. Incepand cu Windows 7 insa, robocopy este multithreaded astfel performanta lui fiind mult imbunatatita. Pentru cei ce au nevoie de asa ceva pe Windows 2003/XP tin sa le spun de pe acum ca tool-ul de pe Windows 7 nu o sa ruleze pe 2003/XP. Ca workaround puteti sparge job-urile in mai multe batchuri ce le puneti sa ruleze simultan.
XXCOPY – un fel de Robocopy cu ceva imbunatatiri. Problema e ca e pe bani.
RICHCOPY – un alt tool de la MS, care daca ar merge cum trebuie ar inlocui orice alt tool descris mai sus. Stie sa faca sincronizare si principalul lui avantaj e ca este multithreading si foarte customizabil la capitolul asta. Dar la fel ca si Robocopy nu pastreaza timestamp-ul folderelor (probabil sa se fi rezolvat chestia asta in ultimele versiuni). Dezavantajul este ca e foarte buggy. Trebuie testat inainte pe mediul in care o sa-l folositi altfel o sa aveti surpriza sa nu functioneze asa cum vreti. Personal l-am folosit cu succes de cateva ori.
http://technet.microsoft.com/en-gb/magazine/2009.04.utilityspotlight.aspx
Karen Replicator – destul de recomandat pe net insa nu am avut nciodata ocazia sa-l folosesc:
http://www.karenware.com/powertools/ptreplicator.asp
SyncToy – un alt produs al MS despre care probabil ca o sa scriu mai multe intr-un articol separat. E orientat in special catre zona de desktop si enduser.
http://www.microsoft.com/download/en/details.aspx?id=15155
Si bineinteles daca aveti alte tool-uri mai interesante chiar va rog sa le postati.
Portable Powershell
In caz ca aveti nevoie sa rulati Powershell pe un server si nu il aveti instalat puteti folosi Shelltools Portable Powershell:
http://site.shelltools.net/Applications/Portable_PowerShell
Vine impachetat sub forma unui singur executabil gen ThinApp si il puteti folosi pe orice platforma (x86/x64) si chiar si pe WinPE. Loaderul va permite sa lansati versiunile 1 si 2 si chiar si Powershell ISE-ul. Si merge rulat in paralel cu alta versiune de Powershell instalata pe server.
Exchange 2010 SP2 RU 1 released
Update Rollup 1 for Exchange Server 2010 Service Pack 2 a fost lansat saptamana aceasta. Il puteti downloada de aici:
http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=28809
Lista hotfix-urilor incluse este impresionanta – 58 (mai ales daca ne gandim ca SP2 a fost lansat in Decembrie) si o gasiti in link-ul de mai jos:
http://support.microsoft.com/kb/2645995
Servere cu Atom
Probabil ca stiti ca unele dintre costurile cele mai importante ale unui datacenter sunt cele cu alimentarea cu energie electrica si climatizarea.
Tocmai din motivul asta tin sa scot in evidenta un produs cel putin interesant:
Este un server de 10U ce contine 256 procesoare Atom dual core (adica 512 cores pe 10U). Asta e varianta x64, varianta x86 putand duce pana la 768 de core-uri.
http://www.seamicro.com/node/212
Iar daca vreti ceva mult mai puternic, cei de la Seamicro au si modelul SM10000-XE ce contine 64 de procesoare quad core Intel E3.
http://www.seamicro.com/node/213
PS: check this out http://www.youtube.com/watch?v=q6vb8TWPbYE

How to backup Exchange 2010 DAG databases using Powershell
Subiectul din titlu a venit mai mult ca o provocare, legata si de faptul ca tot vreau de ceva vreme sa imi indrept atentia mai mult catre Powershell dar si de faptul ca Microsoft isi bate joc de noi in continuare cu backup-ul de Exchange.
Perioada cand MS nu a catadicsit sa ofere o solutie de backup pentru unul din produsele lor de baza a cam trecut, dar nu complet. Pentru ca ce ofera ei acum e o gluma. E tot backup-ul vechi bazat pe VSS si umblat putin la el ca baza sa fie consistenta cand salveaza tot volumul si dupa sa stearga transaction logurile. A fost nevoie de ani ca sa scoata asa ceva si in multe cazuri e tot inutilizabil. In special cand vorbim de DAG (Database Availability Group).
Si acum hai sa explic de ce sunt atat de revoltat pe backup-ul din Exchange 2010. Pentru ca nu iti permite sa faci backup la copia pasiva a bazei de date. Da, stiu era mai complicat codul pentru un astfel de backup dar pana la urma costa o caruta de bani si Exchange-ul. Si mai rau, daca acea copie pasiva se afla pe acelasi volum cu o copie activa, nici una dintre ele nu poate fi backup-ata. Ouch. Iar scenariul este unul cat se poate de simplu: doua mailbox servere, fiecare tinand doua baze de date in DAG – una pasiva si una activa, fiecare server cu un volum pentru OS si inca unul pentru bazele de date. Deci, ambele baze de date puse pe acelasi volum inseamna “problem”.
Un soi de rezolvare ar fi in urmatorul articol de pe technet:
http://technet.microsoft.com/en-us/library/dd876851.aspx
If a server hosting the data being backed up is a member of a database availability group (DAG) and hosts both active and passive database copies, you must disable the Microsoft Exchange Replication service VSS writer. If the Microsoft Exchange Replication service VSS writer is enabled, the backup operation will fail.
To disable the Microsoft Exchange Replication service VSS writer, perform the following steps:
1. Log on to the server by using an account that has local administrator access, and then start Registry Editor (regedit).
2. Navigate to HKEY_LOCAL_MACHINE\Software\Microsoft\ExchangeServer\v14\Replay\Parameters.
3. Add a new DWORD value named EnableVSSWriter, and set its value to 0.
4. Exit Registry Editor and then restart the Microsoft Exchange Replication service.
Dar asta inseamna ca vom putea salva doar copia activa, ceea ce rezulta in faptul ca trebuie sa facem backup si la celalalt mailbox server. Nu ar fi chiar atat de grav insa cum eu tin sa optimizez totul, as fi preferat sa imi salvez bazele de date dintr-o singura operatiune de backup. Iar solutia dupa cum banuiati a fost sa activez ambele baze de date pe serverul de pe care fac backup-ul, iar dupa ce se termina backup-ul sa mut una din ele pe celalalt server.
Exista mai multe metode prin care as fi putut realiza acest task, dar eu am preferat sa merg pe varianta cu script powershell schedulat cu Task Scheduler. O varianta basic a script-ului arata cam asa:
add-pssnapin Microsoft.Exchange.Management.PowerShell.E2010
add-pssnapin windows.serverbackup
#aici puteti lasa si linia de mai jos doar pentru a fi siguri ca ambele baze o sa fie active pe serverul cu job-ul de backup
#move-activemailboxdatabase "Mailbox Database 1" -ActivateOnServer MBX1 -MountDialOverride:None -Confirm:$false
move-activemailboxdatabase "Mailbox Database 2" -ActivateOnServer MBX1 -MountDialOverride:None -Confirm:$false#Starting Windows Backup
$policy=New-WBPolicy
$volumes = Get-WBVolume -AllVolumes | Where {$_.MountPath -eq "C:"}
Add-WBBareMetalRecovery –Policy $policy
Add-WBVolume -Policy $policy -volume $volumes
$BackupTargetVolume=New-WBbackupTarget –NetworkPath \\dc\backups
Add-WBBackupTarget -policy $policy -target $BackupTargetVolume
Set-WBVssBackupOptions -policy $policy -VssFullBackup
Start-WBBackup -Policy $policy
move-activemailboxdatabase "Mailbox Database 2" -ActivateOnServer MBX2 -MountDialOverride:None -Confirm:$false
Scriptul va muta bazele de date (sau baza, dupa caz) pe serverul pe care ruleaza, va crea job-ul de backup si il va executa, iar dupa ce job-ul se va termina va muta una din bazele de date pe alt server.
Rezultatele job-ului de backup se vor putea vedea in continuare in consola Window Backup si bineinteles in Event Viewer.
Sper ca exemplul meu sa va foloseasca si sa va ajute sa va faceti propriile scrituri de backup in Powershell.
LE: Modul in care se face backup-ul din Powershell e ciudat de complicat pentru un sysadmin. De asta am si pus exemplul ca sa nu treceti prin ce am trecut eu cand l-am facut .
Some very nice WSUS/Powershell based projects
Un proiect foarte interesant pe care l-am remarcat de curand a fost PoshPAIG descris foarte bine aici:
Proiect ce permite monitorizarea serverelor ce isi iau update-uri din WSUS si ajuta la depistarea si rezolvarea unora din problemele frecvente.
Chestia e ca eu l-am testat pe mai multe sisteme si nu mi-a functionat (sau poate functiona foarte greu si nu am avut eu rabdare). Nu am insistat pentru ca si eu folosesc ceva asemanator dar facut de mine insa pe care nu il pot publica aici.
Oricum l-am postat pentru ca este un proiect foarte interesant si poate unora o sa le mearga sau in cel mai rau caz o sa le dea niste idei pentru a-si face singuri asa ceva.
Si tot de la acelasi autor mai aveti PoshWSUS http://poshwsus.codeplex.com/ – ce permite administrarea WSUS-ului din linie de comanda.
DAG – content index catalog files failed
Azi incercand sa activez o copie a unei baze de date dintr-un DAG de Exchange 2010 am dat peste urmatoarea eroare:
——————————————————–
Microsoft Exchange Error
——————————————————–
Cannot activate database copy ‘Activate Database Copy…’.
Activate Database Copy…
Failed
Error:
An Active Manager operation failed. Error: The database action failed. Error: An error occurred while trying to validate the specified database copy for possible activation. Error: Database copy ‘Mailbox Database 2’ on server ‘MBX2.domeniu.local’ has content index catalog files in the following state: ‘Failed’. [Database: Mailbox Database 2, Server: MBX2.domeniu.local]
An Active Manager operation failed. Error: An error occurred while trying to validate the specified database copy for possible activation. Error: Database copy ‘Mailbox Database 2’ on server ‘MBX2.domeniu.local’ has content index catalog files in the following state: ‘Failed’.
Cum s-a stricat acest content index catalog nu stiu insa se poate rezolva folosind comanda de mai jos:
Update-MailboxDatabaseCopy “Mailbox Database\Server” –CatalogOnly
Si se pare ca pentru acea baza de date a fost nevoie sa rulez comanda pentru amblele copii din DAG.
Dupa asta am mutat bazele de cateva zeci de ori fara a mai da de problema de mai sus. Dubios …
Nu seta background-ul pe o simpla culoare in Windows 7
Altfel risti sa te lovesti de urmatorul bug:
Pe vremuri daca scoteai poza de pe fundal era optimizare, acum nu mai e .
How to enable Core Parking on Windows 7
Core Parking este tehnologia din Windows ce permite oprirea completa a unui core dintr-un procesor multi-core sau la unele generatii de procesoare, oprirea completa a procesorului (atunci cand sistemul are mai multe procesoare).
Tehnologia este activata in Windows Server 2008 R2 folosind power plan-ul Balanced dar bineinteles ca trebuie sa suporte si hardware-ul. Din documentul din link-ul de mai jos:
http://msdn.microsoft.com/en-us/windows/hardware/gg566941.aspx
Aflam ca numai in Windows Server 2008 R2 este suportat Core Parking dar ca algoritmii sunt prezenti si activi si pe Windows 7 pentru a balansa incarcarea pe mai multe core-uri.
Recent, multi producatori hardware au inceput sa isi livreze echipamentele cu profiluri customizate ce permit Core Parking, asta pentru ca in special pe sistemele mobile Core Parking poate influenta serios consumul procesorului si bineinteles autonomia bateriei.
Dar nu toata lumea se uita la autonomia bateriei si foarte multa lume incearca sa dezactiveze Core Parking. De ce? Pentru ca in zona desktop unde utilizatorul vrea performanta instant, e posibil ca performanta sistemului sa fie afectata.
Cum nu sunt vreun gamer serios, pe mine ma interesa mai degraba sa activez core parking si o sa va arat acum cum sa faceti.
Prima data e bine sa va faceti un backup al sistemului si sa lucrati pe o copie a unui power plan existent.
O copie puteti face cu POWERCFG –DUPLICATESCHEME <GUID>. GUID-ul il puteti afla cu POWERCFG –L iar dupa ce obtineti un profil nou il puteti redenumi cu optiunea –CHANGENAME.
Acum o sa fie nevoie de ceva editare de registri (puteti face si aici un backup al zonei de registri ce urmeaza a fi modificata).
Trebuie sa navigati in KEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Power\PowerSettings\54533251-82be-4824-96c1-47b60b740d00
Sa intrati in fiecare din subkey-le urmatoare:
0cc5b647-c1df-4637-891a-dec35c318583
3b04d4fd-1cc7-4f23-ab1c-d1337819c4bb
447235c7-6a8d-4cc0-8e24-9eaf70b96e2b
5d76a2ca-e8c0-402f-a133-2158492d58ad
a55612aa-f624-42c6-a443-7397d064c04f
ea062031-0e34-4ff1-9b6d-eb1059334028
Si sa redenumiti Attributes in _Attributes exact ca in exemplul de mai jos:
Asta va face ca acele optiuni unde faceti modificarea sa devina active si sa poate fi modificate in power plan.
Punand “Processor performance core parking core override” pe Disabled eu am reusit sa imi fac sistemul sa opreasca din core-urile inactive:
Trebuie sa verificati si optiunea “Processor performance core parking max cores” ce specifica in procente cate core-uri pot si oprite. Exemplu: 75% pe un Quad Core va permite oprirea a 3 core-uri.
Atentie: Cateodata, pentru a face active unele setari din power plan e nevoie sa rulati POWERCFG –SETACTIVE SCHEME_CURRENT.
Anonymous a ajuns sa intercepteze convorbirile FBI-ului
http://gizmodo.com/5881993/anonymous-recorded-an-entire-fbi-international-phone-conference
Eu personal cred ca inregistrarea au facut-o direct dintr-un sistem de conferinta compromis.