¿`/proc/partitions` y/o `fdisk -l /dev/sdX` me proporcionan un tamaño de dispositivo confiable?

¿`/proc/partitions` y/o `fdisk -l /dev/sdX` me proporcionan un tamaño de dispositivo confiable?

Tengo dos discos de 3TB, que espero seanexactamente el mismo tamaño. Esto significa que puedo utilizarlos ddpara copiarlos sin que me queden cortos o excedan algunos bytes.

Por lo tanto, intenté averiguar la capacidad/tamaño del dispositivo de bloque HDD y lo usé para esto.

fdisk /dev/sdX -l | grep "Disk /dev/sdX"

En mi caso, se puede acceder a los dos dispositivos a través de /dev/sday /dev/sdbusando el comando anterior. Recibo

Disk /dev/sda: 3000.6GB, 3000592982016

y

Disk /dev/sdb: 3000.6GB, 3000592982016

y para mi feliz alivio, parece que los dos dispositivos son exactamente del mismo tamaño. Esto es lo que tienen el número exacto de bytes.

Mi pregunta

¿Se puede confiar en esta información? Especialmente me gustaría saber si es al menos una práctica/hábito común que los dispositivos HDD mantengan el número de bytes constante a lo largo del tiempo (es decir, ni perder ni ganar algunos bytes, es decir, debido a sectores defectuosos, etc.).

Respuesta1

Cualquier ajuste que realicen los 2 HDD con el tiempo será para mantener su espacio utilizable, que no esté corrupto ni dañado, con el mismo número de bytes. Todo esto sucede en un nivel inferior para usted, el usuario del HDD, por lo que esperaría que ambos HDD informaran capacidades idénticas con el tiempo.

NOTA:Todos los discos duros modernos incluyen una reserva adicional de espacio de la que pueden aprovechar cuando los sectores se vuelven defectuosos o se desgastan. El HDD reconoce que estos sectores están fallando o se están dañando y los reasignará de la reserva, marcando el sector defectuoso como inutilizable, de modo que ya no forme parte del conjunto total de sectores disponibles.

El HDD debe continuar funcionando normalmente hasta que se agote este espacio, suponiendo que no haya otros tipos de fallas catastróficas. Una vez que se haya agotado el espacio, el disco duro se verá obligado a compensar los sectores defectuosos que queden. Intentará reubicar estos datos fallidos en sectores buenos, pero comenzará a exhibir errores de E/S en el proceso.

NOTA:Puede controlar el espacio de reserva de un disco duro durante su vida útil utilizando SMART. Al mirar elAtributos INTELIGENTESSospecho que este recuento sería el número 5:

5-Cuentan los sectores reasignadosEl número de sectores de repuesto no utilizados. Cuando encuentra un error de lectura/escritura/comprobación, un dispositivo reasigna un sector defectuoso a uno "sano" tomado de un grupo de reserva especial. El valor normalizado del atributo disminuye a medida que disminuye la cantidad de repuestos disponibles. En un disco duro normal, el valor sin procesar indica la cantidad de sectores reasignados, que normalmente debería ser cero. En un SSD, el valor sin procesar indica la cantidad de bloques de memoria flash fallidos.

Puede verificar esto usando la smartctlherramienta que normalmente forma parte del smartmontoolspaquete (así se llama en Fedora 20 de todos modos).

$ sudo smartctl --all /dev/sda

Hay mucha información útil en este resultado:

smartctl 6.2 2014-07-16 r3952 [x86_64-linux-3.16.3-200.fc20.x86_64] (local build)
Copyright (C) 2002-13, Bruce Allen, Christian Franke, www.smartmontools.org

=== START OF INFORMATION SECTION ===
Device Model:     LITEONIT LMT-256M3M
Serial Number:    002244119905
LU WWN Device Id: 5 000000 000000000
Firmware Version: VZJ4
User Capacity:    256,060,514,304 bytes [256 GB]
Sector Size:      512 bytes logical/physical
Rotation Rate:    Solid State Device
Device is:        Not in smartctl database [for details use: -P showall]
ATA Version is:   ATA8-ACS, ATA/ATAPI-7 T13/1532D revision 4a
SATA Version is:  SATA 3.0, 6.0 Gb/s
Local Time is:    Fri Oct 10 12:32:12 2014 EDT
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:  (0x00) Offline data collection activity
                    was never started.
                    Auto Offline Data Collection: Disabled.
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:        (   10) seconds.
Offline data collection
capabilities:            (0x15) SMART execute Offline immediate.
                    No Auto Offline data collection support.
                    Abort Offline collection upon new
                    command.
                    No Offline surface scan supported.
                    Self-test supported.
                    No Conveyance Self-test supported.
                    No Selective Self-test supported.
SMART capabilities:            (0x0002) Does not save SMART data before
                    entering power-saving mode.
                    Supports SMART auto save timer.
Error logging capability:        (0x00) Error logging supported.
                    General Purpose Logging supported.
Short self-test routine 
recommended polling time:    (   1) minutes.
Extended self-test routine
recommended polling time:    (  10) 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: 1
Vendor Specific SMART Attributes with Thresholds:
ID# ATTRIBUTE_NAME          FLAG     VALUE WORST THRESH TYPE      UPDATED  WHEN_FAILED RAW_VALUE
  1 Raw_Read_Error_Rate     0x0003   100   100   070    Pre-fail  Always       -       0
  5 Reallocated_Sector_Ct   0x0003   100   100   000    Pre-fail  Always       -       0
  9 Power_On_Hours          0x0002   100   100   000    Old_age   Always       -       2248
 12 Power_Cycle_Count       0x0002   100   100   000    Old_age   Always       -       706
171 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       0
172 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       0
173 Unknown_Attribute       0x0032   000   000   000    Old_age   Always       -       12
174 Unknown_Attribute       0x0030   000   000   000    Old_age   Offline      -       126
178 Used_Rsvd_Blk_Cnt_Chip  0x0003   100   100   000    Pre-fail  Always       -       0
187 Reported_Uncorrect      0x0002   100   100   000    Old_age   Always       -       0
192 Power-Off_Retract_Count 0x0003   100   100   000    Pre-fail  Always       -       126
230 Unknown_SSD_Attribute   0x0032   100   100   000    Old_age   Always       -       24851
232 Available_Reservd_Space 0x0003   100   100   010    Pre-fail  Always       -       2784
241 Total_LBAs_Written      0x0003   100   100   000    Pre-fail  Always       -       86211
242 Total_LBAs_Read         0x0003   100   100   000    Pre-fail  Always       -       25145

SMART Error Log Version: 0
No Errors Logged

SMART Self-test log structure revision number 1
No self-tests have been logged.  [To run self-tests, use: smartctl -t]


Selective Self-tests/Logging not supported

La información a la que me refería se encuentra en la última tabla, ID n.° 5.

Referencias

Respuesta2

Si quieres saber el tamaño de un dispositivo (en bytes), puedes usar blockdev:

# blockdev --getsize64 /dev/sde
2000398934016

En este ejemplo /dev/sdees un disco de 2TB, o al menos eso es lo que ve el kernel. Naturalmente, fdisky partedotros deberían mostrar la misma información.

Este tamaño no cambia. Perder capacidad por sectores malos no es una opción, causaría un sinfín de problemas; La reasignación de sectores utiliza una reserva interna y la unidad generalmente está completamente muerta antes de que se agote. Deberías reemplazarlo antes de que las cosas se pongan tan mal.

A algunas personas les gusta dejar un pequeño espacio sin particionar (unos pocos megas) al final del disco, ya que un disco de reemplazo puede no tener exactamente el mismo tamaño que el anterior y puede dificultar cosas como el reemplazo de miembros de raid si el nuevo El dispositivo parece ser demasiado pequeño.

información relacionada