当前位置: 首页 > news >正文

认识电子商务网站建设技术深圳网站建设网站制作哪家好

认识电子商务网站建设技术,深圳网站建设网站制作哪家好,中国最大的门户网站是,企业邮箱在哪里申请前言 Linux Namespace 隔离进程的视图,使每个容器看起来像是独立的系统。常见的命名空间包括进程ID、网络、挂载点、UTS、IPC等。 Linux cgroup 控制和限制容器使用的资源,如CPU、内存、磁盘I/O等,确保容器之间的资源隔离和公平分配。 目前…

前言

Linux Namespace 隔离进程的视图,使每个容器看起来像是独立的系统。常见的命名空间包括进程ID、网络、挂载点、UTS、IPC等。

Linux cgroup 控制和限制容器使用的资源,如CPU、内存、磁盘I/O等,确保容器之间的资源隔离和公平分配。

目前为止,容器还差一个跟宿主机隔离的,独立的文件系统环境,pivot_root 解决了这一问题。

pivot_root 介绍

pivot_root 是 Linux 内核中的一个系统调用,主要用于改变当前进程的根文件系统。它的诞生背景与容器技术和系统引导过程中的需求密切相关。

系统引导:在系统启动过程中,内核需要从一个初始的根文件系统(通常是 initrd 或 initramfs)切换到实际的根文件系统。pivot_root 可以在这个过程中帮助完成根文件系统的切换。

容器技术:随着容器化技术的发展,需要在同一台主机上运行多个隔离的用户空间实例。每个容器需要有自己独立的根文件系统,而 pivot_root 可以帮助实现这种隔离。

pivot_root 使用

pivot_root 使用的基本流程:

  1. 准备一个新的根文件系统(必须包含必要的文件和依赖库)
  2. 挂载到宿主机的某个目录
  3. 执行 pivot_root 切换当前进程的根文件系统
  4. cd / 切换到新的根文件系统
  5. 卸载旧根文件系统

pivot_root 需要 root 权限,且新根文件系统必须是一个挂载点,旧根必须挂载到新根的子目录下。

实操一下!

宿主机的 /container 目录下有两个文件

> ls /container
image.tar  change_rootfs.sh
  • image.tar 基于 BusyBox 构建的 Linux 环境,一个 4M 大小的根文件系统
  • change_rootfs.sh 切换根文件系统的脚本

核心在于 change_rootfs.sh 脚本,主要是解压新根文件系统,然后挂载到宿主机,然后切到新根下。

#!/bin/bash
# 确保新根目录不存在
rm -rf /container/rootfs# 开启新的 mount 命名空间
unshare --mount  --fork -- bash -c '
# 创建新根目录
mkdir -p /container/rootfs
# 挂载
mount -t tmpfs rootfs /container/rootfs
# 解压根文件系统到新根目录,确保新根文件系统有必要的文件
tar -xf /container/image.tar -C /container/rootfs
# 创建旧根目录
mkdir -p /container/rootfs/old_rootfs
# 切换到新根,同时挂载旧根到/container/rootfs/old_rootfs
pivot_root /container/rootfs /container/rootfs/old_rootfs
cd /
exec /bin/sh
'

执行脚本,会发现当前终端的根目录已经切到/container/rootfs 下。根目录下是一个基于 BusyBox 构建的极简 Linux 环境,实现了进程的根文件系统隔离,在这个系统下随意操作,都不会影响宿主机。

> ./change_rootfs.sh
/ # ls /
bin         etc         lib         old_rootfs  root        tmp         var
dev         home        lib64       proc        sys         usr

另外会发现,/old_rootfs 挂载的是旧根,通过它还是可以访问宿主机文件系统,卸载它即可。

新开一个终端,是看不到 rootfs 这个挂载点的,因为它运行在独立的命名空间里。同样地,也看不到 /container/rootfs 下的任何文件。

# 宿主机环境下
> mount | grep rootfs
# 无任何输出
> ls /container/rootfs
# 无任何输出

但是在命名空间内,是可以看到 rootfs 挂载点的

> mount | grep 'rootfs on'
rootfs on / type tmpfs (rw,relatime,inode64)

exit 退出命名空间,会回到宿主机,同时命名空间内的资源会被释放,对于宿主机来说,rootfs 依然是空的。

尾巴

pivot_root 是 Linux 中用于更改当前根文件系统的系统调用,它通常用于容器和虚拟化环境中,以隔离应用程序的文件系统环境。通过使用 pivot_root,可以实现更高效的系统管理和资源隔离。

http://www.yayakq.cn/news/627384/

相关文章:

  • 学做吃的的网站wordpress添加友联
  • 生物科技 网站模板下载网站设计经典案例欣赏
  • 国内做服装的网站有哪些方面网店代运营公司有哪些
  • 青岛高端网站设计公司塘厦镇做网站
  • 满版型网站有哪些自己在线制作logo免费下载
  • 广州网站建设公司嘉御wordpress响应式主题下载
  • 郑州响应式网站网站建设美工的职位要求
  • 辽阳专业建设网站公司网站编辑主要做什么
  • 网站建设包括备案吗3d建模软件手机版下载
  • 学校网站建设工作总结高校精神文明建设网站
  • 周口集团网站建设商业类网站
  • 网站的栏目和板块设计微信分销网站建设价格
  • 邵武网站建设网站支付怎么做
  • 网站模板有什么用微信扫码点餐小程序
  • 网站建设的参考书籍网络营销推广四个步骤
  • 手机网站做的比较好的论坛网站怎么做排名
  • 做外贸需要关注国外哪些网站app开发直播功能
  • 代做课程设计的网站网站建设丿金手指谷哥12
  • 专注旅游网站网站开发网站建设三剑客
  • 石家庄推广网站wordpress主页页面模板
  • 现在最流行的网站推广方式有哪些抖音带运营
  • 电商网站 cmscrm系统怎么用
  • 欧美做爰视频网站广州建设网站是什么样的
  • 网站的发布与推广方式做淘宝内部优惠券网站要钱么
  • php做网站很快嘛网站建设及运营 多少钱
  • 校园网站首页模板wordpress 博客主体
  • 网站域名使用wordpress插件买免费下载
  • 武胜建设局网站wordpress添加投稿功能
  • 佛山网站seo优化河北恒山建设集团网站
  • 建设机械网站方案设计怎么做网站在谷歌