Debian云工具
最近,我根据Ubuntu提供的标准开发了一套云工具,并将它们移植到了Debian系统中。下面让我们来看看如何在云端使用debian!
云镜像基础知识
在IaaS平台上启动一个实例时,您的实例镜像是最原始的,没有经过配置的。因此,您需要有一种方法在系统启动时自动配置,这取决于您要怎么使用。通常,IaaS平台像Amazon EC2一样,提供了一个元数据服务器。它是一个特殊的HTTP服务器,它监听一个特殊的硬编码IP地址,你的实例可以请求知道它自己的基本信息,比如主机名,并且获取用户的的基本元数据来自动配置。您可以查看有关OpenStack元数据服务的文档来获取更多的信息。
另外,镜像的大小在上传时就已经提前固定好了。因此,当您在平台上运行它时,申请的磁盘大小通常比镜像要大:您可能需要调整大小镜像的以充分利用分配给您实例的空间。
必要工具
要使用云平台,尤其是Amazon EC2或OpenStack,您需要根据启动环境来配置和更新镜像。这也包括了扩展模板镜像磁盘以使用提供给实例运行的全部空间。
Ubuntu提供了一套云工具,它实际上由不同的源码包(cloud-init,cloud-utils和clout-initramfs-tools)组成。
总结起来,这三个软件包允许您在启动时调整磁盘大小等一系列处理。
所以Ubuntu在很久以前就已经实现了这些功能,但不幸的是,Debian很晚才实现,直到现在。
我一直在努力将这些软件包移植到Debian中,现在您可以找到这3个软件包,然后上传到Debian sid。
你需要做的,就是创建一个Debian镜像然后运行:
apt-get install cloud-init cloud-tools cloud-initiramfs-growroot
而且:在下一次重新启动时,您的实例会将其根分区大小扩展到完整的可用磁盘大小,并请求元数据服务器进行配置,如主机名。
这些软件包源码可以从Debian 专门用于cloud-utils 和 cloud-initramfs-tools的git 服务器获取,在ftp-master处理这些包之前(不再是新特性),您可以自己编译安装使用。另外,可以在debian sid 直接使用cloud-init。
接下来的计划可能是构建或提升vmbuilder这样的工具,以便能够使用简单的命令行来创建兼容云的debian镜像。
- Java中isAssignableFrom()方法与instanceof()方法用法
- 与Ajax同样重要的jQuery(1)
- Java中Class类详解、用法及泛化
- python 函数编程的位置参数、默认参数、关键字参数以及函数的递归
- Java子类的父类和要实现的接口有相同的方法/函数会冲突吗
- Java关键字 Finally执行与break, continue, return等关键字的关系
- #if 和#ifdef的区别
- python高阶函数:map(f,[list]),reduce(f,[list],可选初始值),
- 深入探讨 Java 类加载器
- 斐波那契查找原理详解与实现
- 增量数据丢失的原因分析(二)(r8笔记第76天)
- pycharm 之模块与模块引用
- 判断栈的出栈顺序合法性
- Combination Sum II 组合数求和之2-Leetcode
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Oracle基本参数(DB_DOMAIN)
- Oracle基本参数(INSTANCE_NUMBER)
- Oracle基本参数(LDAP_DIRECTORY_SYSAUTH)
- C#调用C++编写的DLL
- Oracle基本参数(LOG_ARCHIVE_DEST_n)
- [安装文档]Oracle 12c 单节点安装之安装前准备
- Oracle基本参数(NLS_LANGUAGE)
- Oracle基本参数(NLS_TERRITORY)
- C# 探测器测试系统
- Panuon.UI.Silver使用和介绍
- Oracle基本参数(OPEN_CURSORS)
- Oracle基本参数(PROCESSES)
- C# 中的多态性
- Oracle基本参数(REMOTE_LISTENER)
- C#基于yolov3的行人检测