Transfira dados de negócios de um diretório do disco do sistema para um disco de dados para reduzir a carga no disco do sistema de uma instância ECS Linux.
A migração de dados pode interromper seus negócios. Considere redimensionar o disco do sistema como alternativa. Consulte Etapa 1: Redimensionar um disco para aumentar a capacidade.
Pré-requisitos
-
O uso do disco do sistema está abaixo de 100%.
ImportanteFaça login na instância e execute df -h para verificar o uso da partição raiz. Se o uso atingir 100%, consulte Resolver problemas de "espaço insuficiente" no Linux.
-
O disco de dados de destino atende aos seguintes requisitos:
O disco de dados está no estado In Use (In_use).
O disco de dados foi inicializado e não possui sistema de arquivos montado. Consulte Inicializar um disco de dados em uma instância Linux.
O exemplo a seguir transfere dados do diretório /userdata para a partição /dev/vdb1 no Alibaba Cloud Linux 3.2104. Substitua /userdata e /dev/vdb1 pelos nomes reais do seu diretório e da sua partição.
Fluxo de trabalho
Procedimento
Etapa 1: Fazer backup do disco do sistema
Crie um snapshot do disco do sistema para evitar perda de dados. Consulte Criar snapshot manualmente.
Snapshots geram custos. Consulte Faturamento de snapshots.
Etapa 2: Copiar dados para o disco de dados
-
Crie o diretório /temporary e monte a partição do disco de dados. Substitua /dev/vdb1 pelo nome real da partição.
sudo mkdir /temporary sudo mount /dev/vdb1 /temporary -
Copie os dados de /userdata para o diretório montado /temporary. Substitua /userdata pelo nome real do diretório.
sudo cp -rv /userdata/. /temporaryComo alternativa, use rsync para copiar arquivos com exibição de progresso.
sudo yum install -y rsync rsync --progress /userdata/* /temporary
Etapa 3: Montar a partição do disco de dados no diretório de dados
-
Desmonte o diretório /temporary.
sudo umount /temporary -
Renomeie /userdata para /userdata_bak como backup temporário.
sudo mv /userdata /userdata_bakAvisoRenomear o diretório de dados pode causar erros nos negócios e perda temporária de dados. Avalie os riscos e execute esta operação fora do horário de pico.
-
Renomeie /temporary para /userdata. Substitua /userdata pelo nome real do diretório.
sudo mv /temporary /userdata -
Monte /dev/vdb1 em /userdata. Substitua pelos nomes reais da partição e do diretório.
sudo mount /dev/vdb1 /userdata -
Execute o comando
df -Thpara verifique se a partição do disco de dados está montada no diretório de destino. A saída a seguir mostra que /dev/vdb1 está montado em /userdata.[ecs-xxx ~]$ df -Th Filesystem Type Size Used Avail Use% Mounted on devtmpfs devtmpfs 867M 0 867M 0% /dev tmpfs tmpfs 879M 0 879M 0% /dev/shm tmpfs tmpfs 879M 436K 878M 1% /run tmpfs tmpfs 879M 0 879M 0% /sys/fs/cgroup /dev/vda1 ext4 40G 2.8G 35G 8% / /dev/vdb1 ext4 40G 3.8G 34G 11% /userdata
Etapa 4: Verificar a operação do sistema de negócios
-
Reinicie o sistema de negócios e verifique se ele funciona conforme o esperado.
Após confirmar que o sistema de negócios funciona normalmente, exclua o diretório /userdata_bak.