Skip to content

NanoPi R5S - Samba

NanoPi R5S
  • Ich hatte ja schon erwähnt, das ich von NFS auf Samba wechseln musste, weil der NFS Server unterirdisch schlechte Transferraten hatte. Somit musste ich mich dann so ziemlich das erste Mal in meinem Leben mit einem Samba Server auseinandersetzen.

    8764bbf3-86a1-4777-bd97-2258b14bce5e-grafik.png

    Nach einigem Ausprobieren hatte ich es soweit, das ich zwei Freigaben hatte, die ich problemlos mit dem Dateimanager von Manjaro erreichen konnte. Ich konnte auch problemlos schreiben usw.

    Aber, mit diesen Dateipfaden aka

    smb://192.168.3.1/NAS

    kann ich nicht arbeiten. Meine vorhandenen Scripte möchten was ordentliches haben 😉 Also machte ich mich daran, diese Freigaben zu mounten.

    Also in /etc/fstab stundenlang Einträge ausprobiert. Zwischendurch auch immer versucht per Hand über die Konsole zu mounten.

    Ich bekam, egal was ich machte, immer diesen Fehler.

    CIFS: VFS: cifs_mount failed w/return code = -22
    

    Sehr aussagekräftig, weil ich dazu im Netz auch nichts vernünftiges fand. Also kurze Pause und nachdenken. Was, wenn es irgendwas mit dem Kernel zu schaffen hätte?

    Da kam mir die Idee, es mal auf meinem Linux Mint Cinnamon Notebook zu probieren und zack, schon der erste Mount-Versuch funktionierte.

    🤔

    Das Notebook benutzte einen 5.15er Kernel.

    Also, startete ich meinen Haupt-PC neu und wechselte von dem aktuellen Kernel

    Linux frank-ms7c37 5.18.12-3-MANJARO #1 SMP PREEMPT_DYNAMIC Sun Jul 17 14:33:15 UTC 2022 x86_64 GNU/Linux
    

    auf einen 5.15er Danach schnell ein Mount-Versuch und es ging! Ok, es muss irgendwas mit dem verwendeten Kernel zu schaffen haben. Den alten zu benutzen kam für mich nicht in Frage, also machte ich mich im Netz auf die Suche und stolperte über diesen Beitrag.

    Die Kernel-Version passte nicht ganz, aber egal, mal aufmerksam lesen. Man empfahl einen Beitrag als Lösung

    Wieder aufmerksam lesen... 🙂

    Lösung

    I was able to reproduce it to older Samba server (4.12.5) and could
    workaround the Samba server bug by using mount option "compress" on
    the client (which won't do anything different since it is not
    supported but interestingly it avoids the problem by adding another
    context at the end).

    Ok, man sollte also eine Mountoption compress benutzen. Also ausprobieren. Mittlerweile war der Rechner wieder auf 5.18.

    Der Mount-Befehl

    //192.168.3.1/NAS      /mnt/NAS               cifs    compress,credentials=/root/.smbcredentials,uid=1000,gid=1000 0 0
    

    funktionierte sofort!

    Die Dateiberechtigungen auf dem NanoPi R5S

    root@FriendlyWrt:~# ls -lha /mnt/sda1
    total 28K
    drwxrwxrwt  4 frankm frankm 4.0K Jul 22 10:03 .
    drwxr-xr-x  1 root   root   4.0K Jul 23 22:39 ..
    drwx------  2 frankm frankm  16K Jul 20 12:22 lost+found
    drwxr-xr-x 29 frankm frankm 4.0K Jul 24 08:08 samba
    

    Für Samba habe ich einen Linux User frankm angelegt.

    Fazit

    Es hat gedauert und zwar richtig lange um dieses Problem zu lösen. Und eine Bitte an die Coder da draußen, Error -22 hilft niemanden!!

    Interessanterweise findet man die Option compress in der Anleitung gar nicht!?

    Ok, lassen wir es und machen einen Haken dran. Die Samba Mounts funktionieren ja jetzt 🤓

  • Noch eine kurze Anmerkung, der eingesetzte Samba Server auf dem NanoPi R5S ist von März 2021.

    Kennt sich einer mit OpenWrt aus? Wird das mit 22.03 aktualisiert?

  • hab da auch nur die 4.14.12 probiert nur bei mir deutlich langsamer als nfs

    hier mal ein speed test was so netto auf der Festplatte auf dem R5S ankommt mit SMB rund 60-70MB/s

    smb.jpeg

    und das ganz noch mal mit NFS rund 130-140MB/s

    nfs.jpeg

    root@FriendlyWrt:~# cat /etc/exports
    /mnt/nvme0n1p1               192.168.0.10(rw,insecure,async,no_root_squash,subtree_check,fsid=0)
    /mnt/nvme0n1p1/ARCHiV        192.168.0.10(rw,insecure,async,no_root_squash,subtree_check)
    

    auf dem Desktop Rechner dann einfach mounten oder in fstab konfigurieren

    sudo mount -t nfs -o nfsvers=4,soft,rw 192.168.0.3:/ /mnt/NAS/NFS    
    

    bei den werten zu beachten wäre ich muss da auf die alte Verkabellung zurück greifen mit CAT5 Kabel ab bei 2,5Gbit Fehler/Aussetzer auf der Leitung

  • @Dude Danke, ich werde das nochmal prüfen.

  • Test zu dem NFS Mount (240GB USB SSD an USB-Port)

    [frank-ms7c37 nfs]# dd if=/dev/zero of=sd.img bs=1M count=2048 oflag=direct,nonblock
    2048+0 Datensätze ein
    2048+0 Datensätze aus
    2147483648 Bytes (2,1 GB, 2,0 GiB) kopiert, 20,0851 s, 107 MB/s
    

    Test zum NAS Mount (Samba) (2TB 2,5Zoll HDD am USB-Port)

    [frank-ms7c37 NAS]# dd if=/dev/zero of=sd.img bs=1M count=2048 oflag=direct,nonblock
    2048+0 Datensätze ein
    2048+0 Datensätze aus
    2147483648 Bytes (2,1 GB, 2,0 GiB) kopiert, 21,4538 s, 100 MB/s
    

    Das für den NAS Mount (Samba) sollte die maximal Schreibgrenze der Festplatte sein. Mehr dürfte da nicht gehen. Das andere könnte an den Adaptern liegen, die ich dafür benutze.

    Bei mir ist NFS hier aktuell nicht viel schneller, oder ich bin zu doof dafür.

  • FrankMF FrankM hat am auf dieses Thema verwiesen
  • A Andy hat am auf dieses Thema verwiesen
  • FrankMF FrankM hat am auf dieses Thema verwiesen

  • MongoDB - Erste Erfahrungen

    Linux
    2
    0 Stimmen
    2 Beiträge
    66 Aufrufe
    FrankMF

    So frisch von der MongoDB Front und wieder viel gelernt, weil beim Üben macht man Fehler 🙂

    Oben war ja mongodump & mongorestore von der KI empfohlen. Hier das wie ich es gemacht habe.

    mongodump frank@redis-stack:~$ mongodump -u frank -p '<password>' --host 192.168.3.9 --authenticationDatabase admin -d portfolio -o mongodump/ 2024-04-06T09:29:25.174+0200 writing portfolio.stockList to mongodump/portfolio/stockList.bson 2024-04-06T09:29:25.175+0200 writing portfolio.users to mongodump/portfolio/users.bson 2024-04-06T09:29:25.175+0200 done dumping portfolio.stockList (8 documents) 2024-04-06T09:29:25.176+0200 writing portfolio.total_sum to mongodump/portfolio/total_sum.bson 2024-04-06T09:29:25.177+0200 done dumping portfolio.total_sum (1 document) 2024-04-06T09:29:25.177+0200 writing portfolio.old_total_sum to mongodump/portfolio/old_total_sum.bson 2024-04-06T09:29:25.177+0200 writing portfolio.stocks to mongodump/portfolio/stocks.bson 2024-04-06T09:29:25.177+0200 done dumping portfolio.users (4 documents) 2024-04-06T09:29:25.178+0200 writing portfolio.settings to mongodump/portfolio/settings.bson 2024-04-06T09:29:25.178+0200 done dumping portfolio.settings (1 document) 2024-04-06T09:29:25.179+0200 done dumping portfolio.old_total_sum (1 document) 2024-04-06T09:29:25.179+0200 done dumping portfolio.stocks (34 documents) mongorestore mongorestore -u frank -p '<password>' --host 192.168.3.9 --authenticationDatabase admin -d portfolio mongodump/meineDatenbank/

    Hier wird die Datensicherung mongodump/meineDatenbank/ in die neue Datenbank portfolio transferiert.

    Grund für das Ganze? Mich hatte der Datenbank Name meineDatenbank gestört.

    Benutzerrechte

    Jetzt der Teil wo man schnell was falsch machen kann 🙂 Ich hatte also die neue Datenbank, konnte sie aber nicht lesen. Fehlten halt die Rechte. Ich hatte dann so was hier gemacht.

    db.updateUser("frank", { roles: [ { role: "readWrite", db: "meineDatenbank" }, { role: "readWrite", db: "portfolio" }]})

    Ging auch prima, kam ein ok zurück. Nun das Problem, ich hatte beim Einrichten, den User frank als admin benutzt. Durch den oben abgesetzten Befehl (frank ist ja admin), wurden die neuen Rechte gesetzt und die Rechte als Admin entzogen!! Das war jetzt nicht wirklich das was ich gebrauchen konnte. LOL

    Ich hatte jetzt keine Kontrolle mehr über die DB. Das war aber nicht so wirklich kompliziert, das wieder zu ändern. Die Authentication temporär abstellen. Also /etc/mongod.conf editieren und

    #security: security.authorization: enabled

    eben mal auskommentieren. Den Daemon neustarten und anmelden an der DB.

    mongosh --host 192.168.3.9

    Danach neuen User anlegen

    db.createUser({ user: "<name>", pwd: "<password>", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] })

    mongod.conf wieder ändern und neustarten. Danach hat man wieder eine DB mit Authentifizierung und einen neuen Admin. Ich bin diesmal, man lernt ja, anders vorgegangen. Es gibt nun einen Admin für die DB und einen User zum Benutzen der Datenbanken! So wie man es auch auf einem produktiven System auch machen würde. Wenn ich jetzt mal was an den Benutzerrechten des Users ändere, kann mir das mit dem Admin nicht mehr passieren. Hoffe ich 🙂

  • 0 Stimmen
    1 Beiträge
    256 Aufrufe
    Niemand hat geantwortet
  • NanoPi R5S - TF-A released

    NanoPi R5S
    1
    0 Stimmen
    1 Beiträge
    144 Aufrufe
    Niemand hat geantwortet
  • NanoPi R5S - OpenWrt Image

    NanoPi R5S
    5
    0 Stimmen
    5 Beiträge
    505 Aufrufe
    FrankMF

    Ich vermisse ja hier immer das PCIe Laufwerk. Beim Ausprobieren des VisionFive2 hatte sich herausgestellt, das die WD Black NVMe dort auch nicht erkannt wird!?

    Also mal die neue Crucial PCIe SSD rein und bingo - funktioniert einwandfrei.

    Gegentest, die WD wieder eingebaut. Die wird nicht erkannt - sehr interessant und nervig 🙂

  • NanoPi R5S - externe Reviews

    NanoPi R5S
    1
    0 Stimmen
    1 Beiträge
    166 Aufrufe
    Niemand hat geantwortet
  • NanoPi R5S - Spezifikationen

    NanoPi R5S
    2
    0 Stimmen
    2 Beiträge
    150 Aufrufe
    FrankMF

    R5S_en_14.jpg
    Bildquelle: https://www.friendlyelec.com/index.php?route=product/product&path=69&product_id=287

  • ClusterSSH

    Angeheftet Linux
    4
    0 Stimmen
    4 Beiträge
    726 Aufrufe
    FrankMF

    Mal wieder lange dran rumgefummelt, bis es passte.

    I have figured out how to use any font in xterm. So for the case of the mentioned Inconsolata font size 14, the following works:

    Add these 2 lines into ~/.Xresources (create it if it does not exist)

    XTermfaceName: Inconsolata
    XTermfaceSize: 14

    Then, tell xterm to use this file:

    export XENVIRONMENT="${HOME}/.Xresources"

    Preferably add this export into .bashrc, so that it is persistent.

    comment out the font settings in ~/.clusterssh/config, if it exists: # terminal_font=6x13

    Quelle: https://unix.stackexchange.com/questions/230106/cluster-ssh-specify-terminal-font

  • Linux Befehle - ls & tail

    Linux
    1
    0 Stimmen
    1 Beiträge
    329 Aufrufe
    Niemand hat geantwortet