Data Domain: Anleitung zum Troubleshooting von Installations-, Konfigurations- und Mount-Problemen bei Boostfs
Zusammenfassung: Dieser Artikel hilft dem Nutzer, einige typische BOOSTFS-Installations- und Konfigurationsprobleme zu identifizieren und zu beheben.
Symptome
BOOSTFS ist eine Softwarekomponente, die in einigen Betriebssystemen installiert werden kann. Sie bietet die Möglichkeit, BOOST-Backups auf einer DataDomain auszuführen, ohne eine bestimmte Backupanwendung zu verwenden, und gleichzeitig einige der Funktionen zu nutzen, die mit der Verwendung einer BOOST-fähigen Backupanwendung wie Netbackup, NetAvaer und Avamar einhergehen.
Weitere Details zur Installation und Nutzung finden Sie in Data Domain: Beschleunigte Konfigurationsschritte und Details für DataDomain BOOST FS KB-Artikel.
Dieser Wissensdatenbank-Artikel enthält jedoch einige der typischen Probleme, die bei der Konfiguration und Verwendung von BOOSTFS auftreten können, damit Kunden eine schnelle Referenz für diese typischen Fehler, Fehlermeldungen und eine Lösungsmethode haben. Typische Fehler dieser Art wären "Boostfs kann nicht auf Linux-Server installiert werden", "Boostfs-Mounten schlägt mit Fehler fehl" oder "Backup oder Wiederherstellung schlägt mit Fehler fehl", um nur einige zu nennen.
Lösung
1. Erforderliche Abhängigkeit bei der Installation der BOOST-FS-Software
fehltWenn die bereitgestellte BOOSTFS-Software-RPM im Linux-Clientbetriebssystem nicht installiert werden kann, ermitteln Sie zunächst, welche Paketabhängigkeiten für die BOOSTFS-Software erforderlich sind:
# rpm -qpR DDBoostFS-1.0.0.1-539441.rhel.x86_64.rpm Sicherung >= 2,8 Sicherungsbibliotheken >= 2,8 /bin/sh /bin/sh /bin/sh /bin/sh rpmlib(PayloadFilesHavePrefix) <= 4,0-1 rpmlib(CompressedFileNames) <= 3.0.4-1
Im obigen Beispiel fragt das Paket nach der Installation der FUSE-Binärdateien und -Bibliotheken (Filesystem in USEr-Bereich) (BOOSTFS basiert auf FUSE von Linux) sowie nach allen Paketen, die eine Shell (sh) und die Standard-RPM-Bibliotheken bereitstellen. Daher sollte dieses BOOSTFS-Paket normal auf dem Linux-System installiert werden, auf dem "rpm" ausgeführt wurde.
2. Anmelden /mnt/mountpoint/ kann nicht gemountet werden: unerwarteter Fehler
Wenn Sie versuchen, die Remote-DD-Storage-Einheit lokal im Linux-Client über BOOSTFS zu mounten, wird möglicherweise der obige Fehler angezeigt. Überprüfen Sie die BOOSTFS-Protokolldatei im Linux-Client. Im ersten Beispiel unten enthält die Lockbox-Datei beispielsweise keinen Eintrag für den Host dd2500-abc.datadomain.com:
# less /opt/emc/boostfs/log/ddboostfs_0_0.log Jul 29 03:45:25 22795 3267069888 [E] bfs_lockbox_get_user_info: Schlüsseleintrag dd2500-abc.datadomain.com:LSU2 in der Konfigurationsdatei /opt/emc/boostfs/lockbox/boostfs.lockbox wurde nicht gefunden. Der angeforderte Lockbox-Eintrag konnte nicht gefunden werden. Jul 29 03:45:25 22795 3267069888 [E] bfs_conn_lookup: Verbindungssuche fehlgeschlagen für node 0 Datei /.boostfs_sysinfo. (0 Verbindungen) Jul 29 03:45:25 22795 3267069888 [I] bfs_node_lookup: Verbindung für Datei /.boostfs_sysinfo konnte nicht hergestellt werden Jul 29 03:45:25 22795 3267069888 [E] bfs_initialize_mntopts: Initialisierung fehlgeschlagen
Die Lösung besteht in diesem Fall darin, einen Lockbox-Eintrag für den Ziel-DD-Host und die Speichereinheit hinzuzufügen, die lokal gemountet werden sollen. Die Syntax ähnelt dem folgenden Beispiel:
# /opt/emc/boostfs/bin/boostfs lockbox set -u sysadmin -d dd2500-abc.datadomain.com -s LSU2 Geben Sie das Nutzerkennwort für die Storage-Einheit ein: Geben Sie das Nutzerkennwort für die Storage-Einheit erneut ein, um Folgendes zu bestätigen: Lockbox-Eintragssatz
Ein weiterer möglicher Fehler, der in den lokalen BOOSTFS-Clientprotokollen angezeigt wird, ist, dass der DD-Hostname vom Client nicht aufgelöst wird, z. B.:
# less /opt/emc/boostfs/log/ddboostfs_0_0.log Jul 29 04:05:50 22882 3322156992 [E] bfs_conn_open: Verbindung fehlgeschlagen (0 Verbindungen): 5037 Jul 29 04:05:50 22882 3322156992 [E] bfs_conn_lookup: Verbindungssuche fehlgeschlagen für Datei /.boostfs_sysinfo von Node 0. (0 Verbindungen) Jul 29 04:05:50 22882 3322156992 [I] bfs_node_lookup: Verbindung für Datei /.boostfs_sysinfo konnte nicht hergestellt werden Jul 29 04:05:50 22882 3322156992 [E] bfs_initialize_mntopts: Initialisierung fehlgeschlagen
Die Lösung besteht in diesem Fall darin, entweder der Datei /etc/host des Linux-Clients eine statische Zuordnung von hosntame zur IP hinzuzufügen oder die Zuordnung auf dem verwendeten DNS-Server zu konfigurieren.
3. Anmelden Der Einhängepunkt /mnt/mountpoint ist nicht leer.
BoostFS kann nicht auf einem nicht leeren Einhängepunkt gemountet werden. Versuchen Sie, auf einem leeren Einhängepunkt zu mounten.
Die obige Meldung bedeutet, dass der angegebene Einhängepunkt (/mnt/mountpoint) nicht verwendet werden kann, um die Remote-DD-Speichereinheit anzuzeigen, da auf dem Einhängepunkt zuvor kein anderes Dateisystem gemountet sein darf oder Inhalte enthalten darf. /mnt/mountpoint/ muss ein leeres und nicht verwendetes Verzeichnis im Linux-Client sein. Wenn der Pfad bereits über einen Mount-Punkt verfügt, müssen Sie einen anderen Mount-Punkt angeben. Zum Beispiel:
# mount /dev/mapper/vg00-lv_root ein / Typ ext4 (RW) /dev/sda1 auf /boot type ext4 (RW) boostfs auf /mnt/mountpoint type fuse.boostfs (rw, nosuid, nodev)
In diesem Fall ist die Remote-DD-Storage-Einheit bereits unter /mnt/mountpoint/ gemountet und kann daher nicht erneut im selben Verzeichnis gemountet werden.
4. Anmelden DDBoostfs-Mount hängt sich (kann sogar mehr als 10 Minuten dauern, bis es wiederhergestellt ist)
Dies kann auftreten, wenn eine Firewall zwischen dem Linux-Client und dem DD-Zielgerät den Datenverkehr zu den TCP-Ports 111 und 2049 trennt. Stellen Sie sicher, dass der Linux-Client die DD-zu-TCP-Ports 111 und 2049 erreichen kann, und versuchen Sie es erneut, z. B.:
# /opt/emc/boostfs//bin/boostfs mount -d dd2500.domain.com -s LSU2 /mnt/mountpoint/
Dies ist ein Beispiel dafür, was Sie in einem solchen Fall in den BOOSTFS-Protokollen des Linux-Clients sehen würden:
# less /opt/emc/boostfs/log/ddboostfs_0_0.log Jul 27 06:34:53 32762 3724339136 [E] bfs_conn_open: Verbindung fehlgeschlagen (0 Verbindungen): 5037 Jul 27 06:34:53 32762 3724339136 [E] bfs_conn_lookup: Verbindungssuche fehlgeschlagen für node 0 Datei /.boostfs_sysinfo. (0 Verbindungen) Jul 27 06:34:53 32762 3724339136 [I] bfs_node_lookup: Es konnte keine Verbindung für Datei /.boostfs_sysinfo hergestellt werden. Jul 27 06:34:53 32762 3724339136 [E] bfs_initialize_mntopts: Initialisierung fehlgeschlagen
5. Der Vorgang ist nicht zulässig, wenn versucht wird, auf Inhalte unter dem Einhängepunkt zuzugreifen oder diese aufzulisten.
# ls -l /mnt/mountpoint/ ls: Leseverzeichnis .: Vorgang nicht zulässig gesamt 0
Das Problem könnte sein, dass keine TCP-Verbindung zu den Remote-DD-Ports 111 und 2049 besteht oder dass die Lockbox-Authentifizierung irgendwie abgelaufen ist. Stellen Sie sicher, dass der Linux-Client weiterhin auf die DD auf den angegebenen Ports zugreifen kann, und versuchen Sie erneut, die Lockbox für die Remote-DD, die Storage-Einheit und den BOOST-Nutzer einzurichten.
6. Anmelden Unzureichender Zugriff auf oder keine Speichereinheit mit Kerberos-Authentifizierung.
# boostfs mount -s LSU3 -d dd2500.domain.com /mnt/mountpoint/ Unzureichender Zugriff auf oder Speichereinheit LSU3 ist nicht vorhanden
Bei Verwendung der Kerberos-Authentifizierung für die Lockbox ist der wahrscheinlichste Grund für den Fehler, dass das Kerberos-Authentifizierungsticket abgelaufen ist. Überprüfen Sie das erwähnte Ticket von Linux wie unten:
# /opt/emc/boostfs/bin/boostfs Kerberos-Abfrage -s LSU3 -u Nutzername Clientprinzipal: username@DOMAIN.COM Gültiger Start: Die, Aug 23 11:02:49 2016 Abläuft: Tue Aug 23 21:01:07 2016 Verlängerung bis: Die, Aug 30 11:02:49 2016 Dienstprinzipal: krbtgt/DOMAIN. COM@DOMAIN.COM
Überprüfen Sie auf dem DDR, ob beim Einrichten der Lockbox und beim Mounten von BOOSTFS der zugewiesene BOOST-Nutzer der Storage-Einheit mit dem Nutzer auf dem Linux-Client übereinstimmt (der AD-Nutzername und der Nutzername der Storage-Einheit müssen genau identisch sein):
# ddboost storage-unit show Name Status vor der Komprimierung (GiB) Nutzerbericht Physische Mandanteneinheit Größe (MiB) --------------- -------------- ------ -------- --------------- ----------- LSU3 0.0 RW-Benutzername - - --------------- -------------- ------ -------- --------------- -----------
Achten Sie auch darauf, dass Datum/Uhrzeit in DD, Linux-Client und Kerberos-Server (AD) nicht mehr als 5 Minuten voneinander entfernt sind, da sonst Probleme mit Tickets auftreten können, die aufgrund inkonsistenter Zeit abgelaufen sind.
Im Folgenden finden Sie ein Beispiel dafür, was in den DD-Protokollen angezeigt wird, wenn die Zeit mehr als 5 Minuten Unterschied beträgt:
# log watch debug/ddfs.info 08/23 18:52:09.654 (TID 0x7f738141fb00): NFS3 akzeptiert 3000004B6 552 von 10.64.229.125:55042 23.08. 18:52:09.660 (Tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_print_error:117 - Ereignis gss_error, gss_accept_sec_context fehlgeschlagen: MAJ=0xd0000, MIN=0x96c73a25 23.08. 18:52:09.660 (Tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_print_error:126 – Ereignis gss_error, nicht spezifizierter GSS-Fehler. Der Nebencode kann weitere Informationen enthalten. 23.08. 18:52:09.660 (Tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_print_error:141 - Ereignis gss_error, Zeitabweichung zu groß 23.08. 18:52:09.660 (Tid 0x7f738140c890): [dd_rpc2_nfs x3000004b6] dd_rpc_gss_accept:217 - Ereignis gss_accept_failed, MAJ=851968, MIN2529638949 23.08. 18:52:09.660 (TID 0x7f73814233f0): NFS3 hat TCP 3000004B6 zerstört
Und diese sind für die BOOSTFS Linux-Hostprotokolle:
# less /opt/emc/boostfs/log/ddboostfs_0_0.log Aug 23 18:04:39 1044 2019465280 [E] bfs_conn_open: Verbindung fehlgeschlagen (0 Verbindungen): 5075 Aug 23 18:04:39 1044 2019465280 [E] bfs_conn_lookup: Verbindungssuche für node 0 Datei /.boostfs_sysinfo fehlgeschlagen. (0 Verbindungen) Aug 23 18:04:39 1044 2019465280 [I] bfs_node_lookup: Es konnte keine Verbindung für Datei /.boostfs_sysinfo hergestellt werden. Aug 23 18:04:39 1044 2019465280 [E] bfs_initialize_mntopts: Initialisierung fehlgeschlagen
7. Das Mounten von BoostFS mit Kerberos-Authentifizierung schlägt mit dem folgenden Fehler fehl: "Es kann nicht auf die Lockbox zugegriffen werden oder der Lockbox-Eintrag kann nicht gefunden werden."
# /opt/emc/boostfs/bin/boostfs mount -s LSU3 -d dd2500.domain.com /mnt/mountpoint/ Lockbox kann nicht aufgerufen werden oder Lockbox-Eintrag kann nicht gefunden werden
Wenn Sie BOOSTFS-Konfigurationsoptionen in "/opt/emc/boostfs/etc/boostfs.conf" verwenden möchten, überprüfen Sie die Einstellung "[global]" in der Datei und stellen Sie sicher, dass sie nicht auskommentiert ist (damit eine der globalen Optionen funktioniert, muss das Schlüsselwort "[global]" unkommentiert sein). Dieses Schlüsselwort wird standardmäßig kommentiert.
Beispielinhalte der BOOSTFS-Konfigurationsdatei "/opt/emc/boostfs/etc/boostfs.conf":
# Kommentare sind nach dem Optionswertpaar nicht zulässig. # ############################################################################# [global] # Data Domain-Hostname oder IP-Adresse # data-domain-system=dd2500.domain.com
Beispielausgabe in den BOOSTFS-Protokollen des Linux-Clients:
# less /opt/emc/boostfs/log/ddboostfs_0_0.log Aug 24 08:23:35 27227 3565582272 [E] bfs_lockbox_get_user_info: Der Schlüsseleintrag "dd2500-rtp2.techsupp.local:LSU3" konnte in der Konfigurationsdatei "/opt/emc/boostfs/lockbox/boostfs.lockbox" nicht gefunden werden. Der angeforderte Lockbox-Eintrag konnte nicht gefunden werden. Aug 24 08:23:35 27227 3565582272 [E] bfs_conn_lookup: Verbindungssuche fehlgeschlagen für node 0 Datei /.boostfs_sysinfo. (0 Verbindungen) Aug 24 08:23:35 27227 3565582272 [I] bfs_node_lookup: Es konnte keine Verbindung für Datei /.boostfs_sysinfo hergestellt werden. Aug 24 08:23:35 27227 3565582272 [E] bfs_initialize_mntopts: Initialisierung fehlgeschlagen
Der Fehler kann auch darauf zurückzuführen sein, dass im Linux-Client der Befehl "mount" einen anderen Hostnamen, Storage-Einheitsnamen oder BOOST-Nutzernamen verwendet wird als für die Einrichtung der Lockbox oder für die Ziel-DD. Stellen Sie sicher, dass alle Namen in DD, der BOOSTFS-Lockbox und dem Befehl "mount" übereinstimmen.
8. Anmelden Der Versuch, "boostfs"-Nutzerzugangsdaten festzulegen, schlägt mit dem folgenden Fehler fehl :
bfs_krb5_err_handler: Kerberos-Fehler: -1765328360 [ERROR_MESSAGE=Fehler beim Abrufen der anfänglichen Anmeldeinformationen.]
Kerberos-Anmeldedaten können nicht festgelegtwerden 1.
Überprüfen Sie, ob die Active Directory-Nutzeranmeldedaten korrekt sind, indem Sie sich mit Active Directory-Nutzeranmeldedaten
2 beim DC anmelden. Überprüfen Sie, ob die Zeit auf dem Linux-Client und dem Kerberos-Server nicht mehr als 5 Minuten voneinander entfernt ist. Bei der Kerberos-Authentifizierung dürfen die Uhrzeiten nicht mehr als 5 Minuten voneinander abweichen.
9. Anmelden Beim Mounten von BOOSTFS im Linux-Client endet es mit dem Fehler "fusermount: mount failed: Der Betrieb ist nicht zulässig."
Dafür gibt es eine Reihe von Gründen. "fusermount" ist der zugrunde liegende Linux-Befehl, der letztendlich FUSE verwendet, um die DD BOOST-Speichereinheit lokal im Linux-Client-Namespace zu mounten. Dazu sind spezielle Berechtigungen erforderlich. Aus diesem Grund ist "fusermount" eine SUID-Binärdatei im Linux-Client:
# ls -l /usr/bin/fusermount -rwsr-xr-x. 1 root root 38680 11. Mai 2019 /usr/bin/fusermount
Da es sich um eine SUID-Binärdatei handelt, bedeutet dies, dass "fusermount" unabhängig davon, wo der Nutzer versucht, die Speichereinheit zu mounten, mit "root"-Berechtigungen ausgeführt wird. Wenn "fusermount" keine SUID für Root ist, kann möglicherweise nur der Root-Nutzer des Linux-Clients die Remote-BOOST-Storage-Einheit mounten. Dies ist möglicherweise kein Problem, wenn das Einhängen unter /etc/fstab eingerichtet wird, aber wenn das Einhängen von einem Nicht-Root-Benutzer durchgeführt werden soll.
10. Anmelden BOOSTFS mountet OK, aber Versuche, auf den Inhalt der Storage-Einheit am Mount-Punkt zuzugreifen, schlagen mit Berechtigungsfehlern
fehlBeim manuellen Mounten der Storage-Einheit mit dem DataDomain-Befehl "boostfs" oder "/etc/fstab" (oder sogar "mount.fuse" über die CLI) ist es die zugrunde liegende FUSE-Implementierung der Standardeinstellung, nur der Nutzer-ID des Linux-Clients, die das BOOSTFS gemountet hat, Zugriff auf Dateien zu gewähren. Wenn der Mount also als root erstellt wurde, kann nur root auf die Dateien zugreifen. Wenn das Mounten als Nutzer "postgres" (zum Sichern einer PostgreSQL-Datenbank) durchgeführt wurde, hat nur dieser Nutzer die Berechtigung, auf die Dateien zuzugreifen.
Wenn aus anderen Gründen andere Benutzer in der Lage sein sollen, von der Linux-Cloud aus auf die Dateien in der gemounteten Speichereinheit zuzugreifen, muss möglicherweise /etc/fuse.conf angepasst werden. Weitere Details finden Sie hier:
http://manpages.ubuntu.com/manpages/bionic/en/man8/mount.fuse.8.html
Sie müssten die folgende Option in /etc/fuse.conf setzen:
user_allow_other
Erlauben Sie Nicht-Root-Nutzern, die allow_other- oder allow_root-Mount-Optionen anzugeben (siehe
unten).
Verwenden Sie dann beim Mounten der BOOST-Speichereinheit über die Befehlszeile die folgende:
allow_other
Diese Option setzt die Sicherheitsmaßnahme außer Kraft, die den Dateizugriff auf den Nutzer einschränkt
Mounten des Dateisystems. So können alle Nutzer (einschließlich Root) auf die Dateien zugreifen. Das
ist standardmäßig nur für root erlaubt, aber diese Einschränkung kann mit
die oben beschriebene Konfigurationsoption (user_allow_other).
Weitere Informationen
1. Wie viele Einhängepunktabschnitte können maximal in der boostfs-Konfigurationsdatei definiert werden?
Es gibt keine Begrenzung für die Anzahl der Einhänge im Einhängepunktabschnitt der Datei boostfs.conf.
# Einhängepunktabschnitte werden durch [mountpoint]-Tags getrennt # # [/Pfad/zum/Mount] # [/mnt/bofs] # Data Domain-Hostname oder IP-Adresse # data-domain-system=dd2500-1.yourdomain.com # Speichereinheit # storage-unit=SU-Name # Nutzername für Speichereinheit # storage-unit-username=sysadmin # Unterverzeichnis innerhalb der Storage-Einheit, in das gemountet werden soll # Verzeichnisname=Pfad/zum/Unterverzeichnis
2. NetWorker unterstützt standardmäßig BOOSTFS und kann On-the-fly-Mounts zur Durchführung bestimmter Aufgaben und Backups
verarbeitenAuch wenn NetWorker eine BOOST-fähige Backupanwendung ist, unterstützt es auch BOOSTFS auf den Linux-Clientsystemen, auf denen es installiert ist. Ein Beispiel für ein NW-Backup, das über die Befehlszeile des Linux-Clients erstellt wird, sobald die BOOSTFS-Lockbox eingerichtet wurde, wäre das Folgende (PostgreSQL-Backup):
# nsroappbackup -z /nsr/apps/config/backup_postgresql.cfg 174908:(PID 16487):Speichern der Backup-Daten im Pool 'DB'. 175019:(PID 16487):Die Bindungsinformationen für die Medienverwaltung auf dem Host "dd.example.com" wurden empfangen. 174910: (PID 16487): Verbunden mit dem nsrmmd-Prozess auf dem Host "dd.example.com". + /usr/pgsql-11/bin/pg_dump --file=/nsr/apps/tmp/e3106c82_294324_16487/dump.sql --format=plain Die Verarbeitung wird mit dem Rückgabewert 0 fortgesetzt. + /bin/cp /data/postgresql.conf /nsr/apps/tmp/e3106c82_294324_16487/ Die Verarbeitung wird mit dem Rückgabewert 0 fortgesetzt. Die Dateien im Saveset 'PostgreSQL_postgres_backuppostgre_full' zum Zeitpunkt '01/04/20 15:40:36' sind: Größe: Name: 2645 dump.sql 24000 postgresql.conf 2 Datei(en) 26645 Bytes Der Backupbefehl "/nsr/apps/config/scripts/backup-postgre-dbon1-full.sh" wurde erfolgreich abgeschlossen. Das Backup wurde erfolgreich abgeschlossen.
Sobald der Backupjob konfiguriert ist, kann er auch von der NW-GUI gestartet und der Fortschritt dort überwacht werden.messages.engineering würde Protokolleinträge wie den folgenden anzeigen, wenn das von NW ausgegebene Mounten abgeschlossen ist:
Apr 1 15:20:49 dd.example.com ddfs[17040]: HINWEIS: ddboost-client.example.com-49808<>: BoostFS: Apr 1 15:22:52.395 16275 704915520 [I] DDBoost Plugin Version ist: [7.0.0.0.633508] Apr 1 15:20:49 dd.example.com ddfs[17040]: HINWEIS: ddboost-client.example.com-49808<>: BoostFS: Apr 1 15:22:52.395 16275 704915520 [I] BoostFS Versionsinfo: [BOOSTFS:7.0.0.0-633922 FUSE:2.9.7] Apr 1 15:20:49 dd.example.com ddfs[17040]: HINWEIS: ddboost-client.example.com-49808<>: BoostFS: Apr 1 15:22:52.395 16275 704915520 [I] bfs_lib_init: Mounten von dd.example.com:LSU_NAME auf /mnt/mountpoint