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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux namespace概述

發(fā)布時間:2025/3/8 linux 15 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux namespace概述 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

操作系統(tǒng)通過虛擬內(nèi)存技術(shù),使得每個用戶進(jìn)程都認(rèn)為自己擁有所有的物理內(nèi)存,這是操作系統(tǒng)對內(nèi)存的虛擬化。操作系統(tǒng)通過分時調(diào)度系統(tǒng),每個進(jìn)程都能被【公平地】調(diào)度執(zhí)行,即每個進(jìn)程都能獲取到CPU,使得每個進(jìn)程都認(rèn)為自己在進(jìn)程活動期間擁有所有的CPU時間,這是操作系統(tǒng)對CPU的虛擬化。

從這兩種虛擬化方式可推知,當(dāng)使用某種虛擬化技術(shù)去管理進(jìn)程時,進(jìn)程會認(rèn)為自己擁有某種物理資源的全部。

虛擬內(nèi)存和分時系統(tǒng)均是對「物理資源」進(jìn)行虛擬化,其實操作系統(tǒng)中還有很多「非物理資源」,比如用戶權(quán)限系統(tǒng)資源、網(wǎng)絡(luò)協(xié)議棧資源、文件系統(tǒng)掛載路徑資源等。通過Linux的namespace功能,可以對這些非物理全局資源進(jìn)行虛擬化。

Linux namespace是在當(dāng)前運行的系統(tǒng)環(huán)境中創(chuàng)建(隔離)另一個進(jìn)程的運行環(huán)境出來,并在此運行環(huán)境中將一些必要的系統(tǒng)全局資源進(jìn)行【虛擬化】。進(jìn)程可以運行在指定的namespace中,因此,namespace中的每個進(jìn)程都認(rèn)為自己擁有所有這些虛擬化的全局資源。

目前,Linux已經(jīng)支持8種全局資源的虛擬化(每種資源都是隨著Linux內(nèi)核版本的迭代而逐漸加入的,因此有些內(nèi)核版本可能不具備某種namespace):

  • cgroup namespace:該namespace可單獨管理自己的cgroup

  • ipc namespace:該namespace有自己的IPC,比如共享內(nèi)存、信號量等

  • network namespace:該namespace有自己的網(wǎng)絡(luò)資源,包括網(wǎng)絡(luò)協(xié)議棧、網(wǎng)絡(luò)設(shè)備、路由表、防火墻、端口等

  • mount namespace:該namespace有自己的掛載信息,即擁有獨立的目錄層次

  • pid namespace:該namespace有自己的進(jìn)程號,使得namespace中的進(jìn)程PID單獨編號,比如可以PID=1

  • time namespace:該namespace有自己的啟動時間點信息和單調(diào)時間,比如可設(shè)置某個namespace的開機(jī)時間點為1年前啟動,再比如不同的namespace創(chuàng)建后可能流逝的時間不一樣

  • user namespace:該namespace有自己的用戶權(quán)限管理機(jī)制(比如獨立的UID/GID),使得namespace更安全

  • uts namespace:該namepsace有自己的主機(jī)信息,包括主機(jī)名(hostname)、NIS domain name

用戶可以同時創(chuàng)建具有多種資源類型的namespace,比如創(chuàng)建一個同時具有uts、pid和user的namespace。

理解Linux namespace

用戶可以創(chuàng)建指定類型的namespace并將程序放入該namespace中運行,這表示從當(dāng)前的系統(tǒng)運行環(huán)境中隔離一個進(jìn)程的運行環(huán)境,在此namespace中運行的進(jìn)程將認(rèn)為自己享有該namespace中的獨立資源。

實際上,即使用戶沒有手動創(chuàng)建Linux namespace,Linux系統(tǒng)開機(jī)后也會創(chuàng)建一個默認(rèn)的namespace,稱為「root namespace」,所有進(jìn)程默認(rèn)都運行在root namespace中,每個進(jìn)程都認(rèn)為自己擁有該namespace中的所有系統(tǒng)全局資源。

回顧一下Linux的開機(jī)啟動流程,內(nèi)核加載成功后將初始化系統(tǒng)運行環(huán)境,這個運行環(huán)境就是root namespace環(huán)境,系統(tǒng)運行環(huán)境初始化完成后,便可以認(rèn)為操作系統(tǒng)已經(jīng)開始工作了。

「每一個namespace都基于當(dāng)前內(nèi)核」,無論是默認(rèn)的root namespace還是用戶創(chuàng)建的每一個namespace,都基于當(dāng)前內(nèi)核工作。所以可以認(rèn)為namespace是內(nèi)核加載后啟動的一個特殊系統(tǒng)環(huán)境,用戶進(jìn)程可以在此環(huán)境中獨立享用資源。更嚴(yán)格地說,「root namespace直接基于內(nèi)核,而用戶創(chuàng)建的namespace運行環(huán)境基于當(dāng)前所在的namespace」。之所以用戶創(chuàng)建的namespace不直接基于內(nèi)核環(huán)境,是因為每一個namespace可能都會修改某些運行時內(nèi)核參數(shù)。

比如,用戶創(chuàng)建的uts namespace1中修改了主機(jī)名為ns1,然后在namespace1中創(chuàng)建uts namespace2時,namespace2默認(rèn)「將共享namespace1的其他資源并拷貝namespace1的主機(jī)名資源」,因此namespace2的主機(jī)名初始時也是ns1。當(dāng)然,namespace2是隔離的,可以修改其主機(jī)名為ns2,這不會影響其他namespace,修改后,將只有namespace2中的進(jìn)程能看到其主機(jī)名為ns2。

可以通過如下方式查看某個進(jìn)程運行在哪一個namespace中,即該進(jìn)程享有的獨立資源來自于哪一個namespace。

#?ls?-l?/proc/<PID>/ns $?ls?-l?/proc/$$/ns?|?awk?'{print?$1,$(NF-2),$(NF-1),$NF}' lrwxrwxrwx??cgroup????????????->??cgroup:[4026531835] lrwxrwxrwx??ipc???????????????->??ipc:[4026531839] lrwxrwxrwx??mnt???????????????->??mnt:[4026531840] lrwxrwxrwx??net???????????????->??net:[4026531992] lrwxrwxrwx??pid???????????????->??pid:[4026531836] lrwxrwxrwx??pid_for_children??->??pid:[4026531836] lrwxrwxrwx??user??????????????->??user:[4026531837] lrwxrwxrwx??uts???????????????->??uts:[4026531838]$?sudo?ls?-l?/proc/1/ns?|?awk?'{print?$1,$(NF-2),$(NF-1),$NF}' lrwxrwxrwx??cgroup????????????->??cgroup:[4026531835] lrwxrwxrwx??ipc???????????????->??ipc:[4026531839] lrwxrwxrwx??mnt???????????????->??mnt:[4026531840] lrwxrwxrwx??net???????????????->??net:[4026531992] lrwxrwxrwx??pid???????????????->??pid:[4026531836] lrwxrwxrwx??pid_for_children??->??pid:[4026531836] lrwxrwxrwx??user??????????????->??user:[4026531837] lrwxrwxrwx??uts???????????????->??uts:[4026531838]

這些文件表示當(dāng)前進(jìn)程打開的namespace資源,每一個文件都是一個軟鏈接,所指向的文件是一串格式特殊的名稱。冒號后面中括號內(nèi)的數(shù)值表示該namespace的inode。如果不同進(jìn)程的namespace inode相同,說明這些進(jìn)程屬于同一個namespace。

從結(jié)果上來看,每個進(jìn)程都運行在多個namespace中,且pid=1和pid=$$(當(dāng)前Shell進(jìn)程)兩個進(jìn)程的namespace完全一樣,說明它們運行在相同的環(huán)境下(root namespace)

總結(jié)

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

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 在线视频污 | 天堂成人av | 加勒比视频在线观看 | 久久精品国产亚洲av麻豆 | 国产精品一区二 | 中文在线一区 | 免费在线成人网 | 欧美大胆a视频 | 亚洲视频在线观看 | 看污片网站 | 国产女人水真多18毛片18精品 | 亚洲国产精彩中文乱码av | 欧美精品videos极品 | 国产免费观看av | 精品国产专区 | 91精品久久香蕉国产线看观看 | 天天天天操 | 麻豆精品久久 | jizz欧美性23 | 免费av黄色| jlzzjlzz亚洲日本少妇 | 成人tiktok黄短视频 | 欧美黄色免费大片 | 国产美女永久免费无遮挡 | 天天干视频在线 | 91亚洲国产成人精品一区二区三 | 欧美日韩亚洲精品内裤 | 无码精品人妻一区二区三区影院 | 国产一区精品视频 | 丁香花高清视频完整电影 | 国内精久久久久久久久久人 | 欧美性受xxxx黑人猛交88 | 欧美aaa级片| 伊人久久激情 | 99伊人| 黑人又大又粗又长 | 亚洲一区二区视频在线播放 | 福利视频二区 | 日日夜夜噜噜噜 | 国产精品高潮呻吟久久久久久 | 人妻洗澡被强公日日澡 | 一本色道久久综合亚洲精品酒店 | 欧美在线一二三四区 | 深夜福利一区二区 | 大桥未久av在线 | 日韩午夜在线观看 | 国产在线一区不卡 | 久久天堂电影 | 日韩高清国产一区在线 | 色综合狠狠操 | 色综合狠狠操 | 免费在线观看毛片视频 | 成人黄色免费网 | 在线免费福利视频 | 亚洲精品一区二区三区精华液 | 日韩专区一区 | 国精产品一区一区三区在线 | 久久伊人草 | 又骚又黄的视频 | 亚洲国产视频一区二区三区 | 成人免费毛片入口 | 久久er99热精品一区二区介绍 | 超碰五月| 国产一区欧美日韩 | 精品性久久 | 最新理伦片eeuss影院 | 免费在线一区二区三区 | 99久久伊人| 视频在线a | 黑人狂躁日本妞hd | 在线免费观看黄色片 | 欧美重口另类 | 国产成人99久久亚洲综合精品 | 永久久久久久 | 成人夜夜 | 人妻洗澡被强公日日澡 | proumb性欧美在线观看 | 国产精品综合视频 | 国产精品久久久久久久久动漫 | 日韩精品久久久久久久电影99爱 | 国产精品视频亚洲 | 91视频综合网 | 97久久国产 | 日韩精品中文字幕一区二区三区 | 五月综合视频 | 日本一区二区三区在线观看视频 | 午夜精品免费 | 男人晚上看的视频 | 97人人爽人人爽人人爽人人爽 | 亚洲欧美中文字幕5发布 | 久久久国产精品成人免费 | 精品国产aⅴ一区二区三区东京热 | 色一情一乱一伦 | 午夜a级片 | 精品欧美一区二区久久久久 | 夜夜艹| 中文字幕一区二区三区在线视频 | 日韩城人视频 | 拍真实国产伦偷精品 |