int32bit's Blog

OpenStack使用ISO镜像启动云主机

1. 基础知识 大多数OpenStack新手都很疑惑一个问题,为什么OpenStack只能上传qcow2、raw格式镜像,而不是我们装系统的ISO格式镜像。其实OpenStack原生支持ISO镜像格式,只是使用方法和直接使用qcow2、raw等格式会有点不同。 1.1 什么是ISO镜像 ISO文件是电脑上光盘镜像存储格式之一,它是根据ISO-9660有关CD-ROM文件系统标准存储的文...

sparse文件处理与传输

0. 什么是sparse文件 当用户申请一块很大的存储空间时,最开始并没有写入数据(全是空),此时文件系统为了节省存储资源,提高资源利用率,不会分配实际存储空间,只有当真正写入数据时,操作系统才真正一点一点地分配空间,比如一次分64KB。于是这个文件看起来很大,而占用空间很小,实际占用空间只与用户填的数据量有关。该文件看起来像一个大盒子,开始装的东西不多,空洞很大,因此称为稀疏文件(Spa...

如何构建OpenStack镜像

本文以制作CentOS7.2镜像为例,详细介绍手动制作OpenStack镜像详细步骤,解释每一步这么做的原因。镜像上传到OpenStack glance,支持以下几个功能: 支持密码注入功能(nova boot时通过--admin-pass参数指定设置初始密码) 支持根分区自动调整(根分区自动调整为flavor disk大小,而不是原始镜像分区大小) 支持动态修改密码(使用n...

Ceph Pool操作总结

Ceph Pool操作总结 一个ceph集群可以有多个pool,每个pool是逻辑上的隔离单位,不同的pool可以有完全不一样的数据处理方式,比如Replica Size(副本数)、Placement Groups、CRUSH Rules、快照、所属者等。 打印pool列表 ceph osd lspools 创建pool 通常在创建pool之前,需要覆盖默认的pg_num,官方推...

Docker跨主机通信实现与分析

手动gre实现以及docker overlay网络

前言 docker目前支持以下5种网络模式: bridge:此时docker引擎会创建一个veth对,一端连接到容器实例并命名为eth0,另一端连接到指定的网桥中(比如docker0),因此同在一个主机的容器实例由于连接在同一个网桥中,它们能够互相通信。容器创建时还会自动创建一条SNAT规则,用于容器与外部通信时。如果用户使用了-p或者-Pe端口端口,还会创建对应的端口映射规则。 ...

Linux常用网络工具总结

总结了这几年使用过的网络工具

本文整理了在实践过程中使用的Linux网络工具,这些工具提供的功能非常强大,我们平时使用的只是冰山一角,比如lsof、ip、tcpdump、iptables等。本文不会深入研究这些命令的强大用法,因为每个命令都足以写一篇文章,本文只是简单地介绍并辅以几个简单demo实例,旨在大脑中留个印象,平时遇到问题时能够快速搜索出这些工具,利用强大的man工具,提供一定的思路解决问题。 ping 这...

使用Harbor构建私有Docker镜像仓库

如何配置harbor作为本地mirror registry

简介 Harbor是VMware公司最近开源的企业级Docker Registry项目, 项目地址为https://github.com/vmware/harbor 其目标是帮助用户迅速搭建一个企业级的Docker registry服务。它以Docker公司开源的registry为基础,提供了管理UI, 基于角色的访问控制(Role Based Access Control),AD/LDA...

谈谈Docker数据容器

翻译自: Data-only container madness 什么是数据容器? 数据容器就是本身只创建一个volume供其他容器共享,创建完后即退出,不执行任何任务。比如通过以下方式创建一个postgres容器。 docker run --name dbdata postgres echo "Data-only container for postgres" 该容器运行echo...

虚拟机、Docker和Hyper技术比较

操作系统 我们知道: 完整的操作系统=内核+apps 内核负责管理底层硬件资源,包括CPU、内存、磁盘等等,并向上为apps提供系统调用接口,上层apps应用必须通过系统调用方式使用硬件资源,通常并不能直接访问资源。apps就是用户直接接触的应用,比如命令行工具、图形界面工具等(linux的图形界面也是作为可选应用之一,而不像windows是集成到内核中的)。同一个内核加上不同的ap...

使用bash关联数组统计单词频数

从bash 4开始支持关联数组,使用前需要声明,即 declare -A map map[key1]=value1 map[key2]=value2 map=([key1]=value1 [key2]=value2) # 获取keys keys=${!map[@]} # 获取values values=${map[@]} 利用关联数组,很容易实现单词统计,源码文件wordCount.s...