Recentemente, um novo servidor SSD está online. O custo do SSD é muito alto, então o disco rígido SSD online não pode ter capacidade direta de alguns TB como o HDD. Ele só pode expandir gradualmente o disco rígido de acordo com as necessidades do negócio, por isso o tema. deste artigo nasce: Linux expande dinamicamente a capacidade do disco rígido enquanto mantém os dados originais inalterados.
No sentido tradicional, a expansão do disco rígido VPS utiliza montagem, ou seja, redividir um novo disco rígido em outra partição e, em seguida, montar a partição em um determinado diretório do disco rígido original. Esta abordagem é simples e conveniente. É viável se for usada apenas para expansão de armazenamento, mas é insuficiente para serviços de armazenamento com múltiplas necessidades.
A expansão dinâmica do disco rígido consiste em aumentar ou diminuir a capacidade de espaço do disco rígido, mantendo os dados originais inalterados, de modo a atender às nossas necessidades diárias de construção de sites. Este artigo apresentará como o Linux LVM gerencia o espaço em disco. LVM é um mecanismo para gerenciar partições de disco no ambiente Linux.
Linux LVM é uma camada lógica construída no disco rígido e na partição e no sistema de arquivos, que pode melhorar a flexibilidade do gerenciamento de partição de disco. Em relação aos problemas de gerenciamento de espaço em disco do Linux, também podemos resolver o problema de espaço insuficiente limpando, montando discos em nuvem, compartilhando, etc.
- Solução para espaço em disco do sistema Linux cheio - erro de nenhum espaço restante no dispositivo
- VPS monta discos de rede nacionais e estrangeiros para obter ferramentas de expansão gratuitas: Rclone, COS-Fuse e OSSFS
- Três maneiras de compartilhar diretórios de pastas no Linux - montagem remota NFS, armazenamento compartilhado GlusterFS e diretórios compartilhados samba
1. O comando resize2fs expande diretamente a capacidade.
Exemplo de uso de comando:
resize2fs -f /dev/vda1 #针对的是ext2、ext3、ext4文件系统 #参数说明 -d:打开调试特性; -p:打印已完成的百分比进度条; -f:强制执行调整大小操作,覆盖掉安全检查操作; -F:开始执行调整大小前,刷新文件系统设备的缓冲区。
Se a sua partição Linux usa LVM (o LVM usado pelo SolusVM VPS), você pode usar diretamente o comando resize2fs para expandir o disco original. Esta situação geralmente ocorre quando a capacidade do disco rígido verificada usando o comando df -h
é menor que a capacidade da partição do disco rígido verificada usando o comando fdisk -l
, conforme mostrado abaixo:
Após executar o comando resize2fs
para expandir a capacidade, verifique novamente e veja se a capacidade da partição do disco rígido aumentou.
2. Crie uma nova partição e monte-a para expandir a capacidade do disco rígido.
Se o seu provedor de hospedagem não particionou todos os discos rígidos quando os alocou originalmente, ou redividiu o tamanho do disco rígido (este é o caso da atualização do disco rígido do SolusVM VPS), então você descobrirá que pode usar o Comando df -h
para visualizar o disco rígido A capacidade é igual à capacidade da partição do disco rígido visualizada usando o comando fdisk –l
, mas é menor que o espaço total do fdisk, como. mostrado abaixo:
Neste momento, podemos criar uma nova partição e montá-la no disco rígido para obter expansão de capacidade. Execute o comando: fdisk /dev/vda
(ajuste o caminho do disco rígido de acordo com a situação real), insira a partição fdisk
e insira n (nova partição) → p (primária partição) → 1.2.3 (Número da partição) → Enter → p (ver partição) → w (salvar).
A partição recém-criada não está no formato LVM. Precisamos inserir o comando fdisk
novamente e, em seguida, inserir: t (formato de conversão) → número da partição 1.2.3 → 8e (LVM) → p (visualizar partição. ) → w ( salvar). Como mostrado abaixo:
Usando o método acima, criamos uma nova partição sda3 no disco rígido extra de 3 GB e configuramos para o formato LVM. Reinicie o host VPS para ter efeito ou execute o comando (este comando pode não ser suportado no CentOS 6): partprobe
. (Se o prompt não existir, execute a instalação primeiro: yum -y install parted
)
Use o seguinte comando para criar a partição inteira como um volume lógico LV: (Para uma introdução detalhada a PV, VG e LV, consulte a terceira parte)
pvcreate /dev/vda3 //创建物理卷 vgcreate qyfoutt /dev/vda3 //创建逻辑卷组 vgchange -ay qyfoutt //激活逻辑卷组 vgdisplay qyfoutt | grep "Total PE" //查看该卷组所有的PE lvcreate -l 17919 -n qimm qyfoutt //创建逻辑卷 mkfs.ext4 /dev/qyfoutt/qimm //格式化逻辑卷
Aqui eu crio um grupo de volumes lógicos chamado qyfoutt, com um total de 70GB disponíveis para alocação. Em seguida, um volume lógico chamado qimm foi criado e 70 GB foram atribuídos a ele. Ele é montado automaticamente na inicialização e a partição /dev/qyfoutt/qimm
recém-adicionada é montada em um determinado diretório. O formato é o seguinte:
vim /etc/fstab /dev/sdb1(磁盘分区) /data1(挂载目录-需要提前创建好) ext4(文件格式,也可写ext3)defaults 0 0 /dev/qyfoutt/qimm /ttfou ext4 defaults 0 0
Monte todos os diretórios: mount -a
(observe que está em inglês -) e a montagem será bem-sucedida.
3. O novo disco rígido é expandido diretamente para o disco rígido original.
Se você comprar um segundo disco rígido, não há necessidade de montá-lo neste momento. Você pode adicionar diretamente a capacidade de espaço do novo disco rígido ao disco rígido original. Conforme mostrado na imagem abaixo, já existe um disco rígido de 256GB (dividido em 3 partições, das quais sda3 está no formato lvm). De acordo com o método de criação de uma nova partição acima, divida todo o disco rígido em uma partição: sdb1.
3.1 Crie um novo volume físico PV
Comandos básicos:
pvcreate /dev/sda3 #新建PV #有两个以上的分区还可以一起新建PV pvcreate /dev/sda3 /dev/sdb1 -f:强制创建物理卷,不需要用户确认; -u:指定设备的UUID; -y:所有的问题都回答“yes”; -Z:是否利用前4个扇区。 pvs #查看pv基本信息 pvdisplay #查看pv详细信息
Conforme mostrado abaixo, um volume físico PV é criado para sdb1.
3.2 Expandindo o grupo de volumes VG
De acordo com o método acima, criamos PV, VG e LV e montamos o LV em um determinado diretório. Agora adicione o PV a ser construído ao VG original. Exemplo de comando básico:
vgcreate wzfou /dev/sda3 /dev/sdb1 #将两个PV卷加入到卷组wzfou -l:卷组上允许创建的最大逻辑卷数; -p:卷组中允许添加的最大物理卷数; -s:卷组上的物理卷的PE大小。 vgs或者vgdisplay来查看创建的卷组 vgextend qyfoutt /dev/sdb1 #扩容VG组
Conforme mostrado na imagem abaixo, adicionei sdb1 e sda3 ao mesmo grupo VG.
s pode especificar o tamanho do PE. Por exemplo, durante o processo de instalação mestre e controlada do SolusVM, exigimos que o PE seja 128 MB. Se houver novos PVs posteriormente, você poderá continuar a adicioná-los ao VG:
3.3 Expandir volume lógico LV
Já expandimos a capacidade do volume VG acima. Agora só precisamos expandir o LV original para toda a capacidade do volume VG.
vgdisplay qyfoutt | grep "Total PE" #查看所有PE lvresize -l 1279 /dev/qyfoutt/qimm #将VG组所有空间都给LV,1279是最后一个PE resize2fs /dev/qyfoutt/qimm #重设LV大小
Exemplo: O grupo VG tem capacidade de 5GB e o LV sob VG tem apenas 3GB.
Agora todo o espaço restante de 2 GB do grupo VG é dado ao LV para completar a expansão do LV.
4. Resumo
Se você deseja expandir o disco rígido, é recomendado usar o LVM para gerenciar a expansão do disco rígido. Se você quiser adicionar mais discos rígidos posteriormente, é uma questão muito simples para o LVM. A sequência básica de expansão é: Adicionar PV → expansão do grupo VG → expansão LV
.
Existem duas maneiras de adicionar PV: uma é adicionar um novo disco rígido e particioná-lo, e a outra é criar uma nova partição no disco rígido original. Não importa qual método seja usado para expandir o disco rígido, você deve primeiro criar o volume físico PV, depois criar o grupo de volumes VG e, finalmente, criar o volume lógico LV.