lunes, 6 de junio de 2016

Crear LVM con discos GPT - Particiones de más de 2TB

En este caso vamos a crear un LVM  basado en dos discos de 3TB.

Lo primero que debemos hacer es crear las particiones en ambos discos y decirle que van a usarse para LVM, para ello al ser discos de más de 2TB usaremos parted en vez de fdisk y particiones tipo GPT.

Nota: en negrita lo que ponemos, en cursiva lo que va poniendo el sistema. Todos los comandos se han realizado desde el usuario root, se pueden realizar desde cualquier usuario con privilegios para hacer sudo simplemente, como ya sabéis, poniendo sudo delante.


1) Creamos partición para un disco (/dev/sdc en este caso)

#parted /dev/sdc
GNU Parted 3.2
Usando /dev/sdc
¡Bienvenido/a a GNU Parted! Teclee «help» para ver la lista de órdenes.
(parted)
mklabel gpt
Aviso: La etiqueta de disco existente en /dev/sdc se destruirá y todos los datos
en este disco se perderán. ¿Desea continuar?
Sí/Yes/No?
S(parted) unit TB
(parted)
mkpart primary 0 3TB
(parted)
set 1 lvm on
(parted)
print
Modelo: ATA ST3000VX006-1HH1 (scsi)
Disco /dev/sdc: 3,00TB
Tamaño de sector (lógico/físico): 512B/4096B
Tabla de particiones: gpt
Disk Flags:

Numero  Inicio  Fin     Tamaño  Sistema de archivos  Nombre   Banderas
 1      0,00TB  3,00TB  3,00TB                       primary  lvm

(parted)
quit
Información: Puede que sea necesario actualizar /etc/fstab.
#


2) Hacemos lo mismo para /dev/sdb, tal y como se ve:


# parted /dev/sdb print
Modelo: ATA ST3000VX006-1HH1 (scsi)
Disco /dev/sdb: 3001GB
Tamaño de sector (lógico/físico): 512B/4096B
Tabla de particiones: gpt
Disk Flags:

Numero  Inicio  Fin     Tamaño  Sistema de archivos  Nombre   Banderas
 1      1049kB  3001GB  3001GB                       primari  lvm
#


3)Creamos los volúmenes físicos para LVM

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

# pvcreate /dev/sdc1
  Physical volume "/dev/sdc1" successfully created


Nota: se puede hacer en una sola línea (pvcreate /dev/sdb1 /dev/sdc1) , pero en mi experiencia, si son pocos, prefiero hacerlos de uno en uno.

Si no ha habido ningún problema podemos ver  con pvscan los volúmenes:
# pvscan
  PV /dev/sdc1                      lvm2 [2,73 TiB]
  PV /dev/sdb1                      lvm2 [2,73 TiB]
  Total: 2 [5,46 TiB] / in use: 0 [0   ] / in no VG: 2 [5,46 TiB
]

Con pvdisplay podemos ver la información en más detalle para cada volumen.
# pvdisplay
  "/dev/sdc1" is a new physical volume of "2,73 TiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdc1
  VG Name
  PV Size               2,73 TiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               MoApzg-ZxNp-vecS-DOw0-dmnK-H1W9-JCTkGV

  "/dev/sdb1" is a new physical volume of "2,73 TiB"
  --- NEW Physical volume ---
  PV Name               /dev/sdb1
  VG Name
  PV Size               2,73 TiB
  Allocatable           NO
  PE Size               0
  Total PE              0
  Free PE               0
  Allocated PE          0
  PV UUID               c2iEmj-1igD-tlXM-vmtR-dmqw-VDUf-Eck7b7

4) Creamos el volume group, que como sabemos no es más que un pool de almacenamiento que consiste en uno o varios discos. En nuestro caso hacemos:
# vgcreate vgzm_data /dev/sdb1 /dev/sdc1
  Volume group "vgzm_data" successfully created

El parámetro zm_data no es más que el nombre que yo le he puesto a este volumen, que en vuestro caso puede llamarse como queráis.

LVM procesa el almacenamiento en unidades llamadas extents (en el momento de crear está entrada por defecto eran de 4MB). Podéis cambiar este tamaño por defecto cuando se hace el vgcreate con el parámetro -s  (tal y como pone en la página del manual   -s Tamaño [kKmMgGtT] ).

Podemos ver con vgdisplay nuestro nuevo volumen:
 # vgdisplay
  --- Volume group ---
  VG Name               vgzm_data
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  1
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                0
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               5,46 TiB
  PE Size               4,00 MiB
  Total PE              1430792
  Alloc PE / Size       0 / 0
  Free  PE / Size       1430792 / 5,46 TiB
  VG UUID               8yhV48-Tm0j-TNEF-i8tC-S7vZ-VI1J-rFJhFW



5) Finalmente creamos el volumen lógico. En mis caso lo voy a crear al máximo de capacidad, ya que este VG sólo se va a usar para un fin y lo que necesito es que se puedan añadir más discos a futuro si es necesario.

# lvcreate -l 100%FREE -n zm_data vgzm_data
  Logical volume "zm_data" created.


Aunque los parámetros están claros, quizás el -l sea el más confuso que es la longitud en extends, en la que se puede poner un entero o un porcentaje de, en este caso el espacio vacío que queda (man lvcreate para más info).
Con lvdisplay ya podemos ver nuestro nuevo volumen lógico.

# lvdisplay
  --- Logical volume ---
  LV Path                /dev/vgzm_data/zm_data
  LV Name                zm_data
  VG Name                vgzm_data
  LV UUID                XBD7IP-21M9-49Ad-RDeu-OoXN-dL0Y-yudhiu
  LV Write Access        read/write
  LV Creation host, time srvcam, 2016-06-06 14:24:21 +0200
  LV Status              available
  # open                 0
  LV Size                5,46 TiB
  Current LE             1430792
  Segments               2
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

 Si observáis el vgdisplay, veréis que en Free PE ahora pone 0, mientras antes ponía la cantidad de extends / espacio disponible sin usar en ningún volumen, al contrario que los usados Alloc PE:

 #vgdisplay
  --- Volume group ---
  VG Name               vgzm_data
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  2
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                1
  Open LV               0
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               5,46 TiB
  PE Size               4,00 MiB
  Total PE              1430792
  Alloc PE / Size       1430792 / 5,46 TiB
  Free  PE / Size       0 / 0
  VG UUID               8yhV48-Tm0j-TNEF-i8tC-S7vZ-VI1J-rFJhFW

6) Formatear y usar

# mkfs.ext4 /dev/vgzm_data/zm_data
mke2fs 1.42.13 (17-May-2015)
Se está creando un sistema de ficheros con 1465131008 bloques de 4k y 183144448 nodos-i
UUID del sistema de ficheros: 41323ea1-7512-41d7-b219-51502d57dc6f
Respaldo del superbloque guardado en los bloques:
        32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208,
        4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968,
        102400000, 214990848, 512000000, 550731776, 644972544

Reservando las tablas de grupo: hecho
Escribiendo las tablas de nodos-i: hecho
Creando el fichero de transacciones (32768 bloques): hecho
Escribiendo superbloques y la información contable del sistema de ficheros: hecho








Y ya lo usáis donde queráis.
# mount /dev/vgzm_data/zm_data /mnt 
# df -h
S.ficheros                    Tamaño Usados  Disp Uso% Montado en
/dev/mapper/vgzm_data-zm_data   5,5T    58M  5,2T   1% /mnt
#



No hay comentarios:

Publicar un comentario

L2TP Ipsec Windows to Mikrotik eror 789

 Add this to registry REG ADD HKLM\SYSTEM\CurrentControlSet\Services\PolicyAgent /v AssumeUDPEncapsulationContextOnSendRule /t REG_DWORD /d...