Esta é realmente uma ótima pergunta!
O OpenVZ é uma tecnologia de virtualização no nível do sistema operacional, na qual cada nó compartilha os recursos do host principal. No OpenVZ, o administrador pode apenas alterar uma configuração e, naturalmente, um conjunto diferente de recursos seria fornecido ao usuário. É por isso que quase todos os hosters (incluindo o seu como você mencionou em seus comentários) implementam atualizações e downgrades para o OpenVZ, porque alterar as alocações de processo e memória é semelhante fazendo uma mudança com o getrlimit, setrlimit(2)
chamadas do sistema e alterar o tamanho do disco é semelhante a quotactl(2)
chamada de sistema . Se você não estiver familiarizado com essas chamadas de sistema para entender a alegoria, basta olhar para a seção HISTORY para ver que elas existem muito antes de o Linux ser criado - é assim que elas são primárias, básicas e sem riscos. (O OpenVZ tem o seu próprio jeito de fazer essas coisas, mas é basicamente o mesmo conceito).
O Xen, por outro lado, é uma virtualização completa de um hardware típico. Mudar a memória no Xen é como adicionar ou remover fisicamente os módulos de memória - você faria isso com um sistema em execução e espera que o software seja capaz de lidar com isso? O mesmo para processadores. O mesmo para o HDD. Então, grande coisa, apenas desligue primeiro, certo? Bem, sim, isso é possível e totalmente aceitável em relação à memória e à CPU, mas o HDD é diferente, pois contém os dados que você gostaria de preservar.
Como o HDD é diferente? No OpenVZ, o disco rígido que você vê é apenas um subconjunto dos arquivos reais de um sistema de arquivos do host existente, basicamente; se você não tiver arquivos, não terá tamanho; e todos os limites são efetivamente soft . No Xen, seria o sistema de arquivos real, apoiado por um arquivo de um certo tamanho no host, do mesmo tamanho do disco virtualizado.
Vamos esquecer a virtualização por um minuto. Agora, se você já fez uma cópia textual (com dd(1)
) de um HDD menor para um HDD maior, você Eu sei que os resultados parecem idênticos, sem mostrar qualquer aumento de espaço no disco. Isso porque você está copiando o sistema de arquivos real e o disklabel(5)
do disco literalmente. Se você quisesse usar mais espaço no mesmo sistema de arquivos, primeiro teria que editar a partição MBR do disco com fdisk(8)
, em seguida, disklabel com disklabel(8)
, e só então chamar growfs(8)
para realmente aumentar o tamanho do sistema de arquivos. O próprio sistema de arquivos contém vários metadados em todo o disco, portanto, ele precisa ser expandido e reduzido com um comando especial. Se você olhar a página de manual, notará que o próprio growfs é uma invenção muito mais moderna (pode até ser um catchup para o GNU / Linux!) E, pelo menos no mundo BSD, ainda falta um requisito "shrinkfs" ".
Agora, voltemos ao Xen. O HDD do seu VPS provavelmente é apoiado por um único arquivo de tamanho específico no host Xen subjacente. Para reduzi-lo, você deve primeiro reduzir o sistema de arquivos subjacente em seu VPS (por sorte, ao contrário de ffs / ufs em * BSD, encolher de fato é suportado no Linux para ext2 / ext3 etc), em seguida, preocupe-se com o disklabel / fdisk, conforme aplicável. Só então o provedor de hospedagem Xen truncará o arquivo subjacente que faz o backup de seu disco rígido.
Basta dizer que tudo é possível , e o Linode, por exemplo, automatiza todas essas coisas (incluindo o encolhimento e o crescimento automático do sistema de arquivos conforme necessário, sem qualquer intervenção do seu lado) . Mas, desnecessário dizer, tudo isso soa muito mais complicado do que apenas fazer uma chamada de sistema (que realmente não precisa fazer nada além de modificar uma variável e reiniciar um processo), isso?
P.S. Muitas vezes, os hosters recusam-se especificamente a rebaixar o preço de pedidos antigos, dizendo ao cliente para reordenar, porque eles sabem que nem todos se incomodam em se preocupar com isso apenas para economizar alguns rublos aqui e ali. E para o hoster, isso é receita extra.
No entanto, em termos de manter seu endereço IP, você pode perguntar ao seu hoster se seria possível reatribuir seu endereço IPv4 antigo ao seu novo servidor depois de concluir a migração. Se eles não estiverem dispostos a oferecer algo assim também, sugiro que você considere migrar para o concorrente deles.