
CoreOS是最小化的定制版linux系统,用于大规模部署的操作系统。它借鉴了Google的Chrome OS,特别是其对数千服务器的分布式管理。CoreOS项目是Google ChromeOS代码的一个fork版本,目前已成为一个超级精简的服务器操作系统,进化速度堪比ChromeOS。而且是为了同时部署在成百上千台服务器上而设计的
传统的服务器操作系统,包括大多数Linux发行版,每隔几年都会更换。在这期间,开发者会不断用安全补丁和更新完善这个系统,但是不会进行特别大的改动,最终这个操作系统以及其上的软件会慢慢僵化。但是CoreOS的思想是成为一个随时可被替换的操作系统,甚至在这个替换的过程中,应用程序的运行不会被打断。
近日,CoreOS团队在其官方博客中宣布,CoreOS首个稳定版本CoreOS 367.1.0发布,现在用户可以在产品环境中运行CoreOS了。对于想运行CoreOS的用户来说,该版本是最经考验的、最安全的、最可靠的CoreOS版本。这对CoreOS团队成员来说,也是一个重大的里程碑。
CoreOS为现代网络的服务器量身定做,Polvi团队对这个服务器操作系统做了最大的精简,所有附加的功能都被剔除了,并将操作系统和应用程序做了完全的分离。CoreOS核心思想是降低操作系统和应用程序的耦合度,使运行这些服务器的公司可以更快速、更廉价地更新自己的线上业务。
在CoreOS中,所有应用程序都被装在一个个“集装箱(Container)”中,这些集装箱就像一个个软件代码的小气泡,通过最简单的接口运行在操作系统之上。这意味着你可以很轻松得将应用程序在操作系统和计算机之间转移,就像是在轮船和火车上搬运箱子一样,同时也意味着可以在不中断应用程序的情况下更新操作系统。
CoreOS旨在轻型小巧。开发人员声称,CoreOS只需要114MB的内存就能运行,启动时占用的内存比普通的Linux服务器要少40%。
CoreOS 367.1.0主要内容
— Linux 3.15.2
— Docker 1.0.1
— 所有主流的云服务商的支持, 包括 Rackspace Cloud, Amazon EC2 (包括 HVM) 和 Google Compute Engine
— 通过CoreOS Managed Linux的商业支持
服务器操作系统CoreOS初体验【转载】
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版本,官方总结特性如下:
- 接口简单,HTTP+JSON
- 安全,可选择的SSL通信协议
- 快速,经测试1000s单一实例写入操作
- 可靠,分布式层面使用Raft协议
- 坚固,集群的失败可以从磁盘恢复
要想体验,目前看来,最简单方式,需要在一个虚拟环境中尝试一把,当然也是这样做的。本次体验,基于Windows 7 64位系统。以下为简单步骤:
- 先安装VirtualBox ,建议从官网下载传送门。
- Vagrant,教程可百度一下
- 安装Git for Windows ,可以让命令下直接使用git命令
- 安装CoreOS环境,打开windows命令行环境:
[codee]
git clone https://github.com/coreos/coreos-vagrant/
cd coreos-vagrant
vagrant up
vagrant ssh
[/codee]
执行完毕 vagrant ssh, 会自动生成一些ssh的一些信息:
[codee]Host: 127.0.0.1
Port: 2222
Username: core
Private key: C:/Users/nieyong/.vagrant.d/insecure_private_key
[/codee]
使用熟悉的SSH终端工具登陆即可,这里推荐xshell,不在细述。SSH成功登入,可以看到欢迎信息:
- 体验一把Docker作为容器管理器
这里快速体验一把,敲入一下命令:
[codee]docker run ubuntu /bin/echo hello world
[/codee]
此时,自动下载Ubuntu系统容器镜像文件:
更多Docker操作,请参阅其文档。
- 进程管理systemd的一处使用这里想让系统启动时,执行一些简单任务。终端下输入
[codee]sudo -i
[/codee]切换到Ubuntu ROOT用户角色下, 执行
[codee]vi /media/state/units/hello.service[/codee]
,敲入如下内容:
[codee][Unit]
Description=My Service
After=docker.service[/codee]
[codee]
[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
[/codee]
保存之后,我们需要做到模拟重启:
[codee]systemctl restart local-enable.service
[/codee]现在查看一下日志,可以看到其输出:
[codee]journalctl -u hello.service -f
[/codee]
更多systemd细节,请参考传送门。
总体看,CoreOS最大特色,专门为大规模服务器部署定制的Linux精简系统,尽可能的精简无关紧要的功能,将操作系统和应用程序完全分离,从而降低操作系统和应用程序的耦合度,同时解决了现有Linux服务器在容器资源、权限管理方面的欠缺。
下载地址
如有特殊说明,解压密码为:www.yanjingnan.cn
评论前必须登录!
注册