deepin nfsサービスとクライアントのインストール

5868 ワード

Dockerはnfsサーバー側をインストールします(テストに失敗しました.docker方式でnfsとサービス側とクライアントを配置することをお勧めしません):
Dockerはnfsの構築に失敗し、放棄しました.理由は3つあります.
  • コンテナ内のmountフォルダは、ホストにマッピングできません.
  • 111ポートはrpcbindによって占有され、nfsのサーバとクライアントを同じサーバに同時に配備することはできません.
  • docker-composer不定–privileged、mount実行に失敗しました.
  • docker run -d --name nfs --privileged --restart=always \
    -h nfsserver \
    -v /datadisk/share/nfsshare/:/nfsshare/ \
    -v /datadisk/share/nfs:/nfs \
    -v /mnt/share:/mnt/nfs1 \
    -v /mnt/nfs:/mnt/nfs \
    -e NFS_EXPORT_DIR_1=/share \
    -e NFS_EXPORT_DOMAIN_1=\* \
    -e NFS_EXPORT_OPTIONS_1=rw,insecure,no_subtree_check,no_root_squash,fsid=1 \
    -e NFS_EXPORT_DIR_2=/nfs \
    -e NFS_EXPORT_DOMAIN_2=\* \
    -e NFS_EXPORT_OPTIONS_2=rw,insecure,no_subtree_check,no_root_squash,fsid=2 \
    -e NFS_SERVER_HOST=127.0.0.1 \
    -e NFS_CLIENT_DIR_1=/mnt/share \
    -e NFS_CLIENT_DIR_2=/mnt/nfs \
    -p 111:111 -p 111:111/udp \
    -p 2049:2049 -p 2049:2049/udp \
    -p 32765:32765 -p 32765:32765/udp \
    -p 32766:32766 -p 32766:32766/udp \
    -p 32767:32767 -p 32767:32767/udp \
    runqin/nfs:latest
    # NFS_SERVER_HOST、NFS_CLIENT_DIR_N      ,   
    

    nfsサーバ側を直接インストールするには、次の手順に従います.
    # rpcbind    nfs-kernel-server nfs-common nfs-utils ,   
    apt install rpcbind nfs-kernel-server
    #          
    vi /etc/exports
    /share    *(rw,insecure,no_subtree_check,no_root_squash,fsid=1)
    /download *(ro,insecure,no_subtree_check,no_root_squash,fsid=2)
    ^x
    #         
    mkdir -p /datadisk/share/nfs  /datadisk/share/download
    #      ,     nfs     
    ln -s /datadisk/share/nfs /share && ln -s /datadisk/share/download /download
    #     
    systemctl restart rpcbind nfs-server
    #     ,    rpcbind.socke   
    systemctl stop rpcbind.socket rpcbind nfs-server
    #   2049、111 TCP UDP  ,、rpc.mountd、rpcbind     
    netstat -nlutp
    

    共有フォルダの権限の問題について、no_を使用します.root_squash解決可能:no_root_squash:NFSホストにログインして共有ディレクトリを使用するユーザーは、rootであれば、この共有ディレクトリにとってrootの権限を持っています!このプロジェクトは『極めて安全ではない』ので、お勧めしません!root_squash:NFSホストにログインして共有ディレクトリを使用するユーザがrootであれば、このユーザの権限は匿名のユーザに圧縮され、通常、彼のUIDとGIDはnobodyのシステムアカウントのアイデンティティになります.
    nfsクライアントのインストール:
    # For deepin, rpcbind is included
    apt install nfs-common
    # For centos
    yum install rpcbind nfs-utils 
    

    クライアントマウントnfsフォルダ:
    #     IP   nfs   
    showmount -e 127.0.0.1
    #     
    Export list for 127.0.0.1:
    /nfs *
    #    mount   
    mkdir -p /mnt/share /mnt/download
    # mount nfs
    mount -v -t nfs -o nfsvers=3,nolock,proto=udp,port=2049 127.0.0.1:/share /mnt/share
    #     
    mount.nfs: timeout set for Fri Sep 13 12:11:11 2019
    mount.nfs: trying text-based options 'nfsvers=3,nolock,proto=udp,port=2049,addr=127.0.0.1'
    mount.nfs: prog 100005, trying vers=3, prot=17
    mount.nfs: trying 127.0.0.1 prog 100005 vers 3 prot UDP port 55459
    #        
    touch /share/test.txt && rm /mnt/share/test.txt
    #     nfs,    nfs    ,   ,     -f      umount
    umount /mnt/share
    #     
    umount -f /mnt/share
    

    クライアントが起動して自動的にマウントする
    echo -e "127.0.0.1:/share /mnt/share nfs defaults 0 0" >>/etc/fstab
    ^x
    #  
    vi /etc/rc.local
    mount -v -t nfs -o nfsvers=3,nolock,proto=udp,port=2049 127.0.0.1:/share /mnt/share
    ^x
    

    https://blog.csdn.net/u013010240/article/details/83618770 https://blog.csdn.net/aiwangtingyun/article/details/79420845 http://lizhuangs.github.io/2019/05/12/nfsインストール/