Cvičení – přidání datového disku k virtuálnímu počítači

Dokončeno

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
  1. 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).

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

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

  1. 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í.

  1. 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)
    
  2. Spuštěním následujícího ssh příkazu spusťte lsblk 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, že azureuser 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.

  3. 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.
  4. Pokud chcete konfiguraci ověřit, spusťte stejný příkaz ssh, kterým jste předtím spustili příkaz lsblk 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.