日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux ns,Linux Namespace (ns)

發布時間:2024/9/30 linux 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux ns,Linux Namespace (ns) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

LXC所實現的隔離性主要是來自kernel的namespace, 其中pid, net, ipc, mnt, uts 等namespace將container的進程, 網絡, 消息, 文件系統和hostname 隔離開。

一、 pid namespace

之前提到用戶的進程是lxc-start進程的子進程, 不同用戶的進程就是通過pidnamespace隔離開的,且不同 namespace 中可以有相同PID。具有以下特征:

1、每個namespace中的pid是有自己的pid=1的進程(類似/sbin/init進程)

2、每個namespace中的進程只能影響自己的同一個namespace或子namespace中的進程

3、因為/proc包含正在運行的進程,因此在container中的pseudo-filesystem的/proc目錄只能看到自己namespace中的進程

4、因為namespace允許嵌套,父namespace可以影響子namespace的進程,所以子namespace的進程可以在父namespace中看到,但是具有不同的pid

正是因為以上的特征,所有的LXC進程在docker中的父進程為docker進程,每個lxc進程具有不同的namespace。同時由于允許嵌套,因此可以很方便的實現 LXC in LXC

二、 net namespace

有了 pid namespace, 每個namespace中的pid能夠相互隔離,但是網絡端口還是共享host的端口。網絡隔離是通過netnamespace實現的,

每個net namespace有獨立的 network devices, IP addresses, IP routing tables, /proc/net 目錄。這樣每個container的網絡就能隔離開來。

LXC在此基礎上有5種網絡類型,docker默認采用veth的方式將container中的虛擬網卡同host上的一個docker bridge連接在一起。

三、 ipc namespace

container中進程交互還是采用linux常見的進程間交互方法(interprocess communication - IPC), 包括常見的信號量、消息隊列和共享內存。然而同VM不同,container 的進程間交互實際上還是host上具有相同pid namespace中的進程間交互,因此需要在IPC資源申請時加入namespace信息 - 每個IPC資源有一個唯一的 32bit ID。

四、 mnt namespace

類似chroot,將一個進程放到一個特定的目錄執行。mnt namespace允許不同namespace的進程看到的文件結構不同,這樣每個 namespace 中的進程所看到的文件目錄就被隔離開了。同chroot不同,每個namespace中的container在/proc/mounts的信息只包含所在namespace的mount point。

五、 uts namespace

UTS(“UNIX Time-sharing System”) namespace允許每個container擁有獨立的hostname和domain name,   使其在網絡上可以被視作一個獨立的節點而非Host上的一個進程。

六 、 user namespace

每個container可以有不同的 user 和 group id, 也就是說可以以container內部的用戶在container內部執行程序而非Host上的用戶。

有了以上6種namespace從進程、網絡、IPC、文件系統、UTS和用戶角度的隔離,一個container就可以對外展現出一個獨立計算機的能力,并且不同container從OS層面實現了隔離。   然而不同namespace之間資源還是相互競爭的,仍然需要類似ulimit來管理每個container所能使用的資源 - LXC 采用的是cgroup。

與50位技術專家面對面20年技術見證,附贈技術全景圖

總結

以上是生活随笔為你收集整理的linux ns,Linux Namespace (ns)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。