Nexcloud mit Daten-Array und Cache-Array


PlanetDyna

Recommended Posts

Hallo zusammen,

ich möchte zeitnah einen Unraid-Server in Betrieb nehmen, benötige jedoch zunächst Hilfestellung bei einem Verständnisproblem:

Folgender Sachverhalt:
Es soll eine Nextcloud VM mit Unraid betrieben werden, bestehend aus einem Cache-Array (NVMe) und einem Daten-Array (HDD) im Raid 1.

Die Nextcloud Anwendungsdaten sollen auf dem Cache-Array verweilen, während die Dateien der Benutzer auf dem Daten-Array liegen. Wird das Daten-Array zunächst in der VM per Mount-Befehl eingebunden und bei der Installation der Nextcloud als Pfad für den Datenspeicherort angegeben?

Oder ist es alternativ möglich die VM auf dem Daten-Array zu installieren und trotzdem den Cache-Array für den Performance-Vorteil zu nutzen?

Vielen Dank im Voraus
PD

Edited by PlanetDyna
Link to comment

Hm.

Unraid ist doch per se = nicht raid

Egal.

 

Eigentlich macht man in unraid eine Docker Installation eines sql und eines nextcloud Servers.

Die Anwendung lässt man wie @mgutt es oben gezeigt hat auf der Cache SSD online während Nutzerdaten auf dem Array liegen.

Das Array ist aber nicht Raid sondern Speicherplatz mit Parity.

 

Eine Installation in einer VM würde zumindest einen LAMP Server erfordern der dann tatsächlich als ganzes ja im Netz stehen würde.

 

Gruß

Martin

Link to comment

Vielen Dank für Eure schnellen Antworten.
Docker wäre auch eine Option - wobei ich bereits eine bestehende Ubuntu VM mit einer Nextcloud-Installation habe, die zusätzlich per LUKS-Verschlüsselt ist. Was würde dagegen sprechen? Könnten die Daten der Applikation und Benutzer im Docker-Container ebenfalls verschlüsselt werden?

 

Bitte entschuldigt diese Fragen. Ich bin neu auf dem Gebiet.

Edited by PlanetDyna
Link to comment

...wenn Du zwei Cache Disks hast und diese poolst, sind die raid 1 (BTRFS)

Auch wenn Du nur eine Daten-Disk im Array hast, macht unraid ein raid1 draus (bis eine zweite daten-Disk hinzugefüht wird).

 

Du kannst in unRaid ebenfalls das Array verschlüsseln (daten und cache). Aber auf einzelne Shares, Files oder Docker/VMs anwenden kannst Du die Verschlüsselung nicht....entweder alles oder nix.

 

Wenn Du das aus der VM heraus nur für nextcloud so machen willst, musst Du halt virtuelle DIsks images erstellen und der VM zuweisen.

Auf welches Unraid Share Du das Image legst, beibt Dir überlassen.

Alternativ die Disks an einen extra Controller und den, inklusive Disks an die VM durchreichen oder die Disks aus dem Array "ausbauen" und die Disks als rohes Blockdevice an die VM koppeln.

Allerdings hast Du dann das Array von unraid nicht in Benutzung und musst Du also neben Verschlüsslung auch um Ausfallsicherheit (parity/raid1) kümmern.

Dies wäre auch wohl der einzige Weg, die bestehende VM evtl. nach unraid, inkl. Daten 1:1 "umzuziehen".

 

Ob in der 6.9beta/RC mehrere Arrays/ cache Pools gehen und ob die einzeln verschlüsselt werden können, kann ich nicht sagen.

Damit liesse sich sonst auch eine Konfiguration zusammenbauen, die mit Deiner VM, ähnlich wie heute funktioniert.

 

Link to comment
3 hours ago, PlanetDyna said:

Was würde dagegen sprechen?

Der Overhead. Also mehr Ressourcen sind weg, weil für die VM reserviert und die CPU Last ist höher, also etwas mehr Stromverbrauch.

 

3 hours ago, PlanetDyna said:

Könnten die Daten der Applikation und Benutzer im Docker-Container ebenfalls verschlüsselt werden?

Eine Verschlüsselung bringt dir nur was, wenn der Angreifer nicht auf das System kommt, während es läuft. Also nur hilfreich gegen Diebstahl. Wenn das wichtig ist, könnte man wie bereits vorgeschlagen das komplette Unraid Array verschlüsseln.

 

Da Unraid ebenfalls LUKS nutzt, könnte man aber auch eine verschlüsselte Volume Image Datei erstellen, diese bei Array Start mounten und diesen Pfad dann im Docker Container hinterlegen. Erfordert also das Schreiben eines Scriptes. Wie ist im Vergleich die Vorgehensweise in der Ubuntu VM?

Link to comment
19 minutes ago, mgutt said:

Mehrere Arrays nicht, aber vielleicht ein verschlüsselter Pool?! Weißt du das @ich777?

@PlanetDyna Also die Docker Lösung wäre meiner Meinung nach die beste Lösung für dich da du dadurch erheblich felxibler bist als in einer VM.

 

Ja, du kannst mit der unRAID 6.9.0rc2 mehrere Cache Pools anlegen, jedoch nur ein einziges Array.

 

Wie @mgutt schon sagte die Verschlüsselung die du jetzt nutzt, nutzt ja im prinzip nur gegen Diebstahl des Systems, da könntest du auch die Verschlüsselung verwenden die in Nextcloud eingebaut ist.

Du kannst natürlich auch die Pools, oder nur einen Pool verschlüsseln nur musst du das gleich von Anfang an für den jeweiligen Pool auswählen, ich bin mir jetzt nicht mehr ganz sicher wie das genau funktioniert aber du musst den Pool den du verschlüsseln willst in BTRFS encrypted formatieren.

 

EDIT: Gefunden, also in etwa... Klick

  • Thanks 2
Link to comment
1 minute ago, mgutt said:

Wusste ich gar nicht. Wobei die Performance sicher besser ist, wenn das gesamte Volume verschlüsselt ist.

Einstellungen -> Sicherheit -> Serverseitige Verschlüsselung aktivieren | Zur Dokumentation

 

Sei dahingestellt was performanter ist... hab beides noch nicht ausprobiert aber wahrscheinlich wird es schneller sein wenn die BTRFS encrytpion verwendet wird.

Link to comment
  • 2 weeks later...

Ich möchte mich vielmals für Eure ausführlichen Antworten. Er ist wirklich schön, so eine aktive Community zu sehen. Bitte entschuldigt meine späte Antwort. Ich habe mir jetzt zunächst die entsprechende Hardware bestellt und melde mich zeitnah mit einem Feedback zurück. 

Leider sehe ich gerade, dass das Gigabyte C246M-WU4 nicht mehr verfügbar ist. Habt Ihr Alternativen?

Link to comment
1 hour ago, PlanetDyna said:

Leider sehe ich gerade, dass das Gigabyte C246M-WU4 nicht mehr verfügbar ist. Habt Ihr Alternativen?

 

8x SATA und 2x M.2 und ECC RAM auf einem mATX Board sind leider selten.

 

Man könnte noch auf die Full ATX C246 Boards von Gigabyte oder Asus ausweichen:

https://geizhals.de/asus-ws-c246-pro-90sw00g0-m0eay0-a1857698.html?hloc=de

https://geizhals.de/gigabyte-c246-wu4-a1944409.html?hloc=de

 

Oder man nimmt die nächste Generation:

https://geizhals.de/gigabyte-w480m-vision-w-a2376223.html?hloc=at&hloc=de&v=e

https://geizhals.de/asrock-w480-creator-a2301763.html?hloc=de

 

Da wird ECC RAM aber erst ab einem Xeon unterstützt.

 

Oder man ist mit 1x M.2 zufrieden und 6x SATA und besorgt sich eine M.2 PCIe Adapterkarte, damit ein Cache RAID möglich ist. Dann ginge das C246 von Fujitsu:

https://geizhals.de/fujitsu-d3644-b-s26361-f5110-v162-a1904781.html

 

Es kommt jetzt also auf deinen Bedarf an oder ob du einfach warten willst. Da das C246N-WU2 aber schon seit 2 Wochen ausverkauft ist, habe ich da wegen dem C246M-WU4 mittlerweile wenig Hoffnung.

 

Gefühlt baut während Corona gerade jeder ein NAS ^^

Link to comment

Hallo Mgutt,

erneut vielen Dank für Deine Antwort.
Auf dem NAS sollen, neben der Nextcloud, lediglich zwei bis drei Windows VMs laufen. Jedoch wird auf den VMs nicht live gearbeitet. Meine Daten und die Sicherungen der Unraid Instanzen werden auf einem Synology NAS abgelegt. Von daher benötige ich nicht viele SATA-Ports. Im Vordergrund sollte der Stromverbrauch stehen.
 

Aktuell habe ich folgende Auswahl getroffen:

Intel Core i3-9100
Kingston Server Premier RDIMM 32GB (ECC)
be quiet! SFX Power 2 300 Watt
Samsung SSD 970 EVO Plus 1TB
Western Digital WD Red Plus 8TB 

Hierzu auch die Frage: Empfiehlt sich der Einsatz von ECC-RAM?  
 

Link to comment
55 minutes ago, PlanetDyna said:

Empfiehlt sich der Einsatz von ECC-RAM?  

 

Der Vorteil von ECC RAM ist, dass

 

a) der Server gar nicht mehr startet, wenn unkorrigierbare Fehler auftreten = du weißt, dass der RAM hinüber ist und

 

b) ECC Korrekturen in den Systemlogs als Fehler gelistet werden = du weißt, dass der RAM langsam kaputt geht

 

Bei normalem RAM gibt es beides nicht. Der Server startet mit fehlerhaftem RAM und du erfährst nichts von den Fehler bis irgendwas abschmiert.

 

Gegenargument: Bei PCs interessiert sich auch keiner dafür. ^^

 

 

 

58 minutes ago, PlanetDyna said:

RDIMM

 

Du brauchst auf einem C246 Board Nicht RDIMM, sondern DIMM mit ECC. Das sind verschiedene RAM Typen.

 

On 1/22/2021 at 9:46 PM, mgutt said:

Oder man ist mit 1x M.2 zufrieden

 

Diese "Frage" hast du nicht beantwortet. Jedenfalls ist das Fujitsu neben dem C246M von Gigabyte auch sparsam und mit einer extra M.2 Karte könnte man es auf zwei M.2 aufrüsten.

 

Wenn dir ECC egal ist, dann wäre das Asrock B365M Pro 4 eine Option. Den Verbrauch davon kenne ich nicht, ich denke aber, dass der ebenfalls gering ausfallen wird.

 

 

Link to comment

Vielen Dank für Deine Ausführung zum ECC-RAM. Ausgehend von dieser ist ECC-RAM nicht unbedingt notwendig. Ebenfalls wie ein Cache-Array. Es ist vollkommen ausreichend wenn die Daten der Nextcloud/VMs einmal täglich gesichert werden.

 

Beim Mainboard habe ich mich für Deine Empfehlung "ASUS WS C246 PRO C246" entschieden. Es stellt sich für mich jedoch die Frage, falls ECC-RAM keine Relevanz hat, hierfür z.B. ein günstigeres Board zu kaufen und dafür eine teurere CPU. Wobei, wie gesagt, der Stromverbrauch entscheidend ist. Empfiehlt sich evtl. direkt der Kauf eines Sockel 1200 Board?

Link to comment
1 hour ago, PlanetDyna said:

Lohnt sich Deines Erachtens der Wechsel auf den Sockel 1200?

 

Bisher habe ich noch keinen 1200er Build gesehen, der einen 1151 vebrauchsmäßig schlagen konnte. ECC geht auch nicht mehr ohne Xeon. Daher nur eingeschränkt empfehlenswert. Wenn du ein W480M mit Xeon W-1250 nehmen willst, dann ist das sicher ein geiles Setup. Muss man nur vermutlich >5W mehr an Verbrauch akzeptieren. Dafür aber auch gleich 2.5G LAN, was ja bald Standard sein dürfte. Also ein klares "Jein" von mir ^^

 

Link to comment
  • 3 weeks later...
  • 3 weeks later...

Eine kurze Rückmeldung. Alles läuft. Super - vielen Dank.

Ich habe jetzt ein Array bestehend aus einer NVMe (1TB) und HDD. Hierzu eine kurze Frage: Die Daten unter dem Verzeichnis "user". Auf welcher meiner Laufwerke werden diese abgelegt? Zumindest ist das der Vorausgewählte Pfad für die Nextcloud Installation im Docker. 

Link to comment
16 hours ago, PlanetDyna said:

Die Daten unter dem Verzeichnis "user". Auf welcher meiner Laufwerke werden diese abgelegt?

Schau doch einfach nach. Rechts neben jedem Laufwerk ist das Ordnersymbol wo du dir den Inhalt anschauen kannst.

 

Container liegen standardmäßig im Share appdata und der speichert da ab wo du es willst. Falls dort keine Disk ausgewählt wurde, dann auf Disk1 und wenn ein Cache bevorzugt wurde, dann auf diesem.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.