Redimensionando partições por meio do ssh

1

Eu tenho uma hospedagem dedicada que roda no Linux. Eu tenho acesso ao servidor através de SSH e também directadmin. Isto é o que eu recebo executando o comando df -h :

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda3       188G  168G   11G  94% /
tmpfs           7.8G     0  7.8G   0% /dev/shm
/dev/sda1       477M   30M  422M   7% /boot
/dev/sdb1       917G   72M  871G   1% /home2
/dev/sda2        32G   48M   30G   1% /swap

Eu me pergunto como posso redimensionar as partições para que o sdb1 fique menor e o sda3 fique maior e eu não perca arquivos. Existem outros tópicos discutindo a partição de redimensionamento, mas nenhum no SSH e no Linux.

Fui perguntado: Por que o / é tão grande? Resposta: porque há muitas imagens lá. e para o sistema de arquivos eu encontrei este comando df -T e este é o resultado:

Filesystem     Type  1K-blocks      Used Available Use% Mounted on
/dev/sda3      ext4  197087532 175817088  11252296  94% /
tmpfs          tmpfs   8103088         0   8103088   0% /dev/shm
/dev/sda1      ext4     487652     30205    431847   7% /boot
/dev/sdb1      ext4  961301832     73364 912390428   1% /home2
/dev/sda2      ext4   32896880     49080  31170080   1% /swap
    
por agahi 23.01.2017 / 14:01

2 respostas

2

Redimensionar uma partição que é realmente usada pelo sistema operacional em execução é quase impossível e altamente desaconselhável. Como realizar o que você está procurando fazer depende do tipo de organização de hospedagem dedicada que você tem.

Se for uma máquina virtual , você deve ter acesso ao hipervisor (possivelmente chamado de "painel de controle" ou algo assim) que permite, por exemplo, ligar, desligar ou reinicie a máquina com o interruptor de energia emulado, se necessário. Essas interfaces também geralmente dão acesso a um 'console remoto', que é a versão de uma VM sentada na frente do teclado físico conectado à máquina real. Com isso, você pode inicializar uma imagem ISO contendo uma versão inicializável do gparted ou de outro editor de partições, que você pode usar para redimensionar suas partições conforme desejado.

Se for uma máquina física , a maioria das boas empresas de hospedagem oferecem "KVM-over-IP", ou seja, uma maneira remota de acessar o console físico real como um console do hipervisor da VM interface. Você provavelmente terá que pedir ao seu provedor de hospedagem para colocar uma mídia inicializável em uma unidade óptica ou USB para inicializar a partir de sua instalação se ainda não tiver uma opção para inicializar em parted no menu GRUB. Se é gerenciado hospedagem, eles provavelmente poderiam fazer o redimensionamento para você - que é depois de todo o gerenciamento que você estaria pagando nesse caso.

Naturalmente, sempre que você olhar para o tamanho das partições, faça o backup dos dados primeiro, porque, se algo der errado, a recuperação de um redimensionamento de partições falsificadas é difícil, na melhor das hipóteses.

    
por 23.01.2017 / 16:56
1

À primeira vista, eu não li sua saída df minuciosamente.

Não é possível " redimensionar as partições para que sdb1 fique menor e sda3 fique maior ", porque elas estão em discos diferentes ( sda e sdb ). Pelo tamanho dos discos, suponho sda é um SSD de 240 GB e sdb é um HD de 1000G.

Você só poderá mover arquivos de sda3 para sdb1 e, eventualmente, montar ou vincular sdb de volta.

Uma possível solução :

Suponha que a maioria dos dados em questão (suas imagens) esteja em algum lugar abaixo de /home , você pode movê-los para o que é /home2 no momento e, em seguida, montar /dev/sdb1 as /home . Como o tamanho usado supõe, não há dados sobre /home2 . Se houver, você primeiro os move para outro lugar.

Cuidado: Se você não estiver muito familiarizado com o Linux, isso pode ser perigoso, já que a movimentação de dados em uso (o seu diretório HOME) em um sistema em execução pode não ser capaz de registrá-lo novamente.

Outra solução possível (e talvez mais simples) :

Digamos que sua conta de login é me e as imagens estão no diretório /home/me/images . Você poderia movê-los para dizer /home2/me/images emitindo

sudo mkdir /home2/me
sudo chown me:me /home2/me
mv -v /home/me/images /home2/me
ln -s /home2/me/images /home/me

Em detalhes:

  • Com direitos de root ( sudo ), crie um diretório /home/me e altere a propriedade para me .
  • Mova a pasta images para o diretório recém-criado; -v informa o que está acontecendo. Isso pode levar um longo tempo; não interrompa o movimento, pois continuar após as interrupções será complicado.
  • Depois de ter movido a pasta (e seu conteúdo, é claro), crie um link simbólico para a nova posição no lugar da antiga.

Agora, você poderá trabalhar com a pasta de imagens como antes. Às vezes, você pode ter que alterar algumas configurações, pois nem todo software permite seguir links simbólicos por motivos de segurança (por exemplo, o apache ao usar a pasta public_html ou o samba quando os links apontam para pastas fora da pasta compartilhada).

Se você pudesse fornecer mais informações ( /path/to/images , o que está em /home2 , como os arquivos são acessados pelo httpd, qual é o conteúdo de /etc/fstab ), eu poderia avisar com mais detalhes.

E não se esqueça de ter sempre um backup atual e confiável dos seus dados valiosos!

    
por 25.01.2017 / 12:21