Ajouter EBS à l'instance Ubuntu EC2

140

J'ai des problèmes pour connecter le volume EBS à mon instance Ubuntu EC2.

Voici ce que j'ai fait:

  1. À partir de la console Amazon AWS, j'ai créé un volume EBS de 150 Go et l'ai attaché à une instance Ubuntu 11.10 EC2. Sous les propriétés du volume EBS, "Attachment" affiche: "[my Ubuntu instance id]: / dev / sdf (attachment)"

  2. J'ai essayé de monter le lecteur sur la boîte Ubuntu, et il m'a dit "mount: / dev / sdf n'est pas un périphérique bloc"

    sudo mount /dev/sdf /vol

  3. J'ai donc vérifié avec fdisk et essayé de monter à partir du nouvel emplacement et cela m'a dit que ce n'était pas le bon système de fichiers.

    sudo fdisk -l

    sudo mount -v -t ext4 /dev/xvdf /vol

    l'erreur:

    mount: mauvais type de fs, mauvaise option, mauvais superbloc sur / dev / xvdf, page de code ou programme d'aide manquant, ou autre erreur Dans certains cas, des informations utiles se trouvent dans syslog - essayez dmesg | queue ou plus

    "dmesg | tail" m'a dit qu'il avait donné l'erreur suivante:

    EXT4-fs (sda1): VFS: impossible de trouver le système de fichiers ext4

J'ai également essayé de mettre les configurations dans le fichier / etc / fstab comme indiqué sur http://www.webmastersessions.com/how-to-attach-ebs-volume-to-amazon-ec2-instance , mais je n'ai toujours pas donné la même chose erreur du système de fichiers.

Des questions:

Q1: Sur la base du point 1 (ci-dessus), pourquoi le volume a-t-il été mappé à «dev / sdf» alors qu'il est vraiment mappé à «/ dev / xvdf»?

Q2: Que dois-je faire d'autre pour charger le volume EBS? Je pensais que ça s'occuperait de tout pour moi quand je l'attacherai à une instance.

JackDev
la source
Cela peut appartenir à un site StackExchange orienté sysadmin. Néanmoins exactement ce que j'avais besoin de trouver. Merci d'avoir posé cette question!
pcurry

Réponses:

325

Puisqu'il s'agit d'un nouveau volume, vous devez formater le volume EBS (périphérique bloc) avec un système de fichiers entre l'étape 1 et l'étape 2. Donc, l'ensemble du processus avec votre point de montage d'échantillon est:

  1. Créez un volume EBS.

  2. Attachez le volume EBS à /dev/sdf(nom externe d'EC2 pour ce numéro de périphérique particulier).

  3. Formater le système de fichiers /dev/xvdf(nom interne d'Ubuntu pour ce numéro de périphérique particulier):

    sudo mkfs.ext4 /dev/xvdf
    

    Formatez le système de fichiers uniquement s'il s'agit d'un nouveau volume sans données. Le formatage rendra difficile, voire impossible, la récupération des données qui se trouvaient auparavant sur ce volume.

  4. Montez le système de fichiers (avec mise à jour de / etc / fstab pour qu'il reste monté au redémarrage):

    sudo mkdir -m 000 /vol
    echo "/dev/xvdf /vol auto noatime 0 0" | sudo tee -a /etc/fstab
    sudo mount /vol
    
Eric Hammond
la source
3
Pour être explicite, / dev / xvdf n'existe pas avant votre montage / dev / sdf.
Dror
2
Merci beaucoup pour cela! J'étais totalement confus par le répertoire / mnt et j'ai supposé à tort que mon volume EBS supplémentaire (/ dev / xvdf) que j'avais demandé à AWS de joindre lors de la création de l'instance était déjà monté. De plus, le mappage entre ce qu'AWS montre (/ dev / sdf) et (/ dev / xvdf) qui existe sur ubuntu m'a fait trébucher.
ankimal
7
@scrapcodes: Heureusement, ce sont certainement les bonnes étapes pour la question de l'affiche originale (nouveau volume EBS non formaté). Ce ne sont certainement pas les bonnes étapes si vous avez une situation complètement différente (volume EBS créé à partir d'un instantané contenant un système de fichiers existant).
Eric Hammond
9
Pourquoi la quatrième étape inclut-elle le drapeau -m 000?
Joe Mornin
25
@JosephMornin La désactivation de tous les bits dans le mode est un simple indicateur que personne ne devrait être autorisé à faire quoi que ce soit dans ce répertoire jusqu'à ce qu'un nouveau système de fichiers soit monté ici. C'est un message que ce répertoire a été créé comme point de montage. Il n'est pas nécessaire pour la fonctionnalité, mais évite parfois les erreurs de création de fichiers lorsque le volume souhaité n'est pas monté.
Eric Hammond
-3

Étape 1: créer un volume
étape 2: attacher au volume racine de votre instance
étape 3: exécuter sudo resize 2fs -p / dev / xvde
étape 4: redémarrer apache2 sudo service apache2 redémarrer
étape 4: exécuter df -h

Vous pouvez voir le volume total associé à votre instance.

Ramesh Sinha
la source