Update to r50030:
Slightly revise the way we refer to FreeBSD 12 here. Update to r50019: Submit documentation from trasz for his Foundation-sponsored work on the USB Mass Storage CTL front end. Reviewed by: bcr Differential Revision: https://reviews.freebsd.org/D9966
This commit is contained in:
parent
51be17aa5a
commit
f841b88432
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=50051
1 changed files with 135 additions and 1 deletions
|
@ -5,7 +5,7 @@
|
|||
|
||||
$FreeBSD$
|
||||
$FreeBSDde: de-docproj/books/handbook/disks/chapter.xml,v 1.187 2012/04/26 19:32:48 bcr Exp $
|
||||
basiert auf: r48568
|
||||
basiert auf: r50030
|
||||
-->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook"
|
||||
xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0"
|
||||
|
@ -645,6 +645,140 @@ da0: <STECH Simple Drive 1.04> s/n WD-WXE508CAN263 detached
|
|||
Laufwerken und
|
||||
<acronym>iSCSI</acronym>-<acronym>LUN</acronym>s.</para>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title><acronym>USB</acronym>-Massenspeicher</title>
|
||||
|
||||
<note>
|
||||
<para>Der &man.cfumass.4;-Treiber ist ein
|
||||
<acronym>USB</acronym> Geräte-Modus-Treiber und steht mit
|
||||
&os; 12.0 zur Verfügung.</para>
|
||||
</note>
|
||||
|
||||
<para>Auf
|
||||
<acronym>USB</acronym>-<acronym>OTG</acronym>-kompatibler
|
||||
Hardware, wie in eingebetteten Systemen, kann der &os;
|
||||
<acronym>USB</acronym>-Stack im Geräte-Modus laufen. Der
|
||||
Geräte-Modus ermöglicht es dem Rechner, verschiedene Arten von
|
||||
<acronym>USB</acronym>-Geräteklassen zu präsentieren,
|
||||
einschließlich serieller Schnittstellen, Netzwerkadapter und
|
||||
Massenspeicher. Ein <acronym>USB</acronym>-Host,
|
||||
beispielsweise ein Laptop oder Desktop-Rechner, kann darauf
|
||||
wie auf ein physikalisches <acronym>USB</acronym>-Gerät
|
||||
zugreifen.</para>
|
||||
|
||||
<para>Je nach angeschlossener Hardware, ermöglicht das
|
||||
&man.usb.template.4; Kernelmodul es dem
|
||||
<acronym>USB</acronym>-Stack, automatisch zwischen Host- und
|
||||
Geräteseite umzuschalten. Das Anschließen eines
|
||||
<acronym>USB</acronym>-Gerätes an den
|
||||
<acronym>USB</acronym>-<acronym>OTG</acronym>-Port bewirkt,
|
||||
dass &os; in den Geräte-Modus wechselt.</para>
|
||||
|
||||
<para>Was &os; dem <acronym>USB</acronym>-Host präsentiert,
|
||||
hängt von der sysctl-Variablen
|
||||
<varname>hw.usb.template</varname> ab. Eine Liste der
|
||||
verfügbaren Werte finden Sie in &man.usb.template.4;. Damit
|
||||
der Host die geänderte Konfiguration erkennt, muss entweder
|
||||
das Gerät getrennt und wieder angeschlossen, oder der
|
||||
<acronym>USB</acronym>-Bus neu gescannt werden. Wenn auf dem
|
||||
Host &os; läuft, können Sie &man.usbconfig.8;
|
||||
<command>reset</command> benutzen. Dieser Befehl muss nach
|
||||
dem Laden von <filename>usb_template.ko</filename> erfolgen,
|
||||
falls der <acronym>USB</acronym>-Host bereits am
|
||||
<acronym>USB</acronym>-<acronym>OTG</acronym>-Port
|
||||
angeschlossen war.</para>
|
||||
|
||||
<para>Die sysctl-Variable <varname>hw.usb.template</varname> ist
|
||||
in der Voreinstellung auf 0 gesetzt, so dass &os; als
|
||||
<acronym>USB</acronym>-Massenspeicher funktioniert. Dazu
|
||||
müssen die beiden Kernelmodule &man.usb.template.4; und
|
||||
&man.cfumass.4; geladen sein. &man.cfumass.4; ist die
|
||||
Schnittstelle zum CTL-Subsystem, die auch für
|
||||
<acronym>iSCSI</acronym>- und Fibre Channel-Targets
|
||||
benutzt wird. Auf der Host-Seite können
|
||||
<acronym>USB</acronym>-Massenspeicher nur auf eine einzelne
|
||||
<acronym>LUN</acronym> (<acronym>LUN</acronym> 0)
|
||||
zugreifen.</para>
|
||||
|
||||
<para><acronym>USB</acronym>-Massenspeicher benötigen keinen
|
||||
aktiven &man.ctld.8;-Daemon, obwohl er bei Bedarf verwendet
|
||||
werden kann. Dies unterscheidet sich von
|
||||
<acronym>iSCSI</acronym>. So gibt es zwei Möglichkeiten,
|
||||
ein Target zu konfigurieren: &man.ctladm.8; und &man.ctld.8;.
|
||||
Beide erfordern, dass das <filename>cfumass.ko</filename>
|
||||
Kernelmodul geladen ist. Das Modul kann wie folgt geladen
|
||||
werden:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>kldload cfumass</userinput></screen>
|
||||
|
||||
<para>Wenn <filename>cfumass.ko</filename> nicht im Kernel
|
||||
enthalten ist, kann das Modul beim Booten über
|
||||
<filename>/boot/loader.conf</filename> geladen werden:</para>
|
||||
|
||||
<programlisting>cfumass_load="YES"</programlisting>
|
||||
|
||||
<para>Eine <acronym>LUN</acronym> kann auch ohne den
|
||||
&man.ctld.8;-Daemon erstellt werden:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>ctladm create -b block -o file=/data/target0</userinput></screen>
|
||||
|
||||
<para>Damit wird dem <acronym>USB</acronym> der Inhalt des
|
||||
Abbilds <filename>/data/target0</filename> als
|
||||
<acronym>LUN</acronym> präsentiert. Die Datei muss vor dem
|
||||
Ausführen des Befehls vorhanden sein. Um die
|
||||
<acronym>LUN</acronym> beim Systemstart zu konfigurieren,
|
||||
fügen Sie den Befehl in <filename>/etc/rc.local</filename>
|
||||
hinzu.</para>
|
||||
|
||||
<para>&man.ctld.8; kann ebenfalls verwendet werden, um
|
||||
<acronym>LUN</acronym>s zu verwalten. Erstellen Sie
|
||||
<filename>/etc/ctl.conf</filename> und fügen Sie eine Zeile in
|
||||
<filename>/etc/rc.conf</filename> hinzu, um sicherzustellen,
|
||||
dass &man.ctld.8; beim Booten automatisch gestartet wird.
|
||||
Danach starten Sie den Daemon.</para>
|
||||
|
||||
<para>Dies ist ein Beispiel für eine einfache
|
||||
<filename>/etc/ctl.conf</filename> Konfigurationsdatei.
|
||||
&man.ctl.conf.5; enthält eine ausführliche Beschreibung der
|
||||
einzelnen Optionen.</para>
|
||||
|
||||
<programlisting>target naa.50015178f369f092 {
|
||||
lun 0 {
|
||||
path /data/target0
|
||||
size 4G
|
||||
}
|
||||
}</programlisting>
|
||||
|
||||
<para>Dieses Beispiel erstellt ein Target mit einer einzigen
|
||||
<acronym>LUN</acronym>.
|
||||
<literal>naa.50015178f369f092</literal> ist eine Gerätekennung
|
||||
aus 32 zufälligen, hexadezimalen Ziffern. Die
|
||||
<literal>path</literal>-Zeile definiert den vollständigen Pfad
|
||||
einer Datei oder eines zvols, welche als Backend für die
|
||||
<acronym>LUN</acronym> benutzt wird. Die Konfigurationsdatei
|
||||
muss vor dem Start von &man.ctld.8; existieren. Die zweite
|
||||
Zeile ist optional und gibt die Größe der
|
||||
<acronym>LUN</acronym> an.</para>
|
||||
|
||||
<para>Fügen Sie folgende Zeile in
|
||||
<filename>/etc/rc.conf</filename> hinzu, um den
|
||||
&man.ctld.8;-Daemon beim Booten zu starten:</para>
|
||||
|
||||
<programlisting>ctld_enable="YES"</programlisting>
|
||||
|
||||
<para>Um &man.ctld.8; zu starten, führen Sie dieses Kommando
|
||||
aus:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>service ctld start</userinput></screen>
|
||||
|
||||
<para>Beim Start liest der &man.ctld.8;-Daemon
|
||||
<filename>/etc/ctl.conf</filename> ein. Wenn diese Datei nach
|
||||
dem Start des Daemons bearbeitet wird, können Sie sie erneut
|
||||
einlesen, damit die Änderungen direkt wirksam sind:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>service ctld reload</userinput></screen>
|
||||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="creating-cds">
|
||||
|
|
Loading…
Reference in a new issue