Monthly Archives: Giugno 2014

Creazione del volume LVM e del filesystem XFS

DebianPer questa fase abbiamo bisogno della creazione del volume LVM e del filesystem XFS. In due parole, LVM (Logical Volume Manager) è un sottile strato di software posto appena sopra i dispositivi fisici (hard disk e partizioni), che rende possibile l’allocazione dinamica dello spazio, il ridimensionamento dei volumi, gli snapshot, e via dicendo. Con LVM, per esempio, si possono unire più partizioni e farne un unico device, in modo analogo allo striping dei controller RAID o al JBOD. XFS, invece, è un filesystem originariamente sviluppato dall’americana SGI e successivamente rilasciato al mondo Open Source, dotato di ottime performance e affidabilità, nonché di caratteristiche che lo rendono interessante in abbinamento con LVM e Samba, come la capacità di ridimensionamento a caldo e il supporto per le ACL (Access Control List). Potendo ridimensionare a caldo sia il device sottostante, anche aggiungendo nuovi dischi fissi, sia il filesystem sovrastante, è possibile di fatto allocare dinamicamente lo spazio, a macchina accesa e utenti collegati!
Bene, procediamo. Installiamo i pacchetti relativi all’LVM e alle utility XFS:

sudo apt-get install lvm2 xfsprogs

Prepariamo la partizione che ospiterà i dati. Nel nostro esempio la macchina Linux è dotata di un secondo hard disk (/dev/sdb), che verrà interamente utilizzato come spazio per LVM.

 

sudo fdisk -c -u /dev/sdb

I comandi da inserire sono evidenziati:

Command (m for help): n
Command action
e extended
p primary partition (1-4)
p
Partition number (1-4): 1
First sector (2048-266338303, default 2048): (premere Invio)
Using default value 2048
Last sector, +sectors or +size{K,M,G} (2048-266338303, default 266338303): (premere Invio)
Using default value 266338303

Command (m for help): t
Selected partition 1
Hex code (type L to list codes): 8e
Changed system type of partition 1 to 8e (Linux LVM)

Command (m for help): w
The partition table has been altered!

Calling ioctl() to re-read partition table.
Syncing disks.

La partizione /dev/sdb1 è stata creata. Prepariamola per l’utilizzo con LVM:

sudo pvcreate /dev/sdb1
Physical volume "/dev/sdb1" successfully created

Creiamo ora il Volume Group. Il Volume Group è un’astrazione sopra i device fisici (partizioni), che funge da serbatoio per lo spazio su disco. Più device possono contribuire alla formazione di un Volume Group, ed è possibile aggiungere, eliminare e spostare device da un Volume Group. In breve, il Volume Group è un po’ come l’hard disk del sistema LVM, ma a differenza degli hard disk tradizionali è molto flessibile.

sudo vgcreate vg0 /dev/sdb1
Volume group "vg0" successfully created

Lo spazio contenuto nel Volume Group non è direttamente utilizzabile, ma deve essere assegnato a dei Logical Volume. I Logical Volume sono visti dal sistema esattamente come le partizioni tradizionali, ma a differenza di queste ultime possono essere manipolati in molti modi: si può espanderli, restringerli (con qualche precauzione), spostarli, farne uno snapshot, e via dicendo. Creiamo dunque un Logical Volume da 10GB con nome lv0 sopra il Volume Group creato in precedenza:

sudo lvcreate -n lv0 -L 10g vg0
Logical volume "lv0" created

Bene. Abbiamo un device, utilizzabile esattamente come una partizione tradizionale, ed accessibile dal percorso /dev/vg0/lv0. È giunto il momento di creare il nostro filesystem:

sudo mkfs -t xfs /dev/vg0/lv0
meta-data=/dev/vg0/lv0 isize=256 agcount=4, agsize=655360 blks
= sectsz=512 attr=2, projid32bit=0
data = bsize=4096 blocks=2621440, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal log bsize=4096 blocks=2560, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0

È ora di montare il filesystem. Innanzitutto creiamo il mount point:

sudo mkdir /var/fileserver

Quindi creiamo la entry nel file /etc/fstab, in modo che il sistema monti il nostro filesystem ad ogni boot:

sudo nano /etc/fstab

Aggiungiamo queste righe alla fine del file:

/dev/mapper/vg0-lv0 /var/fileserver xfs defaults 0 0

Notare che sia /dev/mapper/vg0-lv0 che /dev/vg0/lv0 sono link simbolici che puntano a /dev/dm-0. Salviamo e usciamo da Nano. Montiamo il filesystem:

sudo mount /dev/vgo/lv0

 

Creiamo la directory dati al suo interno:

sudo mkdir /var/fileserver/dati

Dobbiamo assegnare i permessi di lettura e scrittura alla directory dati, ma lo faremo più avanti poiché ancora non abbiamo in linea gli utenti del dominio. Per questo ci vogliono Kerberos e Winbind. Forza, non manca molto!

Impostazioni di rete del server Linux

Debian

Come prima cosa interveniamo sulle impostazioni di rete del server Linux. Se si è appena conclusa l’installazione del sistema operativo, è probabile che l’interfaccia di rete sia configurata in DHCP. Ciò non è consigliabile per un server; inoltre è necessario che il resolver DNS punti al server Windows, poiché è quest’ultimo a risolvere i nomi e la posizione dei servizi in rete, tra cui il servizio Kerberos che ci servirà più avanti. Assegniamo al server Linux l’indirizzo statico 192.168.1.21:

sudo nano /etc/network/interfaces

ed eccoci nell’editor Nano. È facile da usare: ci si sposta con le frecce, si salva con CTRL+O e si esce con CTRL+X.

 GNU nano 2.2.4          File: /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug eth0
iface eth0 inet dhcp

^G Guida       ^O Salva       ^R Inserisci   ^Y Pag Prec.   ^K Taglia      ^C Posizione
^X Esci        ^J Giustifica  ^W Cerca       ^V Pag Succ.   ^U Incolla     ^T Ortografia

Modifichiamo la riga:

iface eth0 inet dhcp

nel modo seguente:

iface eth0 inet static
        address 192.168.1.21
        netmask 255.255.255.0
        gateway 192.168.1.254

In pratica abbiamo modificato l’interfaccia eth0 da DHCP a IP statico, e gli abbiamo fornito i vari parametri. CTRL+O, Invio per confermare il nome del file, CTRL+X per uscire. Ora sistemiamo il resolver DNS:

sudo nano /etc/resolv.conf

Modifichiamo il contenuto del file come segue:

domain acme.local
search acme.local
nameserver 192.168.1.20

Salviamo e usciamo da Nano. È ora di applicare i cambiamenti:

sudo ifdown eth0 ; sudo ifup eth0

Facciamo un test:

ping vmw2008r2

Dovremmo vedere qualcosa del genere:

PING vmw2008r2.acme.local (192.168.1.20) 56(84) bytes of data.
64 bytes from 192.168.1.20: icmp_req=1 ttl=128 time=0.369 ms
64 bytes from 192.168.1.20: icmp_req=2 ttl=128 time=0.426 ms
64 bytes from 192.168.1.20: icmp_req=3 ttl=128 time=0.348 ms
...

 

CTRL+C per fermare il ping.
È consigliabile inserire nome e indirizzo del server Linux in /etc/hosts:

sudo nano /etc/hosts

Assicuriamoci che il nostro server Linux sia elencato correttamente:

192.168.1.21   smbserver.acme.local    smbserver

 

Creare un file server integrato con Active Directory utilizzando Linux, Samba e Winbind

DebianQuesto tutorial vi guiderà nella creazione di un file server basato su Linux e Samba ed integrato con un dominio Active Directory tramite Winbind. Il server Linux erogherà il servizio di condivisione dei file attraverso Samba, attingendo ad Active Directory per ottenere le credenziali di accesso degli utenti. In altre parole, esso opererà come un server membro di dominio.

Perché Linux?

Linux è un sistema operativo potente, stabile, flessibile, performante e ricco di funzionalità. Può svolgere molto bene diversi compiti in una rete aziendale, compreso quello di file server. Lo scopo di questo tutorial non è promuovere Linux come sostituto di Windows, bensì dimostrare come i due sistemi possano coesistere e interagire tra loro con profitto. L’amministratore di rete ed i suoi utenti trarranno benefici da entrambi i sistemi, sfruttando ciò che di meglio ciascuno dei due ha da offrire.

Perché Windows?

Continue reading