staging.inyokaproject.org

Network Block Device

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

Ice_Polar

Avatar von Ice_Polar

Anmeldungsdatum:
12. Juni 2006

Beiträge: Zähle...

Moin, moin,

Ich versuche mit den nbd Tools aus der Paketverwaltung (nbd-server und nbd-client) auf einem Feisty-Server das DVD-Laufwerk zur Verfügung zu stellen, so dass ich es mit meinem Dapper-Client 'mounten' kann.

Auf dem Server (192.168.134.51) ist das DVD-Laufwerk /dev/hda/ und daher lautet der Befehl gemäss man-pages:
# nbd-server 5000 /dev/hda.

Auf dem Client sollte anschliessend mit :
# nbd-client 192.168.134.51 5000 /dev/nd0
und
# sudo mount /dev/nbd0 mnt
das DVD 'greifbar' sein.
Der letzte Befehl führt zu folgendem Fehler:
mount: you must specify the filesystem type

Ich hab's dann noch mit dem folgenden Befehl probiert:
# sudo mount -t udf,iso9660 /dev/nbd0 /mnt
mount: wrong fs type, bad option, bad superblock on /dev/nbd0,
missing codepage or other error
In some cases useful info is found in syslog - try
dmesg | tail or so

# dmseg ¦ tail gibt dann folgendes...

[17664967.732000] nbd0: Request when not-ready
[17664967.732000] end_request: I/O error, dev nbd0, sector 3524072204
[17664967.732000] nbd0: Request when not-ready
[17664967.732000] end_request: I/O error, dev nbd0, sector 1248
[17664967.732000] nbd0: Request when not-ready
[17664967.732000] end_request: I/O error, dev nbd0, sector 1024
[17664967.732000] UDF-fs: No partition found (1)
[17664967.732000] nbd0: Request when not-ready
[17664967.732000] end_request: I/O error, dev nbd0, sector 64
[17664967.732000] isofs_fill_super: bread failed, dev=nbd0, iso_blknum=16, block=32

Weiss da jemand Rat?
Ice

Svanner

Anmeldungsdatum:
5. Januar 2007

Beiträge: Zähle...

Hey,

ist das ein Tippfehler?

nbd-client 192.168.134.51 5000 /dev/nd0
sudo mount /dev/nbd0 mnt 

Sonst könnte das der Fehler sein...

mfg Svanner

Edit:
Bist du dir mit der Angabe von mnt als Mountverzeichnis ganz sicher?

Ice_Polar

(Themenstarter)
Avatar von Ice_Polar

Anmeldungsdatum:
12. Juni 2006

Beiträge: Zähle...

Moin, moin,

Danke für den Hinweis betreffend dem Schreibfehler. Dieser ist nur hier im Forum so...

Ubuntu stellt in den Paketquellen die Tools zur Verfügung, die Dokumentation dazu ist sehr knapp gehalten, etwas mehr habe ich auf http://nbd.sourceforge.net/ gefunden, so auch der folgende Link.

Ich habe teilweise nach der Anleitung aus dem Dokument (http://w3.linux-magazine.com/issue/70/Network_Block_Devices.pdf) gearbeitet und da wird dieser Mountpoint "/mnt" verwendet → ich denke es gibt dann daraus "/mnt/dev/nbd0" (wenn's denn funktioniert).

NBD wird immer wieder im Zusammenhang mit Diskless-Clients und LTS (Linux Terminal Server) erwähnt. Ich möchte nicht soweit gehen und nur den DVD-Brenner einer zusätzlicher Linux-Box verwenden, da ich an meinem leistungsstarken Notebook keinen Brenner habe und auch keinen neuen USB-Brenner kaufen möchte.

Ist mein Problem wirklich der Mount-Befehl oder entsteht die Ursache bereits früher?

Ich danke für jeden Hinweis.
Ice

Ice_Polar

(Themenstarter)
Avatar von Ice_Polar

Anmeldungsdatum:
12. Juni 2006

Beiträge: Zähle...

Moin, moin,

UPDATE: Ich habe eine weitere Quelle gefunden: http://www.it.uc3m.es/ptb/nbd/

Als Auszug daraus möchte ich folgendes anführen:

HOWTO-2
I'll lay out in a bit more detail what the "make test" does for you so that you can duplicate it for yourself. The first set of instructions are for a enbd-2.2.* code, and you'll find instructions for the enbd-2.4.* codes immediately after them. Please watch out for command line differences: 1. choose a resource (file or partition) on the serving machine and choose some ports on which to serve it out to the client. Then start the server: 2. nbd-server 1100 1101 1102 1103 /dev/sda1 on the client, load the nbd module (make sure to get the right one, using absolute path names if in doubt) 3. insmod nbd.o on the client machine, start the client: nbd-client your.server 1100 1101 1102 1103 /dev/nda That was for an enbd-2.2.*. For an enbd-2.4.*, the sequence is as follows: 1. choose a resource (file or partition) on the serving machine and a single control port. Then start the server: 2. enbd-server 1099 /dev/sda1 on the client, load the nbd module (make sure to get the right one, using absolute path names if in doubt) 3. insmod enbd.o on the client machine, start the client. Note that you give the server control port plus the number of channels you want it to set up. It'll find and set up on its own different ports for the data channels: enbd-client your.server:1099 -n 4 /dev/nda .

Meine Aufgabe ist nun zu prüfen, welche Version ich da aus den Ubuntu-Quellen erhalten habe (2.2.* oder 2.4.*) und was es zu bedeutet wenn da einerseits "nbd-server / nbd-client" oder "enbd-server / enbd-client" erwähnt wird.

Das Beispiel erläutert gemäss meiner Interpretation, dass der Server das Device /dev/sda1 zur Verfügung stellt und der Client dieses unter dem Alias /dev/nda lokal verwenden kann. Es wird dazu der Port 1099 belegt.

Kann mir zu diesem Thema jemand behilflich sein, das wäre schön?
Ice

Ice_Polar

(Themenstarter)
Avatar von Ice_Polar

Anmeldungsdatum:
12. Juni 2006

Beiträge: 495

Moin, moin,

@Update: Es sind folgende Pakete in den Quellen:

Dapper:
nbd-client (1:2.8.3-1)
the Network Block Device client
nbd-server (1:2.8.3-1)
the Network Block Device server

Feisty:
nbd-client (1:2.8.7-2ubuntu2)
the Network Block Device client
nbd-server (1:2.8.7-2ubuntu2)
the Network Block Device server

Wie erwähnt läuft der Server mit Feisty und der Client unter Dapper.

Ice

Ice_Polar

(Themenstarter)
Avatar von Ice_Polar

Anmeldungsdatum:
12. Juni 2006

Beiträge: 495

Moin, moin,

Ich habe einen kleinen Fortschritt zu vermelden:

Auf dem Server gebe ich das CD-Rom über Port 1001 Read-Only frei:

ice@Feisty-Server: sudo nbd-server 1001 /dev/scd0 -r

Auf dem Client mappe ich das CD-Rom des Servers mit Port 1001 auf /dev/nbd0:

ice@Dapper_Client: sudo nbd-client Feisty-Server 1001 /dev/nbd0
Negotiation: ..size = 712800KB
bs=1024, sz=712800

Ein erste Überprüfung der bisherigen Aktionen auf dem Dapper-Client kann erfolgen mit zum Beispiel:

ice@Dapper-Client: sudo netstat -t
...
tcp 0 0 Dapper-Client:60328 Feisty-Server:1001 VERBUNDEN
...

Anschliessend kann ich das Device mounten, zum Beispiel auf den bereits vorhandenen /mnt:

ice@Dapper-Client: sudo mount -tauto /dev/nbd0 /mnt

Überprüfen lässt sich das dann mit:

ice@Dapper-Client: df
...
/dev/nbd0 712800 712800 0 100% /mnt
...

Ein einfaches ls /mnt zeigt den Inhalt der CD

ice@Dapper-Client: ls -g /mnt
Mein_Urlaubsfilm.avi Schnittbericht_von_Mein_Urlaubsfilm.zip

Gegenüber meinen früheren Versuchen habe ich einzig und allein die Option -r auf dem Server verwendet. Die CPU-Belastung und auch das Netzwerk ist erstaunlich gering, zum Beispiel beim ansehen der Urlaubsbilder...

Ich werde das Thema noch weiter verfolgen und zu gegebener Zeit ergänzen.

Gruss
Ice

Ice_Polar

(Themenstarter)
Avatar von Ice_Polar

Anmeldungsdatum:
12. Juni 2006

Beiträge: 495

Offen ist, ob damit auch mit dem Client cd's gebrannt werden können mit dem CD-Brenner im Server?
Offen ist auch, ob damit Devices wie CD/DVD-Brenner eines Windows-Systems zur Verfügung gestellt werden können?

Ice_Polar

(Themenstarter)
Avatar von Ice_Polar

Anmeldungsdatum:
12. Juni 2006

Beiträge: 495

Update:

Ich erstelle da mal eine virtuelle 100 GB Disk auf 'ubuntu_srv':
ice@ubuntu_srv: dd if=/dev/zero of=/nbd/vdisk_2.img bs=1024 count=100000000

dann wird sie Formatiert:
ice@ubuntu_srv: sudo losetup /dev/loop0 /nbd/vdisk_2.img
ice@ubuntu_srv: sudo mkfs.ext3 /dev/loop0 -b 4096 -E stride=64 -v
ice@ubuntu_srv: sudo losetup -d /dev/loop0

und jetzt im Netz auf Port 9001 zur Verfügung gestellt:
ice@ubuntu_srv: sudo nbd-server 9001 /nbd/vdisk_2.img

Diese 'Disk' kann jetzt auf einem PC im Netzwerk als Block Device z.B. in das Verzeichnis /home/ice/mnt/VDaten gemountet werden:
ice@workstation: sudo nbd-client ubuntu_srv 9001 /dev/nbd0
ice@workstation: sudo mount -text3 /dev/nbd0 /home/ice/mnt/VDaten

Feststellung:
Die 'virtuelle Disk' des ubuntu_srv sollte nicht von mehreren 'workstations' als Network Block Device eingebunden und gemountet werden, ein zerstörtes Filesystem ist so sicher wie das Amen in der Kirche!
Ice

Antworten |