Guida Installazione FreeBSD su OVH Public Cloud

iltizio

Utente Emerald
1 Novembre 2009
929
60
533
598
sXCBC7u.png

Questa guida passo-passo vi spiegherà come creare un’istanza public cloud di OVH con FreeBSD e perché conviene.​

1    Introduzione





OVH è ormai hosting provider storico, famoso da decenni in europa. Dopo lo scoppio dei Cloud Computing specialmente in USA, con AWS (Amazon) come leader del settore, tanti provider hanno deciso di aggiornarsi costantemente per far fronte alle richieste e possibili richieste del mercato.
OVH non è da meno e anche se probabilmente è in netto ritardo rispetto ai competitor USA e Cinesi sta facendo grandi sforzi per allinearsi.

Recentemente OVH ha eseguito un rebranding per enfatizzare il loro impegno nel diventare un buon cloud provider e dispone di numerosi servizi cloud in continua evoluzione.

Tra questi troviamo il Public Cloud e le Compute Instance che potrebbero fare al caso nostro.
Si tratta di macchine virtuali, da non confondere con la gamma più classica di VPS, che vengono create on demand in pochi istanti attraverso il loro spazio cliente web-based oppure tramite le API Openstack che permettono di avere uno standard e di interagire con il cloud tramite applicazioni esterne o client differenti, così da automatizzare la creazione, distruzione e modifica dell’infrastruttura.

Una delle particolarità che balzano all’occhio è la possibilità di fatturazione oraria, oltre che alla classica mensile.
Significa che potrai pagare le risorse che effettivamente usi con una “bolletta” a inizio del mese successivo dove andrai a pagare il totale utilizzato nell’ultimo mese.
Sostanzialmente è possibile creare una VM, utilizzarla per qualche ora o addirittura pochi minuti e successivamente distruggerla o solo spegnerla, senza dover pagare l'intero mese.

Potremmo utilizzare questa soluzione sia per i test, spegnendo/distruggendo le istanze quando non le usiamo, sia per la produzione, avendo un buon sistema adatto allo scopo e generabile o ridimensionabile facilmente, con una buona quantità di servizi a corredo, come quello del database mysql gestito.


Per maggiori informazioni:
https://en.wikipedia.org/wiki/Cloud_computing
https://www.ovhcloud.com/it/public-cloud/
https://www.ovhcloud.com/it/public-cloud/prices/

2    Creazione account OVH





Come step 0 ovviamente dovremo creare un account OVH, se non l’abbiamo già.
Esistono guide ufficiali anche per questo: https://docs.ovh.com/it/customer/creare-account-ovhcloud/

Successivamente dovremo creare un progetto “Public cloud”: https://docs.ovh.com/it/public-cloud/crea_il_primo_progetto_public_cloud/
Quando vi verrà chiesto, potrete inserire un voucher offerto da OVH per provare il loro servizio Cloud:
ID: CLOUD-IT

Per maggiori informazioni: https://www.ovhcloud.com/it/public-cloud/

3    Creazione utente Openstack





Tramite il vostro account OVH è possibile creare uno o più account Openstack con diversi privilegi, che potreste assegnare ai vostri collaboratori.
Potete quindi utilizzare la guida ufficiale di OVH che vi spiega passo a passo cosa fare per creare l’utente che vi consentirà di gestire le vostre istanze dalle API Openstack:
https://docs.ovh.com/it/public-cloud/crea_un_utente_per_accedere_a_horizon/#crea-un-utente-openstack

4    Download immagine FreeBSD





Per prima cosa dobbiamo scaricare l’immagine FreeBSD desiderata. Per farlo basta navigare nella pagina ufficiale di FreeBSD: https://www.freebsd.org/where/
Cercate la versione di FreeBSD che vi serve. Dovrebbe essere l’ultima di produzione. Al momento della stesura della presente guida, l’ultima versione di produzione è 13.0:
s6n5BjW.png


Nella stessa pagina troverete i vari link ai download. Nel mio caso ho una tabella dedicata alla versione 13.0. Dovremo quindi selezionare una “Virtual machine images” con architettura amd64:
XJ0hdtx.png

Quindi si aprirà un’ulteriore pagina con i download diretti delle immagini e noi dovremo selezionare l’immagine in formato “qcow2”:
ZAbTPfl.png

Finito il download procediamo con la decompressione, utilizzando il programma di estrazione che avete sul vostro PC (ex. WinZip, WinRAR, 7-Zip).

N.B. Il file estratto potrebbe essere piuttosto grosso, quindi assicuratevi di avere abbastanza spazio nella cartella in cui lo andrete ad estrarre.

5    Upload immagine FreeBSD





Ora loggatevi nella dashboard Horizon dal vostro pannello OVH con l’utente e password creati precedentemente: https://horizon.cloud.ovh.net/project/
Nel caso in cui vi siete dimenticati le credenziali potrete reperirle dal vostro pannello OVH sotto Project Management -> Users & Roles del menù di sinistra.

Una volta in Horizon andate dal menù laterale alla voce Compute -> Images:
PHYLB2D.png


Come vedrete, molto probabilmente non avrete a disposizione un’immagine FreeBSD nel catalogo di default di OVH, quindi andiamo a crearne una custom selezionando il bottone + Create Image a destra:
clq9ONB.png


Si aprirà quindi una form che andremo a compilare con i dati che ci servono e a selezionare l’immagine di freebsd scaricata prima. In particolare assicuratevi di compilare i campi obbligatori:
  • Image Name: Un nome sensato per la vostra immagine. Il nome del OS e versione mi sembrano un buon nome
  • File: Selezionate il file in formato .qcow2 che avete estratto precedentemente
  • Format: lo stesso formato del file selezionato. Quindi QCOW2
tOS4gqB.png

Quindi confermate cliccando sul bottone blu Create Image in basso a destra.

Dategli il tempo necessario per eseguire l’upload. Dato che saranno alcuni GB di file, consiglio di far eseguire la procedura ad un amico con una buona connessione in upload.

Finito il caricamento troverete l’immagine disponibile nella lista. utilizzate la barra di ricerca per filtrare:
XrJ29Lo.png


Guida ufficiale: https://support.us.ovhcloud.com/hc/...load-a-Custom-Image-for-Public-Cloud-Services


6    Creazione istanza FreeBSD





Ora che abbiamo a disposizione l’immagine FreeBSD nel catalogo, possiamo finalmente creare la VM che vogliamo con questo sistema operativo, utilizzando il metodo che più vi aggrada.
Per cambiare possiamo utilizzare il wizard di base di OVH per creazione di istanze, disponibile presso il vostro spazio cliente.
Quindi andate al vostro spazio cliente e selezionate il vostro progetto public cloud.
Sulla sinistra troverete il menù. All’inizio dovrete trovare la voce Compute -> Instances:
sykPRB1.png



Clicca su Crea un’istanza e incomincerà il wizard che ti guiderà nella creazione della VM di base.
Per prima cosa scegliamo la tipologia/grandezza dell’istanza. Il catalogo potrebbe cambiare nel tempo.
Troverete maggiori informazioni sulle tipologie di istanze qua: https://www.ovhcloud.com/it/public-cloud/prices/#compute
Nel mio caso scelgo l’istanza più economica disponibile, che attualmente è la S1-2
4ARUrbi.png

Il prossimo passaggio è la localizzazione dell’istanza. E’ un passaggio importante specialmente per la scelta dell’istanza di produzione. E’ buona norma utilizzare qualcosa vicino alla vostra utenza, così da ridurre la latenza (ping) dei vostri giocatori. Inoltre se avete più istanze, cercate di metterle in datacenter differenti, specialmente se state configurando un cluster. per maggiori informazioni: https://www.inforge.net/forum/threads/sicurezza-cosa-significa-e-come-garantirla.467444/ https://www.inforge.net/forum/threads/metin2-ha-cluster.467704/

Dovrete inoltre selezionare lo stesso datacenter dove avete caricato precedentemente la vostra immagine. Nulla vi vieta di ricaricare l’immagine in più datacenter, semplicemente ri-eseguendo gli step Upload immagine FreeBSD.

YrnocoF.png



Per maggiori informazioni: https://www.ovh.com/world//us/about-us/network.xml


Ora possiamo finalmente selezionare la nostra nuova immagine FreeBSD. Essendo custom la troveremo sotto il tab Backup. Inoltre ci verrà chiesto di inserire una chiave SSH pubblica, che verrà utilizzata da noi per collegarci al nuovo server.
https://docs.ovh.com/it/public-cloud/primi-passi-public-cloud/#step-1-crea-chiavi-ssh

Se non trovate l’immagine, probabilmente non è disponibile per il datacenter scelto, quindi assicurati di selezionare il datacenter in cui avete caricato la vostra immagine nei punti precedenti oppure ricaricatela anche per il datacenter scelto:
DDkV5RB.png

Proseguendo potrete selezionare alcune opzioni facoltative e impostare un nome alla vostra nuova istanza.
p8eCIx5.png

Il successivo e ultimo step è quello legato alla fatturazione. Qui bisogna stare attenti per evitare di dover pagare più del necessario.
Vi permetterà di scegliere se pagare l’intero mese, indipendentemente dal reale utilizzo del server (acceso o spento), godendo un uno sconto, oppure pagare per ogni ora di utilizzo effettivo.

N.B. Se scegliete la fatturazione oraria potrete in seguito passare a quella mensile, ma non viceversa.
HCMe24Q.png


Quando siete pronti potrete confermare e procedere con la creazione dell’istanza, che richiederà pochi secondi.
La troverete nella dashboard del vostro spazio clienti, con le relative informazioni, status e azioni:
zn9dfxQ.png


7    Setup manuali OS





Non è ancora finita. Ora dobbiamo abilitare l’accesso ssh e rete manualmente. Per farlo bisogna collegarsi in console remota. Per farlo collegatevi ad Horizon come prima e navigate in Compute -> Instances e troverete la vostra istanza:
0HOKP5V.png

Se non trovate l’istanza, assicuratevi di selezionare il datacenter corretto in alto a sinistra:
ZpNDVT4.png

Aprite il menu a tendina sotto Actions e selezionate la voce Console:
ewycNsL.png



Vi comparirà la classica grafica del terminare con sfondo nero e scritte bianche dove vi chiede di loggarvi. Scrivete quindi root come utente e premete invio. Dovrebbe entrare senza password. Nel caso in cui richieda la password inserite nuovamente root:
6EuisSK.png



Ora la parte un po’ più difficile. Dato che l’immagine che abbiamo installato era custom, dobbiamo impostare manualmente la rete. Al momento della creazione dell’istanza vi verrà assegnato un ip pubblico, come di consueto per OVH. L’ip lo troverete nelle viste precedenti:
XCWXRJ7.png

In base a questo IP dovrete cercare la rete corrispondente per quell’IP, navigando un una nuova scheda sotto “Network” -> “Networks”.
Troverete la lista di subnet disponibili e dovrete cercare quella del vostro IP:
YLtHWJU.png

Nel mio caso l’ip era 141.94.165.179 e la subnet compatibile era 141.94.164.0/22 con gateway 141.94.164.1
Salvatevi quindi questi dati e tornate alla console.
Modificate il file /etc/rc.conf con il vostro editor preferito:
wxzbgUg.png

N.B. In console non si può fare copia e incolla e la tastiera sarà probabilmente settata come US, quindi potreste avere difficoltà ad inserire i caratteri speciali con una tastiera italiana. Potete orientarvi con un’immagine di tastiera US, premendo i tasti della vostra tastiera fisica che corrispondono ai caratteri di quella US:

Modificate l’interfaccia da DHCP a IP statico inserendo l’IP e la netmask come nell’esempio.
Per calcolare la netmask potete usare alcuni tool online, ad esempio: http://jodies.de/ipcalc
Nel mio caso era:
Codice:
inet 141.94.165.179 netmask 255.255.252.0
servirà specificare anche il default router aggiungendo una nuova riga come nell’esempio e inserendo il gateway estratto precedentemente.
Aggiungete anche l’abilitazione del servizio sshd come nell’esempio:
OZQU2eq.png

Salvate e chiudete il file.
Ora bisogna impostare una password di root, anche temporanea. Sconsiglio di utilizzare i caratteri speciali per ora, viste le difficoltà con la tastiera US.
Digitate il comando:
Bash:
passwd
ed inserite due volte la nuova password di root, seguendo le indicazioni:

Dobbiamo modificare la configurazione del servizio sshd, in quanto di default il file di configurazione del sshd per freebsd ha l’accesso root disabilitato. Noi lo dobbiamo anche solo momentaneamente abilitarlo con accesso tramite chiave.
Quindi aggiungiamo al file /etc/ssh/sshd_config un’opzione eseguendo questo comando:
Bash:
echo ‘PermitRootLogin yes’  >> /etc/ssh/sshd_config

Riavviamo il sistema:
Bash:
reboot

Aspettiamo che il reboot finisca e successivamente proviamo una login via ssh all’ip dell’istanza con utente root e la password che avete impostato poco fa.

8    Sospensione/distruzione istanza





Ora che la nostra VM è pronta, vi spiego brevemente come spegnere l’istanza per sospendere la fatturazione oraria.
Tornate al pannello OVH dove c’è la lista delle vostre istanze:
O6etTEV.png

Nel menù a tendina della vostra istanza selezionate la voce “Sospesa”:
oyP3Ctb.png

Seguite le indicazioni ed attendete. L’istanza diventerà “Sospesa” e pagherete solo lo spazio disco riservato, mantenendo quindi i dati della VM e l’IP.
ziygfZR.png

Per riattivarla seguite il processo inverso, cioè selezionando la voce “Riattiva” ed attendete.
9W2w8Gi.png

Ora potrete ricollegarvi e riprendere il vostro lavoro.

Ora vediamo come fare per distruggere completamente l’istanza, rilasciando lo spazio disco e l’IP, così da ricreare l’istanza da 0 in un secondo momento, se necessario.
Sempre dal menù a tendina selezioniamo la voce “elimina”:
JL4iVaL.png

Segui le istruzioni a video e attendi pochi secondi. L’istanza sparirà dalla dashboard.

Se volete tener sotto controllo la spesa, potrete visualizzare i report nel vostro spazio cliente, sotto la voce “Project Management” -> “Billing Control”:
USdTw5J.png


9    Bonus: Utilizzo CLI Openstack





Il cloud OVH utilizza una piattaforma cloud standard, non di sua creazione, basata su Openstack, pertanto è possibile utilizzare i client ufficiali Openstack per poter gestire le istanze del public cloud.
Ad esempio possiamo installare una CLI che ci permetterà di connetterci ed operare sulle API Openstack di OVH tramite Command Line Interface (CLI), quindi eseguendo comandi da CMD, ad esempio, se utilizziamo Windows.

10    Bonus: Installazione cli openstack





Per l’installazione potrete seguire la guida passo passo in italiano fornita da OVH. Questa CLI è disponibile per diversi sistemi operativi e la guida ufficiale espone i passaggi per i sistemi più comuni, tra cui Windows.
https://docs.ovh.com/it/public-clou...te_di_sviluppo_per_utilizzare_lapi_openstack/
Essendo Openstack un software non specifico per OVH, è possibile trovare numerose guide nel web.

Nello specifico la guida vi farà vedere:
  • Come si installa python, che potreste già avere installato
  • Come si installa la cli di Openstack, tramite pip

Qualche consiglio in caso di errori durante l’installazione.

Assicuratevi di avere ed utilizzare una versione compatibile di Python. Eseguite il seguente comando per capire che versione di python state utilizzando:
Bash:
python -V

Qui trovate il download delle versioni disponibili di Python:
https://www.python.org/downloads/

Se al momento di installare openstack tramite pip vi da qualche errore, assicuratevi di avere l’ultima versione di “pip” installata.
Dovrebbe già dirvelo lui con un messaggio del tipo:

You are using pip version 8.1.2, however version 21.3.1 is available.
You should consider upgrading via the 'python -m pip install --upgrade pip' command.

Quindi in questo caso potete eseguire il comando consigliato:

Bash:
python -m pip install --upgrade pip

Potreste anche aver bisogno di installare i build tools di C++. In tal caso troverete il download per windows qua: https://visualstudio.microsoft.com/it/visual-cpp-build-tools/

N.B. ricordatevi che stiamo parlando di Windows, quindi potrebbe essere necessario un riavvio dopo le varie installazioni

11    Bonus: Setup ambiente Openstack su Windows





Ora possiamo configurare il nostro client Openstack su windows seguendo la guida https://docs.ovh.com/it/public-cloud/impostare-le-variabili-dambiente-openstack/

Consiglio di configurare le variabili d’ambiente tramite il secondo metodo proposto, essendo permanente, così da non dover ri-eseguire lo script ad ogni sessione.
La password non sarà nel file generato per questioni di sicurezza. E’ quella che vi è stata generata in fase di creazione dell’utente Openstack. Se avete perso la password la potete resettare facilmente dallo spazio clienti, sotto “Project Management” -> “User & Roles”:
K4TZWtV.png
 
Decisamente interessante.
Sbaglio o Ovh Cloud sembra abbastanza minimale rispetto alla concorrenza? (Google Cloud e AWS)

Se vi crasha alla scelta pg, ricordatevi di usare PROXY_IP (con l'ip esterno, quello che usano i player) e BIND_IP (con l'ip locale che si vede digitando 'ifconfig') nei config.
 
Sbaglio o Ovh Cloud sembra abbastanza minimale rispetto alla concorrenza? (Google Cloud e AWS)
Corretto, OVH, nonostante esista da parecchio, ha iniziato solo da poco a seguire il mercato Cloud come lo intendiamo oggi. Fino a pochi anni fa era solo web hosting, server dedicati e VPS unmanaged. Evidentemente si sono finalmente accorti, meglio tardi che mai, che il mercato stava andando in un'altra direzione e solo negli ultimissimi anni hanno incominciato a lavorarci per allinearsi. Fino anche a solo un anno fa la metà dei servizi public Cloud non c'erano o erano in beta. Manca ancora un bel po' per raggiungere gli altri big, ma bisogna riconoscergli che ci stanno provando. Comunque hanno mantenuto un prezzo abbordabile per le istanze compute.
Se vi crasha alla scelta pg, ricordatevi di usare PROXY_IP (con l'ip esterno, quello che usano i player) e BIND_IP (con l'ip locale che si vede digitando 'ifconfig') nei config
In questo caso potrebbe non servire in quanto la VM monta direttamente l'ip pubblico, quindi niente NAT per ora. Non escludo che in futuro cambino idea e metteranno la VM sotto rete privata e un NAT con ip pubblico. Buono a sapersi, grazie.