¿Qué es una etiqueta de disco que se puede configurar con mklabel?

Por lo general, su sistema reconoce los discos duros en algún orden, dependiendo de dónde estén enchufados.

Una unidad podría conectarse directamente a un puerto SATA en la placa base en un sistema típico. Se puede conectar a una tarjeta RAID de hardware adicional en una ranura PCI express de alta velocidad. Podría ser un objetivo iSCSI que vive en una clase de hardware completamente diferente a través de una red o una estructura SAN.

Podría ser un disco completamente virtualizado y su computadora también podría serlo. Aún así, desea acceder a sus archivos, ejecutar sus programas y, en general, hacer lo que hace en su computadora.

Entonces, en un sistema Linux físico típico y moderno, su primer disco duro generalmente se conocerá como / dev / sda, el segundo sería sdb, tercero sdc, etc. Todo en Linux es un archivo, por lo que es un archivo llamado sda. Es un archivo en el directorio / dev, por lo que en realidad es un dispositivo, porque eso es lo que es / dev.

Para las unidades IDE, normalmente era hda. Si no es físico, pero Xen virtual usa / dev / xvda, KVM usa / dev / vda. Otros sistemas usan otras convenciones.

/ dev no es un directorio estático, se rellena en el arranque con tipos especiales de archivos. Para la mayoría de los propósitos, realmente actúan como cualquier otro archivo, pero existen allí porque su computadora encontró dispositivos que tenían controladores (formas para que el núcleo supiera cómo tratarlos) y los creó.

Entonces, si miras en / dev / verás algunas cosas interesantes (eliminé la lista por claridad y la volví a ordenar para que fluya):

ls -l / dev

lrwxrwxrwx 1 raíz raíz 11 mar 25 21:04 núcleo -> / proc / kcore
crw-rw-rw- 1 raíz raíz 1, 3 mar 25 21:04 nulo
crw-rw-rw- 1 raíz raíz 1, 5 mar 25 21:04 cero
crw-r—– 1 root kmem 1, 1 mar 25 21:04 mem
brw-rw—- 1 libvirt-qemu kvm 252, 0 mar 26 21:46 dm-0
brw-rw—- 1 disco raíz 252, 1 mar 25 21:04 dm-1
brw-rw—- 1 disco raíz 252, 2 mar 25 21:04 dm-2
drwxr-xr-x 2 root root 120 mar 25 21:04 mapeador
brw-rw—- 1 disco raíz 8, 0 mar 25 21:04 sda
brw-rw—- 1 disco raíz 8, 1 mar 25 21:04 sda1
brw-rw—- 1 disco raíz 8, 2 mar 25 21:04 sda2
brw-rw—- 1 disco raíz 8, 5 mar 25 21:04 sda5

Una cosa a notar es el primer carácter en cualquier línea.
‘l’ significa que es un enlace. core no está realmente en / dev, está en / proc, que es otro directorio muy especial de archivos y realmente se llama kcore.

‘c’ significa que es un dispositivo de caracteres. Realmente son personajes. Esto no es un tema importante para la pregunta, ya que estamos hablando de discos, pero posiblemente sea útil.
Quiero decir, míralos:

nulo: es el dispositivo nulo. No hace nada No importa lo que le pidas que haga, nunca hará nada. Esto incluye quejarse. Puede hacer todas sus copias de seguridad en el dispositivo nulo y no solo será más rápido en las copias de seguridad que cualquier otra solución que haya investigado, sino que nunca verá un error ni pensará en decírselo. Para eso es.

cero: es el dispositivo cero. ¿Necesitas escuchar pero no quieres escuchar nada? Te dará tantos ceros como necesites.
dd if = / dev / zero of = huge_file bs = 1024M count = 100
Guau. Ahora tiene un archivo de cien gigabytes sin nada. Divertirse con eso. Para eso es.

mem: WTF la memoria real de su computadora es un archivo?!? Si, todo lo es. OK, entonces, ¿qué hay dentro?

aquí hay un extracto de la salida de
gato / dev / mem

[correo electrónico protegido] `߷ [correo electrónico protegido] ߶ [correo electrónico protegido] ߵ t ?? g_? t ?? g ߴ t? h? ^ [correo electrónico protegido] ? ޳ t ?? h? ^? t ?? h? ޲ t? i ? ^ [correo electrónico protegido] ? ޱ t ?? i? ^? t ?? i? ް t? jp ^ [correo electrónico protegido] `ޯ t ?? jP ^ [correo electrónico protegido] ޮ t? k0 ^ [correo electrónico protegido] ޭ t ?? k ^ ? t ?? k ެ t? l?] [correo electrónico protegido] ? ݫ t ?? l?]? t ?? l? ݪ t? m?] [correo electrónico protegido] ? ݩ t ?? m?]? t ?? m? ݨ t? np] [correo electrónico protegido] `ݧ t ?? nP] [correo electrónico protegido] ݦ t? o0] [correo electrónico protegido] ݥ t ?? o]? t ?? o ݤ t? p? \ [correo electrónico protegido] ? ܣ t ?? p? \? t ?? p? ܢ t? q? \ [correo electrónico protegido] ? ܡ t ?? q? \? t ?? q? ܠ t? rp \ [correo electrónico protegido] `ܟ t ?? rP \ [correo electrónico protegido] ܞ t? s0 \ [ correo electrónico protegido] ܝ t ?? s \? t ?? s ܜ t? t? [ [correo electrónico protegido] ? ۛ t ?? t? [? t ?? t? ۚ t? u? [ [correo electrónico protegido] ? ۙ t ?? u? [ ? t ?? u? ۘ t? vp [ [correo electrónico protegido] `ۗ t?
En realidad, se veía más genial en mi terminal que en este cuadro de entrada … algo algo unicode … algo algo comprobado, pero aún no legible. Eso no es para lo que está ahí.

‘b’ significa que es un dispositivo de bloque. Por lo general, eso significa que es un disco duro, pero YMMV.
‘d’ significa que es un directorio, como una carpeta que verías en tu escritorio.
dm-0, dm-1 y dm-2 son dispositivos de bloque Device-Mapper y mapper es un directorio que contiene asignaciones de dispositivos:

lrwxrwxrwx 1 root root 7 mar 25 21:04 ubuntu – 14 – vg-root -> ../dm-1
lrwxrwxrwx 1 raíz raíz 7 mar 25 21:04 ubuntu – 14 – vg-swap_1 -> ../dm-2
lrwxrwxrwx 1 raíz raíz 7 mar 25 22:46 vm_vg-testvm -> ../dm-0

Entonces, volvemos a ‘l’. Estos son enlaces que apuntan a dispositivos en el directorio anterior. Es una forma de usar diferentes nombres para facilitar las cosas.

En este caso, dm-1 y dm-2 son el sistema de archivos raíz y el intercambio del sistema que estamos viendo.

dm-0, se ve un poco diferente en el directorio / dev /. Específicamente, el propietario y el grupo son diferentes.

Entonces, ¿cuál es la conexión entre estos tres dispositivos de bloque que los distingue del resto?

De vuelta al directorio padre, / dev y después del mapeador ‘d’, vemos más ‘b’ o dispositivos de bloque.
sda, sda1, sda2. Qué hay con eso. Después de todo, dije que pasó de sda ​​a sdb a sdc y así sucesivamente …

fdisk -l / dev / sda
Dispositivo Arranque Inicio Fin Bloques Id Sistema
/ dev / sda1 * 2048 1026047 512000 83 Linux
/ dev / sda2 1026048 312580095 155777024 8e Linux LVM

Los discos duros suelen estar particionados. En una situación estándar, puede tener 4 particiones en un disco duro. Este solo tiene 2.
sda1 es una partición primaria real con el indicador de inicio establecido y está designada como una partición estándar del sistema de archivos de Linux.
sda2 es un volumen físico del administrador de volumen lógico (LVM PV).

Entonces, ¿qué es LVM? Es una manera de hacer cosas geniales, como agregar un nuevo disco a un sistema y no tener que preocuparse por dónde colocar sus archivos. Simplemente le dice que es parte de los discos que ya conocía y que está listo para comenzar. Así que veamos esto.

pvs
PV VG Fmt Attr PSize PFree
/ dev / sdc1 ubuntu-14-vg lvm2 a– 931.51g 725.23g
/ dev / sdf1 vm_vg lvm2 a– 200.00g 190.00g

Entonces … errr … ¿ves cómo ninguno de estos PV está en / dev / sda? Están en el tercer y sexto disco de este sistema. De hecho, sda ni siquiera se usa en este sistema en este momento.

¿Por qué no preguntaste?

Este es el por qué:

hdparm -t // dev / sda
/ dev / sda:
Lecturas de disco almacenadas temporalmente: 556 MB en 3.00 segundos = 185.32 MB / seg

hdparm -t / dev / sdc
/ dev / sdc:
Lecturas de disco almacenadas temporalmente: 410 MB en 3.00 segundos = 136.53 MB / seg.

[correo electrónico protegido] : ~ # hdparm -t / dev / sdf
/ dev / sdf:
Lecturas de disco almacenadas temporalmente: 420 MB en 3.00 segundos = 139.77 MB / seg.

Es una unidad más rápida, y tengo otros propósitos, pero tengo un servidor Cobbler que instaló automáticamente el sistema operativo a través de la red. Es un poco simplista en su enfoque, ya que aún no lo he ajustado para mis necesidades, por lo que toma la primera unidad que encuentra e instala el sistema operativo. Oh, ay de mí … o no.

pvmove –help | head -n + 1
pvmove: mueve extensiones de un volumen físico a otro

Sí, hice eso Entonces, sdc era más apropiado para mis necesidades, así que lo agregué al VG (VolumeGroup que puede consistir en múltiples PV) y dije, salga de mi disco.
Luego un poco:
vgreduce -h | cabeza -n + 1
vgreduce: eliminar volúmenes físicos de un grupo de volúmenes

[correo electrónico protegido] : ~ # pvremove -h | cabeza -n + 1
pvremove: eliminar las etiquetas LVM de los volúmenes físicos

Así que, esencialmente por flojera, logré mover mi sistema operativo de una unidad a otras unidades mientras el sistema se estaba ejecutando sin que nadie lo notara. Quiero decir que debe reinstalar grub si espera que continúe arrancando después de quitar la unidad original, pero si lo está dejando no tiene que hacerlo.
Sin embargo, debe realizar varias instalaciones si está duplicando unidades, por lo que no es una mala idea en general.

Pero volviendo aquí:
pvs
PV VG Fmt Attr PSize PFree
/ dev / sdc1 ubuntu-14-vg lvm2 a– 931.51g 725.23g
/ dev / sdf1 vm_vg lvm2 a– 200.00g 190.00g

eso explica el ubuntu-14-vg VG. Ese es el grupo de volúmenes creado en la instalación para mantener el sistema operativo de este sistema.
Pero, ¿qué es esto vm_vg VG? Ahí es donde estoy ejecutando máquinas virtuales en este sistema.

[correo electrónico protegido] : ~ # lvs vm_vg
LV VG Attr LSize Pool Origen Datos% Mover Registro Copiar% Convertir
testvm vm_vg -wi-ao— 10.00g
[correo electrónico protegido] : ~ # lista virsh
Id Nombre Estado
—————————————————-
8 testy corriendo

[correo electrónico protegido] : ~ # virsh console 8
Conectado a dominio testy
El personaje de escape es ^]

[correo electrónico protegido] : ~ # pvs
PV VG Fmt Attr PSize PFree
/ dev / sda5 ubuntu-14-vg lvm2 a– 9.76g 0

VG ception. Esta es una máquina virtual creada por el mismo servidor de compilación que creó su host.

Entonces, podría continuar, pero espero que entiendas que algunas configuraciones de disco son más complicadas que otras.
Por qué esto es importante es que no desea terminar en una situación en la que haya hecho un reordenamiento inestable de sus discos duros funcionales y lo haya olvidado o bloqueado actualizando / etc / fstab.

Si no estuviera usando etiquetas de disco (o UUID), podría haber terminado en un mundo de dolor en el que habría tenido que levantarme del sofá, salir corriendo de los medios de rescate y, en general, interrumpir mi flujo.

Si hubiera sido lo suficientemente idiota como para arruinarlo en el trabajo, entonces probablemente comenzaría a patear rocas.

Es decir, le permiten decirle a la computadora que haga lo que quiere decir en lugar de lo que dijo si decidiera cambiar la forma en que interpreta lo que dijo en su opinión.

La vista de la computadora siempre es correcta. No porque no pueda cometer un error, sino porque, literalmente, literalmente no es capaz de sentir remordimiento o disculparse por nada.

Las etiquetas de disco lo ayudan a hacer lo correcto que le gustaría si le importara.

La etiqueta del disco es un nombre para el disco. Cuando conecta el disco a una computadora, generalmente ese es el nombre que aparece para el disco en el entorno de escritorio. En Linux, se puede usar en fstab como una forma de referirse al disco, y en la mayoría de las distribuciones de Linux, un script USB que monta automáticamente los medios extraíbles usará la etiqueta del disco para el nombre del punto de montaje (generalmente bajo / media). En OS X, la etiqueta del disco es el nombre de la unidad que aparece en el escritorio y el nombre del punto de montaje en / Volúmenes. En Windows, la etiqueta del disco se muestra en el explorador y las propiedades de la unidad.

La respuesta de Dougs es extremadamente exhaustiva, sin embargo, una lectura larga para una pregunta corta.

Una etiqueta asigna un nombre a un dispositivo, de modo que si / cuando la ID del dispositivo o su ubicación física cambien (como mover unidades dentro del estuche) el sistema aún puede reconocer y, por lo tanto, ubicar el dispositivo correcto.

Esto tiene el beneficio adicional de poder intercambiar unidades con etiquetas similares y permitir que el sistema lo acepte sin más configuraciones.