Hyppää sisältöön

Welcome to our weekly research support coffee hour on Zoom! Click here for more information.

Warning!

Puhti scratch disk is becoming very full (80+ % ) resulting in performance degradation. Everybody is advised to only keep actively processed data on scratch, all other data should be deleted, transferred to host institute or stored in Lumi-O. No new quota will be granted. Click here for a tool for examining your disk usage.

NFS-palvelimen asennus

Tässä osiossa opimme, miten NFS-palvelin otetaan käyttöön cPoudassa.

Esittelemme yksinkertaisen ohjeen siitä, miten voit luoda NFS-palvelimesi kahdella palvelulla:

NFS-ytimen palvelin

Tämä on sisäänrakennettu NFS-palvelin, joka on saatavilla kaikissa tärkeimmissä Linux-jakeluissa (Ubuntu, Debian, CentOS, Rocky, AlmaLinux jne.).

Miksi valita se?

  • Vakaa, laajasti käytetty ja tuotantokäytössä hyväksi todettu

  • Helppo asentaa ja määrittää

  • Sopii erinomaisesti yksinkertaiseen jaettuun tallennustilaan tai laboratorioympäristöihin

  • Toimii hyvin, kunhan suorituskyky- ja skaalautuvuustarpeet ovat kohtuulliset

NFS Ganesha

NFS-Ganesha on täysimittainen NFS-palvelin, joka toimii käyttäjätilassa ytimen tilan sijaan.

Miksi valita se?

  • Tukee NFSv3-, NFSv4.1- ja NFSv4.2-versioita

  • Voi viedä useita taustajärjestelmätyyppejä, mukaan lukien:

    • POSIX-tiedostojärjestelmät

    • CephFS

    • GlusterFS

    • S3-tyyppinen oliotallennus (FSAL-liitännäisten kautta)

  • Kokoonpano voidaan ladata uudelleen ilman palvelun pysäytystä

  • Hyvä skaalautuviin käyttöönottoihin

NFS-ytimen palvelin

Palvelinpuoli

Pääsy ulkopuolelta

Tämä ohje näyttää, miten pääsy määritetään yksityisessä verkossa, tyypillisesti kahden (tai useamman) Pouta-koneen välillä samassa CSC-projektissa. Jos haluat käyttää NFS-palvelinta ulkopuolelta, muista luoda suojausryhmä, joka sallii portin 2049. Tämä voi olla tarpeen myös silloin, jos koneisiisi on liitetty Floating IP.

Note

Seuraavat komennot suoritettiin Ubuntu 24.04:llä ja AlmaLinux 9:llä.

  1. Luo ja liitä taltio koneeseesi, ja sitten ota taltio käyttöön koneessasi. Tässä esimerkissä liitospisteen nimi on /srv/nfs4

  2. Päivitä järjestelmä ja asenna paketti nfs-kernel-server. Suorita Ubuntussa

    sudo apt update && sudo apt upgrade -y
    sudo apt install nfs-kernel-server -y
    

    Suorita AlmaLinuxissa

    sudo dnf install -y nfs-utils
    
  3. Ota palvelu käyttöön

    sudo systemctl enable --now nfs-server
    
  4. Muokkaa tiedostoa /etc/exports ja lisää tämä rivi:

    /srv/nfs4 192.168.1.0/24(rw,fsid=0,no_subtree_check,crossmnt)
    
    • 192.168.1.0/24: salli asiakkaat tästä IP-alueesta
    • rw: salli luku ja kirjoitus
    • fsid=0: määrittää viedyn juuren (pakollinen NFSv4:lle).
    • no_subtree_check: poistaa viedyn alihakemiston tarkistuksen käytöstä (suositeltu)
    • crossmnt: sallii NFS-palvelimen sisällyttää sisäkkäiset liitospisteet vietyyn hakemistoon, jotta asiakkaat voivat käyttää viedyn polun sisällä liitettyjä tiedostojärjestelmiä.
  5. Tallenna ja poistu. Ota määritys käyttöön:

    sudo exportfs -ra # tai sudo systemctl restart nfs-server
    
  6. Tarkista viennit

    sudo exportfs -v
    

Asiakaspuoli

  1. Päivitä järjestelmä ja asenna paketti nfs-common. Suorita Ubuntussa

    sudo apt update && sudo apt upgrade -y
    sudo apt install nfs-common -y
    

    Suorita AlmaLinuxissa

    sudo dnf install nfs-utils
    
  2. Luo liitospiste

    sudo mkdir -p /mnt/nfs/share # Esimerkiksi
    
  3. Liitä käsin

    sudo mount <server_ip_address>:/srv/nfs4 /mnt/nfs/share
    

    a. Voit liittää myös optimoiduilla parametreilla

    sudo mount -o rsize=1048576,wsize=1048576,nconnect=4,noatime <server_ip_address>:/srv/nfs4 /mnt/nfs/share/
    
    • rsize=1048576: asettaa lukulohkon kooksi 1 Mt (testattava kaistanleveyden mukaan)
    • wsize=1048576: sama kirjoituslohkolle
    • nconnect=4: avaa siirtoa varten 4 rinnakkaista TCP-yhteyttä (hyödyllinen matalan viiveen verkoissa)
    • noatime: poistaa käytön aikaleiman päivityksen jokaisella lukukerralla, mikä vähentää levykirjoituksia

    Info

    Saatat joutua lisäämään option insecure, jotta macOS-asiakkaat voivat käyttää jakoa.

  4. Voit testata luku-/kirjoitussuorituskykyä

    dd if=/dev/zero of=/mnt/nfs/share/testfile bs=1M count=100 oflag=direct
    

    Suositeltu tapa on lisätä liitospiste tiedostoon /etc/fstab:

    <server_ip_address>:/ /srv/nfs4 nfs4 defaults,noatime,tcp,rsize=1048576,wsize=1048576,nconnect=4 0 0
    

    Jos asiakaskone käynnistyy uudelleen, liitos tehdään automaattisesti

NFS Ganesha

Palvelinpuoli

Pääsy ulkopuolelta

Tämä ohje näyttää, miten pääsy määritetään yksityisessä verkossa, tyypillisesti kahden (tai useamman) Pouta-koneen välillä samassa CSC-projektissa. Jos haluat käyttää NFS-palvelinta ulkopuolelta, muista luoda suojausryhmä, joka sallii portin 2049. Tämä voi olla tarpeen myös silloin, jos koneisiisi on liitetty Floating IP.

Note

Seuraavat komennot suoritettiin Ubuntu 24.04:llä ja AlmaLinux 9:llä.

  1. Luo ja liitä taltio koneeseesi, ja sitten ota taltio käyttöön koneessasi. Tässä esimerkissä liitospisteen nimi on /srv/nfs4

  2. Päivitä järjestelmä ja asenna paketit nfs-ganesha ja nfs-ganesha-vfs. Suorita Ubuntussa

    sudo apt update && sudo apt upgrade -y
    sudo apt install -y nfs-ganesha nfs-ganesha-vfs
    

    Suorita AlmaLinuxissa

    sudo dnf install -y centos-release-nfs-ganesha4
    sudo dnf install -y nfs-ganesha nfs-ganesha-vfs
    
  3. Tee kopio oletusmäärityksestä

    sudo cp /etc/ganesha/ganesha.conf /etc/ganesha/ganesha.conf.ORI
    
  4. Muokkaa asetustiedostoa

    sudo vi /etc/ganesha/ganesha.conf
    
    ## These are core parameters that affect Ganesha as a whole.
    NFS_CORE_PARAM {
            ## Allow NFSv3 to mount paths with the Pseudo path, the same as NFSv4,
            ## instead of using the physical paths.
            mount_path_pseudo = true;
    }
    
    ## Configure an export for some file tree
    EXPORT
    {
            ## Export Id (mandatory, each EXPORT must have a unique Export_Id)
            Export_Id = 1;
    
            ## Exported path (mandatory)
            Path = /srv/nfs4;
    
            ## Pseudo Path (required for NFSv4 or if mount_path_pseudo = true)
            Pseudo = /nfs;
    
            ## Restrict the protocols that may use this export.  This cannot allow
            ## access that is denied in NFS_CORE_PARAM.
            Protocols = 3,4;
    
            ## Access type for clients.  Default is None, so some access must be
            ## given. It can be here, in the EXPORT_DEFAULTS, or in a CLIENT block
            Access_Type = RW;
    
            ## Whether to squash various users.
            Squash = root_squash;
    
            ## Allowed security types for this export
            Sectype = sys;
    
            ## Exporting FSAL
            FSAL {
                    Name = VFS;
            }
    
            ## You can make custom rules for certain clients (R, W, RW)
            CLIENT {
                    Clients = 192.168.1.0/24;
                    Access_Type = RW;
            }
    }
    
    ## Configure logging.  Default is to log to Syslog.  Basic logging can also be
    ## configured from the command line
    LOG {
            ## Default log level for all components
            Default_Log_Level = WARN;
    }
    

    Tämä on perusmääritys. Voit selata asetustiedostoa ja mukauttaa sitä tarpeidesi mukaan.

  5. AlmaLinuxissa repositorio tarjoaa vain repositorion määrityspaketin, ei varsinaista Ganesha-palveluyksikköä tai taustaprosessia. Sinun täytyy luoda se

    sudo vi /etc/systemd/system/ganesha.service
    
    [Unit]
    Description=NFS-Ganesha NFS server
    After=network.target
    
    [Service]
    Type=forking
    PIDFile=/run/ganesha/ganesha.pid
    ExecStart=/usr/bin/ganesha.nfsd -f /etc/ganesha/ganesha.conf -L /var/log/ganesha/ganesha.log -p /run/ganesha/ganesha.pid
    ExecReload=/bin/kill -HUP $MAINPID
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    

    Tallenna, poistu ja lataa uudelleen

    sudo systemctl daemon-reload
    sudo systemctl enable —-now ganesha
    
  6. Tarkista viennit

    showmount -e localhost
    

Asiakaspuoli

  1. Päivitä järjestelmä ja asenna paketti nfs-common. Suorita Ubuntussa

    sudo apt update && sudo apt upgrade -y
    sudo apt install nfs-common -y
    

    Suorita AlmaLinuxissa

    sudo dnf install nfs-utils
    
  2. Luo liitospiste

    sudo mkdir -p /mnt/nfs/share # Esimerkiksi
    
  3. Liitä käsin. Koska käytämme Ganesha-palvelimessa asetusta mount_path_pseudo = true, sinun täytyy liittää jako mount pseudoa (nfs) käyttäen

    sudo mount <server_ip_address>:/nfs /mnt/nfs/share
    

    a. Voit liittää myös optimoiduilla parametreilla

    sudo mount -o rsize=1048576,wsize=1048576,nconnect=4,noatime <server_ip_address>:/nfs /mnt/nfs/share/
    
    • rsize=1048576: asettaa lukulohkon kooksi 1 Mt (testattava kaistanleveyden mukaan)
    • wsize=1048576: sama kirjoituslohkolle
    • nconnect=4: avaa siirtoa varten 4 rinnakkaista TCP-yhteyttä (hyödyllinen matalan viiveen verkoissa)
    • noatime: poistaa käytön aikaleiman päivityksen jokaisella lukukerralla, mikä vähentää levykirjoituksia

    Info

    Saatat joutua lisäämään option insecure, jotta macOS-asiakkaat voivat käyttää jakoa.

  4. Voit testata luku-/kirjoitussuorituskykyä

    dd if=/dev/zero of=/mnt/nfs/share/testfile bs=1M count=100 oflag=direct
    

    Suositeltu tapa on lisätä liitospiste tiedostoon /etc/fstab:

    <server_ip_address>:/ /nfs nfs4 defaults,noatime,tcp,rsize=1048576,wsize=1048576,nconnect=4 0 0
    

    Jos asiakaskone käynnistyy uudelleen, liitos tehdään automaattisesti

Suomenkielinen tekoälykäännös

Sisällössä voi esiintyä virheellistä tietoa tekoälykäännöksestä johtuen.

Klikkaa tästä antaaksesi palautetta