zoukankan      html  css  js  c++  java
  • liunx mnt命名空间

    Mount namespace的作用是隔离mount point,每个mnt namespace内的文件结构可以单独修改,互不影响。

    当前进程所在的mnt namespace的所有挂载点信息记录在以下三个文件中

    为接下来的操作准备两个目录,每个目录下一个文件

    启一个终端

    [root@k8s-nginx1 ~]# ll /proc/$$/mount*
    -r--r--r-- 1 root root 0 Nov 26 13:45 /proc/4433/mountinfo
    -r--r--r-- 1 root root 0 Nov 26 13:45 /proc/4433/mounts
    -r-------- 1 root root 0 Nov 26 13:45 /proc/4433/mountstats

    创建新的mount namespace和uts namespace并运行bash ###

    [root@k8s-nginx1 ~]# unshare --mount --uts bash
    ### 设置hostname以便于观察 ### [root@k8s
    -nginx1 ~]# hostname namespace-01 && exec bash
    ### 查看对应namespace的inode number ### [root@namespace
    -01 ~]# readlink /proc/$$/ns/{uts,mnt} uts:[4026532431] mnt:[4026532430]
    ### 将上面创建的namespace01目录挂在到/mnt ###
    [root@namespace-01 ~]# mount --bind namespace01/ /mnt/

    1

    ### 查看/mnt目录下的文件 ###
    [root@namespace-01 ~]# ll /mnt/
    total 0
    -rw-r--r-- 1 root root 0 Nov 26 13:46 namespace01.txt

    另启动一个终端

    创建新的mount namespace和uts namespace,执行bash ###

    [root@k8s-nginx1 ~]# unshare --mount --uts bash
    [root@k8s-nginx1 ~]# hostname namespace-02 && exec bash
    [root@namespace-02 ~]# readlink /proc/$$/ns/{uts,mnt}
    uts:[4026532433]
    mnt:[4026532432]
    [root@namespace-02 ~]# ll /mnt/
    total 0
    drwxr-xr-x. 2 root root 6 Nov  6 13:52 cdrom
    [root@namespace-02 ~]# mount --bind namespace02/ /mnt/
    [root@namespace-02 ~]# ll /mnt/
    total 0
    -rw-r--r-- 1 root root 0 Nov 26 13:46 namespace02.txt

    当新的mount namespace创建时,会从创建进程所在的namespace复制挂载点信息,所以namespace01和namespace02都可以看到相同的文件视图

    [root@namespace-01 ~]# unshare --mount --uts bash
    [root@namespace-01 ~]# hostname namespace-03 && exec bash
    [root@namespace-03 ~]# readlink /proc/$$/ns/{uts,mnt}
    uts:[4026532435]
    mnt:[4026532434]
    [root@namespace-03 ~]# ll /mnt/
    total 0
    -rw-r--r-- 1 root root 0 Nov 26 13:46 namespace01.txt
  • 相关阅读:
    golang批量修改文件名
    golang执行带空格的cmd命令
    了解golang的可变参数(... parameters)
    ADB命令连接逍遥模拟器
    通达信如何批量导出自定义板块,以及定义常量
    通达信日K线图中取周K线指标值
    go读取通达信本地数据
    Python读取通达信本地数据
    Golang: 解析JSON数据之一
    MT【357】角度的对称性
  • 原文地址:https://www.cnblogs.com/caonw/p/11935104.html
Copyright © 2011-2022 走看看