Bluray Laufwerk in Docker + VM


abra8c

Recommended Posts

Hallo zusammen,

ich habe ein Laufwerk das meistens einfach nur in den MakeMKV Docker eingebunden ist und mir dort Disks einließt.
Hin und wieder benötige ich das Laufwerk aber auch in einer VM. Also beende ich MakeMKV und starte die VM, dass funktioniert auch super aber wenn ich dann die VM schließe und wieder den Docker verwenden möchte findet MakeMKV kein Laufwerk mehr.
Bislang kann ich das Problem nur durch Neustart des ganzen Servers beheben.
Gibt es da irgend eine bessere Lösung? In meinem Server ist leider auch kein Platz für ein extra VM Laufwerk.

Ich bedanke mich schon mal im voraus für alle Antworten.

Link to comment
14 minutes ago, mgutt said:

Mounted unRAID das Laufwerk oder übergibt man das über /dev/... ?

Das Laufwerk wird immer mit /dev/sr0 ... /dev/sr1 usw. eingebunden.

 

15 minutes ago, mgutt said:

Wenn nicht müsste man das Gerät rauswerfen und den richtigen SCSI Host neu scannen (in dem Link hat er "host1" ermittelt):

https://www.skytale.net/blog/archives/24-Resetting-SATA-devices-under-Linux.html

Das sieht nützlich aus. Schritt 1 und 2 hab ich hinbekommen und das Laufwerk wird auch nicht mehr mit "lsscsi"(keine Ahnung wie man das richtig formatiert) gefunden.
Was war an meinem command falsch?
 

echo "../devices/pci0000:00/0000:00:01.1/0000:01:00.1/ata2/host2/target2:0:0/2:0:0:0/block/sr0" > /sys/class/scsi_host/host2/scan
bash: echo: write error: Invalid argument

 

Link to comment
2 minutes ago, mgutt said:

Die Bindestriche mit den Leerzeichen dazwischen sollst du nicht ersetzen. Die müssen dahin. Nur die Zahl von host anpassen. Also in deinem Fall die 2.

Hab ich grad auch selbst bemerkt, sah irgendwie nicht richtig aus.
 

  • Haha 1
Link to comment

Hab es jetzt durchgetestet und es hilft mir leider nicht wirklich weiter.
Alle Laufwerke/Platten haben immer zwei identifier im Falle meines Laufwerks war das /dev/sr0 und /dev/sg9.
Der VM reicht es wenn ich /dev/sr0 zu ihr durchschleife.
MakeMKV braucht aus irgend einem Grund aber beide, also /dev/sr0 und /dev/sg9.

Jetzt das Problem: Wenn ich das Laufwerk rausschmeiße und wieder hinzufüge hatte das Laufwerk /dev/sr0 und /dev/sg16.
Auch wenn ich das in der Docker config von /dev/sg9 auf /dev/sg16 ändern kann und es dann wieder funktioniert ist das doch eher unpraktisch.

Für was ist diese zweite Kennung überhaupt da und gibt es ne Möglichkeit beim neu einbinden dem Laufwerk immer fest /dev/sg9 zuzuweisen?

Edited by abra8c
Link to comment
1 hour ago, abra8c said:

MakeMKV braucht aus irgend einem Grund aber beide, also /dev/sr0 und /dev/sg9.

Jetzt das Problem: Wenn ich das Laufwerk rausschmeiße und wieder hinzufüge hatte das Laufwerk /dev/sr0 und /dev/sg16.
Auch wenn ich das in der Docker config von /dev/sg9 auf /dev/sg16 ändern kann und es dann wieder funktioniert ist das doch eher unpraktisch.

Das Problem habe/hatte ich auch ohne VM, Server neu gebootet - bumm neue Kennung. Seit einiger Zeit scheint jetzt aber sg* konstant zu bleiben.

Woran das aber nun lag, keine Ahnung?! Und noch weniger wofür da zwei Kennungen notwendig sind.

Link to comment
14 minutes ago, jj1987 said:

Das Problem habe/hatte ich auch ohne VM, Server neu gebootet - bumm neue Kennung. Seit einiger Zeit scheint jetzt aber sg* konstant zu bleiben.

Woran das aber nun lag, keine Ahnung?! Und noch weniger wofür da zwei Kennungen notwendig sind.

Dann scheint das ja normal zu sein wenn die Laufwerke neu gemountet werden. Hatte ich komischerweise beim reboot noch nie.
Bleibt nur die Frage ob man da was machen kann damit die zweite Kennung konstant bleibt.

Link to comment
2 minutes ago, jj1987 said:

Ich hatte dann entsprechend mehr "sg*" devices in den Docker gemappt.

Nicht schön, aber funktionell ;-)

Auf so eine Hässliche Idee wär ich wahrscheinlich nie gekommen.
Aber Vielen Dank, so werde ich es wohl machen.

Link to comment
  • 5 months later...

Hallo zusammen, 

 

ich muss mich hier in dem Thema mal einschalten, da ich leider Probleme habe meine Blu ray Laufwerke in meine WindowsVM einzubinden. Ich habe die XML-Datei meiner VM entsprechend verschiedener Beiträge hier im Forum wie folgt angepasst:

 

<hostdev mode='subsystem' type='scsi' managed='no'>
	<source>
		<adapter name='scsi_host6'/>
		<address bus='0' target='0' unit='0'/>
	</source>
	<readonly/>
	<address type='drive' controller='0' bus='0' target='0' unit='0'/>
</hostdev>

 

Nun wird das Laufwerk zwar im Gerätemanager als neues SCSI Gerät angezeigt (s. Screenshot), ich kann es aber leider nicht korrekt installieren, da kein Treiber gefunden wird. Ich habe bereits folgende Verzeichnisse bei der Treiberinstallation auf der Virtio CD angegeben:

  • amd64 -> w10
  • vioscsi -> w10

Screenshot-1.thumb.png.ea610e26c723014d7d6ceb40e580e311.png

 

Ich bekomme das Laufwerk in meiner VM einfach nicht ans Laufen. Was mache ich falsch?

Link to comment

Die Frage ist ob die Treiber überhaupt für optische Laufwerke gedacht sind?! Habe ich leider keine Erfahrungswerte.

 

Am einfachsten wäre es vermutlich, wenn du eine kleine SATA Karte durchschleifst (die optische Laufwerke unterstützt) und da dann das Laufwerk dran klemmst. Dann hättest du 1:1 Zugriff auf das Laufwerk und nicht virtuell.

Link to comment

Um mich hier nochmal einzumischen. Ich nutze schon länger hin und wieder mal meine BluRay Laufwerke in einer Windows VM.

Bei mir hat es immer auf Anhieb funktioniert, auch einfach das Device durchgeschliffen und Treiber installiert.

Ich kann leider aktuell auch nicht nachschauen wie genau meine config aussieht da ich am umbauen bin.

Link to comment

Ich meine auch, dass ich das Laufwerk in meiner VM mal am laufen hatte kann mich da aber nicht mehr zu 100% dran erinnern, da es nur ein kurzer Test war... :( ... Ich meine, das Laufwerk wurde auch direkt erkannt und ich habe dann über den Gerätemanager den Treiber installiert. Leider weiß ich nicht mehr welchen Ordner ich damals bei der Treiberinstallation angegeben habe.

 

Ich verstehe aber nicht warum ich jetzt immer folgende Meldung erhalte:

image.png.d10d53806596dc6c6e588f53ce803f76.png

 

Eidt: Nach dem ich bei meiner "Produktiv VM" aus <hostdev mode='subsystem' type='scsi' managed='no'> das managed='no' entfernt und controller='1' von 0 auf 1 geändert habe, wird das Laufwerk erkannt. Die Infos habe ich aus folgendem Thread:

Wenn ich aber eine neue VM anlege, funktioniert es wieder nicht. Ich weiss leider nicht mehr was ich gemacht habe da ich das Laufwerk vor einiger Zeit in meiner produktiv VM angelegt habe... Aber es muss doch einen sauberen Weg geben das bei neuen VMs zu schaffen?!?!

 

Edited by Pixelpaule
Link to comment

Hallo zusammen,

 

nach dem ich mir in Ruhe noch einmal alles angesehen habe, hat es nun auch endlich geklappt. Meine beiden Blu ray Laufwerke, die per SATA mit dem Mainboard verbunden sind, werden nun auch in frisch aufgesetzten VMs erkannt. Ich habe die ganze Zeit den Fehler gemacht und folgende Zeile vergessen:

<controller type='scsi' index='0' model='virtio-scsi'/>

 

Nach dem ich folgenden XML Code vollständig einer frischen VM hinzugefügt habe (vor dem schließenden </devices> Tag), klappte es:

<controller type='scsi' index='0' model='virtio-scsi'/>
<hostdev mode='subsystem' type='scsi'>
  <source>
    <adapter name='scsi_host6'/>
    <address type='scsi' bus='0' target='0' unit='0'/>
  </source>
  <readonly/>
  <address type='drive' controller='0' bus='0' target='0' unit='0'/>
</hostdev>

 

Nach dem Klick auf "Update" hat Unraid folgenden XML-Code hinzugefügt:

<controller type='scsi' index='0' model='virtio-scsi'>
  <address type='pci' domain='0x0000' bus='0x08' slot='0x00' function='0x0'/>
</controller>
<controller type='scsi' index='1' model='virtio-scsi'>
  <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
</controller>

 

Hier ist mir dann aufgefallen, dass die Zuweisungen von "<controller index='0'> und <address controller='0' /> jeweils bei den Laufwerken nicht übereingestimmt haben. Der Flüchtigkeitsfehler lag also bei mir... :)

 

Edit:

Beide Laufwerke sind dann wie folgt eingebunden. Einmal mit controller='1' und controller='0'

<hostdev mode='subsystem' type='scsi' managed='no'>
  <source>
    <adapter name='scsi_host6'/>
    <address bus='0' target='0' unit='0'/>
  </source>
  <readonly/>
  <address type='drive' controller='1' bus='0' target='0' unit='0'/>
</hostdev>
<hostdev mode='subsystem' type='scsi' managed='no'>
  <source>
    <adapter name='scsi_host5'/>
    <address bus='0' target='0' unit='0'/>
  </source>
  <readonly/>
  <address type='drive' controller='0' bus='0' target='0' unit='0'/>
</hostdev>

 

Edited by Pixelpaule
  • Like 1
Link to comment
On 1/2/2022 at 5:22 PM, mgutt said:

Am einfachsten wäre es vermutlich, wenn du eine kleine SATA Karte durchschleifst (die optische Laufwerke unterstützt) und da dann das Laufwerk dran klemmst. Dann hättest du 1:1 Zugriff auf das Laufwerk und nicht virtuell.

 

Ist das nicht auch gegeben wenn die Laufwerke an den SATA Ports vom Mainboard hängen? Welche Vorteile ergeben sich hier raus?

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.