Systemy rozproszone

Strony dydaktyczne

A.Szelekak - Systemy rozproszone

dostęp:
login: inf_sem5
hasło: $3cUR3!ty

Opis wykonanych ćwiczeń

Konfiguracja GlasterFS - Debian

Raport z wykonanych ćwiczeń - zrzuty ekranu pokazujące etapy konfiguracji maszyn wirtualnych.

Konfiguracja VM(Debian 9) na platformie Azure

na podstawie: Dokumentacja Azure

Konieczny jest dostęp do platformy Azure.

Zestaw poleceń - tworzenie pierwszej maszyny
az login

az group create 
  --name VMDebian 
  --location westeurope

az network vnet create 
  --resource-group VMDebian 
  --name VLAN-VMDebian 
  --address-prefix 192.168.0.0/16 
  --subnet-name SUB-VLAN-VMDebian 
  --subnet-prefix 192.168.1.0/24

az network public-ip create 
  --resource-group VMDebian 
  --name PUBIP-VMDebian 
  --dns-name dnsvmdebian

az network nsg create 
  --resource-group VMDebian 
  --name SEC-GR-VMDebian

az network nsg rule create 
  --resource-group VMDebian 
  --nsg-name SEC-GR-VMDebian 
  --name SEC-GR-SSH-VMDebian 
  --protocol tcp --priority 1000 
  --destination-port-range 22 
  --access allow

az network nsg rule create 
  --resource-group VMDebian 
  --nsg-name SEC-GR-VMDebian 
  --name SEC-GR-HTTP-VMDebian 
  --protocol tcp 
  --priority 1001 
  --destination-port-range 80 
  --access allow

az network nic create 
  --resource-group VMDebian 
  --name NIC-VMDebian 
  --vnet-name VLAN-VMDebian 
  --subnet SUB-VLAN-VMDebian 
  --public-ip-address PUBIP-VMDebian 
  --network-security-group SEC-GR-VMDebian

az vm availability-set create 
  --resource-group VMDebian 
  --name AVAILAB-SET-VMDebian

az vm create 
  --resource-group VMDebian 
  --name Debian 
  --location westeurope 
  --availability-set AVAILAB-SET-VMDebian 
  --nics NIC-VMDebian 
  --image Debian 
  --admin-username cecherz 
  --generate-ssh-keys
Opis połączenia
<p style="text-align: justify">Połączenie do maszyny wirtualnej będzie możliwe po konfiguracji klienta ssh. Określamy klucz SSH, który będzie używany do uwierzytelniania. Tworzymy go używając parametru -generate-ssh-keys. Klucze będą dostępne w lokalizacji .~/ssh. Do prawidłowej pracy potrzebne są następujące składniki systemu:

Dostęp - SSH

w Bash-u wpisujemy: ssh cecherz@dnsvmdebian.westeurope.cloudapp.azure.com

Eksport i import
az group export 
  --name VMDebian > VMDebian.json

az group deployment create
  --resource-group myNewResourceGroup
  --template-file VMDebian.json
Druga maszyna wirtualna

Po utworzeniu pewnych zasobów VPN, zasad bezpieczeństwa, modelu dostępności. Tworzenie drugiej maszyny jest łatwiejsze, drugi system potrzebuje osobnego publicznego ip, dysku, wirtualnej karty sieciowej.

az network public-ip create 
  --resource-group VMDebian 
  --name PUBIP-VMDebian2 
  --dns-name dnsvmdebian2

az network nic create 
  --resource-group VMDebian 
  --name NIC-VMDebian2 
  --vnet-name VLAN-VMDebian 
  --subnet SUB-VLAN-VMDebian 
  --public-ip-address PUBIP-VMDebian2 
  --network-security-group SEC-GR-VMDebian

az vm create 
  --resource-group VMDebian 
  --name Debian2 
  --location westeurope 
  --availability-set AVAILAB-SET-VMDebian 
  --nics NIC-VMDebian2 --image Debian 
  --admin-username cecherz --generate-ssh-keys
LoadBalancer

Korzystamy z wcześniej utworzonej grupy zasobów. Potrzebna jest edycja istniejących interfejsów sieciowych. W tym celu trzeba skorzystać z dodatkowych poleceń PowerShell'a.

Connect-AzureRmAccount
Select-AzureRmSubscription -Subscriptionid "Azure dla studentów"

az network public-ip create 
  --resource-group VMDebian 
  --name PUBIP-LoadBalancer

az network lb create 
  --resource-group VMDebian 
  --name VMDebianLB 
  --public-ip-address PUBIP-LoadBalancer 
  --frontend-ip-name VMDebianLB-FrontEndPool 
  --backend-pool-name VMDebianLB-BackEndPool

az network lb probe create 
  --resource-group VMDebian 
  --lb-name VMDebianLB 
  --name VMDebianLB-Probe 
  --protocol tcp 
  --port 80

az network lb rule create 
  --resource-group VMDebian 
  --lb-name VMDebianLB 
  --name VMDebianLB-HTTPRule 
  --protocol tcp 
  --frontend-port 80 
  --backend-port 80 
  --frontend-ip-name VMDebianLB-FrontEndPool 
  --backend-pool-name VMDebianLB-BackEndPool 
  --probe-name VMDebianLB-Probe

az network nsg rule update 
  --resource-group VMDebian 
  --nsg-name SEC-GR-VMDebian 
  --name SEC-GR-HTTP-VMDebian  
  --direction inbound 
  --source-address-prefix '*' 
  --source-port-range '*' 
  --priority 200

$lb = Get-AzureRmLoadBalancer -name VMDebianLB -resourcegroupname VMDebian
$backend = Get-AzureRmLoadBalancerBackendAddressPoolConfig -name VMDebianLB-BackEndPool -LoadBalancer $lb
$nic = Get-AzureRmNetworkInterface -name NIC-VMDebian -resourcegroupname VMDebian
$nic.IpConfigurations[0].LoadBalancerBackendAddressPools=$backend
Set-AzureRmNetworkInterface -NetworkInterface $nic

$nic = Get-AzureRmNetworkInterface -name NIC-VMDebian2 -resourcegroupname VMDebian
GlusterFS - konfiguracja volumenów

Konfigurujemy nazwy hostów, np:

nano /etc/hosts
192.168.1.x   s1.noite.lab      s1  
192.168.1.x   s2.noite.lab      s2

Wywołujemy polecenia programu po jego instalacji LINK

gluster peer probe s2.noite.lab
gluster peer status
gluster volume create webvolume replica 2 transport tcp s1.noite.lab:/var/www/html  s2.noite.lab:/var/www/html force
gluster volume start webvolume