Job / Praca

    Windows Server + GPO + LogIN/OFF Script + XCOPY Incremental Backup

    W du?ym przedsi?biorstwie zadbanie o backup serwerów i stacji roboczych to do?? istotne przedsi?wzi?cie. U?ytkownicy raczej nie s? ?wiadomi, ?e powinni robi? kopie tego co wa?ne. Po czym wnosz?? Po prawie 4 latach pracy jako Admin w du?ej korpo, na palcach jednej r?ki mog? policzy? osoby które zapyta?y si?, jak lub gdzie maj? zgrywa? swoje dane lub poprosi?y o kupno np dysku USB. Zatem dbamy. Serwery opisz? kiedy indziej – rsync, tar, certyfikaty do ssh, mt – raczej s? znane i stosowane, dodatkowo mo?na zastosowa? bonding do zwi?kszenia transferu, ale o tym jak ju? pisa?em – kiedy indziej.

    Dzisiaj prosty sposób na u?ycie polityk Windows Serwera do kopiowania plików u?ytkowników na zdalny storage w mieszanym ?rodowisku Windows 7 i Windows XP.

    Co to b?dzie robi?o:
    – rozpoznaje jakiego u?ywamy Windowsa :)
    – rozpoznaje czy katalog z nazw? u?ytkownika jest ju? stworzony , je?li nie – tworzy.
    – w katalogach u?ytkownika dzieli na podkatalogi „dokumenty” i „pulpit” aby nie by?o ba?aganu.
    – wy??cza potwierdzenia kopiowania plików na istniej?ce pliki
    – kopiuje tak?e pliki ukryte
    – po pierwszym kopiowaniu nadpisuje tylko te które si? zmieni?y lub dodaje nowe.

    Skrypt BAT wygl?da tak:

    IF EXIST %userprofile%\Documents GOTO BackupWin7

    :BackupWinXP

    IF EXIST \\storage\data\%username% GOTO TylkoKopia
    mkdir \\storage\data\%username%
    xcopy /Y "c:\Documents and Settings\%username%\Moje Dokumenty" \\storage\data\%username%\dokumenty /e /i /h /d
    xcopy /Y "c:\Documents and Settings\%username%\Pulpit" \\storage\data\%username%\pulpit /e /i /h /d
    :TylkoKopia
    xcopy /Y "c:\Documents and Settings\%username%\Moje Dokumenty" \\storage\data\%username%\dokumenty /e /i /h /d
    xcopy /Y "c:\Documents and Settings\%username%\Pulpit" \\storage\data\%username%\pulpit /e /i /h /d
    Goto EOF

    :BackupWin7
    IF EXIST \\storage\data\%username% GOTO TylkoKopia7
    mkdir \\storage\data\%username%
    xcopy /Y "c:\Users\%username%\Documents" \\storage\data\%username%\dokumenty /e /i /h /d
    xcopy /Y "c:\Users\%username%\Desktop" \\storage\data\%username%\pulpit /e /i /h /d
    :TylkoKopia7
    xcopy /Y "c:\Users\%username%\Documents" \\storage\data\%username%\dokumenty /e /i /h /d
    xcopy /Y "c:\Users\%username%\Desktop" \\storage\data\%username%\pulpit /e /i /h /d
    Goto EOF

    :EOF

    Zdalna lokalizacja to oczywi?cie storage – trzeba dopisa? swój serwer lub IP gdzie ma si? kopiowa?, lub dopisa? do swojego DNS’a IP do maszyny która b?dzie nazywa? si? storage.

    /Y – wy??cza promptowanie o potwierdzenie nadpisania pliku
    /D – bez podania czasu dzia?a jak incremental backup

    Pierwszy IF EXIST na podstawie katalogu Documents sprawdza czy u?ywamy Windows XP czy 7. Nast?pnie w odpowiednich blokach IF EXIST sprawdza czy jest na serwerze storage katalog z nazw? u?ytkownika, je?li nie ma tworzy j? i zaczyna kopiowanie. Je?li jest, po prostu zaczyna kopiowanie.

    Skrypt nale?y zapisa? na serwerze w miejscu dla login lub logoff skryptów (odpowiedni katalog otworzy si? przy dodawaniu skryptu do GPO).

    W zale?no?ci od potrzeb podczepiamy skrypt na logowanie lub wylogowywanie. Przy wylogowywaniu backup nast?puje zaraz po zako?czeniu pracy. Je?li u?ytkownik u?ywa komputera stacjonarnego to jest to najlepsza opcja, wy??cza komputer, idzie do domu, komputer kopiuje to co trzeba i si? wy??cza. Gorzej je?li to laptop i u?ytkownik chce go zabra? i musi czeka?, wtedy lepiej da? skrypt jako login. Skrypt odpali si? jednocze?nie z logowaniem i b?dzie dzia?a? w tle umo?liwiaj?c prac?. Mo?na doda? @echo off na pocz?tku aby nie by?o widoczne stado lataj?cych plików :)

    Implementacja na Windows Serwer:

    1. gpmc.msc
    2. Wybieramy odpowiednie OU
    3. Prawy klawisz na OU – Create And Link GPO Here…
    4. Nadajemy nazw?
    5. Prawym klawiszem na nazwie
    6. Edit
    7. Wybieramy User Configuration
    8. Wybieramy Windows Settings
    9. Wybieramy Scripts(Login/Logoff)
    10. Dwa razy klikamy na wybranym skrypcie (login lub logoff)
    11. W Logon lub Logoff Properties Wybieramy Add..
    12. Wybieramy Browse.. i wybieramy skrypt do wykonania. (Je?li go nie ma to w?a?nie w tej lokalizacji ma si? znale?? – trzeba go tam wkopiowa?).
    13. OK i zamykamy edycj? GPO.
    14. W shellu uaktualniamy polityki – gpupdate /force

    Próbujemy si? wylogowa? lub zalogowa?, efektem powinny by? katalogi u?ytkowników na zdalnym storageu.

    root@storage:/data/samba# ll
    razem 44
    drwxrwxrwx 10 root root 4096 2012-01-17 14:12 ./
    drwxr-xr-x 7 root root 4096 2012-01-12 21:42 ../
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 13:08 user1/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 13:49 user2/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 12:59 user3/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 13:56 user4/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 14:05 user5/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 13:49 user6/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 13:06 user7/
    drwxr-xr-x 4 nobody nogroup 4096 2012-01-17 14:12 user8/

    Po ci??kim dniu pracy, je?li storage wyposa?ony jest w streamer mo?na ca?y katalog /data/samba nagra? jako gotowy dzienny backup.
    Do skryptu oczywi?cie mo?na dopisa? dodatkowe katalogi w/g potrzeb.
    Raz na jaki? czas (np. miesi?c)warto skasowa? ca?? zawarto?? backupu, aby wykona? si? pe?en backup, poniewa? skrypt nie kasuje plików które by?y lokalnie, ale ju? ich nie ma.

    © odwiedź stronÄ™ http://maciejewski.org po wiÄ™cej fajnych postów!

    Job / Praca

    Windows, WSUS, NetBSD i iSCSI

    Wreszcie mog? napisa? jak?? techniczn? notk?, bo ostatnio co? nie mog?em si? zebra?. Zrzuc? to na wiosenne przesilenie ;) Dzisiaj b?dzie nietypowo poniewa? pochwal? Windowsa, a dok?adnie rzecz ujmuj?c Windows Server 2003 R2. Prawd? mówi?c nie jestem laikiem je?li chodzi o Windows, ale dotychczas moje do?wiadczenie zawodowe by?o ma?o zwi?zane z Windowsami serwerowymi. Jednak przez ca?? moj? dotychczasow? dzia?alno?? jako admina we wszystkich d?obach gdzie? si? tam maszyny z serwerami Windows przewija?y. G?ównie SBS jako kontroler domeny, albo zwyk?y do obs?ugi MSSQL. Obecnie mam pod opiek? wspomniany juz w2k3 server na DELL POWEREDGE 1800. Dzia?a na nim Active Directory i wszyscy userzy s? do niej podpi?ci. Zatem pe?na kontrola z biurka w rozproszonej lokalizacji. Ca?kiem przyjemnie si? tym zarz?dza. Ale to jakby tylko narz?dzie dzi?ki któremu mo?na znacznie u?atwi? sobie prac?. Prawdziwym powodem dla którego podoba mi si? Windows jest WSUS czyli Windows Server Update Service.. W skrócie chodzi o to, ?e nasz serwer Windowsowy przejmuje rol? witryny Windows Update.

    wsus3-zatwierdzanie.jpg

    Ustalamy jakie aktualizacje nas interesuj? (s? nawet aktualizacje do odtwrzacza Zune jak i wszystkich innych programów MS o których istnieniu nawet nie wiedzia?em), j?zyki w których te aktualizacje b?d? dost?pne oraz tworzymy grupy komputerów. Mo?emy oczywi?cie wrzuci? wszystkie komputery z AD do jednej grupy, ale nasze polityki zakazuj? takich dzia?a? i najpierw poprawki musz? by? testowane na maszynach do tego przeznaczonych.

    Kiedy ju? nasz WSUS zsynchronizuje si? z serwerami MS, a troch? to zajmuje czasu (dla poprawek dla Windows XP, 2000, Windows Server, oraz MS SQL i Office’a od 2003 do 2007 w 3 j?zykach WSUS poci?gn?? 7,2 GB), trzeba tylko zadba? o dystrybucj? poprawek. Za?atwiamy to jedn? polityk? w g?ównym drzewie naszej domeny. Dobr? opcja jest wy??czenie automatycznego restartu komputera, co jest bardzo denerwuj?ce kiedy si? akurat nad czym? pracuje. Od tego momentu opcje w klientach dotycz?cych aktualizacji s? wyszarzone co oznacza, ?e steruje nimi server. Admin ustala tylko które poprawki maj? pój?? gdzie, które odrzuci? itp. i pod koniec dnia wysy?a do klientów. Sprawnie, bez ingerencji u pracowników, z raportami co si? powiod?o a co nie.

    Oczywi?cie mo?na si? spyta?, po co to komu? Widzieli?cie du?e biuro z zaktualizowanymi wszystkimi komputerami zostawionymi do dyspozycji u?ytkowników? Nie ma takich biur. Oprócz tego nied?ugo zostanie wydany SP3 dla XP (SP1 dla Visty szcz??liwie nas nie dotyczy :), mo?na sobie tylko wyobrazi? co si? stanie jak kilkaset komputerów zacznie pobiera? 200MB w jednym czasie.

    Ok, wystarczy ju? mo?e o samym Windowsie bo patrz?c na tytu? i czytaj?c do tego miejsca pewnie zastanawiacie si? gdzie w ko?cu jest o NetBSD? :) Spokojnie w?a?nie nadchodzi ten moment. NetBSD równie? w mojej firmie odgrywa znacz?c? rol?, a ilo?ciowo przewy?sza nawet maszyny z Windows Serwerem :) Oprócz ca?ej gamy us?ug, typu groupware, obs?uga eventów z Windows czy AS400, IDSa, statystyk, czy inwentaryzacji sprz?tu (swoj? drog? dzi?ki Group Policy Object czyli polityk Windowsowych zinwentaryzowanie i to bardzo dog??bne sprz?tu i oprogramowania wraz z licencjami mo?na wykona? nie ruszaj?c si? z biurka, a dost?p do wyników przez www z bazy mysql w NetBSD ;) NetBSD równierz udost?pnia zasoby via Samba. Niestety miejsce na dyskach Windows Servera zaczyna si? ko?czy? dlatego postanowi?em przenie?? zawarto?? WSUS’a na udzia? Samby. Niestety WSUS nie przewiduje mo?liwo?ci trzymania swojego content’u na czym? innym ni? lokalny dysk z NTFS. Klapa? Nie zupe?nie. Tutaj z pomoc? równie? przychodzi NetBSD i obs?uga iSCSI. Internet SCSI bo tak brzmi pe?na nazwa tej technologii, to obs?uga sieciowa dysków ale nie jako udost?pnienie udzia?ów, tylko operacje na urz?dzeniu blokowym. Dodatkowo dyski mo?na ??czy? w jeden wielki wolumen albo stworzy? z kilku RAID. Skoro jest to urz?dzenie blokowe, klient (a w?a?ciwie initiator), mo?e korzysta? z serwera (a w?a?ciwie target’a) tak jakby korzysta? z lokalnego dysku, mo?e go sobie popartycjonowa?, sformatowa? itp. Jak wi?c sprawuje si? target NetBSD i initiator Windows? Wy?mienicie si? sprawuje! A co najwa?niejsze konfiguracja ca?o?ci jest bardzo prosta.

    Ze strony NetBSD nie musimy nic instalowa?, poniewa? target mamy w base systemie (mowa o 4.0).

    Edytujemy tylko plik /etc/iscsi/target. Mój wygl?da tak:

    # extent file or device start length
    extent0 /usr/home/storage/iscsi-wsus 0 100000MB
    # target flags storage netmask
    target0 rw extent0 0.0.0.0/0

    u?ywam pliku o rozmiarze 100GB (rozmiar dynamiczny), initiator ma pe?ne prawa do tego dysku. Zamiast ?cie?ki do pliku mo?emy poda? oczywi?cie ca?eurz?dzenia z /dev.

    Ze strony MS, instalujemy oprogramowanie initiatora, wyszukujemy i pod??czamy dysk.

    iscsi2a.jpg

    Uaktywanimy go i formatujemy, nadajemy liter? dysku.

    iscsi3a.jpg

    W ostatniej zak?adce, klikamy BIND ALL aby dysk iSCSI montowa? si? przy starcie systemu.

    iscsi4a.jpg

    Na sam koniec przenosimy zawarto?? WSUS’a, który ju? nie protestuje, ?e nie ma dysku lokalnego z NTFSem ;)

    iscsi6a.jpg

    W logu wida? czas, 9 minut dla 7GB danych w do?? rozproszonej formie, je?li dyskiem by?by faktycznie dysk a nie plik czas ten zapewne by si? jeszcze skróci?.



    Related Posts with Thumbnails
    Add your widget here