Cvičení – přidání datového disku k virtuálnímu počítači
Vaše právnická firma rozšiřuje své zatížení případu a máte za úkol vytvořit nový linuxový webový server pro ukládání důležitých dokumentů z různých zdrojů: klientů, jiných právních firem a úřadů pro vymáhání práva. Webový server umožňuje nahrávat dokumenty a ukládat je na disk.
Tip
Toto cvičení používá jako příklad Linux, ale základní proces vytváření virtuálních počítačů a přidávání disků je stejný i pro Windows. Hlavním rozdílem je dělení na oddíly a formátování disku. Ve Windows se můžete ke svému virtuálnímu počítači připojit prostřednictvím vzdálené plochy a používat integrované nástroje pro správu disků nebo nasadit skript PowerShellu, který je podobný zde používanému skriptu prostředí Bash.
Vaším cílem je vytvořit virtuální počítač s Linuxem a připojit nový virtuální pevný disk (VHD) s názvem uploadDataDisk1 k uložení /uploads
adresáře.
Nastavení výchozích hodnot Azure CLI
Azure CLI umožňuje nastavit výchozí hodnoty, abyste je nemuseli opakovat při každém spuštění příkazu.
Můžete zadat výchozí umístění Azure nebo oblast. V tomto umístění se nachází váš virtuální počítač Azure.
V ideálním případě je toto umístění blízko klientům. V tomto případě vyberte sobě nejbližší oblast z umístění dostupných sandboxu Azure.
Bezplatný sandbox vám umožňuje vytvářet prostředky v podmnožině globálních oblastí Azure. Při vytváření prostředků vyberte oblast ze seznamu:
- westus2
- Střed USA – jih
- centralus
- eastus
- westeurope
- Jihovýchodní Asie
- japaneast
- brazilsouth
- australiasoutheast
- centralindia
Spuštěním příkazu
az configure
nastavte výchozí umístění, které chcete použít. Nahraďte eastus umístěním, které jste zvolili v předchozím kroku.az configure --defaults location=eastus
Tip
Můžete použít tlačítko Kopírovat pro kopírování příkazů do schránky. Pokud chcete vložit, klikněte pravým tlačítkem myši na nový řádek v terminálu Cloud Shellu a vyberte Vložit nebo použijte klávesovou zkratku Shift+Insert (⌘+V v macOS).
Nastavte výchozí název skupiny prostředků na předem nakonfigurovanou skupinu prostředků vytvořenou prostřednictvím sandboxu Azure:
[skupina prostředků sandboxu] az configure --defaults group="<rgn>[sandbox Resource Group]</rgn>"
Vytvoření virtuálního počítače s Linuxem
Tady vytvoříte virtuální počítač s Linuxem pro hostování webového serveru.
Spusťte příkaz
az vm create
pro vytvoření virtuálního počítače s Ubuntu Linuxem.az vm create \ --name support-web-vm01 \ --image Canonical:UbuntuServer:16.04-LTS:latest \ --size Standard_DS1_v2 \ --admin-username azureuser \ --generate-ssh-keys
- Název virtuálního počítače je support-web-vm01.
- Jeho velikost je Standard_DS1_v2.
- Uživatelské jméno správce je azureuser. Ve skutečnosti si můžete zvolit libovolný název.
- Argument
--generate-ssh-keys
vygeneruje klíčovou sadu SSH, která vám umožní připojit se k virtuálnímu počítači přes SSH.
Nasazení virtuálního počítače trvá několik minut. Až bude virtuální počítač připravený, získáte o něm informace ve formátu JSON. Tady je příklad:
{ "fqdns": "", "id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/providers/Microsoft.Compute/virtualMachines/support-web-vm01", "location": "eastus", "macAddress": "00-0D-3A-10-63-0A", "powerState": "VM running", "privateIpAddress": "10.0.0.4", "publicIpAddress": "104.211.38.211", "resourceGroup": "aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e", "zones": "" }
Poznámka:
V této lekci se pomocí tohoto virtuálního počítače naučíte spravovat disky. V praxi můžete také nainstalovat webový server a další software a pak spustit příkaz
az vm open-port
ke zpřístupnění potřebných portů pro vnější svět.
Přidání prázdného datového disku k virtuálnímu počítači
Tady vytvoříte prázdný datový disk a připojíte ho k virtuálnímu počítači. Datový disk má zpočátku velikost 64 GB. Později tento disk připojíte k adresáři /uploads
ve vašem virtuálním počítači.
Tip
Pro účely výuky vytváříte virtuální počítač a datový disk jako samostatné kroky. V praxi můžete určit argument --data-disk-sizes-gb
v příkazu az vm create
a přidat s ním datové disky po vytvoření virtuálního počítače.
Spuštěním následujícího příkazu
az vm disk attach
přidejte nový prázdný disk do virtuálního počítače.az vm disk attach \ --vm-name support-web-vm01 \ --name uploadDataDisk1 \ --size-gb 64 \ --sku Premium_LRS \ --new
Tento příkaz:
- Pojmenuje disk uploadDataDisk1.
- Nastaví jeho velikost na 64 GB.
- Určuje použití služby Premium Storage s místní redundancí.
Pokud chcete disk použít, musíte ho rozdělit na oddíly a naformátovat. Pojďme to udělat dál.
Inicializace a formátování datového disku
Prázdný datový disk je potřeba inicializovat a naformátovat. Proces je stejný jako u fyzického disku.
U jednorázových úloh se můžete k virtuálnímu počítači připojit ručně přes SSH a spustit potřebné příkazy. Pokud ale chcete, aby byl proces opakovatelnější a náchylnější k chybám, můžete příkazy zadat ve skriptu Bash nebo ve skriptu PowerShellu (pokud je k dispozici).
Použití skriptu k automatizaci procesu má přidanou výhodu: Váš skript slouží jako dokumentace k provedení procesu. Ostatní uživatelé si můžou váš skript přečíst a pochopit, jak je systém nakonfigurovaný. Pokud potřebujete proces změnit, stačí upravit skript a otestovat ho na dočasném pomocném virtuálním počítači před nasazením změny do produkčního prostředí.
K automatizaci procesu v této lekci můžete použít rozšíření vlastních skriptů. Rozšíření vlastních skriptů představuje snadný způsob, jak stahovat a spouštět skripty na virtuálních počítačích Azure. Je to jen jeden z mnoha způsobů, jak můžete systém nakonfigurovat po zprovoznění virtuálního počítače.
Skripty můžete ukládat do úložiště Azure nebo do veřejného umístění, jako je GitHub. Skripty můžete spouštět ručně nebo v rámci automatizovanějšího nasazení. Tady spustíte příkaz Azure CLI, který stáhne předem připravený skript Bash z GitHubu a spustí ho na virtuálním počítači.
Pro účely výuky také na virtuálním počítači spustíme několik příkazů, abychom ověřili, že je virtuální počítač nakonfigurovaný podle očekávání.
Spuštěním příkazu
az vm show
získejte veřejnou IP adresu virtuálního počítače a tuto IP adresu uložte jako proměnnou Bash.ipaddress=$(az vm show \ --name support-web-vm01 \ --show-details \ --query [publicIps] \ --output tsv)
Spuštěním následujícího
ssh
příkazu spusťtelsblk
příkaz na virtuálním počítači přes připojení SSH pomocíipaddress
dat proměnných, která jste vytvořili v předchozím kroku. Vzpomeňte si, žeazureuser
bylo uživatelské jméno správce, které jsme použili, když jsme vytvořili virtuální počítač. Pokud jste si zvolili jiné jméno, použijte ho. Po zobrazení výzvy zadejte ano .ssh azureuser@$ipaddress lsblk
Výstup tohoto příkazu by měl vypadat asi takto.
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 7G 0 disk └─sdb1 8:17 0 7G 0 part /mnt sr0 11:0 1 628K 0 rom sdc 8:32 0 64G 0 disk sda 8:0 0 30G 0 disk ├─sda14 8:14 0 4M 0 part ├─sda15 8:15 0 106M 0 part /boot/efi └─sda1 8:1 0 29.9G 0 part /
Všimněte si, že 64GB jednotka (
sdc
), kterou jste vytvořili, není připojená. Jednotka je uvedená tímto způsobem, protože ještě není inicializována.Spuštěním následujícího
az vm extension set
příkazu spusťte na virtuálním počítači předem připravený skript Bash.Upozorňující
Skript upraví
/etc/fstab
. Pokud byste soubor/etc/fstab
upravili nesprávně, může se stát, že systém nepůjde spustit. Změny konfigurace vždy testujte na dočasném pomocném systému, než je nasadíte do produkčního prostředí. Pokud chcete zjistit, jak správně upravit tento soubor, podívejte se do dokumentace k vaší distribuci. V produkčním prostředí dále doporučujeme vytvořit zálohu tohoto souboru, abyste si mohli konfiguraci v případě potřeby obnovit.az vm extension set \ --vm-name support-web-vm01 \ --name customScript \ --publisher Microsoft.Azure.Extensions \ --settings '{"fileUris":["https://raw.githubusercontent.com/MicrosoftDocs/mslearn-add-and-size-disks-in-azure-virtual-machines/master/add-data-disk.sh"]}' \ --protected-settings '{"commandToExecute": "./add-data-disk.sh"}'
Když se příkaz spustí, můžete skript Bash prozkoumat na samostatné kartě prohlížeče, pokud chcete.
Abychom to shrnuli, skript:
- Rozdělí jednotku
/dev/sdc
na oddíly. - Vytvoří na jednotce systém souborů ext4.
-
/uploads
Vytvoří adresář, který použijeme jako přípojný bod. - Připojí disk k přípojnému bodu.
- Aktualizuje
/etc/fstab
tak, aby se jednotka po restartování systému automaticky připojila.
- Rozdělí jednotku
Pokud chcete konfiguraci ověřit, spusťte stejný příkaz
ssh
, kterým jste předtím spustili příkazlsblk
na virtuálním počítači přes připojení SSH.ssh azureuser@$ipaddress lsblk
Měli byste zjistit, že
sdc/sdc1
je dělený a připojený k/uploads
adresáři podle očekávání.NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 0 7G 0 disk └─sdb1 8:17 0 7G 0 part /mnt sr0 11:0 1 628K 0 rom sdc 8:32 0 64G 0 disk └─sdc1 8:33 0 64G 0 part /uploads sda 8:0 0 30G 0 disk ├─sda14 8:14 0 4M 0 part ├─sda15 8:15 0 106M 0 part /boot/efi └─sda1 8:1 0 29.9G 0 part /
Tip
Některá linuxová jádra podporují příkaz TRIM k zahození nepoužívaných bloků na discích. Tato funkce je k dispozici na discích Azure. Ušetří vám peníze, pokud vytváříte velké soubory a pak je odstraňujete. V dokumentaci k Azure najdete pokyny, jak tuto funkci zapnout.
Shrnutí
Vytvořili jste datový disk a připojili ho k virtuálnímu počítači. Rozšíření vlastních skriptů jste použili ke spuštění předem připraveného skriptu Bash na virtuálním počítači, aby byl proces opakovatelnější. Skript Bash rozdělí disk na oddíly, naformátuje ho a připojí ho tak, aby na něj mohl webový server zapisovat.
Teď, když je datový disk na virtuálním počítači připravený, pojďme se podrobněji podívat na různé typy disků, které můžete vytvořit. Nejdůležitějším rozhodnutím je, jestli zvolíte úložiště úrovně Standard nebo Premium.