Mam komputer z systemem Windows Server 2000 z systemem MS SQL Server, który przechowuje ponad 20 GB danych. Kopia zapasowa bazy danych jest codziennie tworzona na drugim dysku twardym. Chcę przenieść te pliki kopii zapasowej na inny komputer, aby zbudować inny serwer testowy i ćwiczyć odzyskiwanie. (kopia zapasowa nigdy nie została przywrócona przez prawie 5 lat. Nie mów o tym mojemu szefowi!)
Mam problem z przesyłaniem tego ogromnego pliku przez sieć. Próbowałem zwykłego kopiowania sieciowego, pobierania apache i ftp. Każda metoda, którą próbowałem, kończy się niepowodzeniem, gdy ilość przesyłanych danych osiąga 2 GB. Ostatnim razem, gdy pomyślnie przesłałem plik, był to zewnętrzny dysk twardy podłączony do USB. Ale chcę wykonywać to zadanie rutynowo, najlepiej automatycznie.
Zastanawiacie się, jakie jest najbardziej pragmatyczne podejście do tej sytuacji?
źródło
Odpowiedzi:
Awaria przewidywalna na poziomie 2 Gb wydaje się, że winny jest docelowy system plików ... Czy oba są w systemie plików NTFS? Czy przepływasz przez jakąkolwiek kompresję (zip używany do awarii na granicach 2 GB) ((apache wykonuje kompresję))
Skopiowałem wiele plików o wielkości ponad 20 Gb za pomocą robocopy (jak wspomnieli inni), ale unikałbym używania przełącznika / MIR, dopóki nie będziesz mieć pewności, że kopia robi to, co chcesz - ponieważ spowoduje to usunięcie plików i skopiowanie ich.
SMB cierpi z powodu jednego pakietu w określonym czasie, więc często jest to wolniejszy sposób kopiowania plików - masz możliwość kopiowania za pomocą push lub pull. Osobiście wolę metodę push (kopiowanie jest inicjowane przez źródło).
źródło
Narzędzie MS Exchange eseutil to doskonałe narzędzie do szybkiego kopiowania dużych plików w sieci:
eseutil / y plik_źródłowy / d plik_doc.
źródło
Bardzo polecam korzystanie z bezpłatnego narzędzia RichCopy . Jest wielowątkowy i może wstrzymywać i wznawiać operacje kopiowania plików. Miałem bardzo dużo szczęścia, używając go do przesyłania plików między serwerami.
http://blogs.technet.com/markdea/archive/2009/03/24/richcopy-is-it-the-new-sliced-bread.aspx
źródło
Jeśli chodzi o narzędzia do kopiowania plików, TeraCopy jest przyjemnym opartym na graficznym interfejsie użytkownika (nie wierszem poleceń), który może umieszczać w kolejce wiele plików, obsługuje wstrzymywanie i wznawianie, może dynamicznie zmieniać rozmiar bufora w celu optymalizacji prędkości i może opcjonalnie zastąpić domyślny Eksplorator Windows kopiuj / przenieś z własnym.
źródło
Robocopy z opcją / MIR jest bardzo przydatny do szybkiego i brudnego tworzenia kopii zapasowych między komputerami. Możesz znaleźć robocopy w zestawie Windows Server 200X Resouce Kit
MIR przeniesie zawartość jednego katalogu na inny serwer. Skopiuje tylko te pliki, które uległy zmianie.
źródło
Najbardziej pragmatycznym rozwiązaniem powtarzających się przetasowań dużych plików kopii zapasowych programu SQL Server jest użycie kompresji kopii zapasowej innej firmy lub wbudowanej kompresji kopii zapasowej programu SQL Server 2008 Enterprise Edition.
Istnieje kilka różnych dostawców. Pracuję dla Quest Software, twórców LiteSpeed, ale nie jestem tu, by coś sprzedawać. Chcesz sprawdzić wszystkie dostępne produkty i zdecydować, co najlepiej odpowiada Twoim potrzebom. Oto najnowszy post na blogu dotyczący konkretnie LiteSpeed, ale te same pojęcia dotyczą również innych produktów:
http://blogs.lessthandot.com/index.php/DataMgmt/DBAdmin/title-8
źródło
Czy kopiujesz plik przez sieć LAN lub przez jakieś połączenie WAN, takie jak ADSL? Zakładam, że jest to sieć WAN, ponieważ 20 GB nie jest dużym plikiem do skopiowania przez sieć LAN. Codziennie kopiuję wiele takich plików.
Jeśli jest to połączenie WAN, to sposobem, w jaki to robię, jest użycie rsync w wersji Cygwin.
JR
źródło
Miałem awarie transferów sieciowych na poziomie około 2 GB - okazało się, że to wadliwa karta sieciowa.
źródło
Używam synchronizacji ( http://www.2brightsparks.com/syncback/sbse.html ) codziennie do przesyłania plików kilka razy większych niż twoje. Nigdy nie miałam z tym problemu.
źródło
Jest trochę późno, ale polecam opcję aplikacji do tworzenia kopii zapasowych i przywracania innych firm. Używamy Red Gate SQL Backup ( www.red-gate.com ), ma kompresję i alternatywne opcje lokalizacji w GUI. Uzyskuję oszczędność kompresji średnio o 80% - więc przenosisz tylko 20% rzeczywistej wielkości db. Obsługuje także szyfrowanie, dzięki czemu można go używać w sieci WAN bez obaw o przechwycenie.
Jest w pełni programowalny, dzięki czemu może działać automatycznie w wybranym przez Ciebie cyklu.
GUI pozwala także konfigurować wysyłanie dziennika i administrować nim.
Darmowa wersja próbna dostępna powyżej.
źródło
Nie mam doświadczenia z tak dużym plikiem, ale czy mógłbyś użyć robocopy lub nawet xcopy z opcją / Z, która twierdzi, że można ją zrestartować. Wydaje się, że jest to przeznaczone dla dużych kopii plików, w których sieć nie jest niezawodna.
źródło
Użyłem robocopy do ponad 1 GB i nie miałem problemów. ss64.com ma dobre objaśnienie przełączników. Nie mogę jednak opublikować linku :-(
źródło
Użyj Netcat . Samouczek zorientowany na uniks do przesyłania plików można znaleźć tutaj . Możesz dodatkowo przyspieszyć:
Żartując na bok, netcat jest prawdopodobnie najszybszym sposobem przesyłania dużych plików w sieci LAN. Ponieważ suma kontrolna nie jest wykonywana, możesz zrobić sumę MD5 pliku przed wysłaniem go i porównać z sumą MD5 otrzymanego pliku.
Używałem często netcata w ten sposób, nigdy nie widziałem, żeby zawiódł, nigdy nie widziałem, żeby nie mógł maksymalnie rozwinąć sieci.
źródło
Być może warto podzielić plik na mniejsze części jako rozwiązanie krótkoterminowe, dopóki nie uda się zlokalizować problemu. W przeszłości mieliśmy podobne problemy, a ftp zawsze dla nas pracował
źródło
Jeśli są to kopiowane pliki .bak SQL, zdecydowanie zalecamy wykonanie jednej z poniższych czynności, aby zmniejszyć pliki przed skopiowaniem:
Może to wyeliminować potrzebę alternatywnej metody kopiowania dużych plików.
źródło
Nie sądzę, że znalezienie czegoś do szybszego transferu jest twoim problemem, sprawdź dokładnie, czy docelowy system plików NIE jest TŁUSZCZEM, jak powiedzieli inni. Upewnij się również, że karty sieciowe po obu stronach mają zaktualizowane sterowniki i nie zachowują się inaczej.
Powiedziawszy to, czy przenosisz wiele wielu małych plików, czy tylko kilka dużych? Widziałem problemy z kontrolerem RAID, gdy próbowałem przenieść miliony małych plików.
Nie sądzę, abyś miał problem z automatyzacją tego, gdy dowiesz się, co jest przyczyną awarii. Może pomóc wymienić więcej szczegółów na temat twojego sprzętu i wszelkich istotnych błędów, które możesz zobaczyć w przeglądarce zdarzeń.
źródło
Czy próbowałeś użyć połączenia eSATA z zewnętrznym dyskiem twardym? Połączenia palą szybko (3 gigabit!) I powinny być w stanie przenieść ten plik w mgnieniu oka!
Jaką prędkość ma twoja karta sieciowa na serwerze 10/100 lub 10/100/1000? Jak wygląda przepustowość sieci i przełącznik serwera podczas kopiowania pliku? Jak wygląda przepustowość sieci miejsca docelowego (serwera?) Podczas kopiowania? Czy próbowałeś połączyć razem 2 karty sieciowe? Czy sterowniki karty sieciowej są aktualne? Czy system BIOS jest aktualny?
Istnieje wiele rzeczy, które mogą stanowić problem przy przesyłaniu plików. Dopilnowanie, aby sterowniki sprzętu i system BIOS były aktualne, może naprawdę coś zmienić.
-JFV
źródło
Najprostszy i najszybszy sposób: zewnętrzne dyski USB i chodzenie.
Mój sposób: użyj rsync. Jeśli kopia nie powiedzie się, po prostu uruchom ją ponownie, a rozpocznie od miejsca, w którym została.
źródło
Inną sprawą do sprawdzenia byłoby sprawdzenie, czy usługa przydziału jest skonfigurowana na serwerze docelowym; Myślę, że używa 2 GB jako domyślnego przydziału na użytkownika.
źródło