Shrink de ext3 com LVM
Para fazer o shrink primeiro você precisa redimensionar o filesystem(resize2fs) e depois a partição(que no caso é LVM então é só redimensionar o LVM com lvreduce).
O grande problema é que no resize2fs você precisa jogar o tamanho da partição e não da para retirar espaço com -25G por exemplo como parâmetro, e o tamanho da partição nunca é igual ao tamanho do filesystem(que no caso possui journaling, etc…).
Qual a solução então. Suponha que temos uma partição com 395Gb e você quer devolver 25G para o VG. Então fação um resize2fs menor que o tamanho que você quer, lvreduce -25G e resize2fs sem parâmetro(que ele faz o resize para o tamanho máximo alocado):
# resize2fs /dev/vg00/home 340G # lvreduce -L -25G /dev/vg00/home # resize2fs /dev/vg00/home
Obs. 1: A partição precisa estar desmontada
Obs. 2: MUITO, mas MUITO cuidado com estes comandos. Você pode perder TUDO o que tem no disco. Os comandos resize2fs e lvreduce não são 100% confiáveis. Eu mesmo já perdi coisa(mas eu sempre faço backup antes de rodar isto em produção).
A busca do Santo Graal: Google File System open-source
Talvez você já ouviu falar do file system que o google desenvolveu. Se ainda não, você pode ver o paper que eles publicaram em http://labs.google.com/papers/gfs.html. O GoogleFS(não vou escrever GFS pois é outro file system) foi aprimorado do BigFile criado por Larry Page e Sergey Brin(co-fundadores do google) no início do google. O mais lindo de tudo o que ele pode fazer é: simplesmente ir acrescentando servidores(na realidade computadores xing-ling mesmo até) na sua rede e eles irem adicionando espaço a um file system “virtual”, sempre tendo redundância em caso de falhas e podendo lidar com work-loads altíssimos. Ele é utilizado como backend por exemplo no GMail, no serviço de buscas do google, entre muitos outros produtos do google. Vou mostrar neste artigo o que da para fazer com ferramentas open-source.

