Hyppää sisältöön

Docs CSC now features an automatic Finnish translation. Click here for more information.

Warning!

Puhti and Mahti will be decommissioned after Roihu becomes available. Users should clean up unnecessary files and move any required data by the end of August 2026. See the Roihu data preparation instructions for details.

Puhti scratch is very full: keep only active data there and move or delete everything else. No new Puhti scratch quota will be granted.

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