Como reduzir o tamanho do armazenamento baseado em arquivo do Linux no targetcli
772
Estou usando o targetcli para redimensionar um destino iSCSI. Eu criei um grande backstore FILEIO, que é um desperdício de recursos. É possível reduzir o tamanho do arquivo sem perder dados?
Eu ficaria melhor com uma boa e velha migração de dados neste caso.
Eu tentei -truncate sozinho, mas dessa vez terminei com a restauração do instantâneo. Muito provavelmente, devido à incompatibilidade do sistema de arquivos e do tamanho do volume lógico.
A VMware, por exemplo, desenvolveu um bom conjunto de ferramentas que permitem encolher discos virtuais grossos ou finos zerando o espaço livre ou removendo zeros.
Você precisa usar o comando truncate para isso. Perceba que o truncamento cortará o final do arquivo em um deslocamento que você especificar, portanto, você perderá dados além desse ponto se não tiver redimensionado o sistema de arquivos que este LUN fornece no lado do iniciador iSCSI primeiro (para que o sistema de arquivos contido nele é menor do que o que você está truncando).
Um exemplo disso está aqui:
truncate -s SIZE /srv/totallyalun.img
TAMANHO pode ser (ou pode ser um número inteiro opcionalmente seguido por) um dos seguintes: KB 1000, K 1024, MB 1000*1000, M 1024*1024 e assim por diante para G, T, P, E, Z, Y.
Isso redimensionará o arquivo no lugar. Se o arquivo for originalmente maior do que o tamanho especificado por meio de -s, truncar cortará o final dele. Se o arquivo for menor do que o tamanho especificado, truncate estenderá seu arquivo de apoio finamente, com dados nas regiões finais lidas como zeros (já que serão buracos).
Novamente, reduzir essa é uma ótima maneira de perder dados se você não garantir que o sistema de arquivos dentro desse arquivo (LUN) seja menor ou exatamente igual ao tamanho especificado para o armazenamento de backup por meio de truncamento.
Você pode fazer isso enquanto o destino iscsi estiver usando o arquivo com resultados imediatamente legíveis, desde que o destino não esteja configurado para bloquear exclusivamente o arquivo.
OU se você não se importa com os dados (ou não se importa em copiá-los), pode criar um novo arquivo fino usando alocação esparsa e copiá-lo para evitar toda essa bagunça em primeiro lugar. A alocação reduzida realmente ajuda no gerenciamento de recursos, especialmente ao lidar com armazenamento definido por software.
Eu ficaria melhor com uma boa e velha migração de dados neste caso.
Eu tentei -truncate sozinho, mas dessa vez terminei com a restauração do instantâneo. Muito provavelmente, devido à incompatibilidade do sistema de arquivos e do tamanho do volume lógico.
A VMware, por exemplo, desenvolveu um bom conjunto de ferramentas que permitem encolher discos virtuais grossos ou finos zerando o espaço livre ou removendo zeros.
Você precisa usar o comando truncate para isso. Perceba que o truncamento cortará o final do arquivo em um deslocamento que você especificar, portanto, você perderá dados além desse ponto se não tiver redimensionado o sistema de arquivos que este LUN fornece no lado do iniciador iSCSI primeiro (para que o sistema de arquivos contido nele é menor do que o que você está truncando).
Um exemplo disso está aqui:
truncate -s SIZE /srv/totallyalun.img
TAMANHO pode ser (ou pode ser um número inteiro opcionalmente seguido por) um dos seguintes: KB 1000, K 1024, MB 1000*1000, M 1024*1024 e assim por diante para G, T, P, E, Z, Y.
Isso redimensionará o arquivo no lugar. Se o arquivo for originalmente maior do que o tamanho especificado por meio de -s, truncar cortará o final dele. Se o arquivo for menor do que o tamanho especificado, truncate estenderá seu arquivo de apoio finamente, com dados nas regiões finais lidas como zeros (já que serão buracos).
Novamente, reduzir essa é uma ótima maneira de perder dados se você não garantir que o sistema de arquivos dentro desse arquivo (LUN) seja menor ou exatamente igual ao tamanho especificado para o armazenamento de backup por meio de truncamento.
Você pode fazer isso enquanto o destino iscsi estiver usando o arquivo com resultados imediatamente legíveis, desde que o destino não esteja configurado para bloquear exclusivamente o arquivo.
OU se você não se importa com os dados (ou não se importa em copiá-los), pode criar um novo arquivo fino usando alocação esparsa e copiá-lo para evitar toda essa bagunça em primeiro lugar. A alocação reduzida realmente ajuda no gerenciamento de recursos, especialmente ao lidar com armazenamento definido por software.