
Estoy buscando una manera de clonar mi HDD a SSD sin perder datos ni el propio sistema Linux. El problema es que el tamaño del disco duro actual es de 1 TB y el SSD que tenemos tiene 480 GB, por lo que no puedo clonarlo directamente porque el tamaño del disco difiere, pero sé que el disco no se utiliza por completo, así que supongo que podría reducirse con un disco externo. herramienta o mediante la línea de comando en el servidor. Ahora tengo 2 HDD de 1 TB cada uno conectados al servidor y no sé cómo reemplazarlos con estos SSD más pequeños y rápidos. Cualquier ayuda sería muy apreciada.
#lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 931G 0 disk
├─sda1 8:1 0 953M 0 part /boot/efi
├─sda2 8:2 0 953M 0 part /boot
└─sda3 8:3 0 929.1G 0 part
├─rl-root 253:0 0 18.6G 0 lvm /
├─rl-swap 253:1 0 29.8G 0 lvm [SWAP]
├─rl-usr 253:2 0 10G 0 lvm /usr
├─rl-var_lib_docker 253:3 0 93.1G 0 lvm /var/lib/docker
├─rl-opt 253:4 0 93.1G 0 lvm /opt
├─rl-var_log_audit 253:5 0 4.7G 0 lvm /var/log/audit
├─rl-var 253:6 0 9.3G 0 lvm /var
├─rl-home 253:7 0 1.9G 0 lvm /home
├─rl-var_log 253:8 0 4.7G 0 lvm /var/log
├─rl-tmp 253:9 0 4.7G 0 lvm /tmp
└─rl-var_tmp 253:10 0 4.7G 0 lvm /var/tmp
# fdisk -l /dev/sd?
Disk /dev/sda: 931 GiB, 999653638144 bytes, 1952448512 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 65536 bytes / 65536 bytes
Disklabel type: gpt
Disk identifier: 0219246B-336B-4D22-96A3-FD679EDA66DE
Device Start End Sectors Size Type
/dev/sda1 2048 1953791 1951744 953M EFI System
/dev/sda2 1953792 3905535 1951744 953M Linux filesystem
/dev/sda3 3905536 1952448478 1948542943 929.1G Linux LVM
# df -h | grep -v docker
Filesystem Size Used Avail Use% Mounted on
devtmpfs 7.5G 0 7.5G 0% /dev
tmpfs 7.5G 0 7.5G 0% /dev/shm
tmpfs 7.5G 95M 7.5G 2% /run
tmpfs 7.5G 0 7.5G 0% /sys/fs/cgroup
/dev/mapper/rl-root 19G 232M 19G 2% /
/dev/mapper/rl-usr 10G 4.8G 5.3G 48% /usr
/dev/mapper/rl-tmp 4.7G 99M 4.6G 3% /tmp
/dev/mapper/rl-home 1.9G 1014M 885M 54% /home
/dev/mapper/rl-var 9.4G 3.0G 6.4G 32% /var
/dev/sda2 949M 276M 674M 30% /boot
/dev/sda1 952M 5.8M 946M 1% /boot/efi
/dev/mapper/rl-var_tmp 4.7G 66M 4.6G 2% /var/tmp
/dev/mapper/rl-var_log 4.7G 1.3G 3.5G 27% /var/log
/dev/mapper/rl-opt 94G 7.6G 86G 9% /opt
/dev/mapper/rl-var_log_audit 4.7G 106M 4.6G 3% /var/log/audit
tmpfs 1.5G 0 1.5G 0% /run/user/0
# lshw
*-raid
description: RAID bus controller
product: MegaRAID SAS-3 3008 [Fury]
vendor: Broadcom / LSI
physical id: 0
bus info: pci@0000:02:00.0
logical name: scsi0
version: 02
width: 64 bits
clock: 33MHz
capabilities: raid pm pciexpress msi msix bus_master cap_list rom
configuration: driver=megaraid_sas latency=0
resources: irq:17 ioport:5000(size=256) memory:91c00000-91c0ffff memory:91b00000-91bfffff memory:91a00000-91afffff
*-disk
description: SCSI Disk
product: PRAID CP400i
vendor: FTS
physical id: 2.0.0
bus info: scsi@0:2.0.0
logical name: /dev/sda
version: 4.68
serial: 004f93e10b84d6222c40f6200004000e
size: 931GiB (999GB)
capabilities: gpt-1.00 partitioned partitioned:gpt
configuration: ansiversion=5 guid=0219246b-336b-4d22-96a3-fd679eda66de logicalsectorsize=512 sectorsize=4096
*-volume:0
description: Windows FAT volume
vendor: mkfs.fat
physical id: 1
bus info: scsi@0:2.0.0,1
logical name: /dev/sda1
logical name: /boot/efi
version: FAT32
serial: cbe6-07f6
size: 951MiB
capacity: 952MiB
capabilities: boot fat initialized
configuration: FATs=2 filesystem=fat mount.fstype=vfat mount.options=rw,relatime,fmask=0077,dmask=0077,codepage=437,iocharset=ascii,shortname=winnt,errors=remount-ro name=EFI System Partition state=mounted
*-volume:1
description: EFI partition
physical id: 2
bus info: scsi@0:2.0.0,2
logical name: /dev/sda2
logical name: /boot
serial: 7ca4eedb-7995-4a39-b1c8-676c006e7c83
capacity: 952MiB
configuration: mount.fstype=xfs mount.options=rw,seclabel,relatime,attr2,inode64,logbufs=8,logbsize=32k,sunit=128,swidth=128,noquota state=mounted
*-volume:2
description: LVM Physical Volume
vendor: Linux
physical id: 3
bus info: scsi@0:2.0.0,3
logical name: /dev/sda3
serial: gE8t7L-MEtM-wxjh-VGNz-19ch-dDXX-NQKV7n
size: 269GiB
capacity: 929GiB
capabilities: multi lvm2
# lspci | grep RAID
02:00.0 RAID bus controller: Broadcom / LSI MegaRAID SAS-3 3008 [Fury] (rev 02)
@Nikita tengo acceso a esto físicamente pero también a la web, creo que la configuración RAID es software.
Respuesta1
En el sistema que se creó teniendo en cuenta posibles reorganizaciones, esto podría ser tan fácil como conectar otros dispositivos, inicializarlos, migrar volúmenes y reinstalar el cargador de arranque, y eso incluso podría lograrse sin interrumpir los servicios.
Tengo buenas noticias para ti: tu diseño coincide con eso. Si utiliza LVM, no se asigna todo el espacio en el grupo de volúmenes. Todos los volúmenes lógicos juntos parecen ocupar menos que el espacio que normalmente está disponible en el SSD de 480 GB, lo que significa que no es necesario cambiar el tamaño del sistema de archivos. Creo que todo es posible de hacer incluso sin que se detenga el servicio.
Además, aunque no está relacionado con este caso en particular, es bueno recordar que no siempre se reduce a reducir los sistemas de archivos y luego clonarlos. En muchos casos, puede simplemente crear nuevos sistemas de archivos y copiar archivos.
Tienes un Broadcom HW RAID, comúnmente conocido como "LSI MegaRAID SAS", uno moderno, que se gestiona conel storcli
programa. Para obtenerla desde el sitio web de Broadcom necesitas saber qué modelo de tarjeta es; Por ahora, sabemos que está usando un chip controlador 3008, que desafortunadamente no es suficiente para dirigirlo a la página de descarga original.
La utilidad le permitirá manipular y monitorear su RAID desde el sistema operativo;esta habilidad es imprescindible! Sin embargo, no tengo suficiente experiencia trabajando con él; Solía tener megacli
, que hoy en día está obsoleto y probablemente no sea una buena idea usarlo con tu tarjeta más nueva. Alternativamente, puede reiniciar e invocar la utilidad de arranque presionando algunas teclas y crear un nuevo disco lógico desde allí.
Después de crear la nueva matriz RAID y el nuevo disco lógico a partir de su nuevo conjunto de medios, debe particionarlo como este y crear un diseño similar, con solo la última partición más pequeña.
Si está utilizando una conexión remota para realizar la migración, le sugiero que realice todas las operaciones en screen
o tmux
, de modo que incluso si pierde la conexión debido a problemas de red, la sesión de shell permanecerá y podrá conectarse. lo. Si está sentado frente a la terminal o usa algún KVM (iLO, iDRAC, xClarity, etc.), esto no es importante.
Supongamos que el nuevo disco virtual RAID se llama /dev/sdb
en el sistema operativo.Asegúrate de utilizar el dispositivo correcto; de lo contrario, será difícil recuperar tus datos.:
- Correr
fdisk /dev/sdb
- Presione
g
para crear la tabla de particiones GPT (y acepte borrarla). - Cree la partición del sistema EFI (ESP) creando una nueva partición del mismo tamaño:
n
seleccione el tipo 1 "ESP" y use el tamaño953M
(M significa MiB, que es el tamaño exacto de su ESP existente) - Cree una partición de arranque:,
n
seleccione "sistema de archivos Linux" (no recuerdo a qué número corresponde) y use tamaño953M
nuevamente. - Crear partición LVM:,
n
selecciona "Linux LVM" (31 si no me equivoco) y para llenar todo el espacio restante acepta lo que te sugiera. - Aceptar el cambio y salir:
w
.
Luego, clone sistemas de archivos que no sean LVM. Para eso:
- Desmontar las particiones ESP y /boot:
umount /boot/efi /boot
- Clonar sus contenidos:
dd if=/dev/sda1 of=/dev/sdb1
ydd if=/dev/sda2 of=/dev/sdb2
. Si hay errores en esta etapa, ¡no continúe hasta que los haya resuelto! Una causa podría ser que los tamaños sean incorrectos. - Como estás usando XFS para /boot, debes cambiar el UUID del clon ahora; de lo contrario, no podrás montar:
xfs_admin -U generate /dev/sdb2
. No olvide actualizar/etc/fstab
con el nuevo UUID (si usa UUID para montar, que debería ser). - Monte nuevas particiones /boot y ESP:
mount /dev/sdb2 /boot
ymount /dev/sdb1 /boot/efi
.
Ahora, cree PV a partir de la partición grande restante y agréguelo al grupo de volúmenes existente:
pvcreate /dev/sdb3
vgextend r1 /dev/sdb3
Ahora prepárese para la operación más larga: saque los datos del volumen físico del disco duro:
pvmove -vi 5 /dev/sda3
Por último, elimine la unidad lógica HDD del grupo de volúmenes y elimine las etiquetas LVM:
vgreduce r1 /dev/sda3
pvremove /dev/sda3
Cuando termine, es hora de reconfigurarlo para arrancar desde el nuevo RAID. Es posible que necesite configurar su tarjeta RAID para que este nuevo volumen sea el arranque principal; Por lo general, eso no es necesario para el arranque EFI, pero no hará daño, así que hágalo.
Configure la entrada de inicio del firmware para iniciar desde el nuevo RAID. Utilice la herramienta proporcionada por la versión de su sistema operativo o hágalo manualmente con efibootmgr
; En cualquier caso, los comandos concretos dependen de la distribución que estés utilizando.