Napędy a punkty montażu?

12

Poprzedni Senior DBA konfigurował punkty montowania dla wszystkich naszych dysków w każdym SQL Server w całej firmie. Nowy Senior DBA jest przerażony, że punkty montowania chcą zmienić nasz standard (głównie, myślę, ponieważ nie ma z nimi doświadczenia).

Na podstawie wyników licznych wyszukiwań w Internecie nie mogę znaleźć żadnego powodu (po SQL Server 2000), aby nie używać punktów montowania.

Czy ktoś jest świadomy ograniczeń systemu operacyjnego Windows dotyczących tego tematu?

  • Ostatnio słyszałem stwierdzenie „system operacyjny nie rozpoznaje punktów montowania”. (Nieprawda, na podstawie moich badań nad wersjami Windows Server, których używamy).

Czy istnieje jakiś oparty na dowodach lub doświadczeniu powód, aby NIE używać punktów podłączenia z SQL Server?

  • Załóżmy, że wyczerpanie się liter dysku nie jest dla nas problemem.

Rozumiem, że punkty montowania są niezwykle przydatne do rozdzielania obciążeń.

Czy ktokolwiek może potwierdzić lub odrzucić moje rozumienie, że punkty montowania faktycznie segregują / izolują obciążenia różnych typów danych i plików dziennika (systemowe pliki bazy danych, pliki bazy danych użytkownika, tempDB) bardziej wydajnie niż jeden dysk na pliki danych, pliki dziennika i tempdb ?

SQL_Underworld
źródło
Pamięć fizyczna jest w dużej mierze abstrakcyjna, gdy używa się SAN. Niezależnie od tego, czy używasz litery dysku, czy punktu instalacji, musisz współpracować z administratorami pamięci masowej, aby zapewnić jednostkę LUN o wymaganych właściwościach. Ani SQL Server, ani system operacyjny nie będą wiedzieć o podstawowej konfiguracji, chociaż można zainstalować narzędzia dostawcy, aby zapewnić widoczność.
Dan Guzman

Odpowiedzi:

13

To zależy od tego, co jest na drugim końcu punktu montowania. Jeśli wszystkie wierzchowce są rozmieszczone na tych samych fizycznych dyskach LUNS, nie zyskuje. Jeśli jednostki LUNS znajdują się we wspólnym, powolnym kanale iSCSI, być może nie ma korzyści. Jeśli wszystkie jednostki LUNS znajdują się poniżej 1 kontrolera ... widać, ile zmiennych jest w grze. Nie ma jednej odpowiedzi.

Aby określić konfigurację punktów instalacji, zobacz Lokalizowanie punktów instalacji za pomocą programu PowerShell firmy Boe Prox.


SQL Server nie ma problemu z punktami podłączenia. Są one zdefiniowane na poziomie systemu operacyjnego, a SQL Server „nie zna 1 ”, nie są one tym samym woluminem co dysk, w którym wydają się być zamontowane.

Jednak niektóre narzędzia monitorowania mogą dostarczyć złych informacji na podstawie tego ostatniego zdania.

Na przykład, jeśli masz trzy punkty montowania, takie jak

  1. C:\SQLData\SQL_Data gdzie przechowywane są wszystkie pliki .MDB
  2. C:\SQLData\SQL_Logs gdzie przechowywane są wszystkie pliki .LDF
  3. C:\SQLData\SQL_Backups gdzie przechowywane są wszystkie pliki kopii zapasowych .BAK i .TRN

Następnie SQL Server będzie działał bez żadnych problemów. Ale jeśli uruchomisz jakieś narzędzie, które ostrzeże Cię, gdy na dyskach jest mało miejsca, może sprawdzić C: a nie zamontowane woluminy poniżej , więc możesz nie wiedzieć, kiedy te punkty montowania mają mało miejsca na dysku. Ponadto różne zapytania dotyczące „najlepszych praktyk” będą rzucać fałszywe ostrzeżenia informujące, że nie należy przechowywać danych, dzienników i kopii zapasowych na tym samym dysku, ponieważ SQL Server uważa, że ​​znajdują się one na tym samym dysku. To są fałszywe flagi i można je zignorować.

Ale w zasadzie chcesz skonfigurować dodatkowe kroki w monitorowaniu serwera, aby upewnić się, że dysk C: ma wystarczającą ilość miejsca i że każdy punkt montowania również.

Czasy, w których korzystałem z punktów podłączenia w SQL Server, to jedyny problem, na jaki natknąłem się: raporty o kondycji systemu SQL Server, które podają fałszywe dane o dostępnym miejscu i fałszywe błędy mówiące, że nie powinieneś mieć wszystkich swoich danych na tym samym dysku. Ponieważ wiesz, że są to fałszywe błędy, łatwo je zignorować.


1 SQL Server ma dane, które uświadamiają mu punkt montowania, ale z praktycznego punktu widzenia nie ma różnicy w zachowaniu. „Po prostu działa”, ufając, że system operacyjny poradzi sobie ze specyfiką. Tak jak ufa systemowi operacyjnemu w obsłudze specyficznych dla jednostek LUN iSCSI podłączonych jako dyski lokalne.

Krzywka
źródło
2
Nie jestem pewien, czy nadal występuje problem z instalacją SQL i listą ACL wokół punktów instalacji w katalogu głównym dysku, ale prawdopodobnie warto na wszelki wypadek umieścić je w folderze punktów instalacji. Np .: C: \ SQLMountPoints \ SQL_Data, C: \ SQLMountPoints \ SQL_Log
Nic
Prawdziwe. Za jednym razem, gdy zrobiłem to w ten sposób, miałem folder „SQLDATA”, a następnie punkty danych „data”, „Log” i „backup”. Lub coś w tym rodzaju.
CaM
8

Oprócz CM_Dayton za odpowiedź i Sean Gallardy za odpowiedź , jeszcze jeden problem nie utożsamia się z punktów montowania jest związane z bezpieczeństwem. Aby zacytować Wytyczne dotyczące ustawiania uprawnień SQL na folderach punktu instalacji :

Chociaż foldery główne punktu podłączenia mogą wyglądać jak zwykłe foldery i są dostępne w taki sam sposób, w jaki są dostępne foldery, nie są to zwykłe foldery. W rezultacie, gdy ustawisz uprawnienia do folderu głównego punktu montowania, uprawnienia nie są dziedziczone z „woluminu nadrzędnego” w taki sam sposób, jak zwykłe foldery. W rzeczywistości nie są w ogóle dziedziczone. Wynika to z faktu, że chociaż wydaje się, że podłączony wolumin jest potomkiem „woluminu nadrzędnego”, tak nie jest. Po prostu uzyskujesz dostęp do zamontowanego woluminu poprzez ścieżkę z „woluminu nadrzędnego”.

Krótko mówiąc, musisz przypisać uprawnienia do folderów montowania w inny sposób, jeśli chcesz korzystać z folderu głównego punktu montowania. Zamiast przypisywać uprawnienia, tak jak w przypadku zwykłego folderu, musisz przypisać uprawnienia do woluminu. Ponownie z tego samego artykułu (wyróżnienie należy do Microsoftu):

Gotchas

Niestety nadal można ustawić / wyświetlić uprawnienia do folderu głównego punktu montowania za pomocą Eksploratora Windows, co może prowadzić do nieoczekiwanych wyników, ponieważ uprawnienia do folderu głównego punktu montowania mogą wydawać się ważne i można zobaczyć „odpowiednie” odziedziczone uprawnienia , jednak nie są to uprawnienia zastosowane do zamontowanego woluminu.

Wytyczne

  1. Zaleca się, aby nie umieszczać żadnych plików bezpośrednio w folderze głównym punktu instalacji . Ułatwi to zarządzanie uprawnieniami, ponieważ tendencja polega na tym, aby zawsze sprawdzać uprawnienia do folderów, co w tym przypadku jest mylące. Zamiast tego utwórz podfolder w folderze głównym punktu montowania i ustaw odpowiednie uprawnienia do tego podfolderu . Ponieważ podfolder jest zwykłym folderem, uprawnienia do folderów, które obserwujesz i ustawiasz, są w rzeczywistości stosowanymi uprawnieniami. Korzystając z poprzedniego przykładu, chciałbyś utworzyć nowy folder: D: \ FolderForVol3 ** SubfolderXYZ **. Teraz ustaw uprawnienia do folderu w stosunku do tego nowego folderu PodfolderXYZ, jak zwykle.
  2. Jeśli absolutnie musisz umieścić elementy bezpośrednio w folderze głównym punktu montowania (nie jest to zalecane podejście), musisz ustawić uprawnienia do woluminów, a nie uprawnienia do folderów. Przypomnijmy, że dzieje się tak, ponieważ uprawnienia do folderu głównego punktu instalacji nie są uprawnieniami, które zostaną ustawione na zamontowanym woluminie (ponieważ folder główny punktu instalacji nie jest prawdziwym folderem). Możesz ustawić uprawnienia do woluminów w następujący sposób:
  3. Jeśli dodajesz nowy folder do użycia w SQL, pamiętaj o wymaganych uprawnieniach do dostępu do SQL:

Jeśli nie chcesz zagnieżdżać wszystkiego w podfolderze pod Mount Point, jak zaleca MS, najłatwiej jest mi przypisać uprawnienia za pomocą cacls.exenarzędzia. Szczegółowe instrukcje można znaleźć w artykule Nie można zastosować uprawnień do katalogu głównego woluminu systemu plików NTFS w systemie Windows Server 2003 .

Nie sądzę, żeby to był w pełni rozwiązany problem. Ostatnie pytanie dotyczące instalacji FCI programu SQL Server z problemami z uprawnieniami do punktu instalacji pokazuje, że nadal może się zdarzyć w systemie Windows 2012 z programem SQL Server 2016.

W zależności od tego, jakie zabezpieczenia chcesz przypisać, polecenie może się różnić, ale testowanie jest kluczem do sukcesu, więc zapoznaj się z poleceniem przed uruchomieniem go na punkcie instalacji na żywo, ponieważ możesz szybko usunąć zabezpieczenia, jeśli zapomnisz czegoś tak prostego jak \Eflaga.

John Eisbrener
źródło
Poprzedni starszy DBA nie był świadomy tego problemu bezpieczeństwa (potwierdzenia!) I ja też nie byłem aż do tego postu. Zamierzam utworzyć zapytanie CMS, aby znaleźć wszystkie pliki db, których dotyczy problem. Cacls wydaje się dobrą drogą (chociaż zamierzam szukać czegoś opartego na PoSh). @JohnEisbrener - czy miałeś problemy z ustawianiem list ACL na plikach db po zablokowaniu do wyłącznego użytku? Jeśli tak, jaki jest następny krok?
SQL_Underworld
1
@SQL_Underworld, polecam robienie czegokolwiek z caclami w oknie konserwacji, podczas którego można przełączyć instancję bazy danych w tryb offline. Chociaż prawdopodobnie nie jest to konieczne , zmniejszy liczbę zmiennych, które mogą się zdarzyć.
John Eisbrener,
8

Na podstawie wyników licznych wyszukiwań w Internecie nie mogę znaleźć żadnego (po SQL Server 2000) powodu, aby nie używać punktów montowania.

Głównym powodem jest to, że ktoś miał z nimi złe doświadczenia (lub, odwrotnie, nie ma z nimi doświadczenia) i całkowicie ich oderwał ... na zawsze. Jest to inaczej znane jako osobiste preferencje.

Teraz tam jakieś powody, że nie można ich używać. Głównym powodem, dla którego mogę wymyślić, jest to, że sterownik lub aplikacja / narzędzie innej firmy (pomyśl filtr sterownika, replikacja dysku itp.) Nie obsługuje tego. Szybkim przykładem tego jest narzędzie do replikacji dysku na poziomie bloku, które nie obsługiwało niczego innego niż NTFS, tylko z określonymi rozmiarami klastra i nie mogło przekroczyć 2 TB dla żadnego określonego woluminu.

Czy ktoś jest świadomy ograniczeń systemu operacyjnego Windows dotyczących tego tematu?

Nie. Możesz zrobić wiele punktów montowania. W rzeczywistości zazwyczaj masz problem z interfejsami urządzenia, zanim osiągniesz znaczący limit w systemie Windows Server (zakładając, że nie używasz wersji systemu Windows Server, która ma ponad 17 lat ...).

• Ostatnio słyszałem stwierdzenie „system operacyjny nie rozpoznaje punktów montowania”. (Nieprawda, na podstawie moich badań nad wersjami Windows Server, których używamy).

Jeśli system operacyjny nie rozpoznaje punktów montowania, to w jaki sposób pozwoliłby ci użyć punktu montowania? To po prostu nie ma sensu.

Jeśli system operacyjny nie rozpoznaje punktów montowania, dlaczego miałby je śledzić i sprawdzać ich metadane ? Należy również pamiętać, że punkt podłączenia jest konstrukcją systemu plików, którą system operacyjny może obsługiwać lub nie. Nie wszystkie napotkane systemy plików mogą obsługiwać punkty montowania, jednak najbardziej powszechnym systemem plików w systemie Windows Server jest NTFS, który w rzeczywistości obsługuje punkty montowania i działa przez pewien czas.

Żeby jeszcze bardziej sprowadzić ten nieprawdziwy przedmiot do domu; Usługa klastrowania systemu Windows ma coś o nazwie Wspólne woluminy klastra (CSV), które faktycznie używają punktów montowania dla woluminów ... to natywny element korzystający z technologii. Muszę powiedzieć, że ktokolwiek ci to powiedział, trzeba się tego nauczyć.

Czy istnieje jakiś oparty na dowodach lub doświadczeniu powód, aby NIE używać punktów podłączenia z SQL Server?

Tak, zawsze jest jeden serwer z systemem Windows NT 4 ... nie używaj go tam. Możesz także upewnić się, że korzystasz z obsługiwanej wersji systemu Windows Server i pozostajesz na bieżąco z aktualizacjami.

Jednak, jak opisano powyżej, mogą istnieć elementy innych firm, które nie są obsługiwane lub nie działają z nimi poprawnie. Powiedziałbym, że upuść tego dostawcę i znajdź nowego.

Rozumiem, że punkty montowania są niezwykle przydatne do rozdzielania obciążeń.

Punkty montażu są po prostu niezwykle przydatne. Istnieje wiele sposobów ich użycia, najczęstszym jest ominięcie ograniczeń literowych dysku (ponieważ w systemie Windows jest tylko tak wiele). Kolejnym najczęstszym zastosowaniem jest posiadanie mniejszych zarządzalnych dysków (pomyśl LUN, dysk wirtualny [VMDK, VHDX]), aby pomóc uciec od niesamowicie dużych i rzadko zarządzanych woluminów monolitycznych (naprawdę staje się problem z zarządzaniem dyskami w zakresie 10 TB, ponieważ pojedyncza jednostka LUN, dysk wirtualny itp.), szczególnie w starszych wersjach systemu plików NTFS, w których implementacja była mniejsza niż możliwe użycie ... na przykład w starszych wersjach systemu Windows maksymalny rozmiar NTFS wynosił 2 TB.

Segregacja obciążeń to kolejne świetne zastosowanie. Z pewnością widać, że jest wiele zastosowań i zależy to od indywidualnego przypadku użycia. Istnieją również niewłaściwe sposoby korzystania z niego ... takie jak ogólne stwierdzenie, że wszystko musi być punktem montowania. W tym momencie to tylko szalone koszty administracyjne.

Sean Gallardy
źródło
3

Punkty montowania są sposobem na skorzystanie z serwerów, które mają współużytkowane aplikacje lub do dzielenia danych na więcej niż tylko typowe woluminy DZ.

Na przykład możesz zainstalować na e:dysku wszystkie dane jednej aplikacji, pliki dziennika i pliki tymczasowe . E:/MP_1może mieć pliki danych dla Biznesu A, E:/MP_2może mieć pliki dziennika E:/mp_3mogą mieć pliki tymczasowe dla Biznesu A i tak dalej. Następnie masz Biznes B w punktach montażu na F:Dysku. Każdy punkt montowania ma swoją własną przestrzeń.

System operacyjny absolutnie nie ma problemów z posłami. Klastry i Always On nie mają problemów z deputowanymi. Pracowałem dla bardzo znanego banku, który miał większość swoich serwerów SQL zainstalowanych na MP. Gdy DBA je wykorzysta i zrozumie pojęcia, zachęci ich do łatwiejszych rozwiązań w sklepach, które tego potrzebują.

Wspomniano, aby nie instalować niczego w katalogu głównym MP. Zgadza się. Nic w katalogu głównym MP, tak jak nie zainstalowałbyś niczego w katalogu głównym D jako przykład.

Rozwiązania do audytu i monitorowania, takie jak Foglight, Guardiam, EMS i PBM, również nie mają problemów z punktami montowania.

Shellz
źródło