加载中…
个人资料
peng
peng
  • 博客等级:
  • 博客积分:0
  • 博客访问:254,622
  • 关注人气:15
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
访客
加载中…
好友
加载中…
评论
加载中…
留言
加载中…
博文

原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 、作者信息和本声明。否则将追究法律责任。http://chenjisong.blog.51cto.com/7858025/1723290

1-OpenStack介绍

环境准备:

#####################################################################################

[root@linux-node1 ~]# cat /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.56.11 linux-node1 linux-node1.oldboyedu.com 控制节点

192.168.56.12 linux-node2 linux-node2.oldboyedu.com 计算节点


[root@linux-node1 ~]# hostname

linux-node1


[root@linux-node1 ~]# ifconfig eth0

eth0: flags=4163 mtu 1500

inet 192.168.56.11 netmask 255.255.255.0 broadcast 19

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
分类: Linux
转载地址:http://www.jb51.net/article/56781.htm

Go 命令

Go语言自带有一套完整的命令操作工具,你可以通过在命令行中执行go来查看它们:



图1.3 Go命令显示详细的信息

这些命令对于我们平时编写的代码非常有用,接下来就让我们了解一些常用的命令。

go build

这个命令主要用于测试编译。在包的编译过程中,若有必要,会同时编译与之相关联的包。

1.如果是普通包,就像我们在1.2节中编写的mymath包那样,当你执行go build之后,它不会产生任何文件。如果你需要在$GOPATH/pkg下生成相应的文件,那就得执行go install了。

2.如果是main包,当你执行go build之后,它就会在当前目录下生成一个可执行文件。如果你需要在$GOPATH/bin下生成相应的文件,需要执行go install,或者使用go build -o 路径/a.exe

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
转载地址:http://www.infoq.com/cn/articles/docker-kernel-knowledge-namespace-resource-isolation?utm_source=tuicool

Docker这么火,喜欢技术的朋友可能也会想,如果要自己实现一个资源隔离的容器,应该从哪些方面下手呢?也许你第一反应可能就是chroot命 令,这条命令给用户最直观的感觉就是使用后根目录/的挂载点切换了,即文件系统被隔离了。然后,为了在分布式的环境下进行通信和定位,容器必然需要一个独 立的IP、端口、路由等等,自然就想到了网络的隔离。同时,你的容器还需要一个独立的主机名以便在网络中标识自己。想到网络,顺其自然就想到通信,也就想 到了进程间通信的隔离。可能你也想到了权限的问题,对用户和用户组的隔离就实现了用户权限的隔离。最后,运行在容器中的应用需要有自己的PID,自然也需 要与宿主机中的PID进行隔离。

由此,我们基本上完成了一个容器所需要做的六项隔离,Linux内核中就提供了这六种namespace隔离的系统调用,如下表所示。

Namespace

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
转载地址:http://blog.csdn.net/caianye/article/details/5947282

int clone(int (*fn)(void *), void *child_stack, int flags, void *arg);

 

这里fn是函数指针,我们知道进程的4要素,这个就是指向程序的指针,就是所谓的“剧本', child_stack明显是为子进程分配系统堆栈空 间(在linux下系统堆栈空间是2页面,就是8K的内存,其中在这块内存中,低地址上放入了值,这个值就是进程控制块task_struct的 值),flags就是标志用来描述你需要从父进程继承那些资源, arg就是传给子进程的参数)。下面是flags可以取的值

标志                    含义

  CLONE_PARENT   创建的子进程的父进程是调用者的父进程,新进程与创建它的进程成了“兄弟”而不是“父子”

  CLONE_FS           子进程与父进程共享相同的文件系统,包括root、当前目录、umask

  CLONE_FILES      子进程与父进程共享相同的文件描述符(file

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
转载地址:http://tiewei.github.io/devops/howto-use-cgroup/

Cgroup 用法

13 January 2014

介绍docker的的过程中,提到lxc利用cgroup来提供资源的限额和控制,本文主要介绍cgroup的用法和操作命令,主要内容来自

[1]https://access.redhat.com/site/documentation/en-US/Red_Hat_Enterprise_Linux/6/html/Resource_Management_Guide/ch01.html

[2]https://www.kernel.org/doc/Documentation/cgroups/cgroups.txt

cgroup

cgroup的功能在于将一台计算机上的资源(CPU,memory, network)进行分片,来防止进程间不利的资源抢占。

Terminology

  • cgroup - 关联一组task和一组subsystem的配置参数。一个task对应一个进程, cgroup是资源分片的最小单位。
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
转载地址:http://www.cnblogs.com/wangjiyong/p/5416960.html

一、Docker 简介

Docker 两个主要部件:

  • Docker: 开源的容器虚拟化平台
  • Docker Hub: 用于分享、管理 Docker 容器的 Docker SaaS 平台 -- Docker Hub

Docker 使用客户端-服务器 (C/S) 架构模式。Docker 客户端会与 Docker 守护进程进行通信。Docker 守护进程会处理复杂繁重的任务,例如建立、运行、发布你的 Docker 容器。Docker 客户端和守护进程可以运行在同一个系统上,当然你也可以使用 Docker 客户端去连接一个远程的 Docker 守护进程。Docker 客户端和守护进程之间通过 socket 或者 RESTful API 进行通信。

 

非常详细的 Docker 学习笔记

 

1.1 Docker 守护进程

如上图所示,Docker 守护进程运行在一台主机上。用户并不直接和守护进程进行交互,而是通过 Docker 客户端间接和其通信。

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
转载地址:http://www.cnblogs.com/hustcat/p/3885857.html

docker(container)的虚拟网络

docker的虚拟网络结构:

NewImage 

host创建一个虚拟bridge,每个container对应一个虚拟网络设备(TAP设备),与bridge一起构成一个虚拟网络,并通过虚拟bridge相互通信。

Host的物理网络设备eth0作为内部虚拟网络的NAT网关,container通过eth0访问外部网络。

ifconfig

docker0   Link encap:Ethernet  HWaddr 56:84:7A:FE:97:99 

          inet addr:127.0.0.2  Bcast:0.0.0.0  Mask:255.0.0.0

eth0      Link encap:Ethernet  HWaddr 00:50:56:28:39:2C 

          in

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
转载地址:http://www.cnblogs.com/hustcat/p/3908985.html

thin provision是在 kernel3.2 中引入的。它主要有以下一些特点:

(1)允许多个虚拟设备存储在相同的数据卷中,从而达到共享数据,节省空间的目的;

(2)支持任意深度的快照。之前的实现的性能为O(n),新的实现通过一个单独的数据避免了性能随快照深度的增加而降低。

(3)支持元数据存储到单独的设备上。这样就可以将元数据放到镜像设备或者更快的SSD上。

上面3个特性正是devicemapper支持docker存储镜像的关键特性。

 

阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
转载地址:http://dockone.io/article/83
【编者的话】Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。而 LXC所实现的隔离性主要是来自内核的命名空间, 其中pid、net、ipc、mnt、uts 等命名空间将容器的进程、网络、消息、文件系统和hostname 隔离开。本文是Linux命名空间系列教程的第五篇,重点介绍NET命名空间。DockerOne在撸代码的基础上进行了校对和整理。

阅读完上一篇关于NS namespace的文章(挂 载点表的隔离),你想更深入接近一个全功能的VM吗?好!这个系列的上两篇文章都在试图带您了解VM,而使用“NET” namespace隔离网络接口(这是真的,这不是梦)和user/group描述符可以让VM更加透明。如果你尚未阅读过之前的文章,我强烈建议你先阅 读一遍这个系列的第一篇文章,了解下Linux namespace隔离机制。

这一次我们先不讲添加额外的“CLONE_NEWNET”标志到“clone”系统调用。这个留着之后说明。现在,恕我直言,这个namespace最好
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
转载地址:http://dockone.io/article/82
【编者的话】Docker核心解决的问题是利用LXC来实现类似VM的功能,从而利用更加节省的硬件资源提供给用户更多的计算资源。而 LXC所实现的隔离性主要是来自内核的命名空间, 其中pid、net、ipc、mnt、uts 等命名空间将容器的进程、网络、消息、文件系统和hostname 隔离开。本文是Linux命名空间系列教程的第四篇,重点介绍NS(FS)命名空间。DockerOne在撸代码的基础上进行了校对和整理。

继上一篇 关于PID namespace的文章(重置进程计数为“1”),我们现在看一个惊人的部分:隔离挂载表(mount table)。如果你尚未阅读过之前的文章,我强烈建议你先阅读一遍这个系列的第一篇文章,了解下Linux namespace隔离机制。

上一篇文章中,我们“chrooted”了 PID namespace并且得到了一个新的“1”进程。但是,即使是激活了这个namespace,我们始终缺乏对诸如“top”等工具隔离的支持,因为它们
阅读  ┆ 评论  ┆ 转载 ┆ 收藏 
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有