Habilitar volume de troca do armazenamento de instância para instâncias M1 e C1 do EC2
nota
Este tópico se aplica somente às instâncias c1.medium
e m1.small
do Linux.
Os tipos de instância c1.medium
e m1.small
têm uma quantidade limitada de memória física. Portanto, elas recebem um volume de troca de 900 MiB no momento da inicialização para atuar como memória virtual ou espaço de troca para o sistema Linux. O espaço de troca no Linux pode ser usado quando um sistema precisa de mais memória que a que foi alocada fisicamente. Quando o espaço de troca está habilitado, os sistemas Linux podem mudar páginas da memória física usadas infrequentemente para espaço de troca (uma partição dedicada ou um arquivo de troca em um sistema de arquivos existente) e liberar esse espaço para páginas de memória que exigem acesso de alta velocidade.
nota
-
O uso do espaço de troca para paginação de memória não é tão rápido ou eficiente quanto usar a RAM. Se a workload estiver paginando a memória regularmente no espaço de troca, é necessário considerar migrar para um tipo de instância maior com mais memória RAM. Para ter mais informações, consulte Alterações no tipo de instância do Amazon EC2.
-
Embora o kernel do Linux veja esse espaço de troca como uma partição no dispositivo raiz, ele é na verdade um volume separado para armazenamento de instâncias, independentemente do tipo de dispositivo raiz.
O Amazon Linux habilita e usa automaticamente esse espaço de troca, mas a AMI pode exigir algumas etapas adicionais para reconhecer e usar esse espaço de troca. Para ver se a instância está usando o espaço de troca, é possível usar o comando swapon -s.
[ec2-user ~]$
swapon -s
Filename Type Size Used Priority /dev/xvda3 partition 917500 0 -1
A instância acima tem um volume de troca de 900 MiB anexado e habilitado. Se você não vir um volume de troca listado com esse comando, será possível precisar habilitar o espaço de troca para o dispositivo. Verifique os discos disponíveis usando o comando lsblk.
[ec2-user ~]$
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda1 202:1 0 8G 0 disk / xvda3 202:3 0 896M 0 disk
Aqui, o volume de troca xvda3
está disponível para a instância, mas não está habilitado (observe que o campo MOUNTPOINT
está vazio). É possível habilitar o volume de troca com o comando swapon.
nota
Você precisa preceder /dev/
ao nome do dispositivo listado pelo lsblk. Seu dispositivo pode ter um nome diferente, como sda3
, sde3
ou xvde3
. Use o nome do dispositivo de seu sistema no comando abaixo.
[ec2-user ~]$
sudo swapon /dev/xvda3
Agora o espaço de troca deve ser mostrado na saída do lsblk e do swapon -s.
[ec2-user ~]$
lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT xvda1 202:1 0 8G 0 disk / xvda3 202:3 0 896M 0 disk [SWAP]
[ec2-user ~]$
swapon -s
Filename Type Size Used Priority /dev/xvda3 partition 917500 0 -1
Também será necessário editar o arquivo /etc/fstab
para que esse espaço de troca seja habilitado automaticamente em cada inicialização do sistema.
[ec2-user ~]$
sudo vim /etc/fstab
Acrescente a linha a seguir ao arquivo /etc/fstab
(usando o nome do dispositivo de troca de seu sistema):
/dev/xvda3
none swap sw 0 0
Para usar um volume de armazenamento de instâncias como espaço de troca
Qualquer volume de armazenamento de instâncias pode ser usado como espaço de troca. Por exemplo, o tipo de instância m3.medium
inclui um volume de armazenamento de instâncias SSD de 4 GB que é adequado para o espaço de troca. Se o volume de armazenamento de instâncias for muito maior (por exemplo, 350 GB), será possível considerar particionar o volume com uma partição de troca menor de 4 a 8 GB e o restante para um volume de dados.
nota
Esse procedimento se aplica apenas a tipos de instância que oferecem suporte ao armazenamento de instâncias. Para obter uma lista dos tipos de instâncias compatíveis, consulte Limites de volume de armazenamento de instância para instâncias do EC2.
-
Liste os dispositivos de blocos anexados à instância para obter o nome do dispositivo de seu volume de armazenamento de instâncias.
[ec2-user ~]$
lsblk -p
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT /dev/xvdb 202:16 0 4G 0 disk /media/ephemeral0 /dev/xvda1 202:1 0 8G 0 disk /
Neste exemplo, o volume de armazenamento de instâncias é
/dev/xvdb
. Como essa é uma instância do Amazon Linux, o volume de armazenamento de instâncias está formatado e montado em/media/ephemeral0
. Nem todos os sistemas operacionais Linux fazem isso automaticamente. -
(Opcional) Se o volume de armazenamento de instâncias está montado (ele é listado como um
MOUNTPOINT
na saída do comando lsblk), você precisa desmontá-lo com o comando a seguir.[ec2-user ~]$
sudo umount /dev/xvdb
-
Configure uma área de troca do Linux no dispositivo com o comando mkswap.
[ec2-user ~]$
sudo mkswap /dev/xvdb
mkswap: /dev/xvdb: warning: wiping old ext3 signature. Setting up swapspace version 1, size = 4188668 KiB no label, UUID=b4f63d28-67ed-46f0-b5e5-6928319e620b
-
Habilite o novo espaço de troca.
[ec2-user ~]$
sudo swapon /dev/xvdb
-
Verifique se o novo espaço de troca está sendo usado.
[ec2-user ~]$
swapon -s
Filename Type Size Used Priority /dev/xvdb partition 4188668 0 -1
-
Edite o arquivo
/etc/fstab
para que esse espaço de troca seja habilitado automaticamente em cada inicialização do sistema.[ec2-user ~]$
sudo vim /etc/fstab
Se o arquivo
/etc/fstab
tiver uma entrada para/dev/xvdb
(ou para/dev/sdb
) altere-o para que corresponda à linha abaixo. Se ele não tiver uma entrada para esse dispositivo, adicione a linha a seguir no arquivo/etc/fstab
(usando o nome do dispositivo de troca de seu sistema):/dev/
xvdb
none swap sw 0 0Importante
Os dados do volume de armazenamento de instâncias são perdidos quando uma instância é interrompida ou hibernada. Isso inclui a formatação do espaço de troca do armazenamento de instâncias criadas em Passo 3. Se você parar e reiniciar uma instância que foi configurada para usar o espaço de troca de armazenamento de instâncias, deverá repetir a Passo 1 até a Passo 5 no novo volume de armazenamento de instâncias.