
estou procurando uma maneira de clonar meu HDD para SSD sem perder dados ou o próprio sistema Linux. O problema é que o tamanho do HDD atual é de 1 TB e o SSD que temos tem 480 GB, então não posso clonar diretamente porque o tamanho do disco é diferente, mas sei que o disco não está totalmente usado, então acho que isso pode ser reduzido com um externo ferramenta ou via linha de comando no servidor. Agora tenho 2 HDD de 1 TB cada conectados ao servidor e não sei como substituir por esses SSDs menores e mais rápidos. Qualquer ajuda seria muito 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 eu tenho acesso a isso fisicamente, mas também pela web, acho que a configuração do RAID é um software.
Responder1
No sistema que foi construído com possíveis reorganizações em mente, isso poderia ser tão fácil quanto conectar outros dispositivos, inicializá-los, migrar volumes e reinstalar o carregador de boot, e isso pode ser possível sem interromper os serviços.
Tenho boas notícias para você: seu layout combina com isso. Você usa o LVM e nem todo o espaço no grupo de volumes é alocado. Todos os volumes lógicos juntos parecem ocupar menos do que o espaço normalmente disponível no SSD de 480 GB, o que significa que você não precisa de nenhum redimensionamento do sistema de arquivos. Acho que tudo é possível fazer mesmo sem parar o serviço.
Além disso, embora não esteja relacionado a este caso específico, é bom lembrar que nem sempre se resume a reduzir os sistemas de arquivos e depois clonar. Em muitos casos, você pode simplesmente criar novos sistemas de arquivos e copiar arquivos.
Você tem um Broadcom HW RAID, comumente conhecido como "LSI MegaRAID SAS", um moderno, que é gerenciado como storcli
programa. Para obtê-lo no site da Broadcom você precisa saber qual é o modelo da placa; por enquanto, sabemos que ele está usando um chip controlador 3008, o que infelizmente não é suficiente para direcioná-lo para a página de download original.
O utilitário permitirá que você manipule e monitore seu RAID de dentro do sistema operacional;essa habilidade é obrigatória! No entanto, não tenho experiência suficiente em trabalhar com isso; Eu costumava ter megacli
, que hoje em dia está obsoleto e provavelmente não é uma boa ideia usá-lo com seu cartão mais novo. Alternativamente, você pode reinicializar e invocar o utilitário de inicialização usando algumas teclas e criar um novo disco lógico a partir daí.
Depois de criar a nova matriz RAID e o novo disco lógico a partir do seu novo conjunto de mídias, você precisa particioná-lo como este e criar um layout semelhante, com apenas a última partição menor.
Se você estiver usando uma conexão remota para realizar a migração, sugiro fazer todas as operações no screen
or tmux
, assim mesmo que você perca a conexão devido a problemas de rede, a sessão do shell permanecerá e você poderá se conectar para isso. Se você estiver sentado no terminal ou usar algum tipo de KVM (iLO, iDRAC, xClarity, etc.), isso não é importante.
Vamos supor que o novo disco virtual RAID seja chamado /dev/sdb
no sistema operacional.Certifique-se de usar o dispositivo correto, caso contrário será difícil recuperar seus dados.:
- Correr
fdisk /dev/sdb
- Pressione
g
para criar a tabela de partição GPT (e concorde em apagar). - Crie uma partição do sistema EFI (ESP) criando uma nova partição do mesmo tamanho:
n
, selecione o tipo 1 "ESP" e use o tamanho953M
(M significa MiB, que é o tamanho exato do seu ESP existente) - Crie a partição de inicialização:
n
, selecione "sistema de arquivos Linux" (não lembro a qual número corresponde) e use o tamanho953M
novamente. - Crie partição LVM:
n
, selecione "Linux LVM" (31 se não me engano) e para preencher todo o espaço restante aceite o que ele sugerir. - Aceite a alteração e saia:
w
.
Em seguida, clone sistemas de arquivos que não sejam LVM. Por isso:
- Desmonte as partições ESP e /boot:
umount /boot/efi /boot
- Clone seu conteúdo:
dd if=/dev/sda1 of=/dev/sdb1
edd if=/dev/sda2 of=/dev/sdb2
. Se houver erros nesta etapa, não prossiga até resolvê-los! Uma causa pode ser que os tamanhos estejam incorretos. - Como você está usando o XFS para /boot, você precisa alterar o UUID do clone agora, caso contrário não será possível montar:
xfs_admin -U generate /dev/sdb2
. Não se esqueça de atualizar/etc/fstab
com o novo UUID (se ele usar UUIDs para montar, o que deveria). - Monte novas partições /boot e ESP:
mount /dev/sdb2 /boot
emount /dev/sdb1 /boot/efi
.
Agora, crie o PV a partir da partição grande restante e adicione-o ao grupo de volumes existente:
pvcreate /dev/sdb3
vgextend r1 /dev/sdb3
Agora prepare-se para a operação mais longa: mova os dados do volume físico do HDD:
pvmove -vi 5 /dev/sda3
Por último, remova a unidade lógica do HDD do grupo de volumes e remova os rótulos do LVM:
vgreduce r1 /dev/sda3
pvremove /dev/sda3
Quando terminar, é hora de reconfigurar para inicializar a partir do novo RAID. Pode ser necessário configurar sua placa RAID para fazer com que esse novo volume seja a inicialização primária; isso geralmente não é necessário para inicialização EFI, mas não fará mal, então faça isso.
Configure a entrada de inicialização do firmware para inicializar a partir do novo RAID. Use a ferramenta fornecida pela versão do seu sistema operacional ou faça isso manualmente com efibootmgr
; em qualquer caso, os comandos concretos dependem da distribuição que você está usando.