Thomas Kramer

IT-COW | April 2020

10 Jahre altes Blog

By Administrator at April 08, 2020 18:07
Filed Under:

Heute vor genau 10 Jahren habe ich den ersten Eintrag in mein Blog geschrieben. In den letzten zwei Jahren habe ich kaum Einträge geschrieben.

 

Ausprobiert habe ich in der Zeit natürlich schon einiges, z. B. habe ich meinen alten Fujitsu Scaleo 2205 um eine SSD erweitert und statt Windows Home Server v1 endlich OpenMediaVault 4.1 aufgespielt, mit nextcloud und emby in Docker-Containern. Das Gerät ist mittlerweile annähernd 10 Jahre alt und könnte ausgemustert werden, aber als Fileserver ist er immer noch ausreichend und zum wegschmeißen zu schade. Bezüglich Langlebigkeit kann ich nichts negatives zum Gerät sagen, auch wenn ich mich oft drüber geärgert hatte.

 

Nochmal kaufen würde ich ihn allerdings nicht, wegen einer unsinnigen Microsoft-Vorgabe sind diese Geräte damals ohne Bildschirmanschluss verkauft worden. Ich weiß noch wie das Gerät mal in einer Reboot-Schleife hing und RDP geht ja erst nachdem Windows geladen ist, man konnte also nicht sehen wo das Problem lag.

 

Jetzt mit OpenMediaVault geht er problemlos, dazu musste ich aber erst das Dongle vom WHS-Betriebssystem ausstöpseln. Außerdem musste ich dafür natürlich eine Grafikkarte einbauen, dafür hat das Gerät intern einen Erweiterungsslot. Wenn eine Grafikkarte angeschlossen ist lässt sich das Gehäuse nicht mehr schließen, aber sie muss ja nicht dauerhaft verbaut sein.

 

Interessant ist das Union-Filesystem vom OpenMediaVault welches mehrere Festplatten zu einer Einheit zusammenschließen kann, wobei jede Festplatte einzeln ansprechbar bleibt. Bis jetzt ist das die beste Lösung dazu die ich gesehen habe, läuft problemloser als das seltsame Drive Extender-System vom WHS.

 

Eine Festplatte hat sich verabschiedet, insofern brauchte ich ein Restore-Skript. Eigentlich ging es aber eher um unwichtige Daten wie Filme. Das Restore-Skript musste ich aber dahingehend anpassen, als dass Robocopy bei dem Linux-System nicht die Datei-Attribute übernehmen kann. Einen Teil der Daten habe ich über dieses Skript vom Windows-Client aus zurückgesichert, den anderen Teil direkt am OMV-System über die extern angeschlossene (halb defekte) Festplatte.

 

Direkt am OMV-System habe ich festgestellt, dass der cp-Befehl von der externen eSATA-Festplatte aus unerfindlichen Gründen extrem langsam war. Das habe ich abgebrochen und stattdessen diesen Linux-Befehl verwendet, über rsync

 

rsync --info=progress2 -auvz /Quelle/ /Ziel/

 

Das ging schon wesentlich schneller, hat aber trotzdem bei der Datenmenge länger als einen Tag gedauert, eher zwei bis drei. Immerhin konnte ich die meisten Daten retten, bei einer kaputten SSD wäre wohl gleich alles weg gewesen.

 

@echo off
setlocal EnableDelayedExpansion

REM "https://www.axel-hahn.de/batch/helferlein-und-tabellen/alle-windows-kommandos?id=robocopy">https://www.axel-hahn.de/batch/helferlein-und-tabellen/alle-windows-kommandos?id=robocopy
echo ****************************************************************
echo ***** Server-Backup ********************************************
echo ****************************************************************

set "Quelle1=%1"
set "Quelle2=%1"
set "Quelle3=%1"
set "Ziel1=%4"

if [!Quelle1!]==[] (
set /p Quelle1="Quellpfad 1> " || set "Quelle1=I:\_Filme"
)

if [!Quelle2!]==[] (
set /p Quelle2="Quellpfad 2> " || set "Quelle2=H:\_Filme"
)

if [!Quelle3!]==[] (
set /p Quelle3="Quellpfad 3> " || set "Quelle3=K:\_Filme"
)

if [!Ziel1!]==[] (
set /p Ziel1="Zielpfad> " || set "Ziel1=\\openmediavault\filmbackup"
)

Set "RoboParms=/E /COPY:DT /FP"
Set "RoboParms=%Roboparms% /LOG+:"C:\Users\backup.log" /NP"

REM --------------- Start des Kopiervorganges ---------------
cls
echo Anfang %DATE% %TIME%

echo Filme kopieren
call :CopyFiles !Quelle1! !Ziel1!
call :CopyFiles !Quelle2! !Ziel1!
call :CopyFiles !Quelle3! !Ziel1!
echo Ende %DATE% %TIME%

REM --------------- Beendigung                ---------------
goto end

:CopyFiles
set Quelle=%1
set Ziel=%2
FOR /R %Quelle% %%G in (*.ts *.mkv *.avi *.mpg *.mp4 *.nfo *.jpg *.png) DO (
  rem echo %%G
  set filedrive=%%~dG
  set filepath=%%~pG
  set filefullpath=!filedrive!!filepath!
  REM abschließenden \ entfernen
  set filefullpath=!filefullpath:~,-1!
  set filename=%%~nG
  set fileextension=%%~xG
  set filefullname=%%~nxG
  echo %%~nxG
rem  set fileCopyMask=!filename!*.*
  set fileCopyMask=!filename!!fileextension!

  REM Dateigröße der zu kopierenden Datei ermitteln
  set filesize=%%~zG
  REM echo Quellpfad entfernen, Unterordner-Pfad für Ziel separieren
  set subpath=!filefullpath:%Quelle%=!

  REM Zuerst ermitteln ob die Datei auf den Ziellaufwerken bereits existiert, wenn ja dort fortsetzen
  set gefunden=0
  if exist !Ziel!!subpath!\!filefullname! (
    echo Datei existiert schon auf !Ziel!!subpath!\, kopieren wird uebersprungen
    set gefunden=1
  ) else (
    REM Datei einzeln kopieren
    set gefunden=0
    Robocopy.exe "!filefullpath!" "!Ziel!!subpath!" %RoboParms% /IF "!fileCopyMask!" >NUL 
  )
)
goto :eof

:END

Tag-Wolke

Monats-Liste