Zeichenzuordnung für die SMB-Dateinamenübersetzung auf ONTAP NFS-Volumes konfigurieren
NFS-Clients können Dateinamen erstellen, die Zeichen enthalten, die für SMB-Clients und bestimmte Windows-Anwendungen ungültig sind. Die Zeichenzuordnung für die Dateinamenübersetzung kann auf Volumes konfiguriert werden, sodass SMB-Clients auf Dateien mit NFS-Namen zugreifen können, die andernfalls ungültig wären.
Wenn Dateien, die von NFS-Clients erstellt wurden, von SMB-Clients geöffnet werden, prüft ONTAP den Dateinamen. Ist der Name kein gültiger SMB-Dateiname (zum Beispiel wenn er einen eingebetteten Doppelpunkt ":" enthält), gibt ONTAP den 8.3-Dateinamen zurück, der für jede Datei gepflegt wird. Dies führt jedoch zu Problemen bei Anwendungen, die wichtige Informationen in langen Dateinamen codieren.
Wenn Sie also eine Datei zwischen Clients auf unterschiedlichen Betriebssystemen austauschen, sollten Sie in den Dateinamen Zeichen verwenden, die in beiden Betriebssystemen gültig sind.
Wenn Sie jedoch NFS-Clients haben, die Dateinamen mit Zeichen erstellen, die für SMB-Clients keine gültigen Dateinamen sind, kann eine Zuordnung definiert werden, die die ungültigen NFS-Zeichen in Unicode-Zeichen umwandelt, die sowohl von SMB als auch von bestimmten Windows-Anwendungen akzeptiert werden. Beispielsweise wird diese Funktionalität von den Anwendungen CATIA MCAD und Mathematica sowie anderen Anwendungen mit dieser Anforderung unterstützt.
Die Zeichenzuordnung kann für jedes Volume einzeln konfiguriert werden.
Bei der Konfiguration der Zeichenzuordnung auf einem Volume ist Folgendes zu beachten:
-
Die Zeichenzuordnung wird nicht über Verbindungspunkte hinweg angewendet.
Die Zeichenzuordnung muss für jedes Verbindung Volume explizit konfiguriert werden.
-
Sie müssen sicherstellen, dass die Unicode-Zeichen, die zur Darstellung ungültiger oder unzulässiger Zeichen verwendet werden, Zeichen sind, die normalerweise nicht in Dateinamen vorkommen; andernfalls treten unerwünschte Zuordnungen auf.
Wenn Sie beispielsweise versuchen, einen Doppelpunkt (:) einem Bindestrich (-) zuzuordnen, der Bindestrich (-) aber im Dateinamen korrekt verwendet wurde, würde die Anfrage eines Windows-Clients, der auf eine Datei mit dem Namen “a-b” zugreifen möchte, dem NFS-Namen “a:b” zugeordnet (was nicht das gewünschte Ergebnis ist).
-
Wenn nach der Anwendung der Zeichenzuordnung die Zuordnung immer noch ein ungültiges Windows-Zeichen enthält, greift ONTAP auf die Dateinamen von Windows 8.3 zurück.
-
In FPolicy-Benachrichtigungen, NAS-Audit-Protokollen und Sicherheits-Trace-Meldungen werden die zugeordneten Dateinamen angezeigt.
-
Wenn eine SnapMirror Relation vom Typ DP erstellt wird, wird die Zeichenzuordnung des Quellvolumes nicht auf das Zielvolume vom Typ DP repliziert.
-
Groß-/Kleinschreibung: Da die zugeordneten Windows-Namen in NFS-Namen umgewandelt werden, folgt die Namensauflösung der NFS-Semantik. Das schließt ein, dass NFS-Suchen zwischen Groß- und Kleinschreibung unterscheiden. Das bedeutet, dass Anwendungen, die auf zugeordnete Freigaben zugreifen, sich nicht auf das Windows-Verhalten ohne Berücksichtigung der Groß- und Kleinschreibung verlassen dürfen. Der 8.3-Name ist jedoch verfügbar und unterscheidet nicht zwischen Groß- und Kleinschreibung.
-
Unvollständige oder ungültige Zuordnungen: Nach der Zuordnung eines Namens zur Rückgabe an Clients, die eine Verzeichnisauflistung durchführen („dir“), wird der resultierende Unicode-Name auf Windows-Gültigkeit geprüft. Enthält dieser Name noch ungültige Zeichen oder ist er aus anderen Gründen für Windows ungültig (z. B. endet er mit einem Punkt oder ist leer), wird der 8.3 Name anstelle des ungültigen Namens zurückgegeben.
-
Zeichenzuordnung konfigurieren:
vserver cifs character-mapping create -vserver vserver_name -volume volume_name -mapping mapping_text, ...Die Zuordnung besteht aus einer Liste von Quell-Ziel-Zeichenpaaren, die durch ":`" getrennt sind. Die Zeichen sind Unicode-Zeichen, die mit Hexadezimalziffern eingegeben werden. Beispiel: 3C:E03C.
Der erste Wert jedes `mapping_text`Paars, das durch einen Doppelpunkt getrennt ist, ist der Hexadezimalwert des NFS-Zeichens, das Sie übersetzen möchten, und der zweite Wert ist der von SMB verwendete Unicode-Wert. Die Zuordnungspaare müssen eindeutig sein (eine Eins-zu-eins-Zuordnung sollte bestehen).
-
Quellenzuordnung
Die folgende Tabelle zeigt den zulässigen Unicode-Zeichensatz für die Quellzuordnung:
Unicode-Zeichen
Gedrucktes Zeichen
Beschreibung
0x01-0x19
Nicht zutreffend
Nicht druckbare Steuerzeichen
0x5C
\
Backslash
0x3A
:
Doppelpunkt
0x2A
*
Sternchen
0x3F
?
Fragezeichen
0x22
"
Anführungszeichen
0x3C
<
Weniger als
0x3E
>
Größer als
0x7C
Vertikale Linie
0xB1
±
-
Zielzuordnung
Sie können Zielzeichen im “Private Use Area” von Unicode im folgenden Bereich angeben: U+E0000…U+F8FF.
-
Der folgende Befehl erstellt eine Zeichenzuordnung für ein Volume mit dem Namen “data” auf der Storage Virtual Machine (SVM) vs1:
cluster1::> vserver cifs character-mapping create -volume data -mapping 3c:e17c,3e:f17d,2a:f745 cluster1::> vserver cifs character-mapping show Vserver Volume Name Character Mapping -------------- ----------- ------------------------------------------ vs1 data 3c:e17c, 3e:f17d, 2a:f745