ceph相关命令

###############centos7

mkdir my-cluster

cd my-cluster

yum install ceph-deploy -y

ceph-deploy new mon01

yum install python-minimal -y

ceph-deploy install mon01 node01 node02

MDS=”mon01″

MON=”mon01 node01 node02″

OSDS=”mon01 node01 node02″

INST=”$OSDS $MON”

echo “osd pool default size = 2

osd max object name len = 256

osd max object namespace len = 64

mon_pg_warn_max_per_osd = 2000

mon clock drift allowed = 30

mon clock drift warn backoff = 30

rbd cache writethrough until flush = false” >> ceph.conf

apt-get install -y ceph-base

apt-get install -y ceph-common

apt-get install -y ceph-fs-common

apt-get install -y ceph-fuse

apt-get install -y ceph-mds

apt-get install -y ceph-mon

apt-get install -y ceph-osd

[Ceph]

name=Ceph packages for $basearch

baseurl=http://mirrors.163.com/ceph/rpm-nautilus/el7/$basearch

enabled=1

priority=1

gpgcheck=1

gpgkey=https://download.ceph.com/keys/release.asc

[Ceph-noarch]

name=Ceph noarch packages

baseurl=http://mirrors.163.com/ceph/rpm-nautilus/el7/noarch

enabled=1

priority=1

gpgcheck=1

gpgkey=https://download.ceph.com/keys/release.asc

[ceph-source]

name=Ceph source packages

baseurl=http://mirrors.163.com/ceph/rpm-nautilus/el7/SRPMS

enabled=0

priority=1

gpgcheck=1

gpgkey=https://download.ceph.com/keys/release.asc

yum install python-setuptools

yum install -y deltarpm

yum install -y gdisk

ceph mgr module disable dashboard

ceph-deploy mgr create mon01 node01 node02

ceph dashboard ac-user-create admin passw0rd administrator

systemctl restart ceph-mon.target

ceph-deploy –overwrite-conf mds create mon01 node01 node02 创建mds

ceph osd pool create cephfs_data 128

ceph osd pool create cephfs_metadata 128

ceph fs new myfs cephfs_metadata cephfs_data

ceph osd pool rm cephfs_data cephfs_data –yes-i-really-really-mean-it 删除cephfs_data

ceph fs rm myfs –yes-i-really-mean-it 删除myfs

mount -t ceph 192.168.169.190:6789:/ /fsdata -o name=admin,secretfile=/etc/ceph/admin.secret

##ceph添加新节点

ceph-deploy –overwrite-conf config push admin mon01 node01 node02 node03

ceph-deploy –overwrite-conf mon create node03

ceph-deploy –overwrite-conf mon add node03

ceph-deploy osd create –data /dev/sdb node03

#######rbd链接方式

ceph osd pool create rbd_test 128 128

rbd create rbd_date –size 20480 -p rbd_test

rbd –image rbd_date -p rbd_test info

rbd feature disable rbd_test/rbd_date object-map fast-diff deep-flatten

rbd map rbd_date -p rbd_test

rbd showmapped

ceph osd pool application enable rbd_test rbd_date

mkfs.xfs /dev/rbd0

mkdir /rbddate

mount /dev/rbd0 /rbddate/

dd if=/dev/zero of=/rbddate/10G bs=1M count=10240

#cloudstack挂载rbd存储

ceph auth get-or-create client.cloudstack mon ‘allow r’ osd ‘allow rwx pool=vm-data’

AQD+VQVfELMbJRAA5LspVxtCykwJ3LFzwYLyFQ==

####删除RBD

rbd list -p rbd_test

rbd unmap /dev/rbd0

rbd rm rbd_date -p rbd_test

rbd list -p rbd_test 查看镜像

rbd snap ls rbd_test/dfe36912-ba7f-11ea-a837-000c297bc10e 查看镜像的快照

rbd snap unprotect rbd_test/dfe36912-ba7f-11ea-a837-000c297bc10e@cloudstack-base-snap 解除快照保护

rbd snap purge rbd_test/ede76ccf-f86a-4ab7-afa7-1adc4f1b576b 删除快照

rbd rm rbd_test/ede76ccf-f86a-4ab7-afa7-1adc4f1b576b 删除镜像

rbd children vm-data/2368966f-0ea3-11eb-8538-3448edf6aa08@cloudstack-base-snap 查看子快照

rbd flatten vm-data/79900df4-0b18-42cb-854b-c29778f02aff 还原子快照

问题:This means the image is still open or the client using it crashed. Try again after closing/unmapping it or waiting 30s for the crashed client to timeout.

解决:

rbd status vm-data/6926af02-27c3-47ad-a7ee-86c7d95aa353 查看戳号

ceph osd blacklist add 172.31.156.11:0/4126702798

查看rbd 残留的watch信息

[root@node-2 ~]# rbd status compute/2d05517a-8670-4cce-b39d-709e055381d6_disk Watchers: watcher=192.168.55.2:0/2900899764 client.14844 cookie=139644428642944

将该残留的watch信息添加到osd的黑名单,再查看watch是否存在。

[root@node-2 ~]# ceph osd blacklist add 192.168.55.2:0/2900899764 blacklisting 192.168.55.2:0/2900899764 until 2018-06-11 14:25:31.027420 (3600 sec) [root@node-2 ~]# rbd status compute/2d05517a-8670-4cce-b39d-709e055381d6_disk Watchers: none

删除rbd

[root@node-2 ~]# rbd rm compute/2d05517a-8670-4cce-b39d-709e055381d6_disk Removing image: 100% complete…done.

对象存储minio的安装方法

docker run -d –name minio \

–restart=always –net=host \

-e MINIO_ACCESS_KEY=admin \

-e MINIO_SECRET_KEY=passw0rd \

-v /data:/data \

minio/minio server \

http://oss-{01…04}/data/

########客户端实时同步脚本如下:########

#修改成你需要实时同步备份的文件夹

backup=”/backup/filebackup”

#修改成你要备份到的存储桶

bucket=”minio”

#将以下代码一起复制到SSH运行

cat > /etc/systemd/system/miniocfile.service <

[Unit]

Description=miniocfile

After=network.target

[Service]

Type=simple

ExecStart=$(command -v mc) mirror -w –overwrite ${backup} ${bucket}/${backup}

Restart=on-failure

[Install]

WantedBy=multi-user.target

EOF

#######################################

ceph更换硬盘方法

1、systemctl stop ceph-osd@21

2、ceph osd out osd.21

3、ceph osd crush remove osd.21

4、ceph auth del osd.21

5、ceph osd rm 21

6、cd /var/lib/ceph/osd/ceph-xx #查找相应的OSD对应的/dev是什么。

7、umount /dev/sdj

8、换硬盘

smartctl –all /dev/sde ########识别硬盘SN号

9、登录到c01

10、cd /root/my-cluster

11、ceph-deploy osd create –data /dev/sdj c02

K8S有哪些组件

Master 组件:

1、kube-apiserver :

  Kubernetes API 集群的统一入口,各组件的协调者,以RESTful API提供接口方式,所有的对象资源的

增删改查和监听操作都交给APIServer处理后再提交给etcd数据库做持久化存储

2、Kube-controller-manager

  处理集群中常规后台任务,一个资源对应一个控制器,而controllerManager就是负责处理这些控制器的

3、kube-scheduler

  根据调度算法为新创建的pod选择一个Node节点,可以任意部署,可以部署在同一个节点上,也可以部署在不同的节点上

4、etcd

  分布式键值存储系统,用于保存集群状态数据,比如Pod,Service等对象信息

Node组件:

1、kubelet:

  kubelet 是Master在Node节点上的Agent,管理本机运行容器的生命周期,比如创建容器,Pod挂载数据卷,下载secret,获取容器和节点状态等工作,kubelet 将每个Pod转换成一组容器

2、kube-proxy:

  在Node节点上实现Pod网络代理,维护网络规则和四层负载均衡工作。实现让Pod节点(一个或者多个容器)对外提供服务

3、docker或rocket

  容器引擎,运行容器

什么是ELK

ELK是三个开源软件的缩写,分别表示:Elasticsearch , Logstash, Kibana , 它们都是开源软件。新增了一个FileBeat,它是一个轻量级的日志收集处理工具(Agent),Filebeat占用资源少,适合于在各个服务器上搜集日志后传输给Logstash,官方也推荐此工具。

1.1、Elasticsearch是个开源分布式搜索引擎,提供搜集、分析、存储数据三大功能。它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。

1.2、Logstash 主要是用来日志的搜集、分析、过滤日志的工具,支持大量的数据获取方式。一般工作方式为c/s架构,client端安装在需要收集日志的主机上,server端负责将收到的各节点日志进行过滤、修改等操作在一并发往elasticsearch上去。

1.3、Kibana 也是一个开源和免费的工具,Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助汇总、分析和搜索重要数据日志。

微服务架构

面向服务的体系结构(SOA)架构样式的一种变体,它提倡将单一应用程序划分成一组小的服务,服务之间互相协调、互相配合,为用户提供最终价值。每个服务运行在其独立的进程中,服务与服务间采用轻量级的通信机制互相沟通(通常是基于HTTP的RESTful API)。每个服务都围绕着具体业务进行构建,并且能够独立地部署到生产环境、类生产环境等。另外,应尽量避免统一的、集中式的服务管理机制,对具体的一个服务而言,应根据上下文,选择合适的语言、工具对其进行构建。

微服务(或微服务架构)是一种云原生架构方法,其中单个应用程序由许多松散耦合且可独立部署的较小组件或服务组成。这些服务通常

  • 有自己的堆栈,包括数据库和数据模型;
  • 通过REST API,事件流和消息代理的组合相互通信;
  • 它们是按业务能力组织的,分隔服务的线通常称为有界上下文。

智慧电厂一体化解决方案

  1. 智慧电厂时代,企业生产管理与目标发生改变

  1. 智慧电厂建设内容与建设目标

  1. 智慧电厂建设演进-云化、平台化、生态化

  1. 智慧电厂IT基础设施演进趋势

  1. 智慧电厂工业平台参考架构

  1. 智能工业平台支持发电企业数字化、智慧化转型

  1. 能源行业智慧平台解决方案

  1. 智慧电厂总体架构-云是基础、平台是关键、应用是核心

  1. 智慧电厂IT云化发展趋势

  1. 传统电厂IT方案与智慧电厂云方案的对比

公有云安全概述

云安全职责划分:共同担责

1、软件即服务SAAS

云服务厂家几乎负责所有的安全性,因为租户只能访问、管理和使用其提供的应用程序,但无法对应用程序做破坏性操作。例如:SAAS服务厂家提供安全、日志、运维、审计、应用安全性检测等,二租户只能给管理租户账户和权限。

2、平台及服务PAAS

云服务厂家负责平台的安全性,租户负责平台上部署的应用,包括所有的应用安全配置。两者职责几乎均分。例如RDS关系型数据库服务,云服务厂家提供RDS实例管理安全、RDS实例的修复和核心配置。租户对数据库账户、访问安全等负责。

3、基础设置即服务IAAS

云服务厂家负责基本的安全,而租户负责在此基础上搭建的其它安全。相比PAAS,IAAS租户承担更多的职责。

租户安全关注点:治理和企业风险管理

组织治理和度量云计算带来的企业风险的能力。 例如违约的判决先例,用户组织充分评估云提供商风险的能 力,当用户和提供商都有可能出现故障时保护敏感数据的责任,及国际边界对这些问题有何影响等都是关注点。

1、法律问题:合同和电子举证

使用云计算时潜在的法律问题。 本节涉及的的问题包括信息和计算机系统的保护要求、安全漏 洞信息披露的法律、监管要求,隐私要求和国际法等。

2、合规性和审计管理

保持和证明使用云计算的合规性。 本节涉及评估云计算如何影响内部安全策略的合规性、以及不同的合规性要求(规章、法规等)。同时还提供在审计过程中 证明合规性的一些指导。

3、信息治理

治理云中的数据。 本节涉及云中数据的识别和控制;以及可用于处理数据迁移到 云中时失去物理控制这一问题的补偿控制。也提及其它项,如谁负责数据机密性、完整性和可用性等。

4、管理平面和业务连续性

保护访问云时使用的管理平台和管理结构,包括 Web 控制台 和 API。确保云部署的业务连续性。

5、基础设施安全

核心云基础架构安全性,包括网络、负载安全和混合云安全考虑。该领域还包括私有云的安全基础。

6、虚拟化及容器(Container)技术

虚拟化管理系统、容器和软件定义的网络的安全性。

7、事件响应、通告 和补救

适当的和充分的事件检测、响应、通告和补救。尝试说明为了启动适当的事件处理和取证,在用户和提供商两边都需要满足的一些条目。本域将会帮助您理解云给您现有的事件处理程序带来的复杂性。

8、应用安全

保护在云上运行或在云中开发的应用软件。包括将某个应用迁移到或设计在云中运行是否可行,如果可行,什么类型的云平 台是最合适的(SaaS, PaaS, or IaaS)。

9、数据安全和加密

实施数据的安全和加密控制,并保证可扩展的密钥管理。

10、身份、授权和访问管理

管理身份和利用目录服务来提供访问控制。关注点是组织将身 份管理扩展到云中遇到的问题。本节提供洞察评估一个组织准备就绪进行基于云的身份、授权和访问管理(IdEA)。

11、安全即服务

提供第三方促进安全保障、事件管理、合规认证以及身份和访问监督。

12、相关技术

与云计算有着密切关系的已建立的新兴技术,包括大数据,物联网和移动计算。

什么是云原生?

伴随云计算的滚滚浪潮,云原生(CloudNative)的概念应运而生,云原生很火,火得一塌糊涂,都2022年了,如果你还不懂云原生,那真的out了。

大家言必称云原生,却鲜少有人告诉你到底什么是云原生,若是找资料来看,读完大多会感觉云绕雾罩,一知半解,总之虚得很;

云原生之所以解释不清楚,是因为云原生没有确切的定义,云原生一直在发展变化之中,解释权不归某个人或组织所有。

何谓云原生?
技术的变革,一定是思想先行,云原生是一种构建和运行应用程序的方法,是一套技术体系和方法论。云原生(CloudNative)是一个组合词,Cloud+Native。Cloud表示应用程序位于云中,而不是传统的数据中心;Native表示应用程序从设计之初即考虑到云的环境,原生为云而设计,在云上以最佳姿势运行,充分利用和发挥云平台的弹性+分布式优势。

Pivotal公司的Matt Stine于2013年首次提出云原生(CloudNative)的概念;2015年,云原生刚推广时,Matt Stine在《迁移到云原生架构》一书中定义了符合云原生架构的几个特征:12因素、微服务、自敏捷架构、基于API协作、扛脆弱性;到了2017年,Matt Stine在接受InfoQ采访时又改了口风,将云原生架构归纳为模块化、可观察、可部署、可测试、可替换、可处理6特质;而Pivotal最新官网对云原生概括为4个要点:DevOps+持续交付+微服务+容器。

2015年云原生计算基金会(CNCF)成立,CNCF掺和进来后,最初把云原生定义为包括:容器化封装+自动化管理+面向微服务;到了2018年,CNCF又更新了云原生的定义,把服务网格(Service Mesh)和声明式API给加了进来。

可见,不同的人和组织对云原生有不同的定义,相同的人和组织在不同时间点对云原生也有不同的定义,真是乱的一匹,搞得鄙人非常晕菜,我的应对很简单,选一个我最容易记住和理解的定义:DevOps+持续交付+微服务+容器。

总而言之,符合云原生架构的应用程序应该是:采用开源堆栈(K8S+Docker)进行容器化,基于微服务架构提高灵活性和可维护性,借助敏捷方法、DevOps支持持续迭代和运维自动化,利用云平台设施实现弹性伸缩、动态调度、优化资源利用率。