Jump to content

mgutt

Moderators
  • Posts

    11,355
  • Joined

  • Last visited

  • Days Won

    124

Everything posted by mgutt

  1. Bei Unassigned Devices Plus war es kurz dabei. Mal den Entwickler fragen. @dlandon are there any problems with APFS?
  2. Oh verdammt übersehen. Wenn das ganze durch ist, bitte auf XFS wechseln. Mit BTRFS hat man nur Performance Nachteile, aber keine Vorteile.
  3. @ich777 wohl eine Frage für dich
  4. Für die Foto Sammlung oder wofür?!
  5. mgutt

    XPEN auf Unraid

    Was soll das heißen? Was siehst du über VNC?
  6. Wenn du einen Switch mit 16 PoE Ports holst, dann hat der ein entspechend großes Netzteil, also auch einen entsprechend hohen Verbrauch, obwohl nichts angestöpselt ist. Also besser weniger nehmen bzw zwei Switches.
  7. Der Hoster bietet gar keine Spamfilter? Kein Greylisting? Wechsel den Hoster.
  8. Ich habe gerade bei mir in die Logs geschaut. Die Fehler habe ich auch, aber der Container läuft trotzdem. Sicher, dass du nicht auf die WebGUI kommst? Für mich liest sich das so, als suche der Container auf der Platte nur nach einem Update von NodeJS.
  9. Wo? Da? Die einfachste Methode wäre denke ich kurz die Power-Taste zu drücken, so dass der Server herunterfährt. Danach änderst du auf dem USB Stick in der Datei /boot/config/ident.cfg den Wert "PORT" wieder auf "80" und startest den Server wieder. Vom Prinzip ginge das auch direkt über die Ausgabe vom Server, also über das Terminal, aber dann müsste man mit der Kommandozeile die Datei ändern (vi /boot/config/ident.cfg) und den Webserver neu starten (/etc/rc.d/rc.nginx restart).
  10. @ich777 Hast du eine Idee was da falsch läuft? Ich verstehe zb nicht warum der auf den Pfad /dev/disk/by-id zugreift?!
  11. Ok, most of them. And in this case the pre-read, clearing and post-read doesn't really verify anything. I read that, but I don't think its the task of this plugin to test the RAM. Of course its a nice side effect. I don't think so. I only think it could be optimized. To cover everything (pre-clearing, non-empty disks, defective RAM, really writing data), it could create XXX MB random data, build its CRC, write the data to the disk and compare the CRC through reading the data again. This would replace the pre-read and post-read. so it would take exactly the same amount of time. The final step would be the pre-clearing (which could be even optional if someone leaves this to Unraid).
  12. You asked for it (as I said, random behaviour and not supported by touch): 2021-01-27 02-42-02.mp4
  13. Oder du gehst auf W480. Aber wenn du ECC haben willst, musst du einen Xeon W-1250 oder größer nehmen. https://www.asrockrack.com/general/productdetail.asp?Model=W480M WS#Specifications Mein Favorit ist das Gigabyte W480M Vision, passt aber leider nicht in mein Gehäuse. Keine nennenswerten Einschränkungen, 8x SATA, 2x M.2 (der dritte ist diese blödsinnige Intel WLAN Slot), 2x PCIe x8, 2x PCIe x1 und 2.5G LAN https://www.gigabyte.com/de/Motherboard/W480M-VISION-W-rev-10 Würde ich uns das bauen, würde ich das so machen: mini-DTX (also mini-ITX mit zwei PCIe Slots) 4x RAM Slots 2x USB 3.0 2x USB 2.0 2x PCIe x16, jeweils vollwertig und mit 4x x4 Bifurcation Support 2x M.2 x4 8x SATA 2x 2.5G LAN Also WIFI Slot weg, die ganzen USB Slots weg und Analog Audio auch weg. Falls dann noch Lanes übrig sein sollten, eben noch einen M.2 dazu ^^
  14. WD Reds hatten mal einen Bug: https://withblue.ink/2016/07/15/what-i-learnt-from-using-wd-red-disks-to-build-a-home-nas.html WD Green parken ständig ihren Kopf: https://www.reinhardweiss.de/german/wdidle3.htm Davon was dabei, was dein Problem verursachen könnte? Ja und das solltest du als erstes machen. Installiere dir Unassigned Devices (UD) und Unassigned Devices Plus (UD+) und aktivierst in dessen Einstellungen den Destructive Mode. Damit formatierst du die zweite Ersatzplatte und gibst sie im Netzwerk frei. Das geht über das + Zeichen und dann bei den Einstellungen "Share" aktivieren. Danach taucht die Platten im Netzwerk auf. Hier ein Beispiel mit einem USB Stick: Jetzt aktivierst du noch in den Global Share Settings die Disk-Shares, um im Netzwerk direkt auf die disk3 zugreifen zu können: Achtung! Niemals Dateien von einem Share auf eine Disk oder andersherum kopieren! Immer nur von Disk zu Disk oder von Share zu Share! Es ist sonst ein Datenverlust möglich. Also von Disk3 auf Toshiba_HDWT360... wäre erlaubt. Wenn diese Datensicherung beendet ist, kannst du diese Schritte wieder rückgängig machen. Also in den Global Share Settings die Disk Shares deaktivieren und die Ersatzplatte über UD unmounten. Was steht denn in den System Logs? Es gibt ja einen Grund für den ansteigenden Error Count. Hast du jemals vorher einen Parity Check gemacht? Ich befürchte auch wegen der Anmerkung mit dem Stromausfall, dass dein XFS Dateisystem auf einer oder mehrerer Platten fehlerhaft ist. In dem Fall musst du das Array im Maintenance Mode starten, auf eine Disk klicken und den Check starten, am besten mit -nv statt -n: Solange "n" dabei ist, repariert er erstmal nichts, sondern zeigt nur evtl Fehler an. Ein Beispiel wie Fehler aussehen, findest du in diesem Video ab 04:30. Mach das mal mit allen Disks. Sollten Fehler dabei sein, kannst du sie reparieren, in dem du das "n" entfernst, also nur "-v". Hattest du auch mal einen Port auf der SATA Karte probiert oder ist da keiner mehr frei?
  15. Nein, da es bei PCIe bleibt. Da ist kein Controller drauf oder so. Eine ganz stupide Platine: https://www.amazon.de/s?k=m.2+pcie+adapter&sprefix=m.2+pcie+&ref=nb_sb_ss_ts-a-p_1_9 Ja genau. Das Gigabyte kann Bifurcation. Vielleicht das Asus auch? Falls du die GPU nur für Transcoding andenkst: Den Schlitz vom unteren Port aufschleifen und die GPU bei x4 betreiben. Dann den Adapter in den x16 Slot: https://www.supermicro.com/en/products/accessories/addon/AOC-SLG3-2M2.php Und in den Onboard M.2 Slot das bauen: http://www.iocrest.com/index.php?id=2070 Ok, etwas unkonventionell aber sollte gehen ^^
  16. OK. War mir nicht bekannt, dass Unraid den Wechsel noch einfacher macht, wenn es einen Ausfall gab. EDIT: Schau noch mal. Ich habe die Anleitung korrigiert.
  17. Die Frage verstehe ich nicht. Meinst du wie eine USB Platte am besten formatiert werden sollte oder eine Platte des Arrays? Letzteres kannst du ja gar nicht bestimmen, da Unraid die Platte ja formatiert, sobald du sie dem Array zuweist. Oder willst du wissen ob das standardmäßige Dateiformat XFS am schnellsten ist? Ja, das ist optimal. Mit "superschnell" hat das allerdings nichts zu tun. Das paritätsgeschützte Array ist eher langsam. Eine hohe Geschwindigkeit für zb 5G oder 10G LAN bekommt man nur mit einem vorgeschalteten SSD Cache oder viel RAM realisiert. Genau. Die fehlende Platte wird dank der Parität weiter simuliert. Erst wenn du das Array stoppst, kannst du die neue Platte zuweisen und der Rebuild kann starten. Von dieser Vorgehensweise muss ich streng abraten. Jede Software hat Sicherheitslücken und es ist nur eine Frage der Zeit bis diese gefunden und ausgenutzt wird. Unraid besitzt so viel ich weiß nicht mal einen Schutz gegen Bruteforce-Attacken und da der Login "root" bereits bekannt ist, muss "nur" das Passwort geknackt werden. Wenn du es trotzdem machen möchtest, musst du nur den Port 80 freigeben. Von außen dann zb Port 5567 auf Port 80 freigeben. Über deine öffentliche IP:5667 kommst du dann auf die WebGUI. Besser wäre zb ein VPN Tunnel über deinen Router. Ich nutze aktuell ZeroTier. Da drücke ich in der App auf verbinden und der Tunnel steht ohne Portfreigaben (Traffic wird durch US Server geroutet).
  18. Bei einer defekten Platte: 1.) Array stoppen 2.) Defekte HDD ausbauen (setzt Hot Swap voraus, ansonsten erst den Server herunterfahren) 3.) Neue HDD einbauen 4.) Die neue HDD dem Slot zuweisen, wo vorher die defekte verbaut war 5.) Array starten und Rebuild abwarten Hinweis: Anleitung wegen @ich777 Anmerkung geändert. Sollte jetzt passen.
  19. Look at my screenshots. It's a random behaviour of each browser. And waiting is not intuitive and does not work for touch-only devices.
  20. Ok, I found the reason in "/usr/local/emhttp/plugins/dynamix/scripts/monitor" for this, too. It's not really a bug. It happens because the output of smartctl is piped to grep and grep stops the pipe because "SMART" was found: if (!file_exists($file) || (time()-filemtime($file)>$var['poll_attributes'])) exec("smartctl -n standby -H $type ".escapeshellarg("/dev/$port")."|grep -Pom1 '^SMART.*: \K[A-Z]+'|tr -d '\n' >".escapeshellarg($file)); Two examples, the second causes the broken pipe error: root@Thoth:~# smartctl -n standby -H '/dev/sdc'|grep -Pom1 '^SMART.*: \K[A-Z]+' root@Thoth:~# smartctl -n standby -H '/dev/sdc' smartctl 7.1 2019-12-30 r5022 [x86_64-linux-4.19.107-Unraid] (local build) Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org Device is in STANDBY mode, exit(2) root@Thoth:~# smartctl -n standby -H '/dev/sdb'|grep -Pom1 '^SMART.*: \K[A-Z]+' PASSED root@Thoth:~# smartctl -n standby -H '/dev/sdb' smartctl 7.1 2019-12-30 r5022 [x86_64-linux-4.19.107-Unraid] (local build) Copyright (C) 2002-19, Bruce Allen, Christian Franke, www.smartmontools.org === START OF READ SMART DATA SECTION === SMART overall-health self-assessment test result: PASSED It could be fixed by passing the result to PHP first and let PHP check for "SMART", but it's ok to leave it as it is. Now I need to find the major bug: Why are some disks not monitored at all.
  21. Now found the reason why $port is sometimes empty: $disks = parse_ini_file("/var/local/emhttp/disks.ini",true); ... foreach ($disks as $disk) { ... check_smart($name,port_name($disk['smDevice'] ?? $disk['device']),$text,$info); Its because "/var/local/emhttp/disks.ini" contains data for parity2 which is not used: ["parity2"] idx="29" name="parity2" device="" id="" size="0" status="DISK_NP_DSBL" rotational="" format="-" temp="*" numReads="0" numWrites="0" numErrors="0" type="Parity" color="grey-off" fsStatus="-" spindownDelay="-1" spinupGroup="" deviceSb="" idSb="" sizeSb="0" As we can see there is no "smDevice" key and "device" is empty, which causes this error. Bug fix search in "/usr/local/emhttp/plugins/dynamix/scripts/monitor" for: if ($name=='flash' || substr($disk['status'],-3)=='_NP') continue; replace against: if ($name=='flash' || strpos($disk['status'],'_NP')) continue; This is because parity2 has the status "DISK_NP_DSBL" and all other empty disk slots have "DISK_NP". Now I try to find the other bugs
  22. But its the main reason why people are using it (as far as I know). If you extend your array, Unraid will clear it. Execute this and you have your confirmation (as the firmware compares the ECC): dd if=/dev/sdX of=/dev/null bs=1M We only need a plugin that adds a button for this or which automatically executes it after a disk was cleared through Unraid.
  23. If you upload a file, it will be finally moved on the disk. And "slow" depends on your network connection. I mean, are you using 10G ethernet or why is your disk too slow? Note: Linux already uses your RAM as write cache. The setting is called "vm.dirty_ratio" or "vm.dirty_bytes" and can be changed through the Tips and Tweaks plugin or manually through your Go-File. I added this to have 50% of my RAM as write cache: # ------------------------------------------------- # Raise write cache # ------------------------------------------------- sysctl vm.dirty_ratio=50 I mentioned this in my guide in #7.
  24. Ich habe das damals beim Hausbau bewusst nicht gemacht: a) teuer b) kein PoE c) LWL kann man nicht zweckentfremden zB als Lautsprecherkabel oder SAT-Kabel oder oder oder 10G braucht man außerdem nicht überall im Haus. Die meisten Clients haben WLAN. Mit WLAN6 wird man 2.5G in den APs brauchen, aber 10G halte ich für unwahrscheinlich, weil die Übertragung zwar schneller, aber insgesamt nicht effizienter wird und auch schlicht kein Bedarf dafür vorhanden ist. Die restlichen Clients sind dann PCs mit denen 10G Spaß macht oder aber Fernseher, Konsolen etc, die auch in Jahrzehnten noch mit 1G klar kommen werden. Nicht weil ich nicht an einen Ausbau glaube, sondern weil selbst in Singapur, wo 1G Internet der Standard ist, auch kaum einer mehr haben will. Da sind hochpreise Internetleitungen eher mit garantiert kleinem Ping, also mit QoS.
  25. My opinion about this plugin or the idea behind it: The first part is clear: It writes zeros to the disk to preclear it, being able to use it directly in an unraid array. The second part is: Verify if those zeros are still there after they where written. I don't think the second part is really useful. It maybe sounds logical, but finally it misses a simple part: A new disk has already zeros on it. So writing zeros to a disk which has already zeros on it, verifies nothing because writing only zeros means demagnetizing all sectors which are already demagnetized. Conclusion: You don't know if a sector could really contain data as you never tested writing / magnetizing. I think this would be better: dd if=/dev/random of=/dev/sdX bs=1M dd if=/dev/sdX of=/dev/null bs=1M This creates pseudo random data on each sector and after that it reads every sector. Why is this sufficient or even better? Because every sector on the disk has an ECC (Error Correcting Code) to verify the content of a sector: And this ECC is verified on every read. This means if you read data from a disk, the firmware checks if the ECC fits to the sector data and if not, it: A) trys to re-read the sector or B) rebuilds the data through the ECC (yes its some kind of a parity, too) or C) it marks the sector as defective, which can be seen through SMART. And because we are really writing data to the disk, we know, thanks to ECC, if the sector could be magnetized. After executing those two commands you can add the disk to the array. Unraid will now clear it (writing zeros again). This means we have three processes and each needs 1 hour per TB (for HDDs with an average of 150 MB/s). This gives us a total of 30 hours for a 10TB disk to verify and clear it. This is faster than the current method and I think, the more realible method. What's your opinion about that?
×
×
  • Create New...