CoreOS官网主页使用一句话概括其理 念:“A new way to think about servers”,以及紧接着的“CoreOS is Linux for massive server deployments”, 表示这是一个新思维方式思考未来服务器大规模部署的的Linux服务器操作系统。

CoreOS宣称最小化的定制版linux系统,具有:

  • Linux内核,Linux运行所需
  • 存在两个ROOT分区,一个被用作启动分区,一个被用作更新分区
    更新分区在更新完成后,自动重新启动系统,当前机器不需要从负载集群中移除,为了保证其它应用程序不被打断,会通过Linux cgroup限制更新过程中的磁盘、网络等IO使用。
  • systemd,作为默认系统和服务管理器,其优秀特性:
  • 支持并行化任务;
  • 同时采用 socket 式与 D-Bus 总线式激活服务;
  • 按需启动守护进程(daemon);
  • 利用 Linux 的 cgroups 监视进程;
  • 支持快照和系统恢复;
  • 维护挂载点和自动挂载点;
  • 各服务间基于依赖关系进行精密控制。
  • root分区被设计成只读,用以保证数据的一致性和更新可用
  • CPU、IO等资源隔离,自然要祭出容器(Container)来,CoreOS很明智使用Docker作为容器管理器用以构建、发布应用,从这个层面来看,一个应用其实就是一个容器。
  • etcd组件负责服务发现和配置共享,采用Raft分布式一致性协议算法,承担起,组件之间服务通信使用。很自然的,容器(Container)之间应用、服务的伸缩,就显得很简单了。其基因层面支持集群特性,当然,你也可以解读为云环境的支持。

看起来,这个系统是为类似于拥有众多平台的IT公司准备的。服务之间,粒度变得很细。

刚刚发布第一个0.1.0版本,官方总结特性如下:

  1. 接口简单,HTTP+JSON
  2. 安全,可选择的SSL通信协议
  3. 快速,经测试1000s单一实例写入操作
  4. 可靠,分布式层面使用Raft协议
  5. 坚固,集群的失败可以从磁盘恢复

要想体验,目前看来,最简单方式,需要在一个虚拟环境中尝试一把,当然也是这样做的。本次体验,基于Windows 7 64位系统。以下为简单步骤:

  1. 先安装VirtualBox
    4.2.16,建议从官网下载。
  2. Vagrant,这次安装最新的1.2.7版本,下载地址
  3. 安装Git for Windows 1.8.3,可以让命令下直接使用git命令
  4. 安装CoreOS环境,打开windows命令行环境:
  1. git clone
    https://github.com/coreos/coreos-vagrant/
  2. cd coreos-vagrant
  3. vagrant up
  4. vagrant ssh

执行完毕 vagrant ssh, 会自动生成一些ssh的一些信息:

Host: 127.0.0.1

Port: 2222

Username: core

Private key:
C:/Users/nieyong/.vagrant.d/insecure_private_key

使用熟悉的SSH终端工具登陆即可,这里推荐xshell,不在细述。SSH成功登入,可以看到欢迎信息:

  1. 体验一把Docker作为容器管理器
    这里快速体验一把,敲入一下命令:

10.docker run ubuntu /bin/echo hello world

此时,自动下载Ubuntu系统容器镜像文件:

更多Docker操作,请参阅其文档

  1. 进程管理systemd的一处使用这里想让系统启动时,执行一些简单任务。终端下输入

12.sudo -i

切换到Ubuntu ROOT用户角色下, 执行vi
/media/state/units/hello.service
,敲入如下内容:

[Unit]

Description=My Service

After=docker.service

[Service]

Restart=always

ExecStart=/usr/bin/docker run ubuntu /bin/sh -c
"while true; do echo Hello World; sleep 1; done"

[Install]

WantedBy=local.target

保存之后,我们需要做到模拟重启:

systemctl restart local-enable.service

现在查看一下日志,可以看到其输出:

journalctl -u hello.service -f

更多systemd细节,请参考http://www.freedesktop.org/wiki/Software/systemd/

  1. 本次浅尝辄止,到此结束

总体看,CoreOS最大特色,专门为大规模服务器部署定制的Linux精简系统,尽可能的精简无关紧要的功能,将操作系统和应用程序完全分离,从
而降低操作系统和应用程序的耦合度,同时解决了现有Linux服务器在容器资源、权限管理方面的欠缺。目前若说是颠覆性的操作系统,十分牵强,是不是未
来,也不好说,但肯定是一种趋势。

因此,十分值得期待。

coreOS+Docker新一代企业轻量级Linux的更多相关文章

  1. Docker —— 用于统一开发和部署的轻量级 Linux 容器【转】

    转自:http://www.oschina.net/translate/docker-lightweight-linux-containers-consistent-development-and-d ...

  2. VMWare File Format Learning && Use VHD File To Boot VMWare && CoreOS Docker Configuration And Running

    目录 . Virtual Machine Introduce . Vmware Image File Format . VHD File Format . Convert VHD File Into ...

  3. docker快速创建轻量级的可移植的容器(一)

    系列其他内容 docker快速创建轻量级的可移植的容器✓ docker&flask快速构建服务接口 docker&uwsgi高性能WSGI服务器生产部署必备 docker&gu ...

  4. 将 ASP.NET Core 1.0 应用作为 docker 镜像发布 (Linux版)

    var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...

  5. 轻量级linux CRUX安装笔记

    感谢hrdd的分享,原文出处:http://wxdhrdd.blog.163.com/blog/static/120500564200952592240867/ 以下是对原文进行补充 crux的安装: ...

  6. 7款适用老旧设备并对初学者非常友好的轻量级Linux发行版

    我们由从 7 到 1 的顺序向大家介绍. 7. Linux Lite 正如其名,Linux Lite 是 Linux 发行版的一个轻量级版本,用户并不需要强大的硬件就可以将它跑起来,而且其使用非常简单 ...

  7. Docker基础技术:Linux Namespace(下)

    在 Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD.IPC.PID.Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像.在这一篇中,主 ...

  8. Docker 基础技术:Linux Namespace(下)

    导读 在Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD.IPC.PID.Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像.在这一篇中 ...

  9. 企业部署Linux应用将拥有更低的整体拥有成本

    企业部署Linux应用将拥有更低的整体拥有成本     使用Linux能为企业的IT解决方案降低TCO(整体拥有成本Total Cost of The Ownership)吗?在面临这个问题时,很多企 ...

随机推荐

  1. [转] splice系列系统调用

    关注splice系列系统调用(包括splice,tee和vmsplice)已经有一段时间了,开始的时候并未能领会splice的意义所在,致使得出了“splice系列系统调用不怎么实用”的错误结论.随着 ...

  2. Android 百度地图 SDK v3.0.0 (四) 引入离线地图功能

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/37758097 一直觉得地图应用支持离线地图很重要啊,我等移动2G屌丝,流量不易, ...

  3. 异步tcp通信——APM.Core 服务端概述

    为什么使用异步 异步线程是由线程池负责管理,而多线程,我们可以自己控制,当然在多线程中我们也可以使用线程池.就拿网络扒虫而言,如果使用异步模式去实现,它使用线程池进行管理.异步操作执行时,会将操作丢给 ...

  4. 在winform程序中实现按照不同的角色或用户展现不同的页面

    SqlConnection cn = new SqlConnection();             cn.ConnectionString = "Data Source=192.168. ...

  5. YII框架路由和URL生成

    路由和URL生成 当一个YII应用开始处理一个请求的时候,它首先要做的便是将请求的URL转化成一个路由.路由的作用是用于后续实例化相应的控制器和操作,以便处理请求,整个处理过程便叫做路由.路由的逆过程 ...

  6. java中的异常机制(编译时异常)

    / * 1 异常机制的原理 * 异常是什么:就是错误的另外一种说法; * 在java中,有一个专门模拟所有异常的类,所有的异常都必须继承这个类:Throwable; * 本质是:当程序出错以后,jvm ...

  7. IIS 7.5 配置伪静态

    IIS 7.5 配置伪静态_win服务器_脚本之家 win7下IIS的安装和配置 图文教程详细出处参考:http://www.jb51.net/article/29787.htm http://blo ...

  8. Oracle数据库锁表的查询方法以及解锁的方法

    1,锁表语句简单查询方法   select t2.username,t2.sid,t2.serial#,t2.logon_time from v$locked_object t1,v$session ...

  9. [转]链接分析算法之:主题敏感PageRank

    原文引自:http://blog.csdn.net/hguisu/article/details/8005192,感谢 前面的讨论提到.PageRank忽略了主题相关性,导致结果的相关性和主题性降低, ...

  10. POJ 3254 状压DP

    题目大意: 一个农民有一片n行m列 的农场   n和m 范围[1,12]  对于每一块土地 ,1代表可以种地,0代表不能种. 因为农夫要种草喂牛,牛吃草不能挨着,所以农夫种菜的每一块都不能有公共边. ...