Konfigurowanie magazynu dla programu SQL Server na maszynach wirtualnych platformy Azure
Dotyczy: program SQL Server na maszynie wirtualnej platformy Azure
W tym artykule przedstawiono sposób konfigurowania magazynu dla programu SQL Server na maszynach wirtualnych platformy Azure wdrożonych za pośrednictwem witryny Azure Marketplace przy użyciu dysków SSD w warstwie Premium.
Maszyny wirtualne programu SQL Server wdrożone za pośrednictwem obrazów witryny Marketplace automatycznie stosują domyślne najlepsze rozwiązania dotyczące magazynu, które można modyfikować podczas wdrażania. Niektóre z tych ustawień konfiguracji można zmienić po wdrożeniu.
Uwaga
Ten artykuł dotyczy tylko programu SQL Server na maszynach wirtualnych platformy Azure przy użyciu usługi Premium Storage, a nie magazynu SSD w warstwie Premium w wersji 2.
Wymagania wstępne
Aby użyć ustawień konfiguracji zautomatyzowanego magazynu, maszyna wirtualna wymaga następujących cech:
- Zainicjowano aprowizację przy użyciu obrazu galerii programu SQL Server.
- Używa modelu wdrażania przy użyciu usługi Resource Manager.
- Używa dysków SSD w warstwie Premium.
Nowe maszyny wirtualne
W poniższych sekcjach opisano sposób konfigurowania magazynu dla nowych maszyn wirtualnych programu SQL Server.
Azure Portal
Podczas aprowizowania maszyny wirtualnej platformy Azure przy użyciu obrazu galerii programu SQL Server wybierz pozycję Zmień konfigurację w obszarze Magazyn na karcie Ustawienia programu SQL Server, aby otworzyć stronę Konfigurowanie magazynu. Możesz pozostawić wartości domyślne lub zmodyfikować typ konfiguracji dysku, który najlepiej odpowiada Twoim potrzebom w zależności od obciążenia.
Uwaga
Jeśli wybrano obsługiwany rozmiar maszyny wirtualnej, możesz użyć dysku SSD w warstwie Premium w wersji 2, co zapewnia szczegółową kontrolę nad rozmiarem dysku, operacjami we/wy na sekundę i przepływnością.
Wybierz lokalizację dysku dla plików danych i plików dziennika, określając typ dysku i liczbę dysków. Użyj wartości liczby operacji we/wy na sekundę, aby określić najlepszą konfigurację magazynu spełniającą potrzeby biznesowe. Wybranie magazynu w warstwie Premium powoduje ustawienie buforowania na Wartość ReadOnly dla dysku danych i Brak dla dysku dziennika zgodnie z najlepszymi rozwiązaniami dotyczącymi wydajności maszyny wirtualnej programu SQL Server.
Konfiguracja dysku jest całkowicie dostosowywalna, dzięki czemu można skonfigurować topologię magazynu, typ dysku i operacje we/wy na sekundę potrzebne dla obciążenia maszyny wirtualnej z programem SQL Server. Możesz również użyć dysku Ultradisk jako opcji typu Dysk, jeśli maszyna wirtualna z programem SQL Server znajduje się w jednym z obsługiwanych regionów i włączono dyski w warstwie Ultra dla subskrypcji.
tempdb
Skonfiguruj ustawienia bazy danych w obszarze Magazyn bazy danych TempDb, takie jak lokalizacja plików bazy danych, a także liczba plików, rozmiar początkowy i rozmiar automatycznego zwiększania w MB.
- Obecnie podczas wdrażania maksymalna liczba
tempdb
plików wynosi 8, ale po wdrożeniu maszyny wirtualnej z programem SQL Server można dodać więcej plików. - Jeśli skonfigurujesz wystąpienie
tempdb
programu SQL Server na woluminie D: lokalnego dysku SSD zgodnie z zaleceniami, rozszerzenie agenta IaaS sql zarządza folderami i uprawnieniami wymaganymi podczas ponownego aprowizowania. Nie wymaga to utworzenia maszyny wirtualnej SQL z obrazem z witryny Azure Marketplace.
Ponadto masz możliwość ustawienia buforowania dla dysków. Maszyny wirtualne platformy Azure mają wielowarstwową technologię buforowania o nazwie Blob Cache w przypadku użycia z dyskami w warstwie Premium. Usługa Blob Cache używa kombinacji pamięci RAM maszyny wirtualnej i lokalnego dysku SSD do buforowania.
Buforowanie dysku dla dysków SSD w warstwie Premium może mieć wartość ReadOnly, *ReadWrite lub None.
Buforowanie readOnly jest bardzo korzystne w przypadku plików danych programu SQL Server przechowywanych w usłudze Premium Storage. Buforowanie funkcji ReadOnly zapewnia małe opóźnienie odczytu, wysoką operację we/wy odczytu i przepływność, ponieważ operacje odczytu są wykonywane z pamięci podręcznej, która znajduje się w pamięci maszyny wirtualnej i lokalnym dysku SSD. Te operacje odczytu są znacznie szybsze niż odczyty z dysku danych, który pochodzi z usługi Azure Blob Storage. Usługa Premium Storage nie zlicza odczytów obsługiwanych z pamięci podręcznej w kierunku liczby operacji we/wy na sekundę dysku i przepływności. W związku z tym twoja aplikacja może osiągnąć większą łączną liczbę operacji we/wy na sekundę i przepływność.
Nie należy używać żadnej konfiguracji pamięci podręcznej dla dysków hostujących plik dziennika programu SQL Server, ponieważ plik dziennika jest zapisywany sekwencyjnie i nie korzysta z buforowania ReadOnly .
Buforowanie ReadWrite nie powinno być używane do hostowania plików programu SQL Server, ponieważ program SQL Server nie obsługuje spójności danych z pamięcią podręczną ReadWrite . Zapisuje pojemność pamięci podręcznej obiektów blob ReadOnly i opóźnienia nieznacznie zwiększają się, jeśli zapisy przechodzą przez warstwy pamięci podręcznej obiektów blob ReadOnly .
Napiwek
Upewnij się, że konfiguracja magazynu jest zgodna z ograniczeniami narzuconymi przez wybrany rozmiar maszyny wirtualnej. Wybranie parametrów magazynu przekraczających limit wydajności rozmiaru maszyny wirtualnej spowoduje ostrzeżenie:
The desired performance might not be reached due to the maximum virtual machine disk performance cap
. Zmniejsz liczbę operacji we/wy przez zmianę typu dysku lub zwiększ limit wydajności, zwiększając rozmiar maszyny wirtualnej. Nie spowoduje to zatrzymania aprowizacji.
Na podstawie wybranych opcji platforma Azure wykonuje następujące zadania konfiguracji magazynu po utworzeniu maszyny wirtualnej:
- Tworzy dyski SSD w warstwie Premium i dołącza je do maszyny wirtualnej.
- Konfiguruje dyski danych, aby były dostępne dla programu SQL Server.
- Konfiguruje dyski danych w puli magazynów na podstawie określonego rozmiaru i wydajności (liczby operacji we/wy na sekundę i przepływności).
- Kojarzy pulę magazynów z nowym dyskiem na maszynie wirtualnej.
Aby zapoznać się z pełnym przewodnikiem dotyczącym tworzenia maszyny wirtualnej z programem SQL Server w witrynie Azure Portal, zobacz samouczek aprowizacji.
Szablony usługi Resource Manager
Jeśli używasz następujących szablonów usługi Resource Manager, domyślnie dołączono dwa dyski danych w warstwie Premium bez konfiguracji puli magazynów. Można jednak dostosować te szablony, aby zmienić liczbę dysków danych w warstwie Premium dołączonych do maszyny wirtualnej.
- Tworzenie maszyny wirtualnej za pomocą zautomatyzowanej kopii zapasowej
- Tworzenie maszyny wirtualnej za pomocą zautomatyzowanego stosowania poprawek
- Tworzenie maszyny wirtualnej za pomocą integracji z usługą AKV
Szablon szybkiego startu
Aby wdrożyć maszynę wirtualną z programem SQL Server przy użyciu optymalizacji magazynu, możesz użyć następującego szablonu szybkiego startu.
- Tworzenie maszyny wirtualnej przy użyciu optymalizacji magazynu
- Tworzenie maszyny wirtualnej przy użyciu narzędzia Ultradisk
Uwaga
Niektóre rozmiary maszyn wirtualnych mogą nie mieć magazynu tymczasowego ani lokalnego. Jeśli wdrożysz program SQL Server na maszynie wirtualnej platformy Azure bez tymczasowego magazynu, tempdb
pliki danych i dziennika zostaną umieszczone w folderze danych.
Istniejące maszyny wirtualne
Uwaga
Magazyn jest konfigurowalny tylko dla maszyn wirtualnych z programem SQL Server wdrożonych z obrazu programu SQL Server w witrynie Azure Marketplace i obecnie nie jest obsługiwany dla dysków SSD w wersji 2 w warstwie Premium. Aby zmodyfikować konfiguracje dysków na maszynie wirtualnej platformy Azure z zainstalowanym samodzielnie programem SQL Server, użyj okienka Dyski.
Modyfikowanie istniejących dysków
W przypadku istniejących maszyn wirtualnych programu SQL Server wdrożonych za pośrednictwem witryny Azure Marketplace można zmodyfikować niektóre ustawienia magazynu w witrynie Azure Portal za pomocą zasobu maszyn wirtualnych SQL lub w okienku Dyski.
Aby zmodyfikować ustawienia magazynu, otwórz zasób maszyn wirtualnych SQL i wybierz pozycję Konfiguracja magazynu w obszarze Ustawienia, gdzie można:
- Dodawanie dodatkowych dysków
- Konfigurowanie lub rozszerzanie istniejących dysków
Wybranie pozycji Konfiguruj otwiera stronę Rozszerzanie dysku danych, umożliwiając zmianę typu dysku, a także dodawanie dodatkowych dysków. Dyski można również dodawać za pomocą okienka Dyski.
Jeśli osiągnięto już maksymalne dyski obsługiwane dla określonego rozmiaru maszyny wirtualnej, może być konieczne zmianę rozmiaru maszyny wirtualnej.
Modyfikowanie bazy danych tempdb
Można również zmodyfikować tempdb
ustawienia przy użyciu strony konfiguracja magazynu, takiej jak liczba tempdb
plików, a także rozmiar początkowy oraz współczynnik autowzrośli. Wybierz pozycję Konfiguruj obok bazy danych tempdb , aby otworzyć stronę Konfiguracja bazy danych tempdb.
Wybierz pozycję Tak obok pozycji Skonfiguruj pliki danych bazy danych tempdb, aby zmodyfikować ustawienia, a następnie wybierz pozycję Tak obok pozycji Zarządzaj folderami bazy danych tempdb po ponownym uruchomieniu, aby umożliwić platformie Azure zarządzanie tempdb
konfiguracją, folderem i uprawnieniami przy następnym uruchomieniu usługi PROGRAMU SQL Server. Nie wymaga to utworzenia maszyny wirtualnej SQL z obrazem z witryny Azure Marketplace.
Uruchom ponownie usługę PROGRAMU SQL Server, aby zastosować zmiany.
Zwiększanie rozmiaru dysku tymczasowego
Aby zwiększyć rozmiar dysku tymczasowego, zmień rozmiar maszyny wirtualnej na jednostkę SKU, która obsługuje większy rozmiar dysku dla magazynu tymczasowego.
Automatyczne zmiany
Ta sekcja zawiera informacje dotyczące zmian konfiguracji magazynu, które platforma Azure automatycznie wykonuje podczas aprowizacji lub konfiguracji maszyny wirtualnej z programem SQL Server w witrynie Azure Portal.
- Platforma Azure konfiguruje pulę magazynów z magazynu wybranego z maszyny wirtualnej. W następnej sekcji tego artykułu znajdują się szczegółowe informacje o konfiguracji puli magazynów.
- Automatyczna konfiguracja magazynu zawsze używa dysków SSD P30 w warstwie Premium . Istnieje więc mapowanie 1:1 między wybraną liczbą terabajtów a liczbą dysków danych dołączonych do maszyny wirtualnej.
Aby uzyskać informacje o cenach, zobacz stronę Cennik usługi Storage na karcie Magazyn dyskowy.
Tworzenie puli magazynów
Platforma Azure używa następujących ustawień do utworzenia puli magazynów na maszynach wirtualnych programu SQL Server.
Ustawienie | Wartość |
---|---|
Rozmiar paska | 64 KB |
Rozmiary dysków | 1 TB każdy |
Pamięć podręczna | Przeczytaj |
Rozmiar alokacji | Rozmiar jednostki alokacji NTFS 64 KB |
Odzyskiwanie | Proste odzyskiwanie (brak odporności) |
Liczba kolumn | Liczba dysków danych do 81 |
1 Po utworzeniu puli magazynów nie można zmienić liczby kolumn w puli magazynów.
Uwaga
Użyj polecenia Optimize-StoragePoo i Optimize-Volume , aby ponownie zrównoważyć alokację miejsca w puli i zoptymalizować wydajność dla typów obciążeń, które mają losowe głęboko w kolejce wzorce we/wy.
Enable caching
W przypadku dysków SSD w warstwie Premium można zmienić zasady buforowania na poziomie dysku. Można to zrobić przy użyciu witryny Azure Portal, programu PowerShell lub interfejsu wiersza polecenia platformy Azure.
Aby zmienić zasady buforowania w witrynie Azure Portal, wykonaj następujące kroki:
Zatrzymaj usługę programu SQL Server.
Zaloguj się do Azure Portal.
Przejdź do maszyny wirtualnej, wybierz pozycję Dyski w obszarze Ustawienia.
Wybierz odpowiednie zasady buforowania dla dysku z listy rozwijanej — tylko do odczytu lub Brak.
Po wprowadzeniu zmiany uruchom ponownie maszynę wirtualną z programem SQL Server i uruchom usługę PROGRAMU SQL Server.
Włączanie akceleratora zapisu
Akcelerator zapisu to funkcja dysku dostępna tylko dla maszyn wirtualnych serii M. Celem przyspieszania zapisu jest zwiększenie opóźnienia operacji we/wy zapisu w usłudze Azure Premium Storage, gdy potrzebujesz opóźnienia operacji we/wy z jedną cyfrą ze względu na duże obciążenia OLTP o krytycznym znaczeniu dla woluminu lub środowiska magazynu danych.
Przed włączeniem akceleratora zapisu przejrzyj niektóre ograniczenia , aby potwierdzić, że są one akceptowalne dla Twojej firmy.
Zatrzymaj wszystkie działania programu SQL Server i zamknij usługę SQL Server przed wprowadzeniem zmian w zasadach przyspieszania zapisu.
Jeśli dyski są rozłożone, włącz przyspieszanie zapisu dla każdego dysku osobno, a maszyna wirtualna platformy Azure powinna zostać zamknięta przed wprowadzeniem jakichkolwiek zmian.
Aby włączyć przyspieszanie zapisu przy użyciu witryny Azure Portal, wykonaj następujące kroki:
Zatrzymaj usługę programu SQL Server. Jeśli dyski są rozłożone, zamknij maszynę wirtualną.
Zaloguj się do Azure Portal.
Przejdź do maszyny wirtualnej, wybierz pozycję Dyski w obszarze Ustawienia.
Wybierz opcję pamięci podręcznej z akceleratorem zapisu dla dysku z listy rozwijanej.
Po wprowadzeniu zmiany uruchom maszynę wirtualną i usługę PROGRAMU SQL Server.
Rozbieranie dysku
Aby uzyskać większą przepływność, można dodać dodatkowe dyski danych i użyć usuwania dysków. Aby określić liczbę dysków danych, przeanalizuj przepływność i przepustowość wymaganą dla plików danych programu SQL Server, w tym dziennik i tempdb
. Limity przepływności i przepustowości różnią się w zależności od rozmiaru maszyny wirtualnej. Aby dowiedzieć się więcej, zobacz Rozmiar maszyny wirtualnej.
W przypadku systemu Windows 8/Windows Server 2012 lub nowszego użyj Miejsca do magazynowania z następującymi wytycznymi:
Ustaw interleave (rozmiar paska) na 64 KB (65,536 bajtów), aby uniknąć wpływu na wydajność z powodu niezgodności partycji. Należy to ustawić za pomocą programu PowerShell.
Ustaw liczbę kolumn = liczbę dysków fizycznych. Użyj programu PowerShell podczas konfigurowania więcej niż 8 dysków (nie Menedżer serwera interfejsu użytkownika).
Na przykład poniższy program PowerShell tworzy nową pulę magazynów z rozmiarem przeplatanym do 64 KB i liczbą kolumn równą ilości dysku fizycznego w puli magazynów:
$PhysicalDisks = Get-PhysicalDisk | Where-Object {$_.FriendlyName -like "*2" -or $_.FriendlyName -like "*3"}
New-StoragePool -FriendlyName "DataFiles" -StorageSubsystemFriendlyName "Windows Storage on <VM Name>" `
-PhysicalDisks $PhysicalDisks | New-VirtualDisk -FriendlyName "DataFiles" `
-Interleave 65536 -NumberOfColumns $PhysicalDisks.Count -ResiliencySettingName simple `
-UseMaximumSize |Initialize-Disk -PartitionStyle GPT -PassThru |New-Partition -AssignDriveLetter `
-UseMaximumSize |Format-Volume -FileSystem NTFS -NewFileSystemLabel "DataDisks" `
-AllocationUnitSize 65536 -Confirm:$false
W systemie Windows Server 2016 lub nowszym wartość domyślna to -StorageSubsystemFriendlyName
Windows Storage on <VM Name>
W przypadku systemu Windows 2008 R2 lub starszego można użyć dysków dynamicznych (woluminów rozłożonych systemu operacyjnego), a rozmiar paska jest zawsze 64 KB. Ta opcja jest przestarzała w systemie Windows 8/Windows Server 2012. Aby uzyskać informacje, zobacz instrukcję pomocy technicznej w temacie Virtual Disk Service is transitioning to Windows Storage Management API (Usługa dysków wirtualnych przechodzi do interfejsu API zarządzania magazynem systemu Windows).
Jeśli używasz usługi Miejsca do magazynowania Direct (S2D) z wystąpieniami klastra trybu failover programu SQL Server, musisz skonfigurować jedną pulę. Mimo że w tej pojedynczej puli można utworzyć różne woluminy, wszystkie te same cechy będą współdzielić, takie jak te same zasady buforowania.
Określ liczbę dysków skojarzonych z pulą magazynów na podstawie oczekiwań dotyczących obciążenia. Należy pamiętać, że różne rozmiary maszyn wirtualnych zezwalają na różne liczby dołączonych dysków danych. Aby uzyskać więcej informacji, zobacz Rozmiary maszyn wirtualnych.
Znane problemy
Opcja Konfigurowanie dysku lub okienko Konfiguracja magazynu w zasobie maszyny wirtualnej SQL jest wyszarzane
Strona Magazynu może być wyszarana w okienku zasobów maszyn wirtualnych SQL w witrynie Azure Portal z następujących powodów:
- Rozszerzenie agenta IaaS sql jest w stanie niepowodzenia. Usuń , a następnie zarejestruj maszynę wirtualną z programem SQL Server przy użyciu rozszerzenia jeszcze raz.
- Dostosowano pulę magazynów.
- Używasz obrazu spoza witryny Marketplace.
- Utworzono maszynę wirtualną z dyskami niezarządzanymi. Obsługiwane są tylko dyski zarządzane.
Opcja Rozszerzanie dysku jest wyszaryzowana
Opcja Rozszerz dysk może być wyszarana z następujących powodów:
- Dostosowano pulę magazynów. Jeśli chcesz rozszerzyć dysk, dodaj dyski do puli magazynów, aby powiększyć dysk wirtualny.
- Zmieniono nazwy dysku wirtualnego lub woluminu z ich wartości domyślnych:
- Nazewnictwo pul magazynów: SQLVMStoragePool1, SQLVMStoragePool2, SQLVMStoragePool3
- Dysk wirtualny: SQLVMVirtualDisk1, SQLVMVirtualDisk2, SQLVMVirtualDisk3
- Woluminy: SQLVMDATA1, SQLVMLOG i SQLVMTEMPDB
- Klaster systemu Windows został zainstalowany na maszynie wirtualnej z programem SQL Server, więc rozszerzanie dysków nie jest obsługiwane.
Mam dysk o rozmiarze 1 TB nieprzydzielonego miejsca, którego nie mogę usunąć z puli magazynów
Nie ma możliwości usunięcia nieprzydzielonego miejsca z dysku należącego do puli magazynów.
Mój dziennik transakcji jest pełny
Zapoznaj się z artykułem Rozwiązywanie problemów z pełnym dziennikiem transakcji, jeśli dziennik stanie się pełny.
Nie można skonfigurować magazynu za pomocą zasobu maszyn wirtualnych SQL
Okienko Konfiguracja magazynu dla zasobu maszyn wirtualnych SQL w witrynie Azure Portal może być niedostępne, wyszarane lub wybranie opcji Rozszerz dyski nie powoduje niczego, w następujących scenariuszach:
- Maszyny wirtualne z własnymi wystąpieniami programu SQL Server. Obecnie obsługiwane są tylko obrazy maszyn wirtualnych programu SQL Server z witryny Azure Marketplace.
- Maszyny wirtualne programu SQL Server korzystające z usługi SSDv2 w warstwie Premium. Obecnie obsługiwane są tylko maszyny wirtualne programu SQL Server z dyskami SSD w warstwie Premium.
- Gdy protokół TCP/IP jest wyłączony w programie SQL Server Configuration Manager.