Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Aktualizowanie oprogramowania układowego dla dysków zawsze było kłopotliwym zadaniem i wiązało się z ryzykiem przestojów, dlatego wprowadzamy ulepszenia funkcji Miejsca do Przechowywania, Windows Server oraz Windows 10 od wersji 1703. Jeśli masz dyski obsługujące nowy mechanizm aktualizacji oprogramowania układowego w systemie Windows, możesz zaktualizować oprogramowanie układowe dysków w środowisku produkcyjnym bez przestojów. Jeśli jednak zaktualizujesz oprogramowanie układowe dysku produkcyjnego, zapoznaj się z naszymi wskazówkami dotyczącymi minimalizowania ryzyka podczas korzystania z tych zaawansowanych nowych funkcji.
Warning
Aktualizacje oprogramowania układowego to potencjalnie ryzykowna operacja konserwacji i należy je zastosować tylko po dokładnym przetestowaniu nowego obrazu oprogramowania układowego. Istnieje możliwość, że nowe oprogramowanie układowe na nieobsługiwanym sprzęcie może negatywnie wpłynąć na niezawodność i stabilność, a nawet spowodować utratę danych. Administratorzy powinni przeczytać informacje o wersji dostarczane przez daną aktualizację, aby określić jej wpływ i zastosowanie.
Zgodność dysku
Aby użyć systemu Windows Server do aktualizacji oprogramowania układowego stacji dysków, musisz mieć obsługiwane dyski. Aby zapewnić typowe zachowanie urządzenia, zaczęliśmy definiować nowe i — dla systemów Windows 10 i Windows Server 2016 — opcjonalne wymagania zestawu Hardware Lab Kit (HLK) dla urządzeń SAS, SATA i NVMe. Te wymagania opisują, które polecenia musi obsługiwać urządzenie SATA, SAS lub NVMe, aby mogły być aktualizowane przez firmware za pomocą nowych, natywnych dla systemu Windows poleceń cmdlet programu PowerShell. Aby spełnić te wymagania, istnieje nowy test HLK, aby sprawdzić, czy produkty dostawcy obsługują odpowiednie polecenia i aby były zaimplementowane w przyszłych wersjach.
Skontaktuj się z dostawcą rozwiązania, aby uzyskać informacje o tym, czy sprzęt obsługuje aktualizację oprogramowania układowego stacji dysków systemu Windows. Poniżej przedstawiono linki do różnych wymagań:
SATA: Device.Storage.Hd.Sata — w sekcji [Jeśli zaimplementowano] Pobieranie i aktywowanie oprogramowania układowego
SYGNATURA dostępu współdzielonego: Device.Storage.Hd.Sas — w sekcji [Jeśli zaimplementowano] Pobieranie i aktywowanie oprogramowania układowego
NVMe: Device.Storage.ControllerDrive.NVMe — w sekcjach 5.7 i 5.8.
Polecenia cmdlet programu PowerShell
Dwa polecenia cmdlet dodane do systemu Windows to:
- Get-StorageFirmwareInformation
- Update-StorageFirmware
Pierwsze polecenie cmdlet zawiera szczegółowe informacje o możliwościach urządzenia, obrazach oprogramowania układowego i poprawkach. W takim przypadku maszyna zawiera tylko jeden dysk SSD SATA z 1 gniazdem oprogramowania układowego. Oto przykład:
Get-PhysicalDisk | Get-StorageFirmwareInformation
SupportsUpdate : True
NumberOfSlots : 1
ActiveSlotNumber : 0
SlotNumber : {0}
IsSlotWritable : {True}
FirmwareVersionInSlot : {J3E16101}
Należy pamiętać, że urządzenia SAS zawsze zgłaszają wartość "SupportsUpdate" jako "True", ponieważ nie ma możliwości jawnego wysyłania zapytań do urządzenia w celu zapewnienia obsługi tych poleceń.
Drugie polecenie cmdlet Update-StorageFirmware umożliwia administratorom aktualizowanie oprogramowania układowego stacji dysków za pomocą pliku obrazu, jeśli dysk obsługuje nowy mechanizm aktualizacji oprogramowania układowego. Ten plik obrazu należy uzyskać bezpośrednio od producenta OEM lub dostawcy dysku.
Note
Przed zaktualizowaniem dowolnego sprzętu produkcyjnego przetestuj konkretny obraz oprogramowania układowego na identycznym sprzęcie w środowisku laboratoryjnym.
Dysk najpierw załaduje nowy firmware do wewnętrznego obszaru tymczasowego. Mimo że tak się dzieje, I/O zazwyczaj nadal trwa. Obraz zostanie aktywowany po pobraniu. W tym czasie dysk nie będzie mógł odpowiadać na polecenia we/wy, ponieważ następuje wewnętrzne resetowanie. Oznacza to, że ten dysk nie obsługuje żadnych danych podczas aktywacji. Aplikacja, która uzyskuje dostęp do danych na tym dysku, musiałaby poczekać na odpowiedź do momentu zakończenia aktywacji oprogramowania układowego. Oto przykład użycia cmdlet w akcji:
$pd | Update-StorageFirmware -ImagePath C:\Firmware\J3E160@3.enc -SlotNumber 0
$pd | Get-StorageFirmwareInformation
SupportsUpdate : True
NumberOfSlots : 1
ActiveSlotNumber : 0
SlotNumber : {0}
IsSlotWritable : {True}
FirmwareVersionInSlot : {J3E160@3}
Dyski zwykle nie wykonują żądań I/O po aktywowaniu nowej wersji oprogramowania układowego. Czas aktywowania dysku zależy od jego projektu i typu aktualizowanego oprogramowania układowego. Zaobserwowano, że czasy aktualizacji wahały się od mniej niż 5 sekund do ponad 30 sekund.
Ten dysk wykonał aktualizację oprogramowania układowego w ciągu ~5,8 sekundy, jak pokazano poniżej:
Measure-Command {$pd | Update-StorageFirmware -ImagePath C:\\Firmware\\J3E16101.enc -SlotNumber 0}
Days : 0
Hours : 0
Minutes : 0
Seconds : 5
Milliseconds : 791
Ticks : 57913910
TotalDays : 6.70299884259259E-05
TotalHours : 0.00160871972222222
TotalMinutes : 0.0965231833333333
TotalSeconds : 5.791391
TotalMilliseconds : 5791.391
Aktualizowanie dysków w środowisku produkcyjnym
Przed umieszczeniem serwera do produkcji zdecydowanie zalecamy zaktualizowanie oprogramowania układowego dysków do oprogramowania zalecanego przez dostawcę sprzętu lub producenta OEM, który sprzedał i obsługuje rozwiązanie (obudowy pamięci masowej, dyski i serwery).
Gdy serwer znajduje się w środowisku produkcyjnym, dobrym pomysłem jest wprowadzenie tak kilku zmian na serwerze, jak to jest praktyczne. Może jednak wystąpić czas, gdy dostawca rozwiązania poinformuje Cię o tym, że na dyskach istnieje krytycznie ważna aktualizacja oprogramowania układowego. W takim przypadku należy wykonać kilka dobrych rozwiązań przed zastosowaniem aktualizacji oprogramowania układowego stacji dysków:
Przejrzyj informacje o wersji oprogramowania układowego i upewnij się, że aktualizacja rozwiązuje problemy, które mogą mieć wpływ na środowisko, oraz że oprogramowanie układowe nie zawiera żadnych znanych problemów, które mogą mieć negatywny wpływ na Ciebie.
Zainstaluj oprogramowanie układowe na serwerze w laboratorium z identycznymi dyskami (w tym poprawką dysku, jeśli istnieje wiele wersji tego samego dysku) i przetestuj dysk pod obciążeniem przy użyciu nowego oprogramowania układowego. Aby uzyskać informacje na temat wykonywania syntetycznego testowania obciążenia, zobacz Test Storage Spaces Performance Using Synthetic Workloads (Testowanie wydajności miejsc do magazynowania przy użyciu syntetycznych obciążeń).
Automatyczne aktualizacje oprogramowania układowego z funkcją Storage Spaces Direct
System Windows Server 2016 zawiera usługę monitoringu kondycji dla wdrożeń Storage Spaces Direct (w tym rozwiązań Microsoft Azure Stack). Głównym celem Usługi Zdrowotnej jest ułatwienie monitorowania i zarządzania wdrożeniem sprzętu. W ramach funkcji zarządzania ma możliwość wdrażania oprogramowania układowego stacji dysków w całym klastrze bez konieczności wykonywania obciążeń w trybie offline lub ponoszenia przestojów. Ta funkcja jest oparta na zasadach z kontrolą w rękach administratora.
Wykorzystanie usługi Health Service do wdrażania oprogramowania układowego w klastrze jest bardzo proste i obejmuje następujące kroki:
- Określ, jakie dyski HDD i SSD mają być częścią klastra Storage Spaces Direct oraz czy dyski obsługują aktualizacje oprogramowania układowego przez Windows.
- Wyświetl listę tych dysków w pliku XML składników obsługiwanych
- Zidentyfikuj wersje oprogramowania układowego, które mają być dostępne na tych dyskach w pliku XML Obsługiwanych składników (w tym ścieżki lokalizacji obrazów oprogramowania układowego)
- Przekazywanie pliku XML do bazy danych klastra
W tym momencie Usługi zdrowotne sprawdzą i przeanalizują XML oraz zidentyfikują wszystkie dyski, które nie mają wdrożonej wymaganej wersji oprogramowania układowego. Następnie przejdzie do przekierowania wejścia/wyjścia z dysków, których dotyczy problem, po czym zaktualizuje oprogramowanie układowe, przechodząc od węzła do węzła. Klaster Storage Spaces Direct osiąga niezawodność, rozkładając dane między wieloma węzłami serwera; usługa zarządzania kondycją może odizolować węzeł o wartości dysków do aktualizacji. Po zaktualizowaniu węzła zainicjuje naprawę w Storage Spaces, synchronizując wszystkie kopie danych w klastrze, zanim przejdzie do następnego węzła. Oczekuje się, że funkcja Miejsca do magazynowania zostanie przeniesiona do trybu "obniżonej wydajności" podczas wdrażania oprogramowania układowego.
Aby zapewnić stabilne wdrożenie i wystarczający czas weryfikacji nowego obrazu oprogramowania układowego, istnieje znaczne opóźnienie między aktualizacjami kilku serwerów. Domyślnie usługa kondycji będzie czekać 7 dni przed zaktualizowaniem drugiegoserwera. Każdy kolejny serwer (3rd, 4, ...) aktualizuje się z 1-dniowym opóźnieniem. Jeśli administrator uzna, że firmware jest niestabilne lub w inny sposób niepożądane, może w dowolnym momencie zatrzymać jego dalsze wdrażanie przez serwis monitorujący. Jeśli oprogramowanie układowe zostało wcześniej zweryfikowane i wymagane jest szybsze wdrożenie, te wartości domyślne można modyfikować od dni do godzin lub minut.
Oto przykład pliku XML obsługiwanych składników dla generycznego klastra Storage Spaces Direct:
<Components>
<Disks>
<Disk>
<Manufacturer>Contoso</Manufacturer>
<Model>XYZ9000</Model>
<AllowedFirmware>
<Version>2.0</Version>
<Version>2.1>/Version>
<Version>2.2</Version>
</AllowedFirmware>
<TargetFirmware>
<Version>2.2</Version>
<BinaryPath>\\path\to\image.bin</BinaryPath>
</TargetFirmware>
</Disk>
...
...
</Disks>
</Components>
Aby rozpocząć wdrażanie nowego oprogramowania układowego w tym klastrze Storage Spaces Direct, po prostu wgraj .xml do bazy danych klastra.
$SpacesDirect = Get-StorageSubSystem Clus*
$CurrentDoc = $SpacesDirect | Get-StorageHealthSetting -Name "System.Storage.SupportedComponents.Document"
$CurrentDoc.Value | Out-File <Path>
Edytuj plik w ulubionym edytorze, takim jak Visual Studio Code lub Notatnik, a następnie zapisz go.
$NewDoc = Get-Content <Path> | Out-String
$SpacesDirect | Set-StorageHealthSetting -Name "System.Storage.SupportedComponents.Document" -Value $NewDoc
Najczęściej zadawane pytania
Zobacz również Rozwiązywanie problemów z aktualizacjami oprogramowania układowego stacji dysków.
Czy będzie to działać na dowolnym urządzeniu pamięci masowej
Będzie to działać na urządzeniach magazynujących, które implementują poprawne polecenia w oprogramowaniu układowym. Polecenie cmdlet Get-StorageFirmwareInformation pokaże, czy oprogramowanie układowe dysku rzeczywiście obsługuje poprawne polecenia (dla SATA/NVMe), a test HLK umożliwia dostawcom i producentom OEM testowanie tego zachowania.
Po zaktualizowaniu dysku SATA zgłasza się, że nie obsługuje już mechanizmu aktualizacji. Czy coś jest nie tak z dyskiem
Nie, dysk jest w porządku, chyba że nowe oprogramowanie układowe nie zezwala już na aktualizacje. Występuje znany problem polegający na tym, że buforowana wersja możliwości dysku jest niepoprawna. Uruchomienie polecenia "Update-StorageProviderCache -DiscoveryLevel Full" spowoduje ponowne wyliczenie możliwości dysku i zaktualizowanie buforowanej kopii. Jako obejście, zalecamy uruchomienie powyższego polecenia raz przed zainicjowaniem aktualizacji oprogramowania układowego lub ukończeniem wdrażania w klastrze Spaces Direct.
Czy mogę zaktualizować oprogramowanie układowe w sieci SAN za pomocą tego mechanizmu
Nie — sieci SAN zwykle mają własne narzędzia i interfejsy dla takich operacji konserwacji. Ten nowy mechanizm jest przeznaczony dla bezpośrednio podłączonej pamięci masowej, takiej jak urządzenia SATA, SAS lub NVMe.
Skąd mogę pobrać obraz oprogramowania układowego
Należy zawsze uzyskiwać oprogramowanie układowe bezpośrednio od producenta OEM, dostawcy rozwiązań lub dostawcy stacji dysków, a nie pobierać go z innych stron. System Windows udostępnia mechanizm pobierania obrazu na dysk, ale nie może zweryfikować jego integralności.
Czy będzie to działać na dyskach klastrowanych
Polecenia cmdlet mogą również wykonywać swoje funkcje na dyskach klastrowanych, ale należy pamiętać, że orkiestracja usługi kondycji zdrowotnej ogranicza wpływ operacji wejścia/wyjścia na uruchomione obciążenia. Jeśli polecenia cmdlet są używane bezpośrednio na dyskach klastrowanych, operacje wejścia/wyjścia mogą zostać wstrzymane. Ogólnie rzecz biorąc, najlepszą praktyką jest wykonanie aktualizacji oprogramowania układowego napędów, gdy nie ma lub jest tylko minimalne obciążenie na tych napędach.
Co się stanie po zaktualizowaniu oprogramowania układowego w funkcji Miejsca do magazynowania
W systemie Windows Server 2016 z usługą monitorowania kondycji wdrożoną w funkcji Bezpośrednie przestrzenie magazynowe można wykonać tę operację bez odłączania obciążeń, zakładając, że dyski obsługują aktualizowanie oprogramowania układowego w systemie Windows Server.
Co się stanie w przypadku niepowodzenia aktualizacji
Aktualizacja może zakończyć się niepowodzeniem z różnych powodów. Niektóre z nich to: 1) Dysk nie obsługuje poprawnych poleceń dla systemu Windows w celu zaktualizowania jego oprogramowania układowego. W takim przypadku nowy obraz oprogramowania układowego nigdy się nie aktywuje, a dysk nadal działa ze starym obrazem. 2) Obraz nie może być pobrany ani zastosowany na tym dysku (niezgodność wersji, uszkodzony obraz, ...). W takim przypadku dysk nie wykonuje polecenia aktywacji. Ponownie stary obraz oprogramowania układowego będzie nadal działać.
Jeśli dysk w ogóle nie odpowiada po aktualizacji oprogramowania układowego, prawdopodobnie wystąpi błąd w samym oprogramowaniu układowym stacji dysków. Przetestuj wszystkie aktualizacje oprogramowania układowego w środowisku laboratoryjnym przed ich umieszczeniem w środowisku produkcyjnym. Jedynym korygowaniem może być zastąpienie dysku.
Aby uzyskać więcej informacji, zobacz Rozwiązywanie problemów z aktualizacjami oprogramowania układowego stacji dysków.
Jak zatrzymać wdrażanie oprogramowania układowego w toku
Wyłącz wdrożenie w programie PowerShell za pośrednictwem:
Get-StorageSubSystem Cluster* | Set-StorageHealthSetting -Name "System.Storage.PhysicalDisk.AutoFirmwareUpdate.RollOut.Enabled" -Value false
Podczas wdrażania występuje błąd odmowy dostępu lub nie znaleziono ścieżki. Jak rozwiązać ten problem
Upewnij się, że obraz oprogramowania układowego, którego chcesz użyć do aktualizacji, jest dostępny dla wszystkich węzłów klastra. Najprostszym sposobem, aby to zapewnić, jest umieszczenie tego na udostępnionym woluminie klastra.