Ćwiczenie — dodawanie dysku danych do maszyny wirtualnej
Twoja kancelaria prawna rozszerza obciążenie sprawy i twoim zadaniem jest utworzenie nowego serwera internetowego z systemem Linux w celu przechowywania krytycznych dokumentów z różnych źródeł: klientów, innych kancelarii prawnych i organów ścigania. Serwer internetowy umożliwia przekazywanie dokumentów i przechowywanie ich na dysku.
Napiwek
W tym ćwiczeniu użyto systemu Linux, ale podstawowy proces tworzenia maszyn wirtualnych i dodawania dysków w systemie Windows wygląda podobnie. Podstawową różnicą jest partycjonowanie i formatowanie dysku. W systemie Windows możesz nawiązać połączenie z maszyną wirtualną za pośrednictwem pulpitu zdalnego i użyć wbudowanych narzędzi Zarządzania dyskami lub wdrożyć skrypt programu PowerShell podobny do skryptu powłoki Bash, który będzie używany w tym miejscu.
Twoim celem jest utworzenie maszyny wirtualnej z systemem Linux i dołączenie nowego wirtualnego dysku twardego (VHD) o nazwie uploadDataDisk1 w celu przechowywania /uploads
katalogu.
Ustawianie wartości domyślnych interfejsu wiersza polecenia platformy Azure
Interfejs wiersza polecenia platformy Azure umożliwia ustawienie wartości domyślnych, aby nie trzeba ich powtarzać za każdym razem, gdy uruchamiasz polecenie.
Możesz określić domyślną lokalizację platformy Azure lub region. W tej lokalizacji znajduje się maszyna wirtualna platformy Azure.
Najlepiej, aby ta lokalizacja znajduje się blisko klientów. Dlatego wybierz najbliższy region z lokalizacji dostępnych w piaskownicy platformy Azure.
Bezpłatna piaskownica umożliwia tworzenie zasobów w podzestawie regionów globalnych platformy Azure. Podczas tworzenia zasobów wybierz region z poniższej listy:
- westus2
- southcentralus
- centralus
- eastus
- westeurope
- southeastasia
- japaneast
- brazilsouth
- australiasoutheast
- centralindia
Uruchom polecenie
az configure
, aby ustawić lokalizację domyślną, której chcesz użyć. Zastąp element eastus lokalizacją wybraną w poprzednim kroku.az configure --defaults location=eastus
Napiwek
Do kopiowania poleceń do schowka możesz używać przycisku Kopiuj. Aby wkleić, kliknij prawym przyciskiem myszy nowy wiersz w terminalu usługi Cloud Shell i wybierz polecenie Wklej lub użyj skrótu klawiaturowego Shift+Insert (⌘+V w systemie macOS).
Ustaw domyślną nazwę grupy zasobów na wstępnie skonfigurowaną grupę zasobów utworzoną za pośrednictwem piaskownicy platformy Azure:
[grupa zasobów piaskownicy] az configure --defaults group="<rgn>[sandbox Resource Group]</rgn>"
Tworzenie maszyny wirtualnej z systemem Linux
W tym miejscu utworzysz maszynę wirtualną z systemem Linux do hostowania serwera internetowego.
Uruchom następujące polecenie
az vm create
, aby utworzyć maszynę wirtualną z systemem Ubuntu Linux.az vm create \ --name support-web-vm01 \ --image Canonical:UbuntuServer:16.04-LTS:latest \ --size Standard_DS1_v2 \ --admin-username azureuser \ --generate-ssh-keys
- Nazwa maszyny wirtualnej to support-web-vm01.
- Jej rozmiar to Standardowa_DS1_v2.
- Nazwa użytkownika administratora to azureuser. W praktyce ta nazwa może być dowolna.
- Argument
--generate-ssh-keys
generuje dla Ciebie klucz SSH, co umożliwia nawiązanie połączenia z maszyną wirtualną za pośrednictwem protokołu SSH.
Wdrożenie maszyny wirtualnej potrwa kilka minut. Gdy maszyna wirtualna jest gotowa, uzyskasz informacje o niej w formacie JSON. Oto przykład:
{ "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": "" }
Uwaga
W tej lekcji używasz tej maszyny wirtualnej, aby dowiedzieć się, jak zarządzać dyskami. W praktyce możesz również zainstalować serwer internetowy i inne oprogramowanie, a następnie uruchomić polecenie
az vm open-port
w celu udostępnienia niezbędnych portów dla świata zewnętrznego.
Dodawanie pustego dysku danych do maszyny wirtualnej
W tym miejscu utworzysz pusty dysk danych i dołączysz go do maszyny wirtualnej. Początkowo rozmiar dysku danych wynosi 64 GB. Później zainstalujesz ten dysk w katalogu /uploads
na maszynie wirtualnej.
Napiwek
W celach szkoleniowych tworzysz maszynę wirtualną i dysk danych jako oddzielne kroki. W praktyce możesz określić argument --data-disk-sizes-gb
dla polecenia az vm create
, aby dodać dyski danych podczas tworzenia maszyny wirtualnej.
Uruchom następujące polecenie
az vm disk attach
, aby dodać nowy pusty dysk do maszyny wirtualnej.az vm disk attach \ --vm-name support-web-vm01 \ --name uploadDataDisk1 \ --size-gb 64 \ --sku Premium_LRS \ --new
To polecenie:
- nadaje dyskowi nazwę uploadDataDisk1,
- Ustawia rozmiar na 64 GB.
- Określa użycie magazynu w warstwie Premium z lokalną nadmiarowością.
Aby użyć dysku, należy go podzielić na partycje i sformatować. Zróbmy to dalej.
Inicjowanie i formatowanie dysku danych
Pusty dysk danych musi zostać zainicjowany i sformatowany. Proces jest taki sam jak w przypadku dysku fizycznego.
Na potrzeby zadań jednorazowych możesz ręcznie nawiązać połączenie z maszyną wirtualną za pomocą protokołu SSH i uruchomić polecenia, których potrzebujesz. Jednak aby proces był bardziej powtarzalny i mniej podatny na błędy, możesz określić polecenia w skrypcie powłoki Bash lub skrypcie programu PowerShell (jeśli jest dostępny).
Użycie skryptu do zautomatyzowania procesu ma dodatkową korzyść: skrypt służy jako dokumentacja sposobu wykonywania procesu. Inne osoby mogą odczytywać skrypt, aby zrozumieć, jak system jest skonfigurowany. Jeśli musisz zmienić proces, możesz po prostu zmodyfikować skrypt i przetestować go na tymczasowej maszynie wirtualnej tymczasowej tymczasowej przed wdrożeniem zmiany w środowisku produkcyjnym.
Aby zautomatyzować proces w tej lekcji, możesz użyć rozszerzenia niestandardowego skryptu. Rozszerzenie niestandardowego skryptu to prosty sposób na pobieranie i uruchamianie skryptów na maszynach wirtualnych platformy Azure. To jeden z wielu sposobów konfigurowania systemu maszyny wirtualnej po jej uruchomieniu.
Skrypty można przechowywać w usłudze Azure Storage lub w publicznej lokalizacji, takiej jak GitHub. Możesz uruchamiać skrypty ręcznie lub w ramach bardziej zautomatyzowanego wdrożenia. W tym miejscu uruchomisz polecenie interfejsu wiersza polecenia platformy Azure, aby pobrać wstępnie utworzony skrypt powłoki Bash z usługi GitHub i wykonać go na maszynie wirtualnej.
Na potrzeby uczenia uruchomimy również kilka poleceń na maszynie wirtualnej, aby sprawdzić, czy maszyna wirtualna jest skonfigurowana zgodnie z oczekiwaniami.
Uruchom polecenie
az vm show
, aby pobrać publiczny adres IP maszyny wirtualnej i zapisać adres IP jako zmienną powłoki Bash.ipaddress=$(az vm show \ --name support-web-vm01 \ --show-details \ --query [publicIps] \ --output tsv)
Uruchom następujące
ssh
polecenie, aby uruchomićlsblk
polecenie na maszynie wirtualnej za pośrednictwem połączenia SSH przy użyciuipaddress
danych zmiennych utworzonych w poprzednim kroku. Wartośćazureuser
była nazwą użytkownika administratora użytą podczas tworzenia maszyny wirtualnej. Jeśli została wybrana inna nazwa, użyj jej zamiast tej. Wprowadź wartość Tak po wyświetleniu monitu.ssh azureuser@$ipaddress lsblk
Dane wyjściowe tego polecenia powinny wyglądać podobnie do następujących.
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 /
Zwróć uwagę, że utworzony dysk 64 GB (
sdc
) nie jest zainstalowany. Dysk jest wymieniony w ten sposób, ponieważ nie został jeszcze zainicjowany.Uruchom następujące
az vm extension set
polecenie, aby uruchomić wstępnie utworzony skrypt powłoki Bash na maszynie wirtualnej.Ostrzeżenie
Skrypt modyfikuje plik
/etc/fstab
. Nieprawidłowe modyfikowanie pliku/etc/fstab
może uniemożliwić rozruch systemu. Zmiany konfiguracji należy zawsze przetestować na tymczasowym systemie podstawowym przed wdrożeniem w środowisku produkcyjnym. Skorzystaj z dokumentacji danej dystrybucji, aby dowiedzieć się, jak poprawnie modyfikować ten plik. W środowisku produkcyjnym zalecamy również utworzenie kopii zapasowej tego pliku, aby w razie potrzeby móc przywrócić konfigurację.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"}'
Gdy polecenie jest uruchamiane, możesz sprawdzić skrypt powłoki Bash na osobnej karcie przeglądarki, jeśli chcesz.
Podsumowując, skrypt:
- Dzieli na partycje dysk
/dev/sdc
. - Tworzy system plików ext4 na dysku.
-
/uploads
Tworzy katalog, którego używamy jako punktu instalacji. - Dołącza dysk do punktu instalacji.
- Aktualizuje plik
/etc/fstab
, aby dysk był instalowany automatycznie po ponownym uruchomieniu systemu.
- Dzieli na partycje dysk
Aby sprawdzić konfigurację, uruchom takie samo polecenie
ssh
jak wcześniej, aby uruchomić polecenielsblk
na maszynie wirtualnej za pośrednictwem połączenia SSH.ssh azureuser@$ipaddress lsblk
Należy znaleźć partycje
sdc/sdc1
i zainstalowane w katalogu zgodnie z/uploads
oczekiwaniami.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 /
Napiwek
Niektóre jądra systemu Linux obsługują funkcję TRIM odrzucającą nieużywane bloki na dyskach. Ta funkcja jest dostępna na dyskach platformy Azure i może pomóc zaoszczędzić pieniądze, jeśli tworzysz duże pliki, a następnie je usuwasz. Dowiedz się, jak włączyć tę funkcję, z dokumentacji platformy Azure.
Podsumowanie
W tym miejscu został utworzony dysk z danymi i dołączono go do maszyny wirtualnej. Użyto rozszerzenia niestandardowego skryptu, aby uruchomić wstępnie utworzony skrypt powłoki Bash na maszynie wirtualnej, aby proces był bardziej powtarzalny. Skrypt powłoki Bash dzieli na partycje, formatuje i instaluje dysk, aby serwer internetowy mógł zapisywać na nim dane.
Teraz, gdy dysk danych na maszynie wirtualnej jest przygotowany, przyjrzyjmy się nieco więcej na temat różnych typów dysków, które można utworzyć. Podstawową decyzją jest wybór magazynu w warstwie Standardowa lub Premium.