zoukankan      html  css  js  c++  java
  • nfs 支持ipv6

    mount 一个ipv6 nfs

    项目在docker里mount 一个nfs来读写,而现在需要支持ipv6,所以先写了各小demo,最后成功mount,这里记录一下

    #include <sys/mount.h>
    #include <errno.h>
    #include <stdio.h>
    
    int main(){
    const char* src = "[2001:db8:1::1]:/root/nfsshare/zone1";
    const char* opt = "addr=2001:db8:1::1,clientaddr=2001:db8:1::242:ac11:3";
    const char* des = "/mnt";
    
    int ret = mount(src,des,"nfs4",0,opt);
    
    if(ret != 0){
    	perror("mount");
    }
    
    }
    
    

    说明:

    • addr=2001:db8:1::1 是服务端地址
    • clientaddr=2001:db8:1::242:ac11:3 是客户端地址

    解决思路

    1. 先确保了网络连通,这里的server 地址实际是在主机中看到的docker0的地址,nfs server监听在所有的地址上
    2. 在bash中使用mont 命令成功mount
    3. 使用strace 追踪mount 命令,然后看到系统调用mount 的参数,也就是我们需要的参数了
    4. 使用到的strace 选项-f 追踪子进程,-s 1024 显示调用的字符串长度,默认长度比较短导致显示不完整
  • 相关阅读:
    将composer切换到国内镜像
    linux 查找删除
    国内外手机号码正则表达式
    git存储用户名和密码
    linux zip压缩文件忽略指定的文件夹
    css3
    magento2 定时任务
    SimpleXMLElement::addChild添加同级的空值xml节点
    Word Ladder
    Subsets II
  • 原文地址:https://www.cnblogs.com/hustcpp/p/11461138.html
Copyright © 2011-2022 走看看