LINUX

Come creare un mirror Lvm su Linux

creare mirror lvm

Nel mondo dei computer, l’archiviazione è il fattore più importante. Se i dati vengono persi, tutto viene perso per l’organizzazione o l’azienda. Inizialmente, i dati vengono archiviati su dischi normali, non ha la flessibilità per gestire i dati ed è molto complicato e disastroso gestire il ripristino. Per raggiungere la flessibilità e l’obiettivo di gestione del ripristino di emergenza, viene introdotto il RAID. Utilizzando RAID, la ridondanza può essere mantenuta, ma manca ancora la flessibilità per gestire il file system e la gestione dello storage. Logical Volume Manager (LVM) fornisce una vista di primo livello dell’archiviazione su disco. LVM è tradizionalmente associato a una grande installazione contenente molti dischi, e anche molti, in un piccolo ambiente.

LVM ha molte funzionalità, come il ridimensionamento dei gruppi di volumi online assorbendo nuovi volumi fisici (PV) o rimuovendo i PV esistenti e ridimensionando i volumi logici (LV) online aggiungendo o rimuovendo le estensioni fisiche al LV esistente. Usando LVM, puoi creare istantanee di sola lettura e lettura-scrittura di LV. È possibile eseguire lo striping o il mirroring di tutti o parte di LV su più PV, in modo simile a RAID 0 o RAID 1. È possibile spostare LV online tra PV. LVM funzionerà anche in un cluster di archiviazione condiviso. Mostreremo i passaggi per creare il mirroring LVM

1) Crea una partizione

Per creare il mirror LVM, devi assicurarti di avere spazio libero. Nel nostro caso, creeremo due partizioni usando il comando fdisk (puoi usare una partizione o un intero disco). Prima di creare la partizione accertarsi di quanti cilindri sono stati utilizzati e quanti sono liberi.

Controllo dello spazio libero per creare una partizione.

# fdisk -l

Disk /dev/sdf: 10.7 GB, 10737418240 bytes
 255 heads, 63 sectors/track, 1305 cylinders
 Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
 /dev/sdf1 * 1 765 6144831 83 Linux
 /dev/sdf2 766 892 1020127+ 82 Linux swap / Solaris

Il comando precedente mostra che i cilindri totali sono 1305 e i cilindri utilizzati sono 892. Significa che hai ancora cilindri liberi, quindi possiamo creare una partizione.

Creazione di due nuove partizioni utilizzando fdisk.

# fdisk /dev/sdf 
Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.

Command (m for help): n
Partition type:
 p primary (2 primary, 0 extended, 2 free)
 e extended
Select (default p): p
Partition number (3,4, default 3): 
First sector (391168-20971519, default 391168): 
Using default value 391168
Last sector, +sectors or +size{K,M,G} (391168-20971519, default 20971519): +100MB
Partition 3 of type Linux and of size 95 MiB is set

Command (m for help): t
Partition number (1-3, default 3): 
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): n
Partition type:
 p primary (3 primary, 0 extended, 1 free)
 e extended
Select (default e): p
Selected partition 4
First sector (585728-20971519, default 585728): 
Using default value 585728
Last sector, +sectors or +size{K,M,G} (585728-20971519, default 20971519): +100MB
Partition 4 of type Linux and of size 95 MiB is set

Command (m for help): t
Partition number (1-4, default 4): 
Hex code (type L to list all codes): 8e
Changed type of partition 'Linux' to 'Linux LVM'

Command (m for help): p

Disk /dev/sdf: 10.7 GB, 10737418240 bytes, 20971520 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0xabe92155

 Device Boot Start End Blocks Id System
/dev/sdf1 * 1 765 6144831 83  Linux
/dev/sdf2 766 892 1020127+ 82 Linux swap/Solaris
/dev/sdf3 391168 585727 97280 8e Linux LVM
/dev/sdf4 585728 780287 97280 8e Linux LVM

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

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

Assicurati che l’ID della partizione sia 8e durante la creazione delle partizioni.

2) Crea volume fisico

Ora che abbiamo le partizioni libere, dobbiamo creare un volume fisico con le partizioni di cui sopra.

Crea volume fisico

# pvcreate /dev/sdf[3,4]
 Physical volume "/dev/sdf3" successfully created
 Physical volume "/dev/sdf4" successfully created

Il comando precedente inizializzerà la partizione come partizione LVM. Qui LVM assegnerà il PV e l’UUID solo alla partizione.

3) Creare un gruppo di volumi

Ora che abbiamo creato il nostro volume fisico, dobbiamo creare un gruppo di volumi. Se hai già un VG basato su due o più dischi/partizioni con spazio libero, non è necessario creare un nuovo gruppo di volumi

Crea gruppo di volumi

# vgcreate datavg /dev/sdf[3,4]
 Volume group "datavg" successfully created

Il comando precedente creerà gruppi di volumi come datavg. LVM crea la Volume Group Descriptor Area (VGDA). VGDA contiene informazioni sui gruppi di volumi. LVM crea l’estensione fisica (PE).

4) Creazione di un volume logico speculare

Quando si creano volumi con mirroring in un gruppo di volumi specifico, è necessario specificare il numero di copie dei dati richiesti con -m l’argomento del comando lvcreate. Per creare una copia speculare dei dati, è necessario specificare il file as -m1. affermando -m1 crea un mirror, che genera due copie del file system.

Crea specchio lv

# lvcreate -L 50M -m1 -n mirrorlv datavg
 Rounding up size to full physical extent 52.00 MB
 Logical volume "mirrorlv" created

Nel comando precedente, ho creato 50 MB di dimensione LV con 1 copia dei dati da mantenere. Possiamo controllare con

# lvs
 LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
 root centos -wi-ao---- 17.47g 
 swap centos -wi-ao---- 2.00g 
 mirrorlv datavg rwi-a-r--- 50MB

Puoi controllare lo stato LV nello specchio con lvdisplay -v comando. Basta cercare le informazioni relative al volume logico creato in precedenza come di seguito

# lvdisplay -v

--- Logical volume ---
  LV Path                /dev/datavg/mirrorlv
  LV Name                mirrorlv1
  VG Name                datavg
  LV UUID                J2kcdf-YxAn-k2d2-KFGS-pnhb-0Zhz-GRECFr
  LV Write Access        read/write
  LV Creation host, time centos7-srv, 2017-05-08 03:17:28 +0100
  LV Status              available
  # open                 0
  LV Size                52.00 MiB
  Current LE             13
  Mirrored volumes       2
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     8192
  Block device           253:18

Puoi vedere Mirrored volumes 2 riga che indica il numero di dischi utilizzati per il volume logico e inoltre possiamo dedurre un’altra informazione che è il tipo del nostro volume logico: capovolto.

5) Crea un filesystem e monta

Ora che abbiamo creato il nostro volume logico, dobbiamo creare un filesystem per accedervi

Utilizzare i comandi seguenti per creare un file system.

# mkfs:ext4 /dev/datavg/mirrorlv
mke2fs 1.42.9 (28-Dec-2013)
Filesystem label=
OS type: Linux
Block size=1024 (log=0)
Fragment size=1024 (log=0)
Stride=0 blocks, Stripe width=0 blocks
13328 inodes, 53248 blocks
2662 blocks (5.00%) reserved for the super user
First data block=1
Maximum filesystem blocks=54525952
7 block groups
8192 blocks per group, 8192 fragments per group
1904 inodes per group
Superblock backups stored on blocks: 
 8193, 24577, 40961

Allocating group tables: done 
Writing inode tables: done 
Writing superblocks and filesystem accounting information: done.

Ora possiamo montare il filesystem in una posizione a nostra scelta. Il metodo più comunemente utilizzato per montare il file system è manualmente, utilizzando il comando mount o aggiungendo voci a /etc/fstab quindi il file system è stato montato all’avvio.

Monta il file system su /mnt/mirrorlv Posizione

# mount /dev/datavg/mirrorlv /mnt/mirrorlv

Puoi controllare eseguendo il comando.

# df -Ph
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/centos-root 18G 5.2G 13G 30% /
devtmpfs 897M 0 897M 0% /dev
tmpfs 912M 156K 912M 1% /dev/shm
tmpfs 912M 9.1M 903M 1% /run
tmpfs 912M 0 912M 0% /sys/fs/cgroup
/dev/sda1 497M 189M 309M 38% /boot
tmpfs 183M 8.0K 183M 1% /run/user/1000
/dev/mapper/datavg-mirrorlv 51M 842K 47M 2% /mnt/mirrorlv

Conclusione

Un mirror conserva copie identiche dei dati su dispositivi diversi. Quando i dati vengono scritti su un dispositivo, vengono scritti anche su un secondo dispositivo, rispecchiando i dati. Ciò fornisce protezione per i guasti del dispositivo.

Related Articles

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Back to top button
Close