1. 命名空间是什么
命名空间简单的来说提供的就是全局资源的一种抽象,将资源放到不同的命名空间中,各个命名空间中的资源是相互隔离的。
2. namespace 的分类
namespace 分成了5类,分别是UTS/IPC/PID/NS/Net; 这些命令空间可以组合使用,创建一个namespace 也是在clone 的库函数中设置一个参数(每类namespace 有自己的参数)即可新建新的namespace;
- 容器是否包括所有的namespace
LXC 任何一个容器可以创建0-5个namespace,来完成对不同全局资源的隔离;一般我们用的容器中是5中namespace 全部新建来完成容器的彻底虚拟化隔离
3. namespace 的5个分类
- UTS (uname)
主要是用来进行hostname的资源隔离,在不同的UTS 的namespace 里面hostname 可以名字一样,相互之间透明、不冲突;
- PID(进程pid)
主要是用来进行进程资源的隔离,在不同的PID的namespace 里面pid 相同的2个进程可以存在,而且相互之间透明、不冲突
- IPC(inter-process-connection 进程之间通信)
主要是用来进行进程直接通信的隔