Memperbarui firmware drive

Berlaku untuk: Windows Server 2022, Windows Server 2019, Windows Server 2016, Windows 10

Memperbarui firmware untuk drive secara historis telah menjadi tugas rumit dengan potensi waktu henti, itulah sebabnya kami melakukan peningkatan pada Ruang Penyimpanan, Windows Server, dan Windows 10, versi 1703 dan yang lebih baru. Jika Anda memiliki drive yang mendukung mekanisme pembaruan firmware baru yang disertakan dalam Windows, Anda dapat memperbarui firmware drive dalam produksi tanpa waktu henti. Namun, jika Anda akan memperbarui firmware drive produksi, pastikan untuk membaca tips kami tentang cara meminimalkan risiko saat menggunakan fungsionalitas baru yang kuat ini.

Peringatan

Pembaruan firmware adalah operasi pemeliharaan yang berpotensi berisiko dan Anda hanya boleh menerapkannya setelah pengujian menyeluruh gambar firmware baru. Ada kemungkinan bahwa firmware baru pada perangkat keras yang tidak didukung dapat berdampak negatif pada keandalan dan stabilitas, atau bahkan menyebabkan kehilangan data. Administrator harus membaca catatan rilis yang disertakan pembaruan tertentu untuk menentukan dampak dan penerapannya.

Kompatibilitas drive

Untuk menggunakan Windows Server untuk memperbarui firmware drive, Anda harus memiliki drive yang didukung. Untuk memastikan perilaku perangkat umum, kami mulai dengan mendefinisikan persyaratan baru dan - untuk Windows 10 dan Windows Server 2016 - Persyaratan Hardware Lab Kit (HLK) opsional untuk perangkat SAS, SATA, dan NVMe. Persyaratan ini menguraikan perintah SATA, SAS, atau perangkat NVMe harus mendukung agar dapat diperbarui firmware menggunakan cmdlet PowerShell baru yang asli Windows ini. Untuk mendukung persyaratan ini, ada pengujian HLK baru untuk memverifikasi apakah produk vendor mendukung perintah yang tepat dan menerapkannya dalam revisi di masa mendatang.

Hubungi vendor solusi Anda untuk informasi tentang apakah perangkat keras Anda mendukung Windows memperbarui firmware drive. Berikut adalah tautan ke berbagai persyaratan:

Cmdlet PowerShell

Dua cmdlet yang ditambahkan ke Windows adalah:

  • Get-StorageFirmwareInformation
  • Update-StorageFirmware

Cmdlet pertama memberi Anda informasi terperinci tentang kemampuan perangkat, gambar firmware, dan revisi. Dalam hal ini, komputer hanya berisi satu SSD SATA dengan 1 slot firmware. Berikut contohnya:

Get-PhysicalDisk | Get-StorageFirmwareInformation

SupportsUpdate        : True
NumberOfSlots         : 1
ActiveSlotNumber      : 0
SlotNumber            : {0}
IsSlotWritable        : {True}
FirmwareVersionInSlot : {J3E16101}

Perhatikan bahwa perangkat SAS selalu melaporkan "SupportsUpdate" sebagai "True", karena tidak ada cara untuk mengkueri perangkat secara eksplisit untuk dukungan perintah ini.

Cmdlet kedua, Update-StorageFirmware, memungkinkan administrator memperbarui firmware drive dengan file gambar, jika drive mendukung mekanisme pembaruan firmware baru. Anda harus mendapatkan file gambar ini dari OEM atau vendor drive secara langsung.

Catatan

Sebelum memperbarui perangkat keras produksi apa pun, uji gambar firmware tertentu pada perangkat keras yang identik dalam pengaturan lab.

Drive pertama-tama akan memuat gambar firmware baru ke area penahapan internal. Meskipun ini terjadi, I/O biasanya berlanjut. Gambar diaktifkan setelah mengunduh. Selama waktu ini drive tidak akan dapat merespons perintah I/O saat reset internal terjadi. Ini berarti bahwa drive ini tidak melayani data selama aktivasi. Aplikasi yang mengakses data pada drive ini harus menunggu respons hingga aktivasi firmware selesai. Berikut adalah contoh cmdlet yang beraksi:

$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}

Drive biasanya tidak menyelesaikan permintaan I/O saat mengaktifkan gambar firmware baru. Berapa lama waktu yang dibutuhkan drive untuk mengaktifkan tergantung pada desainnya dan jenis firmware yang Anda perbarui. Kami telah mengamati waktu pembaruan berkisar dari kurang dari 5 detik hingga lebih dari 30 detik.

Drive ini melakukan pembaruan firmware dalam ~ 5,8 detik, seperti yang ditunjukkan di sini:

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

Memperbarui drive dalam produksi

Sebelum menempatkan server ke produksi, sebaiknya perbarui firmware drive Anda ke firmware yang direkomendasikan oleh vendor perangkat keras atau OEM yang menjual dan mendukung solusi Anda (penutup penyimpanan, drive, dan server).

Setelah server dalam produksi, ada baiknya untuk membuat beberapa perubahan pada server seperti yang praktis. Namun, mungkin ada kalanya vendor solusi Anda memberi tahu Anda bahwa ada pembaruan firmware yang sangat penting untuk drive Anda. Jika ini terjadi, berikut adalah beberapa praktik yang baik untuk diikuti sebelum menerapkan pembaruan firmware drive apa pun:

  1. Tinjau catatan rilis firmware dan konfirmasikan bahwa pembaruan mengatasi masalah yang dapat memengaruhi lingkungan Anda, dan bahwa firmware tidak berisi masalah umum yang dapat berdampak buruk pada Anda.

  2. Instal firmware di server di lab Anda yang memiliki drive yang identik (termasuk revisi drive jika ada beberapa revisi drive yang sama), dan uji drive di bawah beban dengan firmware baru. Untuk informasi tentang melakukan pengujian beban sintetis, lihat Menguji Performa Ruang Penyimpanan Menggunakan Beban Kerja Sintetis.

Pembaruan firmware otomatis dengan Storage Spaces Direct

Windows Server 2016 menyertakan penyebaran Health Service for Storage Spaces Direct (termasuk solusi Microsoft Azure Stack). Tujuan utama Layanan Kesehatan adalah untuk mempermudah pemantauan dan pengelolaan penyebaran perangkat keras Anda. Sebagai bagian dari fungsi manajemennya, ia memiliki kemampuan untuk meluncurkan firmware drive di seluruh kluster tanpa mengambil beban kerja offline atau menimbulkan waktu henti. Kemampuan ini didorong oleh kebijakan, dengan kontrol di tangan admin.

Menggunakan Health Service untuk meluncurkan firmware di seluruh kluster sangat sederhana dan melibatkan langkah-langkah berikut:

  • Identifikasi drive HDD dan SSD apa yang Anda harapkan untuk menjadi bagian dari kluster Storage Spaces Direct Anda, dan apakah drive mendukung Windows melakukan pembaruan firmware
  • Mencantumkan drive tersebut dalam file xml Komponen yang Didukung
  • Identifikasi versi firmware yang Anda harapkan dimiliki drive tersebut di xml Komponen yang Didukung (termasuk jalur lokasi gambar firmware)
  • Mengunggah file xml ke kluster DB

Pada titik ini, Layanan Kesehatan akan memeriksa dan mengurai xml dan mengidentifikasi drive apa pun yang tidak memiliki versi firmware yang diinginkan yang disebarkan. Kemudian akan dilanjutkan untuk mengarahkan kembali I/O jauh dari drive yang terpengaruh - pergi node-by-node - dan memperbarui firmware pada mereka. Kluster Storage Spaces Direct mencapai ketahanan dengan menyebarkan data di beberapa simpul server; dimungkinkan bagi layanan kesehatan untuk mengisolasi seluruh drive bernilai node untuk pembaruan. Setelah pembaruan node, simpul akan memulai perbaikan di Ruang Penyimpanan, membawa semua salinan data di seluruh kluster kembali sinkron satu sama lain, sebelum beralih ke simpul berikutnya. Ini diharapkan dan normal bagi Ruang Penyimpanan untuk beralih ke mode operasi "terdegradasi" saat firmware diluncurkan.

Untuk memastikan peluncuran stabil dan waktu validasi yang memadai dari gambar firmware baru, ada penundaan yang signifikan antara pembaruan beberapa server. Per default, Layanan Kesehatan akan menunggu 7 hari sebelum memperbarui server 2nd . Setiap server berikutnya (3rd, 4th, ...) diperbarui dengan penundaan 1 hari. Jika administrator menemukan firmware tidak stabil atau tidak diinginkan, ia dapat menghentikan peluncuran lebih lanjut oleh layanan kesehatan kapan saja. Jika firmware sebelumnya telah divalidasi dan peluncuran yang lebih cepat diinginkan, nilai default ini dapat dimodifikasi dari hari, ke jam atau menit.

Berikut adalah contoh xml komponen yang didukung untuk kluster Storage Spaces Direct generik:

 <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>

Untuk mendapatkan peluncuran firmware baru yang dimulai di kluster Storage Spaces Direct ini, cukup unggah .xml ke kluster DB:

$SpacesDirect = Get-StorageSubSystem Clus*

$CurrentDoc = $SpacesDirect | Get-StorageHealthSetting -Name "System.Storage.SupportedComponents.Document"

$CurrentDoc.Value | Out-File <Path>

Edit file di editor favorit Anda, seperti Visual Studio Code atau Notepad, lalu simpan.

$NewDoc = Get-Content <Path> | Out-String

$SpacesDirect | Set-StorageHealthSetting -Name "System.Storage.SupportedComponents.Document" -Value $NewDoc

Pertanyaan yang Sering Ditanyakan

Lihat Juga Memecahkan masalah pembaruan firmware drive.

Apakah ini akan berfungsi pada perangkat penyimpanan apa pun

Ini akan berfungsi pada perangkat penyimpanan yang menerapkan perintah yang benar di firmware mereka. Cmdlet Get-StorageFirmwareInformation akan menunjukkan apakah firmware drive memang mendukung perintah yang benar (untuk SATA/NVMe) dan pengujian HLK memungkinkan vendor dan OEM untuk menguji perilaku ini.

Setelah saya memperbarui drive SATA, ia melaporkan untuk tidak lagi mendukung mekanisme pembaruan. Apakah ada yang salah dengan drive

Tidak, drive baik-baik saja, kecuali firmware baru tidak mengizinkan pembaruan lagi. Anda mengalami masalah yang diketahui di mana versi kemampuan drive yang di-cache salah. Menjalankan "Update-StorageProviderCache -DiscoveryLevel Full" akan menghitung ulang kemampuan drive dan memperbarui salinan yang di-cache. Sebagai solusi, sebaiknya jalankan perintah di atas sekali sebelum memulai pembaruan firmware atau menyelesaikan peluncuran pada kluster Spaces Direct.

Dapatkah saya memperbarui firmware di SAN saya melalui mekanisme ini

Tidak - VPN biasanya memiliki utilitas dan antarmuka mereka sendiri untuk operasi pemeliharaan tersebut. Mekanisme baru ini untuk penyimpanan yang terpasang langsung, seperti perangkat SATA, SAS, atau NVMe.

Dari mana saya mendapatkan gambar firmware

Anda harus selalu mendapatkan firmware apa pun langsung dari OEM, vendor solusi, atau vendor drive Anda dan tidak mengunduhnya dari pihak lain. Windows menyediakan mekanisme untuk mendapatkan citra ke drive, tetapi tidak dapat memverifikasi integritasnya.

Apakah ini akan bekerja pada drive berkluster

Cmdlet juga dapat melakukan fungsinya pada drive berkluster, tetapi perlu diingat bahwa orkestrasi Layanan Kesehatan mengurangi dampak I/O pada beban kerja yang berjalan. Jika cmdlet digunakan langsung pada drive berkluster, I/O kemungkinan akan mengulur waktu. Secara umum, ini adalah praktik terbaik untuk melakukan pembaruan firmware drive ketika tidak ada, atau hanya beban kerja minimal pada drive yang mendasar.

Apa yang terjadi saat saya memperbarui firmware di Ruang Penyimpanan

Pada Windows Server 2016 dengan Layanan Kesehatan yang disebarkan pada Ruang Penyimpanan Langsung, Anda dapat melakukan operasi ini tanpa membuat beban kerja Anda offline, dengan asumsi drive mendukung Windows Server memperbarui firmware.

Apa yang terjadi jika pembaruan gagal

Pembaruan dapat gagal karena berbagai alasan, beberapa di antaranya adalah: 1) Drive tidak mendukung perintah yang benar bagi Windows untuk memperbarui firmwarenya. Dalam hal ini gambar firmware baru tidak pernah diaktifkan dan drive terus berfungsi dengan gambar lama. 2) Gambar tidak dapat diunduh atau diterapkan ke drive ini (versi tidak cocok, gambar rusak, ...). Dalam hal ini drive gagal mengaktifkan perintah. Sekali lagi, gambar firmware lama akan terus berfungsi.

Jika drive tidak merespons sama sekali setelah pembaruan firmware, Anda kemungkinan mencapai bug di firmware drive itu sendiri. Uji semua pembaruan firmware di lingkungan lab sebelum menempatkannya dalam produksi. Satu-satunya remediasi mungkin untuk mengganti drive.

Untuk informasi selengkapnya, lihat Pemecahan masalah pembaruan firmware drive.

Bagaimana cara menghentikan peluncuran firmware yang sedang berlangsung

Nonaktifkan peluncuran di PowerShell melalui:

Get-StorageSubSystem Cluster* | Set-StorageHealthSetting -Name "System.Storage.PhysicalDisk.AutoFirmwareUpdate.RollOut.Enabled" -Value false

Saya melihat akses ditolak atau kesalahan jalur tidak ditemukan selama peluncuran. Bagaimana cara memperbaikinya

Pastikan bahwa gambar firmware yang ingin Anda gunakan untuk pembaruan dapat diakses oleh semua node kluster. Cara term mudah untuk memastikan hal ini adalah dengan menempatkannya pada volume bersama kluster.