Hardware
El trabajo con el hardware también es necesario y configurable.
- Conocer el hardware en linea de comandos (shell)
- Uso de UUID para montar particiones linux
- Instalación GPT con el instalador Centos 7 en discos < 2 TiB
- Ampliación de disco en sistema virtualizado KVM (proxmox)
- Parted mejor que fdisk
Conocer el hardware en linea de comandos (shell)
Comandos para identificar hardware y configuraciones especificas
Hardware
Información procesador
# grep 'vendor_id' /proc/cpuinfo ; grep 'model name' /proc/cpuinfo ; grep 'cpu MHz' /proc/cpuinfo
vendor_id : GenuineIntel
vendor_id : GenuineIntel
vendor_id : GenuineIntel
vendor_id : GenuineIntel
vendor_id : GenuineIntel
vendor_id : GenuineIntel
vendor_id : GenuineIntel
vendor_id : GenuineIntel
vendor_id : GenuineIntel
vendor_id : GenuineIntel
vendor_id : GenuineIntel
vendor_id : GenuineIntel
model name : Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz
model name : Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz
model name : Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz
model name : Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz
model name : Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz
model name : Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz
model name : Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz
model name : Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz
model name : Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz
model name : Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz
model name : Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz
model name : Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz
cpu MHz : 848.767
cpu MHz : 950.482
cpu MHz : 800.024
cpu MHz : 869.512
cpu MHz : 823.590
cpu MHz : 800.024
cpu MHz : 799.822
cpu MHz : 851.184
cpu MHz : 802.642
cpu MHz : 1182.916
cpu MHz : 1121.081
cpu MHz : 802.441
Marca procesador
Si el procesdor es intel el comando de abajo devolvera algo
# grep -i vmx /proc/cpuinfo
Si el procesador es AMD el comnado de abjo devolverá algo
# grep -i svm /proc/cpuinfo
Discos duros
lsblk (info particiones)
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 3,7T 0 disk
├─sda1 8:1 0 511M 0 part /boot/efi
├─sda2 8:2 0 50G 0 part
│ └─md2 9:2 0 50G 0 raid1 /
├─sda3 8:3 0 511M 0 part [SWAP]
├─sda4 8:4 0 1000G 0 part
│ └─md4 9:4 0 1000G 0 raid1 /var
└─sda5 8:5 0 2,6T 0 part
└─md5 9:5 0 2,6T 0 raid1 /home
sdb 8:16 0 3,7T 0 disk
├─sdb1 8:17 0 511M 0 part
├─sdb2 8:18 0 50G 0 part
│ └─md2 9:2 0 50G 0 raid1 /
├─sdb3 8:19 0 511M 0 part [SWAP]
├─sdb4 8:20 0 1000G 0 part
│ └─md4 9:4 0 1000G 0 raid1 /var
└─sdb5 8:21 0 2,6T 0 part
└─md5 9:5 0 2,6T 0 raid1 /home
loop0 7:0 0 2,2G 0 loop /var/tmp
Discos duros (Atributos)
# blkid
/dev/md4: LABEL="/var" UUID="bfa920a1-48e4-4d4e-ad9a-1f5289ec630e" TYPE="ext4"
/dev/sdb4: UUID="0ceedb71-9478-ba95-a4d2-adc226fd5302" TYPE="linux_raid_member" PARTLABEL="logical" PARTUUID="9ba975e1-1b14-49d3-8971-b936e8d5e4e4"
/dev/sda4: UUID="0ceedb71-9478-ba95-a4d2-adc226fd5302" TYPE="linux_raid_member" PARTLABEL="logical" PARTUUID="66b5b2c5-7be1-49e5-a792-9f87e2f7b4f5"
/dev/sda1: LABEL="EFI_SYSPART" UUID="42B6-5CF2" TYPE="vfat" PARTLABEL="primary" PARTUUID="da4d4fc9-d837-41d9-a107-e742798f9335"
/dev/sda2: UUID="facf2df2-7b51-d62e-a4d2-adc226fd5302" TYPE="linux_raid_member" PARTLABEL="primary" PARTUUID="d9d59890-5495-4d5c-b1a1-9c7cb06ea760"
/dev/sda3: LABEL="swap-sda3" UUID="b3455011-b526-4882-9103-53aea1ba8861" TYPE="swap" PARTLABEL="primary" PARTUUID="b5bd8cbf-6bd4-484d-a66f-95e026322fe3"
/dev/sda5: UUID="8841cb2a-ce20-324b-a4d2-adc226fd5302" TYPE="linux_raid_member" PARTLABEL="logical" PARTUUID="0a0c4007-1aa6-4bbd-8c94-b059e5e47a0e"
/dev/sdb1: LABEL="EFI_SYSPART" UUID="42EC-11F4" TYPE="vfat" PARTLABEL="primary" PARTUUID="96828372-cc5c-4f44-bfc4-0758c394b1bb"
/dev/sdb2: UUID="facf2df2-7b51-d62e-a4d2-adc226fd5302" TYPE="linux_raid_member" PARTLABEL="primary" PARTUUID="ea54dfc3-e5c8-4436-be12-9515d1f1f0f1"
/dev/sdb3: LABEL="swap-sdb3" UUID="7bf2c3e0-e995-4dbf-9edf-de91db5cc4e0" TYPE="swap" PARTLABEL="primary" PARTUUID="0581737a-20c0-44b7-957c-6190b583f1af"
/dev/sdb5: UUID="8841cb2a-ce20-324b-a4d2-adc226fd5302" TYPE="linux_raid_member" PARTLABEL="logical" PARTUUID="c02afe0d-c242-4dd9-8ec7-77ecd90e510b"
/dev/md2: LABEL="/" UUID="424a9e66-51b2-4947-97b2-0d632d79a97f" TYPE="ext4"
/dev/md5: LABEL="/home" UUID="0de14a77-8d9e-4f25-9c1b-bec542d45f22" TYPE="ext4"
/dev/loop0: UUID="8fa0ffb8-aaa1-4321-9d4f-d55a9b021bcc" TYPE="ext3"
Estado solido o mecánico
Devuelve 0 por SSD y 1 por discos mencánicos
cat /sys/block/sda/queue/rotational
Discos NVMe
Necesitamos ewl paquete (Ubuntu) nmve-cli para comprobar discos de tipo NVMe
# nvme list
Node SN Model Namespace Usage Format FW Rev
---------------- -------------------- ---------------------------------------- --------- -------------------------- ---------------- --------
/dev/nvme0n1 S439NE0N101969 SAMSUNG MZQLB1T9HAJR-00007 1 958.95 GB / 1.92 TB 512 B + 0 B EDA5202Q
/dev/nvme1n1 S439NE0N101968 SAMSUNG MZQLB1T9HAJR-00007 1 1.69 TB / 1.92 TB 512 B + 0 B EDA5202Q
Discos duros (hdparam)
El comando hdparm puede que no este instalado en tu distribución.
yum install hdparm -y
# hdparm -I /dev/sda
/dev/sda:
ATA device, with non-removable media
Model Number: HGST HUS726040ALA610
Serial Number: N8GNY2YY
Firmware Revision: A5GNT920
Transport: Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6, SATA Rev 3.0; Revision: ATA8-AST T13 Project D1697 Revision 0b
Standards:
Used: unknown (minor revision code 0x0029)
Supported: 9 8 7 6 5
Likely used: 9
Configuration:
Logical max current
cylinders 16383 16383
heads 16 16
sectors/track 63 63
--
CHS current addressable sectors: 16514064
LBA user addressable sectors: 268435455
LBA48 user addressable sectors: 7814037168
Logical Sector size: 512 bytes
Physical Sector size: 512 bytes
device size with M = 1024*1024: 3815447 MBytes
device size with M = 1000*1000: 4000787 MBytes (4000 GB)
cache/buffer size = unknown
Form Factor: 3.5 inch
Nominal Media Rotation Rate: 7200
Capabilities:
LBA, IORDY(can be disabled)
Queue depth: 32
Standby timer values: spec'd by Standard, no device specific minimum
R/W multiple sector transfer: Max = 16 Current = 16
Advanced power management level: 254
DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
Cycle time: min=120ns recommended=120ns
PIO: pio0 pio1 pio2 pio3 pio4
Cycle time: no flow control=120ns IORDY flow control=120ns
Commands/features:
Enabled Supported:
* SMART feature set
Security Mode feature set
* Power Management feature set
* Write cache
* Look-ahead
* Host Protected Area feature set
* WRITE_BUFFER command
* READ_BUFFER command
* NOP cmd
* DOWNLOAD_MICROCODE
* Advanced Power Management feature set
Power-Up In Standby feature set
* SET_FEATURES required to spinup after power up
SET_MAX security extension
* 48-bit Address feature set
* Device Configuration Overlay feature set
* Mandatory FLUSH_CACHE
* FLUSH_CACHE_EXT
* SMART error logging
* SMART self-test
* Media Card Pass-Through
* General Purpose Logging feature set
* WRITE_{DMA|MULTIPLE}_FUA_EXT
* 64-bit World wide name
* URG for READ_STREAM[_DMA]_EXT
* URG for WRITE_STREAM[_DMA]_EXT
* WRITE_UNCORRECTABLE_EXT command
* {READ,WRITE}_DMA_EXT_GPL commands
* Segmented DOWNLOAD_MICROCODE
* unknown 119[6]
unknown 119[7]
* Gen1 signaling speed (1.5Gb/s)
* Gen2 signaling speed (3.0Gb/s)
* Gen3 signaling speed (6.0Gb/s)
* Native Command Queueing (NCQ)
* Host-initiated interface power management
* Phy event counters
* NCQ priority information
* unknown 76[15]
Non-Zero buffer offsets in DMA Setup FIS
* DMA Setup Auto-Activate optimization
Device-initiated interface power management
In-order data delivery
* Software settings preservation
unknown 78[7]
unknown 78[10]
unknown 78[11]
* SMART Command Transport (SCT) feature set
* SCT Write Same (AC2)
* SCT Error Recovery Control (AC3)
* SCT Features Control (AC4)
* SCT Data Tables (AC5)
* reserved 69[3]
* reserved 69[4]
* WRITE BUFFER DMA command
* READ BUFFER DMA command
Security:
Master password revision code = 65534
supported
not enabled
not locked
not frozen
not expired: security count
not supported: enhanced erase
Logical Unit WWN Device Identifier: 5000cca244c984a4
NAA : 5
IEEE OUI : 000cca
Unique ID : 244c984a4
Checksum: correct
lshw
lshw -class disk -class storage
*-sata
description: SATA controller
product: Cannon Lake PCH SATA AHCI Controller
vendor: Intel Corporation
physical id: 17
bus info: pci@0000:00:17.0
logical name: scsi0
logical name: scsi1
version: 10
width: 32 bits
clock: 66MHz
capabilities: sata msi pm ahci_1.0 bus_master cap_list emulated
configuration: driver=ahci latency=0
resources: irq:125 memory:91200000-91201fff memory:91203000-912030ff ioport:4050(size=8) ioport:4040(size=4) ioport:4020(size=32) memory:91202000-912027ff
*-disk:0
description: ATA Disk
product: HGST HUS726040AL
physical id: 0
bus info: scsi@0:0.0.0
logical name: /dev/sda
version: T920
serial: N8GNY2YY
size: 3726GiB (4TB)
capabilities: gpt-1.00 partitioned partitioned:gpt
configuration: ansiversion=5 guid=9aa4231a-644b-40c9-9105-0e980dbeeeaa logicalsectorsize=512 sectorsize=512
*-disk:1
description: ATA Disk
product: HGST HUS726040AL
physical id: 1
bus info: scsi@1:0.0.0
logical name: /dev/sdb
version: T920
serial: K4KRJ0KB
size: 3726GiB (4TB)
capabilities: gpt-1.00 partitioned partitioned:gpt
configuration: ansiversion=5 guid=2c1a29d1-8bb6-4d02-9990-b9f2fb7b3414 logicalsectorsize=512 sectorsize=512
# lshw -short -C disk
H/W path Device Class Description
====================================================
/0/100/17/0 /dev/sda disk 4TB HGST HUS726040AL
/0/100/17/1 /dev/sdb disk 4TB HGST HUS726040AL
smartctl
Importante para ver el estado de tus discos. Sobre todo cuando compras o alquilas hardware
smartctl -d ata -a -i /dev/sda
smartctl 7.0 2018-12-30 r4883 [x86_64-linux-3.10.0-962.3.2.lve1.5.49.el7.x86_64] (local build)
Copyright (C) 2002-18, Bruce Allen, Christian Franke, www.smartmontools.org
=== START OF INFORMATION SECTION ===
Model Family: HGST Ultrastar 7K6000
Device Model: HGST HUS726040ALA610
Serial Number: N8GNY2YY
LU WWN Device Id: 5 000cca 244c984a4
Firmware Version: A5GNT920
User Capacity: 4.000.787.030.016 bytes [4,00 TB]
Sector Size: 512 bytes logical/physical
Rotation Rate: 7200 rpm
Form Factor: 3.5 inches
Device is: In smartctl database [for details use: -P show]
ATA Version is: ACS-2, ATA8-ACS T13/1699-D revision 4
SATA Version is: SATA 3.1, 6.0 Gb/s (current: 6.0 Gb/s)
Local Time is: Sun May 16 17:57:14 2021 CEST
SMART support is: Available - device has SMART capability.
SMART support is: Enabled
=== START OF READ SMART DATA SECTION ===
SMART overall-health self-assessment test result: PASSED
General SMART Values:
Offline data collection status: (0x84) Offline data collection activity
was suspended by an interrupting command from host.
Auto Offline Data Collection: Enabled.
Self-test execution status: ( 0) The previous self-test routine completed
without error or no self-test has ever
been run.
Total time to complete Offline
data collection: ( 113) seconds.
Offline data collection
capabilities: (0x5b) SMART execute Offline immediate.
Auto Offline data collection on/off support.
Suspend Offline collection upon new
command.
Offline surface scan supported.
Self-test supported.
No Conveyance Self-test supported.
Selective Self-test supported.
SMART capabilities: (0x0003) Saves SMART data before entering
power-saving mode.
Supports SMART auto save timer.
Error logging capability: (0x01) Error logging supported.
General Purpose Logging supported.
Short self-test routine
recommended polling time: ( 2) minutes.
Extended self-test routine
recommended polling time: ( 571) minutes.
SCT capabilities: (0x003d) SCT Status supported.
SCT Error Recovery Control supported.
SCT Feature Control supported.
SCT Data Table supported.
SMART Attributes Data Structure revision number: 16
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME FLAG VALUE WORST THRESH TYPE UPDATED WHEN_FAILED RAW_VALUE
1 Raw_Read_Error_Rate 0x000b 100 100 016 Pre-fail Always - 0
2 Throughput_Performance 0x0005 135 135 054 Pre-fail Offline - 112
3 Spin_Up_Time 0x0007 184 184 024 Pre-fail Always - 265 (Average 315)
4 Start_Stop_Count 0x0012 100 100 000 Old_age Always - 80
5 Reallocated_Sector_Ct 0x0033 100 100 005 Pre-fail Always - 0
7 Seek_Error_Rate 0x000b 100 100 067 Pre-fail Always - 0
8 Seek_Time_Performance 0x0005 128 128 020 Pre-fail Offline - 18
9 Power_On_Hours 0x0012 097 097 000 Old_age Always - 27686
10 Spin_Retry_Count 0x0013 100 100 060 Pre-fail Always - 0
12 Power_Cycle_Count 0x0032 100 100 000 Old_age Always - 75
192 Power-Off_Retract_Count 0x0032 080 080 000 Old_age Always - 24197
193 Load_Cycle_Count 0x0012 080 080 000 Old_age Always - 24197
194 Temperature_Celsius 0x0002 162 162 000 Old_age Always - 37 (Min/Max 19/52)
196 Reallocated_Event_Count 0x0032 100 100 000 Old_age Always - 0
197 Current_Pending_Sector 0x0022 100 100 000 Old_age Always - 0
198 Offline_Uncorrectable 0x0008 100 100 000 Old_age Offline - 0
199 UDMA_CRC_Error_Count 0x000a 200 200 000 Old_age Always - 0
SMART Error Log Version: 1
No Errors Logged
SMART Self-test log structure revision number 1
Num Test_Description Status Remaining LifeTime(hours) LBA_of_first_error
# 1 Short offline Completed without error 00% 26073 -
# 2 Short offline Completed without error 00% 26058 -
# 3 Short offline Completed without error 00% 26058 -
# 4 Short offline Completed without error 00% 16865 -
# 5 Short offline Completed without error 00% 16850 -
# 6 Short offline Completed without error 00% 16850 -
# 7 Short offline Completed without error 00% 15329 -
# 8 Short offline Completed without error 00% 15314 -
# 9 Short offline Completed without error 00% 15314 -
#10 Short offline Completed without error 00% 15288 -
#11 Short offline Completed without error 00% 15278 -
#12 Short offline Completed without error 00% 15264 -
#13 Short offline Completed without error 00% 15264 -
#14 Short offline Completed without error 00% 15249 -
#15 Short offline Completed without error 00% 15249 -
#16 Short offline Completed without error 00% 15099 -
#17 Short offline Completed without error 00% 29 -
#18 Short offline Completed without error 00% 23 -
#19 Short offline Completed without error 00% 23 -
#20 Short offline Completed without error 00% 2 -
SMART Selective self-test log data structure revision number 1
SPAN MIN_LBA MAX_LBA CURRENT_TEST_STATUS
1 0 0 Not_testing
2 0 0 Not_testing
3 0 0 Not_testing
4 0 0 Not_testing
5 0 0 Not_testing
Selective self-test flags (0x0):
After scanning selected spans, do NOT read-scan remainder of disk.
If Selective self-test is pending on power-up, resume after 0 minute delay.
Estado del RAID pro software
cat /proc/mdstat
Personalities : [raid1]
md5 : active raid1 sda5[0] sdb5[1]
2804960192 blocks [2/2] [UU]
bitmap: 12/21 pages [48KB], 65536KB chunk
md4 : active raid1 sdb4[1] sda4[0]
1048573888 blocks [2/2] [UU]
bitmap: 4/8 pages [16KB], 65536KB chunk
md2 : active raid1 sdb2[1] sda2[0]
52427712 blocks [2/2] [UU]
Hardware información general
Hardware información general resumida
# lshw -short
H/W path Device Class Description
====================================================
system To Be Filled By O.E.M. (To Be Filled By O.E.M.)
/0 bus E3C242D4U2-2T
/0/0 memory 64KiB BIOS
/0/9 memory 32GiB System Memory
/0/9/0 memory 16GiB DIMM DDR4 Synchronous 2666 MHz (0,4 ns)
/0/9/1 memory DIMM [empty]
/0/9/2 memory 16GiB DIMM DDR4 Synchronous 2666 MHz (0,4 ns)
/0/9/3 memory DIMM [empty]
/0/14 memory 384KiB L1 cache
/0/15 memory 1536KiB L2 cache
/0/16 memory 12MiB L3 cache
/0/17 processor Intel(R) Xeon(R) E-2136 CPU @ 3.30GHz
/0/100 bridge 8th Gen Core Processor Host Bridge/DRAM Registers
/0/100/8 generic Xeon E3-1200 v5/v6 / E3-1500 v5 / 6th/7th/8th Gen Core Processor Gaussian Mixture Model
/0/100/12 generic Cannon Lake PCH Thermal Controller
/0/100/14 bus Cannon Lake PCH USB 3.1 xHCI Host Controller
/0/100/14/0 usb1 bus xHCI Host Controller
/0/100/14/1 usb2 bus xHCI Host Controller
/0/100/14.2 memory RAM memory
/0/100/15 bus Cannon Lake PCH Serial IO I2C Controller #0
/0/100/15.1 bus Cannon Lake PCH Serial IO I2C Controller #1
/0/100/16 communication Cannon Lake PCH HECI Controller
/0/100/16.4 communication Cannon Lake PCH HECI Controller #2
/0/100/17 scsi0 storage Cannon Lake PCH SATA AHCI Controller
/0/100/17/0 /dev/sda disk 4TB HGST HUS726040AL
/0/100/17/0/1 /dev/sda1 volume 510MiB Windows FAT volume
/0/100/17/0/2 /dev/sda2 volume 49GiB EXT4 volume
/0/100/17/0/3 /dev/sda3 volume 510MiB Linux swap volume
/0/100/17/0/4 /dev/sda4 volume 999GiB EXT4 volume
/0/100/17/0/5 /dev/sda5 volume 2675GiB EXT4 volume
/0/100/17/1 /dev/sdb disk 4TB HGST HUS726040AL
/0/100/17/1/1 /dev/sdb1 volume 510MiB Windows FAT volume
/0/100/17/1/2 /dev/sdb2 volume 49GiB EXT4 volume
/0/100/17/1/3 /dev/sdb3 volume 510MiB Linux swap volume
/0/100/17/1/4 /dev/sdb4 volume 999GiB EXT4 volume
/0/100/17/1/5 /dev/sdb5 volume 2675GiB EXT4 volume
/0/100/1b bridge Cannon Lake PCH PCI Express Root Port #21
/0/100/1b/0 eth0 network Ethernet Controller 10G X550T
/0/100/1b/0.1 eth1 network Ethernet Controller 10G X550T
/0/100/1c bridge Cannon Lake PCH PCI Express Root Port #1
/0/100/1c/0 bridge AST1150 PCI-to-PCI Bridge
/0/100/1c/0/0 display ASPEED Graphics Family
/0/100/1d bridge Cannon Lake PCH PCI Express Root Port #9
/0/100/1e communication Cannon Lake PCH Serial IO UART Host Controller
/0/100/1f bridge Intel Corporation
/0/100/1f.4 bus Cannon Lake PCH SMBus Controller
/0/100/1f.5 bus Cannon Lake PCH SPI Controller
/0/1 system PnP device PNP0c02
/0/2 system PnP device PNP0c02
/0/3 communication PnP device PNP0501
/0/4 communication PnP device PNP0501
/0/5 system PnP device PNP0c02
/0/6 generic PnP device INT3f0d
/0/7 system PnP device PNP0c02
/0/8 system PnP device PNP0c02
/0/a system PnP device PNP0c02
/0/b system PnP device PNP0c02
Hardware información general detallada
# lshw | less
MegaCli
MegaCli es una herramienta especifica de la familia de controladoras LSI MegaRaid
Auqne muchos manuales idtentifican los caomando unas veces en minusculas, otros con alternacia de mayúsculas y minúsculas, lo qmejor es crear un alias, apuntado al que corresponda. Si te falla alguna información en al gun tip, que ves por internet esa es la razón.
En mi caso uso MegaCli ya que hice en su día ln -s /usr/sbin/megacli MegaCli
Conocer el estado de la controladora
root@pro02:~# MegaCli -EncInfo -aALL
Number of enclosures on adapter 0 -- 1
Enclosure 0:
Device ID : 252
Number of Slots : 8
Number of Power Supplies : 0
Number of Fans : 0
Number of Temperature Sensors : 0
Number of Alarms : 0
Number of SIM Modules : 1
Number of Physical Drives : 8
Status : Normal
Position : 1
Connector Name : Unavailable
Enclosure type : SGPIO
FRU Part Number : N/A
Enclosure Serial Number : N/A
ESM Serial Number : N/A
Enclosure Zoning Mode : N/A
Partner Device Id : Unavailable
Inquiry data :
Vendor Identification : AVAGO
Product Identification : SGPIO
Product Revision Level : N/A
Vendor Specific :
Exit Code: 0x00
Sistema
Arquitectura
lshw no tiene porque estar disponible en tu distribucion. Si es asi instalalo o busca alternativa.
# sudo lshw -C CPU | grep width
width: 64 bits
Enlaces y agradecimientos
- How to find out Hard Disk Specks /Deatis on Linux
- Using NVMe Command Line Tools to Check NVMe Flash Health
Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris
Si necesitas soporte profesional puedes contratar con Castris soporte profesional.
Uso de UUID para montar particiones linux
Introducción
El UUID (Identificador único universal) es un identificador estandarizado usado en el desarrollo del software por la OSF (Open Software Foundation) y es parte del Entorno de Distribución de Software (DCE).
El objetivo del uso del UUID es permitir que los sistemas distribuidos identifiquen de manera única y sin una coordinación central los elementos de hardware y software. Cualquier administrador puede crear un UUID y usarlo para identificar algo con confianza razonable que nadie involuntariamente usará el mismo identificador en otros elemento o dispositivo.
Beneficios del uso de UUID
Su uso es especialmente útil, en un entorno personal, para asignar por ejemplo, el montaje de discos externos o internos, sin temor a que por razones del hardware, la asignación numérica habitual, haga fracasar el montaje de discos, cuando añadimos o eliminamos algún dispositivo nuevo.
Dispositivos, SAN, iSCSI, DAS, volúmenes externos, son los mejores candidatos para el uso de UUID en el fichero fstab
.
Comando blkid el sustituto de vol_id
Muchos de los tutoriales se han quedado obsoletos, ya que hacen uso del comando vol_id
sustituido por blkid
sudo vol_id --uuid /dev/sdb2
sudo: vol_id: orden no encontrada
En su lugar podemos usar blkid
❯ sudo blkid
/dev/nvme0n1p1: UUID="9047-9E81" TYPE="vfat" PARTUUID="cb856993-8dff-48f8-8646-0a4f333d2e7a"
/dev/nvme0n1p2: UUID="dcV8h8-Ie6y-9yey-5RUE-YfPP-E0ra-fZAXSy" TYPE="LVM2_member" PARTUUID="d7a787ab-2143-46c5-b2aa-e46941a9210d"
/dev/sda1: UUID="8aa6c0d2-c18e-4606-b1da-f5f1f7617f00" TYPE="xfs" PARTLABEL="backup3t" PARTUUID="f6b13129-366f-4d3c-8b79-05514ebcaff5"
/dev/sdb1: LABEL="ssd" UUID="297ddd6c-f224-4385-8f89-e44f4a6912f3" TYPE="ext4" PARTUUID="57b4c3da-5bde-4a2f-83d5-fa43c13b63cb"
/dev/mapper/kubuntu--vg-root: UUID="3c55b16d-1ad7-4ced-a552-874cc97ba0d3" TYPE="ext4"
/dev/mapper/kubuntu--vg-swap_1: UUID="f6655751-5635-4acb-9ba6-5d3530aace9d" TYPE="swap
❯ sudo blkid /dev/nvme0n1p1
/dev/nvme0n1p1: UUID="9047-9E81" TYPE="vfat" PARTUUID="cb856993-8dff-48f8-8646-0a4f333d2e7a"
❯ sudo blkid /dev/sda1
/dev/sda1: UUID="8aa6c0d2-c18e-4606-b1da-f5f1f7617f00" TYPE="xfs" PARTLABEL="backup3t" PARTUUID="f6b13129-366f-4d3c-8b79-05514ebcaff5"
Uso de UUID en el fichero /etc/fstab
Sintaxis
UUID={YOUR-UID} {/path/to/mount/point} {file-system-type} defaults,errors=remount-ro 0 1
Ejemplo para discos XFS
Editamos el fichero /etc/fstab
para que contenga el punto de montaje
❯ sudo cat /etc/fstab | grep 8aa6
UUID=8aa6c0d2-c18e-4606-b1da-f5f1f7617f00 /backups xfs rw,noquota,nofail 0 1
Comprobar
❯ sudo mount -a
❯ df -h |grep backups
/dev/sda1 2,8T 1,2T 1,6T 43% /backups
Yo uso habitualmente XFS ya que estoy más especializado en sistemas de backup y correo, donde el número de ficheros es mucho más elevado que otros, por lo que el uso de inodos es importante. XFS me permite un mayor control y calidad que ext4 para este tipo de sistemas. Por eso necesito usar
noquota,nofail
en lugar de la sintaxis común de ext4
Enlaces
Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris
Si necesitas soporte profesional puedes contratar con Castris soporte profesional.
Instalación GPT con el instalador Centos 7 en discos < 2 TiB
Introducción
Uno de los problemas comunes en la generación de templates e incluso en algunas instalaciones, es el uso del obsoleto MBR.
MBR es anticuado, y además presenta problemas en el caso de que en entornos virtuales, tengamos que hacer una ampliación de disco mayor de 2TiB. La eficiacia de GPT es muy superior y recomendable.
Además si algun día nuestro disco quiere crecer por encima de los 2 TiB, ya no lo podrá hacer con MBR.
Anaconda que es el sistema de Centos 7 para particionar el disco, hará lo siguiente:
- Si el disco ya está formateado, respetará el esquema de partición.
- Si el disco tiene más de 2 32 sectores (2 Tib) usará GPT
- Si el disco es de menor tamaño usará MBR.
Instalar Centos 7 con tabla de particiones GPT
Aviso
Si bien existen algunos artículos sobre cómo convertir una partición con esquema MBR a GPT, esto no es recomendable, ya que GPT sólo es válido en sistemas compatibles con UEFI, y por tanto requiere una partición EFI /boot/efi
de al menos 50 MiB (recomendado 200 MiB) y aunque podemos hacerlo mejor comenzar bien desde el principio.
Discos menores de 2TiB
Al mostrarse el instalador, debemos pulsar Tab para poder añadir a la linea de arranque inst.gpt
lo cual de forma silenciosa, hará que anaconda realice la instalación usando el esquema de particiones GPT.
Una vez finalizada la instalación tu disco tendrá un esquema de particiones GPT, que podrás ampliar sin problema mas allá de los 2 TiB
Enlaces
- CentOs - Installation Destination
- [Anaconda](https://es.wikipedia.org/wiki/Anaconda_(instalador)
Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris
Si necesitas soporte profesional puedes contratar con Castris soporte profesional.
Ampliación de disco en sistema virtualizado KVM (proxmox)
Introducción
En un escenario de uso de discos virtuales, como KVM, Proxmox y otros, a veces es necesario una ampliación del disco. Si usamos LVM esto es posible y sencillo.
Convenciones
Ciertas cosas que hay en esta entrada, así como en otras, requieren un conocimiento previo. No es un sitio para copiar y pegar sino para entender y hacer
No siempre es el disco vda, no siempre es la partición 1, y así sucesivamente.
Ampliación de una disco virtual KVM
La ampliación de un disco LVM es posible una vez que hemos realizado el cambio virtual del tamaño de la unidad LVM.
En el caso de Proxmox acudimos a la administración de nuestro proxmox
- Seleccionamos el VPS
- Click en **Resize Disk"
- Incrementamos el tamaño.
Si el aumento de tamaño implica un tamaño final mayor de 2 TiB deberás tener el esquema de particiones GPT de lo contrario, tendrás que modificar bajo tu responsabilidad el esquema MBR a GPT. Esta entrada no trata de eso, y para ello es aconsejable el uso de Gparted Live, lo cual no siempre es posible.
El artículo interpreta que conoces el uso de ciertos comando, que sustituirán el dispositivo (disco) por el tuyo, y que sabes como obtener el esquema de tu disco (particiones)
Consejo sobre particionamiento durante la instalación
Es aconsejable el uso de GPT y de ello hablamos en nuestra wiki, Instalación GPT con el instalador Centos 7 en discos < 2 TiB
Verirficación en un KVM basado en LVM
Una vez que hemos ampliado el disco, podemos verificar el cambio de tamaño en nuestro VPS. Esto funcionará hasta que reiniciemos la máquina. Después ya no nos informará.
vda, vdb, sda, ... son nombres de dispositivos. Debes consultar cuales son tus dispositivos de disco usando
fdisk -l
y usar el apropiado en el comando
# dmesg | grep vda
...
[ 222.436098] vda: detected capacity change from 32212254720 to 37580963840
Imprimir la tabla actual del disco
# fdisk -l /dev/vda | grep ^/dev
/dev/vda1 * 2048 1026047 512000 83 Linux
/dev/vda2 1026048 62914559 30944256 8e Linux LVM
Conocer el uso de las particiones en el sistema LVM
# pvscan
PV /dev/vda2 VG centos lvm2 [<29,51 GiB / 40,00 MiB free]
Total: 1 [<29,51 GiB] / in use: 1 [<29,51 GiB] / in no VG: 0 [0 ]
# lvscan
ACTIVE '/dev/centos/swap' [3,00 GiB] inherit
ACTIVE '/dev/centos/root' [<26,47 GiB] inherit
Ampliar la partición física
parted /dev/vda
GNU Parted 3.1
Usando /dev/vda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 37,6GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos
Disk Flags:
Numero Inicio Fin Tamaño Typo Sistema de ficheros Banderas
1 1049kB 525MB 524MB primary xfs arranque
2 525MB 32,2GB 31,7GB primary lvm
(parted) resizepart 2 100%
(parted) quit
Mensajes de error
A veces, es posible que tras un acceso con parted
a nuestro dispositivo, podemos encontrar mensajes relativos a problemas derivados de los instaladores de Centos, de Ubuntu, según cuándo y cómo se hizo la partición que estamos tratando de modificar.
Es importante leer y comprender estos mensajes, o corremos el riesgo de perder nuestros datos.
En el caso de abajo, viene del instalador de Centos 7 el cual no hizo del todo bien su trabajo.
Error: La copia de la tabla GPT no está al final del disco, como debería ser. Esto quiere decir que otro sistema operativo cree que el disco es más pequeño. ¿Lo quiere arreglar moviendo la
copia al final (y borrando la copia vieja)?
Arreglar/Fix/Descartar/Ignore/Cancelar/Cancel? Fix
Aviso: Not all of the space available to /dev/vda appears to be used, you can fix the GPT to use all of the space (an extra 3005218816 blocks) or continue with the current setting?
Arreglar/Fix/Descartar/Ignore? F
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 1571GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags: pmbr_boot
Numero Inicio Fin Tamaño Sistema de ficheros Nombre Banderas
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 1076MB 1074MB xfs
3 1076MB 32,2GB 31,1GB lvm
Asignar el nuevo tamaño al volumen físico de LVM
pvresize /dev/vda2
Physical volume "/dev/vda2" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
Redimensionar el volumen lógico de LVM al nuevo tamaño
Todo para una particion
[root@kvm476 httpd]# lvresize --extents +100%FREE --resizefs /dev/centos/root
Size of logical volume centos/root changed from <26,47 GiB (6776 extents) to <31,51 GiB (8066 extents).
Logical volume centos/root successfully resized.
meta-data=/dev/mapper/centos-root isize=256 agcount=4, agsize=1734656 blks
= sectsz=512 attr=2, projid32bit=1
= crc=0 finobt=0 spinodes=0
data = bsize=4096 blocks=6938624, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0 ftype=0
log =internal bsize=4096 blocks=3388, version=2
= sectsz=512 sunit=0 blks, lazy-count=1
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 6938624 to 8259584
[root@kvm476 httpd]# df -h
S.ficheros Tamaño Usados Disp Uso% Montado en
devtmpfs 2,9G 0 2,9G 0% /dev
tmpfs 2,9G 0 2,9G 0% /dev/shm
tmpfs 2,9G 65M 2,8G 3% /run
tmpfs 2,9G 0 2,9G 0% /sys/fs/cgroup
/dev/mapper/centos-root 32G 25G 7,3G 77% /
/dev/vda1 497M 256M 241M 52% /boot
stor01.tamainut.net:/srv/storage/backup/kvm476/backupremote 32T 30T 1014G 97% /backupremote2
tmpfs 581M 0 581M 0% /run/user/0
Resize Volumen Lógico por tamaño extacto a añadir
En un sistema con distintas particiones es diferente:
❯ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 392M 1.3M 390M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 10G 2.7G 7.4G 27% /
/dev/disk/by-id/dm-uuid-LVM-c0exIQsrkEu9W74ltbUferOjY7bxLxtDCc3OvS3nDmQvIcUKcNPxopClK4fEszol 6.0G 5.6G 450M 93% /usr
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/vda2 2.0G 131M 1.7G 8% /boot
/dev/mapper/ubuntu--vg-lv--home 5.0G 88M 5.0G 2% /home
/dev/mapper/ubuntu--vg-lv--var 6.0G 1.3G 4.8G 21% /var
tmpfs 392M 4.0K 392M 1% /run/user/0
❯ dmesg | grep vda
[40225.482258] virtio_blk virtio1: [vda] new size: 83886080 512-byte logical blocks (42.9 GB/40.0 GiB)
[40225.482268] vda: detected capacity change from 67108864 to 83886080
❯ lvscan
ACTIVE '/dev/ubuntu-vg/ubuntu-lv' [10.00 GiB] inherit
ACTIVE '/dev/ubuntu-vg/lv-var' [6.00 GiB] inherit
ACTIVE '/dev/ubuntu-vg/lv-usr' [6.00 GiB] inherit
ACTIVE '/dev/ubuntu-vg/lv-home' [5.00 GiB] inherit
❯ pvscan
PV /dev/vda3 VG ubuntu-vg lvm2 [<30.00 GiB / <3.00 GiB free]
Total: 1 [<30.00 GiB] / in use: 1 [<30.00 GiB] / in no VG: 0 [0 ]
❯ parted /dev/vda
GNU Parted 3.4
Using /dev/vda
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Warning: Not all of the space available to /dev/vda appears to be used, you can fix the GPT to use all of the space (an extra 16777216
blocks) or continue with the current setting?
Fix/Ignore? F
Model: Virtio Block Device (virtblk)
Disk /dev/vda: 42.9GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 2097kB 1049kB bios_grub
2 2097kB 2150MB 2147MB ext4
3 2150MB 34.4GB 32.2GB
(parted) resizepart 3 100%
(parted) quit
Information: You may need to update /etc/fstab.
❯ pvresize /dev/vda3
Physical volume "/dev/vda3" changed
1 physical volume(s) resized or updated / 0 physical volume(s) not resized
❯ lvextend -L+2G /dev/ubuntu-vg/lv-usr
Size of logical volume ubuntu-vg/lv-usr changed from 6.00 GiB (1536 extents) to 8.00 GiB (2048 extents).
Logical volume ubuntu-vg/lv-usr successfully resized.
# Es una partición xfs por eso usamos xfs_growfs
❯ xfs_growfs /dev/ubuntu-vg/lv-usr
meta-data=/dev/disk/by-id/dm-uuid-LVM-c0exIQsrkEu9W74ltbUferOjY7bxLxtDCc3OvS3nDmQvIcUKcNPxopClK4fEszol isize=512 agcount=4, agsize=393216 blks
= sectsz=512 attr=2, projid32bit=1
= crc=1 finobt=1, sparse=1, rmapbt=0
= reflink=1 bigtime=0 inobtcount=0
data = bsize=4096 blocks=1572864, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0, ftype=1
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
data blocks changed from 1572864 to 2097152
❯ df -h
Filesystem Size Used Avail Use% Mounted on
tmpfs 392M 1.3M 390M 1% /run
/dev/mapper/ubuntu--vg-ubuntu--lv 10G 2.7G 7.4G 27% /
/dev/disk/by-id/dm-uuid-LVM-c0exIQsrkEu9W74ltbUferOjY7bxLxtDCc3OvS3nDmQvIcUKcNPxopClK4fEszol 8.0G 5.6G 2.5G 70% /usr
tmpfs 2.0G 0 2.0G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
/dev/vda2 2.0G 131M 1.7G 8% /boot
/dev/mapper/ubuntu--vg-lv--home 5.0G 88M 5.0G 2% /home
/dev/mapper/ubuntu--vg-lv--var 6.0G 1.3G 4.8G 21% /var
tmpfs
Actualizacion 2024-03-21
En nuevas versiones de parted, por ejemplo en ALmalinux 8, no es posible usar el comando como lo hacia anteriormente.
Debes de hacerlo directamente en el shell
-
sd
,vd
, el prefijo que corresponda
parted /dev/sdx --script resizepart NumeroParticion 100%
Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris
Si necesitas soporte profesional puedes contratar con Castris soporte profesional.
Parted mejor que fdisk
Introducción
Además de que fdisk no puede particionar creando particiones mayores de 2TB, es mucho mejor amigo del sysadmin parted
.
En este artículo dejo escrito el cómo hacerlo en el caso de discos que uso en montajes de Proxmox con OVH.
Parted : Creando particiones
Label si esta no existe
Si no existe etiqueta del formato de disco es necesaria así que la creamos
# parted -s /dev/nvme1n1 mklabel gpt
Hacer la partición disponible al 100%
Cómo uso los discos para LVM es necesario crear una partición al 100% Recomendación LVM Howto
# parted -s /dev/nvme1n1 mkpart primary 0% 100%
# parted /dev/nvme1n1
GNU Parted 3.4
Using /dev/nvme1n1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: SAMSUNG MZVL2512HCJQ-00B07 (nvme)
Disk /dev/nvme1n1: 512GB
Sector size (logical/physical): 512B/512B
Partition Table: gpt
Disk Flags:
Number Start End Size File system Name Flags
1 1049kB 512GB 512GB primary
Aviso
Esta documentación y su contenido, no implica que funcione en tu caso o determinados casos. También implica que tienes conocimientos sobre lo que trata, y que en cualquier caso tienes copias de seguridad. El contenido el contenido se entrega, tal y como está, sin que ello implique ningún obligación ni responsabilidad por parte de Castris
Si necesitas soporte profesional puedes contratar con Castris soporte profesional.