freenode
Goto Top

Wie teilt man beim verbinden eines iSCSI-Targets einen Laufwerksbuchstaben zu?

Hallo miteinander,

ich habe ein NAS, welches vier iSCSI-Targets zur verfügung stellt. Diese möchte ich per PowerShell auf einem Server 2022 verbinden, und zwar der Reihe nach. Also Sprich das Target1 soll auch als erstes Laufwerk verbunden werden und einen spezifischen Laufwerksbuchstaben erhalten (W:, X:, Y: und Zface-smile.

Zum verbinden gehe ich wie folgt vor: Ich frage erst mal alle Targets mit Get-IscsiTarget ab und pipe das dann zu Select-String. Hier wähle ich dann das Target aus, das ich verbinden möchte (mit -InputObject {$_.NodeAdress} -Pattern "Target1") und pipe das dann wiederum weiter zu Connect-IscsiTarget.

Das gewünschte Laufwerk wird dann auch verbunden, bekommt aber den ersten möglichen Laufwerksbuchstaben zugeordnet. Ich brauche also einen Befehl, um dem Target beim verbinden gleich noch einen Buchstaben zuzuordnen.

Bei Google und MS selbst finde ich nichts dazu. Nur, wie man die Buchstaben von vorhandenen Targets ausliest etc. Hat hier jemand eine Idee, wie sich das bewerkstelligen lässt?

Besten Dank vorab und schönen Tag euch noch!

- freenode

Content-Key: 6274713305

Url: https://administrator.de/contentid/6274713305

Printed on: April 25, 2024 at 01:04 o'clock

Member: commodity
commodity Mar 08, 2023 at 15:05:35 (UTC)
Goto Top
Member: freenode
freenode Mar 09, 2023 at 06:07:12 (UTC)
Goto Top

Hi, danke für den Link.

Das Problem ist, dass die verbundenen Targets in Diskpart alle gleich heißen. Das heißt ich sehe dort nicht mehr den target Namen "Target1" etc. und kann somit nicht garantieren, dass das richtige Target auch den richtigen Laufwerksbuchstaben bekommt. Oder übersehe ich da was?
Member: NordicMike
NordicMike Mar 09, 2023 at 06:55:17 (UTC)
Goto Top
Wenn du die iSCSI Targets verbindest, hast du erst mal nur eine SCSI Platte dazu bekommen. Mehr macht iSCSI nicht. Welchen Laufwerksbuchstaben es dann bekommt bestimmt die Datenträgerverwaltung, diese legt es sicherlich in der Registry ab. Wenn du das Laufwerk später neu verbindest, erinnert es sich an den vergebenen Buchstaben.

Du kannst ja mal als ersten Schritt ein iSCSI nach dem anderen verbinden und dem neuen Laufwerk in der Datenträgerverwaltung den richtigen Buchstaben zuweisen, dann wieder trennen und zum nächsten. Dann umgehst du das Problem mit den gleichen Bezeichnungen.
Mitglied: 6247018886
Solution 6247018886 Mar 09, 2023 updated at 07:32:04 (UTC)
Goto Top
Moin.
Hier werden keine Laufwerksbuchstaben automatisch vergeben, Connect-IScsiTarget stellt wie gesagt erst mal nur die Verbindung zu virtuellen Disk her, und das Zuweisen von Laufwerksbuchstaben macht man dann manuell bspw. so
New-IscsiTargetPortal -TargetPortalAddress X.X.X.X
Get-IscsiTarget | ? NodeAddress -eq 'iqn.1991-05.com.microsoft:xxxxx-xxxxx-target' | Connect-IScsiTarget  
Get-PhysicalDisk | ? BusType -eq 'iSCSI' | %{Get-Partition -DiskNumber $_.DeviceID -PartitionNumber 1 | Add-PartitionAccessPath -AccessPath F:}  
Im Get-PhysicalDisk kannst du ja zusätzlich auch noch nach Seriennummer filtern wie man es halt braucht...
Get-PhysicalDisk | ?{$_.BusType -eq 'iSCSI' -and $_.SerialNumber -eq '014C9D28-DBAA-445E-B88C-570660476FD6'} | ...................
Cheers briggs
Member: commodity
Solution commodity Mar 09, 2023 updated at 10:22:42 (UTC)
Goto Top
Zitat von @freenode:
Das Problem ist, dass die verbundenen Targets in Diskpart alle gleich heißen. ...
Wenn das so ist, warum auch immer, dann verbinde doch erst ein Target, vergib dann mit diskpart den Buchstaben und weiter geht's. Kollge @NordicMike hat es ja schon beschrieben.

Edit: Sorry, Du willst es ja mit der Powershell machen. Habe gerade den Weg des Kollegen @6247018886 nachgestellt. Funktioniert bei mir super!

Viele Grüße, commodity
Member: freenode
freenode Mar 09, 2023 at 11:36:42 (UTC)
Goto Top
Hallo miteinander,

konnte es mit eurer Hilfe inzwischen lösen. Danke für den Support! Anbei das Skript:

Get-IscsiTarget | Connect-IscsiTarget

Get-Partition | Where-Object DiskPath -Like "000100" | Set-Partition -NewDriveLetter X  

Die 2. Zeile dann 4x mit den passenden Namen. Das Skript verbindet also erstmal alle Targets, identifiziert dann die einzelnen Drives und ersetzt den Buchstaben.
Member: commodity
commodity Mar 09, 2023 at 11:48:41 (UTC)
Goto Top
Einfach und gut! Danke für's Feedback.
Ich habe beim Testen gelernt, meine Targets standardkonform zu benennen face-wink
Windows kommt mit Großschreibung im Targetnamen nicht zurecht. Unter Debian kein Problem...

Viele Grüße, commodity