Aggiungere un nuovo server

Questa pagina contiene le convenzioni relative alla creazione e al partizionamento dei nuovi server.

Convenzioni partizionamento Linode 4096

Schema di base (totale 96GB):

Root (/) 16GB

Swap 4GB

LVM 76GB

/home 4GB

/var 32GB

varie ed eventuali

non allocato

Passi operativi:

Stabilire l'hostname, befairX dove X e' il primo numero intero disponibile tra i vari hostname

Nell'archivio Keepassx di 1ring:

Creare un nuovo gruppo con il nome appena scelto

Creare una voce root e generare una password casuale da 24 caratteri

Acquistare un Linode 4096 con cadenza mensile dal pannello di Linode

Nella scheda Settings del nuovo Linode, nella voce Linode Label sostituire con il nome scelto

Nella scheda Dashboard, nella sezione Dashboard fare clic su Deploy a Linux Distribution e scegliere:

Debian 7.5 (o comunque l'ultima versione stabile disponibile)

16384MB (cioe' 16 * 1024)

lasciare lo swap di default

la password di root

Nella sezione Disk Images:

Rinominare l'etichetta di Debian 7.5 in Root 16GB

ridimensionare lo swap creato automaticamente a 4096MB (4 * 1024) e l'etichetta Swap 4GB

attendere per qualche secondo il termine del ridimensionamento dello swap

creare una nuova partizione non formattata che occupi il restante spazio, ovvero 77824MB (76 * 1024), e chiamarla LVM 76GB

Nella sezione Dashboard fare clic su Edit e in corrispondenza di /dev/xvdc selezionare LVM 76GB

Nella sezione Dashboard fare clic su Boot

DNS

Assegnare al nuovo server un nome di dominio base befairX.befair.it dal pannello di Hosting Solutions

Wiki

Aggiungere il nuovo server nell'inventorio sul wiki

Aggiornare 1ring

Aggiornare il master del proprio repository locale, e tornare sul proprio branch per le modifiche:

$ git checkout master
$ git pull
$ git checkout my-branch
$ git rebase master

Creare inventories/host_vars/befairX.yml

---
hostname: befairX
motd: ''

Modifica inventories/prod.ini, nella sezione [befair] incrementa il secondo valore per includere il nuovo server:

[befair]
befair[1:X]

Modifica inventories/group_vars/staff.yml, e nel dizionario hosts aggiungi un dizionario con le info del nuovo server:

hosts:
[...]
befairX.befair.it:
aliases: 'befairX X'
urls: []
[...]

Committare e pushare le modifiche:

$ git commit -a -m 'Added befairX server'
$ git push origin my-branch:master

1ring in action!

A questo punto entra in gioco Ansible per completare il bootstrapping del server, compreso LVM

Dal master, rilanciare il playbook per aggiornare l'SSH config del master:

# git rebase master
# ap_prod playbooks/master.yml

Quindi generare un nuovo playbook per il bootstraping del nuovo server:

# cp playbooks/bootstrap_{example,X}.yml

Nel nuovo bootstrap_X.yml sostituire la X con il numero che identifica il server.

A questo punto connettersi al server accettando il key fingerprint della chiave SSH ed inserendo la password di root:

# ssh befairX

Disconnettersi dal nuovo server (la sessione SSH rimarra' comunque attiva) e lanciare il playbook:

# ap_prod playbooks/bootstrap_X.yml --tags 1

Accettare il key fingerprint della chiave SSH ed inserire la password di root.

Attendere il riavvio del server, dopodiche':

# ap_prod playbooks/bootstrap_X.yml --tags 2

Attendere secondo riavvio. Possiamo ora rimuovere il playbook creato perche' non ce ne sara' piu' bisogno:

# rm playbooks/bootstrap_X.yml

Lanciare core_low per settare hostname e altre cosucce basilari:

# ap_prod playbooks/core_low.yml

A questo punto il nostro server e' pronto per installare applicazioni e quant'altro!

Ad esempio, per Gasista Felice:

# ap_prod playbooks/gf.yml