Ich hatte ein unbekanntes Problem mit meiner alten EC2-Instanz, sodass ich nicht mehr ssh hineinstellen kann. Deshalb habe ich aus einem Snapshot des alten Volumes ein neues EBS-Volume erstellt und versucht, es an die neue Instanz anzuschließen und bereitzustellen. Folgendes habe ich getan:
/dev/xvdf
(oder /dev/sdf
) hinzu.SSHed in die Instanz und versuchte, das alte Volume mit bereitzustellen:
$ Sudo mkdir -m 000 /vol
$ Sudo mount /dev/xvdf /vol
Und die Ausgabe war:
mount: block device /dev/xvdf is write-protected, mounting read-only
mount: you must specify the filesystem type
Nun, ich weiß, ich sollte das Dateisystem als ext4
angeben. Da das Volume jedoch viele wichtige Daten enthält, kann ich es nicht mit $ Sudo mkfs -t ext4 /dev/xvdf
formatieren. Ich kenne noch keine andere Möglichkeit, die Daten zu erhalten und gleichzeitig das Dateisystem anzugeben. Ich habe viel darüber gesucht und bin momentan ratlos.
Übrigens macht mir das Mounten als 'read-only' auch Sorgen, aber ich habe mich noch nicht damit befasst, da ich das Volume überhaupt nicht mounten kann.
Danke im Voraus!
Bearbeiten:
Wenn ich Sudo mount /dev/xvdf /vol -t ext4
(keine Formatierung) mache, bekomme ich:
mount: wrong fs type, bad option, bad superblock on /dev/xvdf,
missing codepage or helper program, or other error
In some cases useful info is found in syslog - try
dmesg | tail or so
Und dmesg | tail
gibt mir:
[ 1433.217915] EXT4-fs (xvdf): VFS: Can't find ext4 filesystem
[ 1433.222107] FAT-fs (xvdf): bogus number of reserved sectors
[ 1433.226127] FAT-fs (xvdf): Can't find a valid FAT filesystem
[ 1433.260752] EXT4-fs (xvdf): VFS: Can't find ext4 filesystem
[ 1433.265563] EXT4-fs (xvdf): VFS: Can't find ext4 filesystem
[ 1433.270477] EXT4-fs (xvdf): VFS: Can't find ext4 filesystem
[ 1433.274549] FAT-fs (xvdf): bogus number of reserved sectors
[ 1433.277632] FAT-fs (xvdf): Can't find a valid FAT filesystem
[ 1433.306549] ISOFS: Unable to identify CD-ROM format.
[ 2373.694570] EXT4-fs (xvdf): VFS: Can't find ext4 filesystem
Verwenden Sie diesen Befehl zum Einhängen, wenn Ihr Dateisystemtyp ext4 ist:
Sudo mount /dev/xvdf /vol -t ext4
Viele Leute haben Erfolg mit dem folgenden (wenn die Festplatte partitioniert ist):
Sudo mount /dev/xvdf1 /vol -t ext4
woher:
/dev/xvdf
wird in das EBS-Volume Gerät geändert, das gemountet wird/vol
wird in den Ordner geändert, in den Sie einhängen möchten.ext4
ist der Dateisystemtyp des Datenträgers, der gemountet wirdÜberprüfen Sie Ihren Mount-Befehl auf korrekt EBS Volume Gerätenamen und Dateisystemtypen. Im Folgenden werden alle aufgelistet:
Sudo lsblk --output NAME,TYPE,SIZE,FSTYPE,MOUNTPOINT,LABEL
Wenn Ihr EBS-Volume mit einem angehängten partition
angezeigt wird, mounten Sie das partition
; nicht die Festplatte.
Wenn dies nicht angezeigt wird, haben Sie Ihr EBS-Volume in der AWS-Webkonsole nicht Attach
Diese Geräte werden wieder freigegeben, wenn die EC2-Instanz jemals neu startet.
Sie können sie beim Starten erneut mounten, indem Sie die unten aufgeführte Serverdatei bearbeiten und nur den einzelnen zuvor verwendeten Mountbefehl einfügen.
/etc/rc.local
(Platzieren Sie Ihre Änderung über exit 0
, der letzten Zeile in dieser Datei.)
Ich habe festgestellt, dass sich das Volume aus irgendeinem Grund unter /dev/xvdf1
und nicht /dev/xvdf
befand.
Verwenden
Sudo mount /dev/xvdf1 /vol -t ext4
lief wie am Schnürchen
Dieses Problem ist auch aufgetreten, nachdem ein neues 16-GB-Volume hinzugefügt und an eine vorhandene Instanz angehängt wurde. Zunächst müssen Sie wissen, welche Festplatten Sie habenLauf
Sudo fdisk -l
Sie erhalten eine Ausgabe, die wie unten gezeigt aussieht und Informationen zu Ihren Festplatten (Volumes ") enthält.
Disk /dev/xvda: 12.9 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders, total 25165824 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Device Boot Start End Blocks Id System
/dev/xvda1 * 16065 25157789 12570862+ 83 Linux
Disk /dev/xvdf: 17.2 GB, 17179869184 bytes
255 heads, 63 sectors/track, 2088 cylinders, total 33554432 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000
Disk /dev/xvdf doesn't contain a valid partition table
Wie Sie sehen, ist die neu hinzugefügte Disk/dev/xvdf vorhanden. Um es verfügbar zu machen, müssen Sie ein Dateisystem darauf erstellen und an einen Mount-Punkt mounten. Das können Sie mit den folgenden Befehlen erreichen
Sudo mkfs -t ext4 /dev/xvdf
Durch das Erstellen eines neuen Dateisystems wird alles auf dem Datenträger gelöscht, also auf einem neuen Datenträger ohne wichtige Daten.
Dann mounten Sie es vielleicht in einem Verzeichnis unter dem Ordner/mnt
Sudo mount /dev/xvdf /mnt/dir/
Stellen Sie sicher, dass Sie das Volume in der Instanz bereitgestellt haben, indem Sie es ausführen
df -h
Das sollten Sie haben
Filesystem Size Used Avail Use% Mounted on
udev 486M 12K 486M 1% /dev
tmpfs 100M 400K 99M 1% /run
/dev/xvda1 12G 5.5G 5.7G 50% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 497M 0 497M 0% /run/shm
none 100M 0 100M 0% /run/user
/dev/xvdf 16G 44M 15G 1% /mnt/ebs
Und das ist es, Sie haben das Volume, das Sie dort verwenden können, an Ihre vorhandene Instanz angehängt . credit
Ich bin auf dieses Problem gestoßen und habe es jetzt verstanden,
[[email protected] ~]$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdf 202:80 0 8G 0 disk
└─xvdf1 202:81 0 8G 0 part
Sie sollten die partition
mounten
/ dev/xvdf1 (welcher Typ ist eine Partition)
disk
nicht mounten
/ dev/xvdf (welcher Typ ist eine Platte)
Ich hatte ein anderes Problem. Als ich dmesg-Logs eincheckte, war das Problem mit derselben UUID des vorhandenen Root-Volumes und der UUID des Root-Volumes eines anderen ec2. Um dies zu beheben, habe ich es auf einem anderen Linux-Typ von ec2 installiert. Es funktionierte.
Sie müssen kein Dateisystem des neu erstellten Volumes aus snapshot erstellen. Verbinden Sie das Volume einfach mit dem Volume und hängen Sie es an den Ordner an, an dem Sie möchten. Ich habe den neuen Datenträger an den gleichen Ort wie den zuvor gelöschten Datenträger angehängt und er funktionierte einwandfrei.
[[email protected] vol1]$ Sudo lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
xvda 202:0 0 8G 0 disk
└─xvda1 202:1 0 8G 0 part /
xvdb 202:16 0 10G 0 disk /home/ec2-user/vol1