Rozšíření virtuálních pevných disků na virtuálním počítači s Linuxem
Upozornění
Tento článek odkazuje na CentOS, linuxovou distribuci, která se blíží stavu Konec životnosti (EOL). Zvažte své použití a odpovídajícím způsobem naplánujte. Další informace najdete v doprovodných materiálech CentOS End Of Life.
Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️
Tento článek popisuje, jak rozšířit spravované disky pro virtuální počítač s Linuxem. Můžete přidat datové disky , které poskytují další prostor úložiště, a můžete také rozšířit stávající datový disk. Výchozí velikost virtuálního pevného disku pro operační systém (OS) je obvykle 30 GB na virtuálním počítači s Linuxem v Azure. Tento článek popisuje rozšíření disků operačního systému nebo datových disků. Velikost prokládání svazků nejde rozšířit.
Disk s operačním systémem má maximální kapacitu 4 095 GiB. Mnoho operačních systémů je však ve výchozím nastavení rozděleno na hlavní spouštěcí záznam (MBR). MBR omezuje využitelnou velikost na 2 TiB. Pokud potřebujete více než 2 TiB, vytvořte a připojte datové disky a použijte je pro ukládání dat. Pokud potřebujete ukládat data na disk s operačním systémem a vyžadovat další místo, převeďte je na tabulku oddílů GUID (GPT).
Upozorňující
Vždy se ujistěte, že je váš systém souborů v dobrém stavu, typ tabulky oddílů disku (GPT nebo MBR) bude podporovat novou velikost a před provedením operací rozšíření disku se ujistěte, že se vaše data zálohuje. Další informace najdete v rychlém startu azure Backup.
Identifikace objektu datového disku Azure v rámci operačního systému
V případě rozšíření datového disku v případě, že na virtuálním počítači existuje několik datových disků, může být obtížné propojit logické jednotky Azure se zařízeními s Linuxem. Pokud disk s operačním systémem potřebuje rozšíření, je jasně označený na webu Azure Portal jako disk s operačním systémem.
Začněte tím, df
že pomocí příkazu identifikujete vztah mezi využitím disku, přípojným bodem a zařízením.
df -Th
Filesystem Type Size Used Avail Use% Mounted on
/dev/sda1 xfs 97G 1.8G 95G 2% /
<truncated>
/dev/sdd1 ext4 32G 30G 727M 98% /opt/db/data
/dev/sde1 ext4 32G 49M 30G 1% /opt/db/log
Vidíme například, že /opt/db/data
systém souborů je téměř plný a nachází se v oddílu /dev/sdd1
. Výstup df
ukazuje cestu zařízení bez ohledu na to, jestli je disk připojený cestou zařízení nebo (upřednostňovaným) identifikátorem UUID v nástroji fstab. Poznamenejte si také sloupec Typ označující formát systému souborů. To je důležité později.
Nyní vyhledejte logickou jednotku, která koreluje s /dev/sdd
prozkoumáním obsahu /dev/disk/azure/scsi1
. Výstup následujícího ls
příkazu ukazuje, že zařízení známé jako /dev/sdd
v operačním systému Linux se při prohlížení na webu Azure Portal nachází na logické jednotce 1.
sudo ls -alF /dev/disk/azure/scsi1/
total 0
drwxr-xr-x. 2 root root 140 Sep 9 21:54 ./
drwxr-xr-x. 4 root root 80 Sep 9 21:48 ../
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun0 -> ../../../sdc
lrwxrwxrwx. 1 root root 12 Sep 9 21:48 lun1 -> ../../../sdd
lrwxrwxrwx. 1 root root 13 Sep 9 21:48 lun1-part1 -> ../../../sdd1
lrwxrwxrwx. 1 root root 12 Sep 9 21:54 lun2 -> ../../../sde
lrwxrwxrwx. 1 root root 13 Sep 9 21:54 lun2-part1 -> ../../../sde1
Rozšíření spravovaného disku Azure
Rozšíření bez výpadků
Spravované disky můžete rozšířit bez uvolnění virtuálního počítače. Nastavení mezipaměti hostitele disku se nezmění, jestli datový disk můžete rozbalit bez uvolnění virtuálního počítače.
Tato funkce má následující omezení:
- Podporuje se jenom u datových disků.
- Pokud má disk 4 TiB nebo méně, měli byste před jeho rozšířením nad 4 TiB virtuální počítač uvolnit a disk odpojit. Pokud je disk už větší než 4 TiB, můžete ho rozšířit bez nutnosti uvolnění virtuálního počítače a odpojení disku.
- Disky Úrovně Ultra nebo disky SSD úrovně Premium verze 2 se nepodporují.
- Nepodporuje se pro sdílené disky.
- Nainstalujte a použijte jednu z těchto akcí:
- Nejnovější Azure CLI
- Nejnovější modul Azure PowerShellu
- Azure Portal
- Nebo šablona Azure Resource Manageru s verzí rozhraní API, která je
2021-04-01
nebo novější.
- Na některých klasických virtuálních počítačích není k dispozici. Pomocí tohoto skriptu získáte seznam klasických skladových položek virtuálních počítačů, které podporují rozšiřování bez výpadků.
Rozbalení spravovaného disku Azure
Pomocí příkazu az login se ujistěte, že máte nainstalované nejnovější rozhraní příkazového řádku Azure a jste přihlášeni k účtu Azure.
Tento článek vyžaduje existující virtuální počítač v Azure s alespoň jedním připojeným a připraveným datovým diskem. Pokud ještě nemáte virtuální počítač, který můžete použít, přečtěte si téma Vytvoření a příprava virtuálního počítače s datovými disky.
V následujících ukázkách nahraďte ukázkové názvy parametrů, jako jsou myResourceGroup a myVM , vlastními hodnotami.
Důležité
Pokud disk splňuje požadavky v rozbalení bez výpadků, můžete přeskočit krok 1 a 3.
Operace na virtuálních pevných discích nejde provést se spuštěným virtuálním počítačem. Zrušte přidělení virtuálního počítače pomocí příkazu az vm deallocate. Následující příklad uvolní virtuální počítač myVM ve skupině prostředků myResourceGroup:
az vm deallocate --resource-group myResourceGroup --name myVM
Poznámka:
Virtuální počítač musí být uvolněn, aby se virtuální pevný disk rozbalil. Zastavení virtuálního
az vm stop
počítače nevyvolá výpočetní prostředky. Pokud chcete uvolnit výpočetní prostředky, použijteaz vm deallocate
.Zobrazte seznam spravovaných disků ve skupině prostředků pomocí příkazu az disk list. Následující příklad zobrazí seznam spravovaných disků ve skupině prostředků myResourceGroup:
az disk list \ --resource-group myResourceGroup \ --query '[*].{Name:name,Gb:diskSizeGb,Tier:accountType}' \ --output table
Rozbalte požadovaný disk pomocí příkazu az disk update. Následující příklad rozbalí spravovaný disk s názvem myDataDisk na 200 GB:
az disk update \ --resource-group myResourceGroup \ --name myDataDisk \ --size-gb 200
Poznámka:
Při rozbalení spravovaného disku se aktualizovaná velikost zaokrouhlí nahoru na nejbližší velikost spravovaného disku. Tabulku dostupných velikostí a úrovní spravovaných disků najdete v tématu Přehled Azure Spravované disky – Ceny a fakturace.
Spusťte virtuální počítač pomocí příkazu az vm start. Následující příklad spustí virtuální počítač myVM ve skupině prostředků myResourceGroup:
az vm start --resource-group myResourceGroup --name myVM
Rozšíření oddílu disku a systému souborů
Poznámka:
I když existuje mnoho nástrojů, které se dají použít k provádění změny velikosti oddílů, nástroje podrobně popsané ve zbývající části tohoto dokumentu jsou stejné nástroje používané určitými automatizovanými procesy, jako je cloud-init. Jak je popsáno zde, nástroj s balíčkem gdisk
poskytuje univerzální kompatibilitu s disky GPT (GUID Partition Table), protože starší verze některých nástrojů, growpart
jako fdisk
například nepodporují GPT.
Zjištění změněné velikosti disku
Pokud došlo k rozšíření datového disku bez výpadků pomocí výše uvedeného postupu, velikost disku se nezmění, dokud se zařízení znovu nenaskenuje, což se obvykle děje pouze během procesu spouštění. Toto opětovné prohledání lze volat na vyžádání pomocí následujícího postupu. V tomto příkladu jsme zjistili použití metod v tomto dokumentu, že datový disk je aktuálně /dev/sda
a byl změněn z 256 GiB na 512 GiB.
Identifikace aktuálně rozpoznané velikosti na prvním řádku výstupu z
fdisk -l /dev/sda
sudo fdisk -l /dev/sda
Disk /dev/sda: 256 GiB, 274877906944 bytes, 536870912 sectors Disk model: Virtual Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x43d10aad Device Boot Start End Sectors Size Id Type /dev/sda1 2048 536870878 536868831 256G 83 Linux
1
Vložte znak do souboru pro opětovné prohledání tohoto zařízení. Všimněte si odkazu na sda, to by se změnilo, pokud došlo ke změně velikosti jiného diskového zařízení.echo 1 | sudo tee /sys/class/block/sda/device/rescan
Ověřte, že byla rozpoznána nová velikost disku.
sudo fdisk -l /dev/sda
Disk /dev/sda: 512 GiB, 549755813888 bytes, 1073741824 sectors Disk model: Virtual Disk Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disklabel type: dos Disk identifier: 0x43d10aad Device Boot Start End Sectors Size Id Type /dev/sda1 2048 536870878 536868831 256G 83 Linux
Zbývající část tohoto článku používá disk s operačním systémem pro příklady postupu pro zvětšení velikosti svazku na úrovni operačního systému. Pokud je rozbalený disk datový disk, použijte předchozí pokyny k identifikaci datového diskového zařízení a podle těchto pokynů nahraďte datové diskové zařízení (například /dev/sda
), čísla oddílů, názvy svazků, přípojné body a formáty systému souborů podle potřeby.
Všechny pokyny k operačnímu systému Linux by měly být považovány za obecné a můžou se vztahovat na jakoukoli distribuci, ale obecně odpovídají konvencím pojmenovaného vydavatele marketplace. Odkazujte na dokumenty Red Hat týkající se požadavků na balíček pro všechny distribuce, které deklarují kompatibilitu Red Hatu, jako je CentOS a Oracle.
Zvětšení velikosti disku s operačním systémem
Následující pokyny platí pro schválené linuxové distribuce.
Poznámka:
Než budete pokračovat, vytvořte úplnou záložní kopii vašeho virtuálního počítače nebo alespoň pořiďte snímek disku s operačním systémem.
V Ubuntu 16.x a novějších verzích se kořenový oddíl disku s operačním systémem a systémem souborů automaticky rozšíří tak, aby využíval veškerý volný souvislý prostor na kořenovém disku prostřednictvím cloud-init za předpokladu, že je k dispozici malý kousek volného místa pro operaci změny velikosti. Pro tuto situaci je posloupnost jednoduše
- Zvětšete velikost disku s operačním systémem, jak je popsáno výše.
- Restartujte virtuální počítač a pak přejděte k virtuálnímu počítači pomocí kořenového uživatelského účtu.
- Ověřte, že disk s operačním systémem teď zobrazuje zvýšenou velikost systému souborů.
Jak je znázorněno v následujícím příkladu, disk s operačním systémem se změnil z portálu na 100 GB. Systém souborů /dev/sda1 připojený teď / zobrazuje 97 GB.
df -Th
Filesystem Type Size Used Avail Use% Mounted on
udev devtmpfs 314M 0 314M 0% /dev
tmpfs tmpfs 65M 2.3M 63M 4% /run
/dev/sda1 ext4 97G 1.8G 95G 2% /
tmpfs tmpfs 324M 0 324M 0% /dev/shm
tmpfs tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs tmpfs 324M 0 324M 0% /sys/fs/cgroup
/dev/sda15 vfat 105M 3.6M 101M 4% /boot/efi
/dev/sdb1 ext4 20G 44M 19G 1% /mnt
tmpfs tmpfs 65M 0 65M 0% /run/user/1000
user@ubuntu:~#
Rozšíření bez výpadků – podpora SKU klasického virtuálního počítače
Pokud používáte skladovou položku klasického virtuálního počítače, nemusí podporovat rozšíření disků bez výpadků.
Pomocí následujícího skriptu PowerShellu určete, které skladové položky virtuálních počítačů jsou k dispozici:
Connect-AzAccount
$subscriptionId="yourSubID"
$location="desiredRegion"
Set-AzContext -Subscription $subscriptionId
$vmSizes=Get-AzComputeResourceSku -Location $location | where{$_.ResourceType -eq 'virtualMachines'}
foreach($vmSize in $vmSizes){
foreach($capability in $vmSize.Capabilities)
{
if(($capability.Name -eq "EphemeralOSDiskSupported" -and $capability.Value -eq "True") -or ($capability.Name -eq "PremiumIO" -and $capability.Value -eq "True") -or ($capability.Name -eq "HyperVGenerations" -and $capability.Value -match "V2"))
{
$vmSize.Name
}
}
}