Ten artykuł zawiera odpowiedzi na kilka typowych pytań dotyczących obsługi tymczasowych dysków NvMe (Non-Volatile Memory Express) na maszynach wirtualnych utworzonych na platformie Azure. W tym artykule termin "dysk tymczasowy" odnosi się do dysku tymczasowego utworzonego na lokalnym dysku SSD.
Jakie są wymagania wstępne dotyczące tworzenia dysku tymczasowego korzystającego z interfejsu NVMe dla mojej maszyny wirtualnej?
Obsługa dysku NVMe dla lokalnych dysków tymczasowych różni się na poziomie rodziny maszyn wirtualnych. Wszystkie nowe maszyny wirtualne w wersji 6 z dyskiem lokalnym obsługują dyski tymczasowe NVMe, ale maszyny wirtualne v5 i starsze wersje mogą nie obsługiwać lokalnych dysków tymczasowych NVMe, ponieważ większość tych rozmiarów dysków lokalnych jest w interfejsie SCSI. Niektóre rodziny maszyn wirtualnych, takie jak seria L, od generacji Lsv2 maszyn wirtualnych obejmują dołączone dyski SSD NVMe. Zapoznaj się z omówieniem rodziny maszyn wirtualnych, aby określić, czy dyski tymczasowe NVMe są obsługiwane. Należy również pamiętać, że system operacyjny gościa musi mieć obsługę sterowników NVMe w celu korzystania z lokalnego urządzenia NVMe, które domyślnie mają najnowsze wersje systemu operacyjnego.
W jaki sposób dyski NVMe tymczasowe w maszynach wirtualnych Dl/D/E_v6 różnią się od zdalnych dysków NVMe?
Kluczową różnicą jest to, że tymczasowe dyski NVMe są przejściowe, a dane na maszynach wirtualnych mogą zniknąć, ale dane na zdalnych dyskach NVMe pozostają. Należy uwzględnić tę różnicę podczas wybierania opcji magazynu maszyny wirtualnej.
W przeciwieństwie do poprzednich maszyn wirtualnych serii D/E nowe maszyny wirtualne v6 są wyposażone w nieprzetworzone, niesformatowane dyski NVMe. Klienci powinni zainicjować i sformatować dyski w systemie plików preferencji po uruchomieniu maszyny wirtualnej.
Maszyny wirtualne serii Dl/D/E w wersji 6 są zoptymalizowane pod kątem używania lokalnego dysku tymczasowego NVMe w węźle dołączonym bezpośrednio do maszyny wirtualnej, a nie wcześniej używanych lokalnych dysków SCSI (Small Computer System Interface). Ta metoda umożliwia wykonywanie wyższych operacji wejściowych/wyjściowych na sekundę i wyższą przepływność obciążeń.
Jakie zmiany należy przygotować podczas konfigurowania maszyn wirtualnych z dyskami tymczasowymi NVMe?
Dyski powinny być inicjowane i sformatowane po uruchomieniu maszyny wirtualnej. Po zatrzymaniu, cofnięciu przydziałów lub planowanej konserwacji i zdarzeniach automatycznego odzyskiwania zainicjowanego przez platformę Azure maszyny wirtualne są uruchamiane tylko przy użyciu nieprzetworzonych dysków NVMe tymczasowych. Żadne tymczasowe dyski NVMe nie są widoczne dla aplikacji, dopóki nie zostaną zainicjowane i sformatowane.
Po uruchomieniu maszyny wirtualnej można podzielić oddzielne dyski NVMe na jeden.
Plik stronicowania systemu Windows jest umieszczany na trwałych dyskach systemu operacyjnego (chyba że używasz funkcji efemerycznego systemu operacyjnego), ale można przenieść go na dyski tymczasowe NVMe zgodnie z potrzebami po uruchomieniu maszyny wirtualnej.
Funkcja efemerycznego systemu operacyjnego, jeśli jest używana, konwertuje jeden lub kilka dysków NVMe (w zależności od rozmiaru maszyny wirtualnej i obrazu) na wolniejszy dysk oparty na protokole SCSI/VHD, podobnie jak na maszynach wirtualnych w wersji 5 i starszych. W przypadku większych rozmiarów maszyn wirtualnych pozostałe dyski pozostają w postaci nieprzetworzonych niesformatowanych dysków NVMe.
Lista jednostek magazynowych zasobów (SKU) w interfejsie API REST uwidacznia kilka możliwości maszyn wirtualnych. Kolejna iteracja rozmiarów maszyn wirtualnych korzysta z szybszego i bardziej wydajnego protokołu NVMe dla magazynu lokalnego, a nie protokołu SCSI, z którego korzystają wcześniejsze rozmiary maszyn wirtualnych.
W przypadku maszyn wirtualnych platformy Azure lokalny magazyn oparty na protokole SCSI jest tymczasowym dyskiem zasobów, a
MaxResourceVolumeMBwartość określa rozmiar tego dysku.NVMeDiskSizeInMiBNatomiast wartość określa rozmiar magazynu lokalnego opartego na protokole NVMe.
Jakie jest minimalne szyfrowanie oferowane przez platformę Azure dla dysków temp NVMe?
Wszystkie lokalne dyski NVMe na maszynach wirtualnych platformy Azure mają domyślnie włączone wbudowane szyfrowanie na potrzeby ochrony danych. Tymczasowe dyski NVMe obsługują funkcję szyfrowania danych magazynowanych. Unikatowy klucz szyfrowania danych (DEK) szyfruje dane dla każdego tymczasowego dysku NVMe przypisanego do maszyny wirtualnej. Klucz szyfrowania klucza pomaga chronić klucz szyfrowania kluczy. Po usunięciu maszyny wirtualnej dane na dysku temp NVMe są kryptograficznie usuwane. Wszystkie maszyny wirtualne w wersji 6 wprowadzone od 2024 r. i nowszych mają lokalne dyski NVMe szyfrowane domyślnie przy użyciu szyfrowania sprzętowego za pomocą klucza zarządzanego platformy.
- Dane są szyfrowane przy użyciu algorytmu XTS-AES-256, AES-256-GCM lub silniejszego szyfru.
- Urządzenie generuje unikatowy klucz szyfrowania multimediów (MEK) dla każdego dysku na maszynie wirtualnej.
- MEK to:
- Generowane i przechowywane w całości w ramach sprzętu urządzenia.
- Nigdy nie uwidaczniaj hosta, maszyny wirtualnej ani żadnego składnika zewnętrznego, w tym operatora lub systemu platformy Azure.
- Wszystkie operacje szyfrowania i odszyfrowywania są wykonywane na urządzeniu przy użyciu klucza szyfrowania wieloskładnikowego.
- Klucz szyfrowania wieloskładnikowego zostanie zniszczony po usunięciu maszyny wirtualnej, dzięki czemu żaden składnik nie będzie mógł uzyskać dostępu do danych.
Co to jest rozszerzone szyfrowanie w spoczynku?
Rozszerzone szyfrowanie danych nieaktywnych to kolejna warstwa ochrony dostępna na maszynach wirtualnych z serii V6 platformy Azure i Lsv4 dzięki obsłudze standardów TCG-OPAL. Nie musisz podejmować żadnych działań dla tej funkcji— jest to ustawienie domyślne dla tych typów maszyn wirtualnych.
- Infrastruktura platformy Azure generuje i bezpiecznie przechowuje wartość numeru PIN dla każdego klucza MEK.
- Numer PIN jest przekazywany za pośrednictwem funkcji wyprowadzania kluczy (KDF) na urządzeniu magazynującym w celu wygenerowania klucza szyfrowania klucza (KEK). Numer PIN działa jako klucz zarządzania platformą (PMK).
- Klucz szyfrowania wieloskładnikowego jest szyfrowany przy użyciu klucza KEK i przechowywany wewnętrznie na urządzeniu magazynowanym.
- Klucz KEK nie jest przechowywany w żadnym miejscu, a urządzenie magazynujące dynamicznie generuje klucz KEK, gdy kod PIN jest używany do pomyślnego uwierzytelnienia. Bez tego numeru PIN urządzenie nie może odszyfrować własnych przechowywanych danych — nawet jeśli jest to fizycznie dostępne.
- Urządzenie magazynujące jest uwierzytelniane po uruchomieniu maszyny wirtualnej. Jest ona zablokowana, gdy maszyna wirtualna zostanie zatrzymana, co zapewnia dostępność danych tylko wtedy, gdy maszyna wirtualna jest uruchomiona.
Jak mogę zmienić rozmiar maszyny wirtualnej w wersji 5 lub starszej przy użyciu dysku tymczasowego na 6?
Zobacz często zadawane pytania dotyczące rozmiarów maszyn wirtualnych platformy Azure bez lokalnego dysku tymczasowego.
Jak mogę zidentyfikować dysk nvme tymczasowego?
Dla systemu Windows można uruchomić następujące polecenie:
Get-PhysicalDisk | where { $_.FriendlyName.contains("NVMe Direct Disk")}
Dla systemu Linux można uruchomić następujące polecenie:
sudo nvme id-ns /dev/nvme0n1 -b | dd bs=1 skip=384 status=none | sed 's/\x00*$//'
Jak formatować i inicjować tymczasowe dyski NVMe w systemie Windows podczas tworzenia maszyny wirtualnej?
Możesz użyć graficznego interfejsu użytkownika lub programu Azure PowerShell.
graficzny interfejs użytkownika
Napiwek
Poniższy przykład graficznego interfejsu użytkownika jest przeznaczony do celów ilustracyjnych. Zalecamy utworzenie skryptów w celu zautomatyzowania tego przepływu pracy na potrzeby wdrożeń produkcyjnych.
Wybierz pozycję logo systemu Windows + R, aby otworzyć okno dialogowe Uruchom . Wpisz diskmgmt.msc i wybierz Enter.
Wybierz styl partycji (MBR lub GPT) i dyski do zainicjowania, a następnie wybierz przycisk OK.
Kliknij prawym przyciskiem myszy dysk do partycjonowania, a następnie wybierz pozycję Nowy wolumin prosty.
Aby określić elementy, takie jak rozmiar woluminu, litera dysku, system plików i etykieta woluminu, postępuj zgodnie z instrukcjami Kreatora nowego woluminu prostego. Wybierz przycisk Dalej, aby przejść przez kreatora.
Aby ukończyć partycję i format, przejrzyj ustawienia, a następnie wybierz pozycję Zakończ.
Upewnij się, że sformatowane i zainicjowane dyski NVMe są wyświetlane w narzędziu Zarządzanie dyskami systemu Windows, podobnie jak w tym przykładzie pojawia się nowy wolumin (E:).
Skrypt programu Azure PowerShell
Napiwek
Poniższy skrypt inicjuje, formatuje i przypisuje litery dysku. Jednak usuwa wszystkie dane na dysku. Przed wdrożeniem go w środowisku produkcyjnym należy dokładnie przetestować na maszynach wirtualnych.
# Select the raw NVMe disks to partition and format
$RawNvmeDisks = Get-PhysicalDisk -CanPool $True | where { $_.FriendlyName.contains("NVMe Direct Disk")}
# Create a pool of the existing disks
New-StoragePool -FriendlyName NVMePool -StorageSubsystemFriendlyName "Windows Storage*" -PhysicalDisks $RawNvmeDisks -ResiliencySettingNameDefault Simple
#Create a new disk, initialize, partition, and format
$Disk = New-VirtualDisk -FriendlyName NVMeTemporary -StoragePoolFriendlyName NVMePool -NumberOfColumns @($RawNvmeDisks).count -PhysicalDiskRedundancy 0 -ResiliencySettingName "Simple" -UseMaximumSize
$Disk | Initialize-Disk
#Create a partition and format. Ignore the pop-up.
New-Partition -DiskId $Disk.UniqueId -AssignDriveLetter -UseMaximumSize | Format-Volume
Jak sformatować i zainicjować tymczasowe dyski NVMe w systemie Linux?
Poniższy skrypt zawiera przykład inicjowania tymczasowych dysków NVMe w systemie Linux. Skrypt wylicza wszystkie tymczasowe dyski NVMe na maszynie wirtualnej, łączy dyski w jedną tablicę RAID 0 i tworzy sformatowaną partycję określonego systemu plików.
Tymczasowe dyski NVMe są rozróżniane przez numer modelu, który jest wyświetlany jako Microsoft NVMe Direct Disk system operacyjny gościa. Ten skrypt używa polecenia do nvme-cli id-ctrl wykonywania zapytań dotyczących numeru modelu każdego urządzenia NVMe.
Skrypt najpierw sprawdza, czy istnieją już utworzone woluminy dysku tymczasowego NVMe (zidentyfikowane przez etykietę filesystem ). Jeśli tablica wydaje się być obecna, skrypt weryfikuje integralność tablicy i w razie potrzeby powtarza proces inicjowania. Tablica ponownie inicjuje w następujących przypadkach:
- Brakuje co najmniej jednego dysku tymczasowego tablicy.
- Istnieją dyski tymczasowe, które nie zostały jeszcze włączone do tablicy.
- Macierz dyskowa jest w innym stanie nieprawidłowym lub nieznanym.
- Brak skojarzonych plików konfiguracji lub są one nieprawidłowe.
#!/bin/bash
# Script requirements:
# nvme-cli
# mdadm
# gdisk
readonly USAGE="Usage: $(basename "$0") <filesystem> <filesystem mount point (optional)>"
# Label used to identify the NVMe array file system and associated disks
# Can't exceed 16 characters
readonly RAID0_FILESYSTEM_LABEL="azure_nvme_temp"
# Device path used for the RAID 0 NVMe array
# Choose any unoccupied device path of format /dev/mdX (X = 0 to 99)
readonly RAID0_DEVICE_PATH="/dev/md0"
# Formatted RAID 0 partition is mounted here
readonly DEFAULT_MOUNT_POINT="/mnt/${RAID0_FILESYSTEM_LABEL}"
filesystem="$1"
if [ ! "$filesystem" ]; then
printf "No filesystem specified. Usage: $USAGE\n"
exit 1
fi
if ! [ -x "$(command -v mkfs.$filesystem)" ]; then
printf "Filesystem \"$filesystem\" not supported by mkfs\n$USAGE\n"
exit 1
fi
mount_point="$2"
if [ ! "$mount_point" ]; then
printf "No mount point specified. Using default: $DEFAULT_MOUNT_POINT\n"
mount_point=$DEFAULT_MOUNT_POINT
fi
# Make sure mdadm.conf is present
mdadm_conf_path=""
if [ -e "/etc/mdadm/mdadm.conf" ]; then
mdadm_conf_path="/etc/mdadm/mdadm.conf"
elif [ -e "/etc/mdadm.conf" ]; then
mdadm_conf_path="/etc/mdadm.conf"
else
printf "Couldn't find mdadm.conf file"
exit 1
fi
# Enumerate unmounted NVMe direct disks
devices=$(lsblk -p -o NAME,TYPE,MOUNTPOINT | grep "nvme" | awk '$2 == "disk" && $3 == "" {print $1}')
nvme_direct_disks=()
for device in $devices
do
if nvme id-ctrl "$device" | grep -q "Microsoft NVMe Direct Disk"; then
nvme_direct_disks+=("$device")
fi
done
nvme_direct_disk_count=${#nvme_direct_disks[@]}
printf "Found $nvme_direct_disk_count NVMe Direct Disks\n"
# Check if there's already an NVMe Direct Disk RAID 0 disk (or remnant data)
if grep "$RAID0_FILESYSTEM_LABEL" /etc/fstab > /dev/null; then
fstab_entry_present=true
fi
if grep "$RAID0_FILESYSTEM_LABEL" $mdadm_conf_path > /dev/null; then
mdadm_conf_entry_present=true
fi
if [ -e $RAID0_DEVICE_PATH ]; then
nvme_raid0_present=true
fi
if [ "$fstab_entry_present" = true ] || [ "$mdadm_conf_entry_present" = true ] || [ "$nvme_raid0_present" = true ]; then
# Check if the RAID 0 volume and associated configurations are still intact or need to be reinitialized
#
# If reinitialization is needed, clear the old RAID 0 information and associated files
reinit_raid0=false
if [ "$fstab_entry_present" = true ] && [ "$mdadm_conf_entry_present" = true ] && [ "$nvme_raid0_present" = true ]; then
# Check RAID 0 device status
if ! mdadm --detail --test $RAID0_DEVICE_PATH &> /dev/null; then
reinit_raid0=true
# Test the NVMe direct disks for valid mdadm superblocks
else
for device in "${nvme_direct_disks[@]}"
do
if ! mdadm --examine $device &> /dev/null; then
reinit_raid0=true
break
fi
done
fi
else
reinit_raid0=true
fi
if [ "$reinit_raid0" = true ]; then
echo "Errors found in NVMe RAID 0 temp array device or configuration. Reinitializing."
# Remove the file system and partition table, and stop the RAID 0 array
if [ "$nvme_raid0_present" = true ]; then
if [ -e ${RAID0_DEVICE_PATH}p1 ]; then
umount ${RAID0_DEVICE_PATH}p1
wipefs -a -f ${RAID0_DEVICE_PATH}p1
fi
sgdisk -o $RAID0_DEVICE_PATH &> /dev/null
mdadm --stop $RAID0_DEVICE_PATH
fi
# Remove any mdadm metadata from all NVMe Direct Disks
for device in "${nvme_direct_disks[@]}"
do
printf "Clearing mdadm superblock from $device\n"
mdadm --zero-superblock $device &> /dev/null
done
# Remove any associated entries in fstab and mdadm.conf
sed -i.bak "/$RAID0_FILESYSTEM_LABEL/d" /etc/fstab
sed -i.bak "/$RAID0_FILESYSTEM_LABEL/d" $mdadm_conf_path
else
printf "Valid NVMe RAID 0 array present and no additional Direct Disks found. Skipping\n"
exit 0
fi
fi
if [ "$nvme_direct_disk_count" -eq 0 ]; then
printf "No NVMe Direct Disks found\n"
exit 1
elif [ "$nvme_direct_disk_count" -eq 1 ]; then
additional_mdadm_params="--force"
fi
# Initialize enumerated disks as RAID 0
printf "Creating RAID 0 array from:\n"
printf "${nvme_direct_disks[*]}\n\n"
if ! mdadm --create $RAID0_DEVICE_PATH --verbose $additional_mdadm_params --name=$RAID0_FILESYSTEM_LABEL --level=0 --raid-devices=$nvme_direct_disk_count ${nvme_direct_disks[*]}; then
printf "Failed to create RAID 0 array\n"
exit 1
fi
# Create a GPT partition entry
readonly GPT_PARTITION_TYPE_GUID="0FC63DAF-8483-4772-8E79-3D69D8477DE4"
printf "\nCreating GPT on $RAID0_DEVICE_PATH..\n"
sgdisk -o $RAID0_DEVICE_PATH &> /dev/null
if ! sgdisk --new 1::0 --typecode 1:$GPT_PARTITION_TYPE_GUID $RAID0_DEVICE_PATH &> /dev/null; then
printf "Failed to create partition on $RAID0_DEVICE_PATH\n"
exit 1
fi
# Format the partition
partition_path="${RAID0_DEVICE_PATH}p1"
printf "\nCreating $filesystem filesystem..\n"
if ! mkfs.$filesystem -q -L $RAID0_FILESYSTEM_LABEL $partition_path; then
printf "Failed to create $filesystem filesystem\n"
exit 1
fi
printf "The operation has completed successfully.\n"
# Add the partition to /etc/fstab
echo "LABEL=$RAID0_FILESYSTEM_LABEL $mount_point $filesystem defaults,nofail 0 0" >> /etc/fstab
# Add RAID 0 array to mdadm.conf
mdadm --detail --scan >> $mdadm_conf_path
update-initramfs -u
# Mount the partition
printf "\nMounting filesystem to $mount_point..\n"
mkdir $mount_point &> /dev/null
if ! mount -a; then
printf "Failed to automount partition\n"
exit 1
fi
printf "The operation has completed successfully.\n"
exit 0
W przypadku dystrybucji opartych na RHEL/CentOS zamień update-initramfs -u na dracut --force, aby ponownie wygenerować plik initramfs.
Jeśli skrypt zatrzymuje wykonywanie za pomocą polecenia "Nie można odnaleźć pliku mdadm.conf", możesz utworzyć plik mdadm.conf przy użyciu następującego polecenia:
sudo touch /etc/mdadm/mdadm.conf
Jak mogę przenieść plik stronicowania systemu Windows z dysku systemu operacyjnego do tymczasowego dysku NVMe?
Możesz użyć graficznego interfejsu użytkownika lub programu Azure PowerShell.
graficzny interfejs użytkownika
Napiwek
Poniższy przykład graficznego interfejsu użytkownika jest przeznaczony do celów ilustracyjnych. Zalecamy utworzenie skryptów w celu zautomatyzowania tego przepływu pracy na potrzeby wdrożeń produkcyjnych.
Wybierz pozycję logo systemu Windows + R, aby otworzyć okno dialogowe Uruchom . Wpisz sysdm.cpl i wybierz Enter.
Wybierz kartę Zaawansowane, a następnie wybierz przycisk Ustawienia w sekcji Wydajność.
W oknie dialogowym Opcje wydajności wybierz kartę Zaawansowane, a następnie wybierz przycisk Zmień w sekcji Pamięć wirtualna.
Wyczyść pole wyboru Automatycznie zarządzaj rozmiarem pliku stronicowania dla wszystkich dysków. Jeśli plik stronicowania jest ustawiony na dysk systemu operacyjnego, wybierz dysk systemu operacyjnego, wybierz opcję Brak pliku stronicowania, a następnie wybierz przycisk Ustaw . Wybierz lokalny dysk NVMe temp, wybierz opcję Rozmiar zarządzany przez system, a następnie wybierz przycisk Ustaw . Wybierz przycisk OK , aby zamknąć wszystkie okna dialogowe.
Może być konieczne ponowne uruchomienie maszyny wirtualnej, aby te zmiany zaczęły obowiązywać.
Skrypt programu Azure PowerShell
$OsDisk = "C:"
# This value can vary, depending on which drive letter is assigned to the disk
$NVMeDisk = "E:"
# Disable automatic pagefile management
$Computer = Get-WmiObject Win32_computersystem -EnableAllPrivileges
$Computer.AutomaticManagedPagefile = $false
$Computer.Put()
# Delete the pagefile on the OS disk
$PageFile = Get-WmiObject -Query "select * from Win32_PageFileSetting where name='$OsDisk\\pagefile.sys'"
$PageFile.Delete()
# Create a new pagefile on the NVMe drive with system-managed size
Set-WMIInstance -Class Win32_PageFileSetting -Arguments @{name="$NVMeDisk\\pagefile.sys"; InitialSize=0; MaximumSize=0} -EnableAllPrivileges
Może być konieczne ponowne uruchomienie maszyny wirtualnej, aby te zmiany zaczęły obowiązywać.
Jak mogę przenieść plik wymiany systemu Linux z dysku systemu operacyjnego do tymczasowego dysku NVMe?
Wybierz dysk NVMe używany do zamiany miejsca:
root@D2adsv6:/ # lsblk -p NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/nvme1n1 259:0 0 30G 0 disk ├─/dev/nvme1n1p1 259:1 0 29.9G 0 part / └─/dev/nvme1n1p15 259:3 0 106M 0 part /boot/efi /dev/nvme0n1 259:4 0 75G 0 diskUtwórz miejsce wymiany na dysku:
root@D2adsv6:/ # mkswap /dev/nvme0n1 Setting up swapspace version 1, size = 75 GiB (80530632704 bytes) no label, UUID=064bdcfb-86ae-49f3-bf9d-b956493e2a1dWłącz miejsce wymiany:
root@D2adsv6:/ # swapon /dev/nvme0n1Sprawdź, czy miejsce wymiany jest prawidłowo skonfigurowane:
root@D2adsv6:/ # swapon -s Filename Type Size Used Priority /dev/nvme0n1 partition 78643196 0 -2Dołącz miejsce wymiany, aby
/etc/fstabuczynić go trwałym między ponownymi uruchomieniami:root@D2adsv6:/ # echo '/dev/nvme0n1 swap swap defaults 0 0' >> /etc/fstab
Jakie zagadnienia należy wziąć pod uwagę w przypadku zdarzeń konserwacji, ponownego wdrażania maszyny wirtualnej i ponownego uruchamiania maszyny wirtualnej?
Tymczasowe dyski NVMe dołączone do maszyn wirtualnych V6 są efemeryczne, podobnie jak dyski tymczasowe w innych seriach maszyn wirtualnych. Oznacza to, że utracisz wszystkie dane na maszynie wirtualnej po ponownym wdrożeniem lub podczas zdarzenia konserwacji. Aby uzyskać więcej informacji na temat zdarzeń konserwacji i przestojów, zobacz Omówienie ponownych uruchomień maszyn wirtualnych: konserwacja a przestój.
Jeśli maszyna wirtualna została przeniesiona na nowy sprzęt, te dyski zostaną odinstalowane, a nowe nieinstalowane dyski zostaną wyświetlone systemowi operacyjnemu po utworzeniu kopii zapasowej. Jeśli maszyna wirtualna nie zmieniła sprzętu, tymczasowe dyski NVMe mogą być nadal obecne. Poprzedni skrypt instalowania dysków sprawdza, czy nieinstalowane dyski są sprawdzane przed podjęciem próby zainstalowania.
Najlepszym rozwiązaniem jest automatyczne uruchamianie skryptu instalowania przy każdym uruchomieniu maszyny wirtualnej i opóźnieniu wszystkich innych skryptów uruchamiania, które wymagają dysków do momentu zakończenia działania skryptu instalowania.
Dlaczego moje tymczasowe szybkości zapisu dysku różnią się od opublikowanych specyfikacji?
Wydajność dysku tymczasowego ma wpływ na kilka czynników, takich jak rozmiar bloku, wzorce odczytu/zapisu obciążenia, głębokość kolejki (QD). Opublikowane specyfikacje wydajności reprezentują najlepsze scenariusze, na podstawie 4k losowych bloków z wieloma pracownikami (≥8) przy QD≥64 na pracownika dla szczytowych IOPS i dużych sekwencyjnych bloków (≥128k) dla maksymalnej przepustowości. Wydajność zapisu może również być zależna od wzorców danych, stanu dysku SSD (nadprowizjonowana pojemność, procent zapisanych danych LBA) oraz działań w tle, takich jak zbieranie śmieci. Dane dotyczące wydajności zakładają, że urządzenie jest w stanie nowym, prosto z pudełka (FOB), co zapewnia najwyższą prędkość. Gdy dysk osiągnie stały stan po specyfikacji warunków wstępnych standardu SNIA, wydajność zapisu może być niższa niż poziom FOB.