Mounten netwerkschijf in Windows WSL (podman)

Pagina: 1
Acties:

Vraag


Acties:
  • 0 Henk 'm!

  • MisterE
  • Registratie: April 2002
  • Laatst online: 22-07 18:41
Wij gebruiken WSL2 in combinatie met podman/podman-compose.

Verder hebben we een SSO (AD) netwerkshare waar de databases bak-files staan.
Deze share heb ik in Windows gemapped naar de B:\ schijf.

Ik wil deze bak files aanbieden op de mssql container door deze te mounten op "/mnt/bakfiles_share".

Het liefst doe ik dit direct door direct naar het UNC pad te verwijzen vanuit het podman-compose bestand.
De andere oplossing is om de B:\ schijf eerst in de WSL te mounten.
variant oplossen in podman-compse
Met een paar varianten zitten spelen. Maar dit geeft geen enkele terugkoppeling. Dus geen idee of ik op de goede weg zit.
Daarbij is de SSO een extra variabele.

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
version: "3.8"
services:
  mssqlserverservice:
    image: mcr.microsoft.com/mssql/server:2019-latest
    ports:
      - "1433:1433"
    volumes:
      - /mnt/c/Docker/sql_data:/var/opt/mssql/data
      - /mnt/c/Docker/sql_log:/var/opt/mssql/log
      - /mnt/c/Docker/sql_secrets:/var/opt/mssql/secrets
      - /mnt/b/:/mnt/bakfiles_share
      #- /mnt/c/Docker/bakfiles_share:/mnt/bakfiles_share
      #- your_volume_name:/mnt/your_volume_name
      #- downloads:/mnt/downloads
    environment:
      ACCEPT_EULA: Y
      MSSQL_SA_PASSWORD: "yourStrong(!)Password"
      TZ: "Europe/Amsterdam"


volumes:
  your_volume_name:
    driver: local
    driver_opts:
      type: smb
      source: "//<IP_SERVER>/share"
      options:
        username: ""
        password: ""
        domain: ""
  downloads:
    driver_opts:
      type: cifs
      o: uid=1000,gid-1000,vers=3.0,rw
      device: //<IP_SERVER>/share
variant mounten B:\ in WSL
Verschillende bronnen vertellen mij -> Aanmaken van map "/mnt/b" in de WSL en dan "sudo mount -t drvfs B: /mnt/b".
Dit geeft mij de volgende wazige errors.

code:
1
2
3
<3>WSL (2214) ERROR: UtilGetPpid:1244: Failed to parse: /proc/110/stat, content: 110 (su) S 0 0 0 34816 2212 4194560 530 0 3 0 1 0 0 0 20 0 1 0 3026 13066240 1651 18446744073709551615 94245517668352 94245517694929 140723354202080 0 0 0 2147196671 0 16384 1 0 0 17 3 0 0 0 0 0 94245517707248 94245517709316 94245521616896 140723354208155 140723354208166 140723354208166 140723354210284 0
<4>WSL (2214) WARNING: mount: waiting for virtio device drvfs
<3>WSL (2214) ERROR: MountWithRetry:307: mount(drvfs, /mnt/b, 9p, 0x00000000, cache=mmap,msize=262144,trans=virtio,aname=drvfs;path=B:;symlinkroot=/mnt/) failed: No such file or directory

Alle reacties


  • MisterE
  • Registratie: April 2002
  • Laatst online: 22-07 18:41
De oplossing is gevonden.

Dit lijkt er aan de hand.
Variant B gaat mis omdat we in de nested namespace zitten. Dit is workaround die ze bij podman gebruiken vanwege Windows met pid 0.

De users in deze namespace zijn niet de echte users. Dit gaat via een "mapping".
Als ik de namespace "exit" dan werkt variant B gewoon.

De uiteindelijke oplossing voor ons is om in de WSL een /etc/fstab aan te maken met soortgelijke drvfs regels. Daarna kan de nested namespace en containers de "/mnt/b" gewoon via een "volume" gebruiken.