本文节选自GitHub:深入研究 kvm,ceph,fuse特性,包含开源项目,代码案例,文章,视频,架构脑图等介绍Ceph是一个统一的分布式存储系统,最早起源于Sage就读博士期间的工作(最早的成果于2004年发表),随后贡献给开源社区。其设计初衷是提供较好的性能、可靠性和可扩展性。在经过多年的发展之后,目前已得到众多云计算厂商的支持并被广泛应用。RedHat及OpenStack都可与Ceph整合以支持虚拟机镜像的后端存储。Ceph的优势可以概括为以下四个方面:1、高性能摒弃了传统的集中式存储元数据寻址的方案,采用CRUSH算法,数据分布均衡,并行度高考虑了容灾域的隔离,能够实现各类负...

OpenStack既是一个社区,也是一个项目和一个开源软件,提供开放源码软件,建立公共和私有云,它提供了一个部署云的操作平台或工具集,其宗旨在于:帮助组织运行为虚拟计算或存储服务的云,为公有云、私有云,也为大云、小云提供可扩展的、灵活的云计算。OpenStackd开源项目由社区维护,包括OpenStack计算(代号为Nova),OpenStack对象存储(代号为Swift),并OpenStack镜像服务(代号Glance)的集合。 OpenStack提供了一个操作平台,或工具包,用于编排云。下面列出Openstack的详细构架图Openstack的网络拓扑结构图整个OpenStack是由...

HORIZON:提供图形化管理界面NOVA:提供资源 最核心的组件分为两个模块controller和compute nova-controller 提供访问入口,nova-api,接收资源的申请,并进行调度(根据用户需求去调度不同的虚拟化资源)nova-compute 提供计算资源,对接虚拟化,KVM Xen Hyper-V docker 支持异构nova对接虚拟化,若没有指定虚拟化平台,则默认使用KVMGLANCE:提供镜像服务,支持qcow(kvm),vmdk(vmware),vhd(微软),iso,ovf,amiaki(亚马逊)格式SWIFT:提供对象存储(将所有硬盘格式化形成一个...

mysql 操作者慢慢的磁盘空间慢了。启动不了。报错信息显示:no space left on device 、磁盘没有空间。没有空间怎么办。先看看磁盘使用情况。嗯,很好。只有/dev/sda3满了。说明mysql数据都在这里面。其他磁盘丝毫没使用到啊。解决办法1、systemctl stop mysqld 先停止mysql 2、在 /app 目录下创建一个mysql的存储目录。谁让这个磁盘大呢。 3、mkdir -p /app/mysql/ 创建一个mysql目录 4、chown -R -v mysql:mysql /app/mysql/ 赋予权限角色还是需要的。 5、cp -...

背景项目中遇到/分区不足需要扩容,需要对/分区进行扩容查看主机挂载信息查看当前挂载使用的磁盘信息df -Th使用fdisk --l 查看当前主机磁盘信息,给主机挂上多余的磁盘通过 fdisk /dev/sdb 操作来分出一块分区/dev/sdb1,将磁盘修改成lvm[root@localhost ~]# fdisk /dev/sdb Welcome to fdisk (util-linux 2.23.2). Changes will remain in memory only, until you decide to write them. Be careful before us...

Kubernetes与Docker Swarm的区别如何?91、什么是Kubernetes?Kubernetes是一个开源容器管理工具,负责容器部署,容器扩缩容以及负载平衡。作为Google的创意之作,它提供了出色的社区,并与所有云提供商合作。因此,我们可以说Kubernetes不是一个容器化平台,而是一个多容器管理解决方案。92、Kubernetes与Docker有什么关系?众所周知,Docker提供容器的生命周期管理,Docker镜像构建运行时容器。但是,由于这些单独的容器 必须通信,因此使用Kubernetes。因此,我们说Docker构建容器,这些容器通过Kubernetes相互...

68、 k8s是什么?请说出你的了解?答:Kubenetes是一个针对容器应用,进行自动部署,弹性伸缩和管理的开源系统。主要功能是生产环 境中的容器编排。 K8S是Google公司推出的,它来源于由Google公司内部使用了15年的Borg系统,集结了Borg的精华。69、 K8s架构的组成是什么?答:和大多数分布式系统一样,K8S集群至少需要一个主节点(Master)和多个计算节点(Node)。 主节点主要用于暴露API,调度部署和节点的管理; 计算节点运行一个容器运行环境,一般是docker环境(类似docker环境的还有rkt),同时运行一 个K8s的代理(kubelet)用于和m...

36、简述Kubernetes各模块如何与API Server通信?Kubernetes API Server作为集群的核心,负责集群各功能模块之间的通信。集群内的各个功能模块通过 API Server将信息存入etcd,当需要获取和操作这些数据时,则通过API Server提供的REST接口(用 GET、LIST或WATCH方法)来实现,从而实现各模块之间的信息交互。 如kubelet进程与API Server的交互:每个Node上的kubelet每隔一个时间周期,就会调用一次API Server的REST接口报告自身状态,API Server在接收到这些信息后,会将节点状态信息更新到...

1、简述ETCD及其特点?etcd 是 CoreOS 团队发起的开源项目,是一个管理配置信息和服务发现(service discovery)的项目,它的目标是构建一个高可用的分布式键值(key-value)数据库,基于 Go 语言实现。 特点: 简单:支持 REST 风格的 HTTP+JSON API 安全:支持 HTTPS 方式的访问 快速:支持并发 1k/s 的写操作 可靠:支持分布式结构,基于 Raft 的一致性算法,Raft 是一套通过选举主节点来实现分布式 系统一致性的算法。2、简述ETCD适应的场景?etcd基于其优秀的特点,可广泛的应用于以下场景: **服务发现(Se...

CentOS-Linux-PowerTools.repo dnf config-manager --set-enabled powertools dnf repolist sudo sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-* sudo sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-* dn...