Migration d'AWS EC2 vers un nouveau type d'instance avec des disques SSD

13

J'ai MySQL en cours d'exécution sur une instance m1.xlarge avec un volume EBS de 100 Go contenant les fichiers de données. Je voudrais migrer vers une instance m3.2xlarge et placer les fichiers de données sur les nouveaux disques SSD 2 x 80 Go.

J'ai arrêté mon instance, changé le type en conséquence et l'ai lancée. Cependant, tout ce que j'ai pu trouver pour le stockage était un tempfs 15G et un lecteur monté 8G.

$ fdisk -l
Disk /dev/xvda1: 8589 MB, 8589934592 bytes
255 heads, 63 sectors/track, 1044 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Comment accéder aux 2 SSD de 80 Go pour ce type d'instance?

paiego
la source
fdisk -l, mkfsalors mount.
ceejayoz
1
Lorsque vous avez modifié le type d'instance et l'avez lancé, seuls le type de RAM et de CPU changent. Afin de redimensionner le disque en général, l'idée est la suivante: - créer un instantané de votre instance - créer un volume plus important à partir de l'instantané dans la même zone - attacher un nouveau volume à l'instance / dev / sda1 - démarrer l'instance (changements de nom DNS)
LinuxDevOps
@LinuxDevOps: Merci. En changeant la façon dont je l'ai fait, le volume joint sera-t-il toujours disponible tel qu'il était avant le changement d'instance?
paiego
Vérifiez votre console Web AWS sous Gestion EC2 -> Volumes si elle est là (identifiez par capacité et 'disponible'), vous l'avez peut-être perdue
LinuxDevOps

Réponses:

13

Donc, pour une réponse complète, fondamentalement, vos lecteurs SSD sont des disques éphémères et, selon la documentation AWS, la seule façon d'utiliser ces disques éphémères est de créer une nouvelle instance. (La fonctionnalité permettant d'attacher un stockage éphémère à l'instance après sa création n'est pas encore disponible)

Ceci provient des documents AWS :

Les instances qui utilisent Amazon EBS pour le périphérique racine n'ont pas, par défaut, de magasin d'instances disponible au démarrage. En outre, vous ne pouvez pas attacher des volumes de stockage d'instance après avoir lancé une instance. Par conséquent, si vous souhaitez que votre instance basée sur Amazon EBS utilise des volumes de stockage d'instance, vous devez les spécifier à l'aide d'un mappage de périphérique de bloc lorsque vous créez votre AMI ou lancez votre instance. Des exemples d'entrées de mappage de périphérique de bloc sont: / dev / sdb = ephemeral0 et / dev / sdc = ephemeral1. Pour plus d'informations sur le mappage de périphérique de bloc, voir Mappage de périphérique de bloc

Comme @LinuxDevOps l'a mentionné, vous devez créer un instantané de votre instance existante, puis en créer un nouveau en attachant les volumes SSD. Après vous être connecté à votre nouvelle instance, vous pouvez faire comme mentionné @ceejayoz.

Listez vos appareils:

fdisk -l

Créez un système de fichiers sur les appareils. Par exemple ext4

mkfs.ext4 /dev/xvdb
mkfs.ext4 /dev/xvdc

Montez les appareils:

mkdir -p /mnt/xvdb; mkdir -p /mnt/xvdc
mount /dev/xvdb /mnt/xvdb
mount /dev/xvdc /mnt/xvdc

Pour référence: liste des noms de périphériques selon les types d'instances

Il existe également d'autres réponses similaires dans SF et SO. Par exemple: Où est mon stockage éphémère pour l'instance EC2

Rico
la source