Im Rahmen meines Forschungsseminars und zu Testzwecken, wollte ich die auf der Oracle Cloud Infrastructure (OCI) kostenlos zur Verfügung stehenden Produkte nutzen, um einige Tests durchzuführen. Hierbei ergaben sich allerdings einige, eigentlich triviale Probleme, bei der Anbindung eines zusätzlichen Block Volumes an eine bestehende VM Instanz.
TLDR:
Nachdem der Block Volume an die VM über die Webkonsole angebunden wurde, muss sie noch partitioniert, formatiert und am Ende gemountet werden, um nutzbar zu sein.
1. Ressourcen erstellen
Mit Hilfe der Webkonsole können die entsprechenden Resourcen leicht erstellt werden. Es ist aber wichtig daran zu denken, dass Block Volume und VM in der gleichen Availability Domain liegen.
2. Block Volume an die VM Instanz anbinden
Nun müssen beide Resourcen miteinander in Beziehung stehen. Dies kann wie folgt gemacht werden: Instanz > Angehängte Block Volumes > er > Block-Volume anhängen
Im Dropdown Menü kann nun die Resource ausgewählt werden. Alternativ kann auch die OCID, ein globaler Resourcen Identifikator, des Block Volumes eingetragen werden
Es gibt zwei verschiedene Optionen, um den Block Volume an die Instanz anzubinden. Paravirtualized nutzt Virtualisierungtechniken, um den auf den Speicher zuzugreifen und ist somit nicht auf Bare Metal Maschinen verfügbar. Durch die Virtualisierung hat es einen leichten Overhead im Vergleich zur direkten Anbindung wie es bei iSCSI der Fall ist. Das Anbinden in dem paravirtualized mode hat allerdings den Charme, dass es keine Konfiguration benötigt (Schritt 2.1) und somit den Prozess vereinfacht, insbesondere in Hinblick auf Infrastruktur Provisionierung über beispielsweise Terraform.
Für weitere Informationen siehe oracle blog Eintrag.
2.1 Die vordefinierten iSCSI Befehle ausführen
Wenn nun in die VM ssh-t wird, wird noch kein neuer Speicher angezeigt. Dies liegt (vermutlich) daran, dass der Block Volume noch registriert werden muss. Dies kann bewerkstelligt werden, indem die vordefinierten iSCSI Befehle auf der VM ausgeführt werden. Diese können gefunden werden, indem auf die drei vertikalen Punkte neben dem Block Volume geklickt und die entsprechende Option aufgerufen wird.
Jetzt steht der neue Speicher zur Verfügung und kann wie gewohnt frei genutzt werden. Vollständigkeitshalber werden hier noch die nächsten Schritte mit aufgezählt, die sich direkt an phoenixnap.com richten.
3. Partition erstellen
Mit Hilfe des Befehls lsblk
kann eingesehen werden, dass nun ein neues Gerät erkannt wurde.
Wird diese nun versucht zu mounten, wie ich es (in tiefster Nacht) getan habe, so wird ein Fehler geworfen “wrong fs type, bad option, bad superblock on /dev/sdb, missing codepage or helper program, or other error “
Natürlich muss diese noch ordnungsgemäß partitioniert werden und zwar wie folgt:
sudo fdisk /dev/sdb
Dies öffnet ein interaktives Dialogprogram zur Partitionierung von Geräten. Um eine neue Partition zu erstellen muss zuerst n
gedrückt werden.
Danach muss nur noch durch das interaktive Menü navigiert werden. Einfachhalthalber kann auch immer nur Enter gedrückt werden, sodass die Standarteinstellungen genutzt werde.
Am Ende müssen diese Änderungen dann noch geschrieben werden. Hierzu die Taste w
drücken.
4. Partition formatieren
sudo mkfs -t ext4 /dev/sdb1
5. Partition mounten
sudo mkdir -p /mt/sdb1
sudo mount -t auto /dev/sbd1 /mt/sdb1