怕麻烦
作用 因为 openstack 命令行下, 没有办法直接获取资源使用情况 通过 sql 语句获得 tenant(project) 当前的资源使用情况 常见资源分别有 core, memory, disk, volume 这几种 sql 计算 cpu 与内存使用方法 查询当前 tenants 方法 mysql> select name from key
声明: 我的博客即将入驻“云栖社区”,诚邀技术同仁一同入驻。 $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\
作用 neutron 管理了 openstack 中的网络 neutron 中, dhcp agent 用于为 openstack 网络分配 dhcp ip 地址 查询 查询网络 参考当前 openstack 环境中具有多少个网络环境 [root@hh-yun-puppet-129021 ~]# source /home/terry/keystonerc_admi
命令行管理介绍 openstack 命令行管理一 - br-ex 网络设定 (备忘) openstack 命令行管理二 - 镜像管理 (备忘) openstack 命令行管理三 - tenant 管理 (备忘) openstack 命令行管理四 - 资源管理 (备忘) openstack 命令行管理五 - 磁盘配额管理(备忘) openstack 命令行管理六 - 用户管理
作用 compute 用户启动 instance compute 可以连接 ceph 作为 instance 外部存储 软件安装 # yum install -y openstack-neutron.noarch openstack-neutron-ml2.noarch openstack-neutron-openvswitch.noarch openstack-
作用 1 响应云主机请求, 并把连接调度至对应的 compute 节点 2 提供 console 认证服务 3 提供 vnc 访问云主机功能 软件安装 # yum install -y openstack-nova-api openstack-nova-compute openstack-nova-conductor openstack-nova-scheduler
作用 1 neutron 实现了 openstack 下的虚拟网络功能 2 能够实现路由与交换功能 3 能够具有 dhcp 分配 ip 至云主机 neutron 定义了整个 openstack 的网络模型, 当前测试使用了 flat (平面网络) 生产使用了 vlan flat gre local vlan vxlan neutron 在网络类型中支持下面的组件,
作用 1 cinder 需要连接 ceph 进行云硬盘存储 2 cinder 需要连接 keystone 进行用户验证 3 cinder 需要连接 rabbitmq 处理消息队列 默认下 openstack 提供卷驱动, 支持下面的块存储类型 LVM/iSCSI ThinLVM NFS NetAPP NFS Red Hat Storage (Gluster) Dell
作用 1 glance 主要用于管理云主机镜像 2 glance 需要进行 keystone 验证 3 在第一次云主机创建时候, 把镜像从 glance server 传输至 compute 组件中 安装 yum install -y openstack-glance.noarch openstack-glance-doc.noarch python-glance
说明 1 keystone 数据存储至 mariadb 中 2 keystone 主要为 nova, neutron, cinder 等组件提供数据认证服务, 3 keystone 自身管理 user, tenant, service, endpoint 等重要信息 安装 yum install -y openstack-keystone.noarch opens
目的 1. 配置 openstack 可用的 rabbitmq 2. rabbitmq 用于存储 openstack 消息队列 3. rabbitmq 作为数据存储中心 4. openstack i 版中, rabbitmq 为 cinder, nova, neutron 组件进行数据存储, 5. openstack h 版使用的是 qpid 进程, 经常出现进程
目的 1. 配置 openstack 可用的 mariadb 2. mariadb 用于存储 openstack 中的所有信息 3. 暂不以高可用为目的 安装 yum install -y mariadb* 配置 必须要设定默认字符集为 utf8, 否则无法自动创建表 注 因测试环境, 暂无对 innodb 进行优化 /etc/my.cnf
前提 1 暂不配置成高可用 openstack 2 利用 rpm 方法部署 openstack 3 使用平面网络 4 了解各个组件连接其他组件的配置 机器架构 参考下面服务器的 IP 地址及每个服务器安装对应的组件 +-------------------------------------+-----------------+---------------+-
目的 测试 ceph 与 vm 连接与使用 创建 vm 主机 128030 及 129094 是全新安装并利用 puppet 推送的 nova compute 主机 计划在这两个主机上进行 vm 连接 ceph 测试 nova boot --flavor b2c_web_1core --image Centos6.3_1.3 --security_group de
前提 配置 nova compute, 令其他与 ceph 集群进行连接 最终目的能够允许 instances 利用 ceph RBD 当作外部卷使用 nova compute 默认已经能够正常工作, 当前只添加 ceph 连接部分 安装软件 yum install -y python-ceph ceph 额外的目录 mkdir -p /var/run/ce
前提 参考 ceph - 扩容记录 文档记录了如何进行 ceph 扩容的部署过程 最后一步, 需要对 ceph crushmap 进行重定义 容量计算 新加入 3 台存储节点, 每个存储节点具有 10 个 OSD 节点, 每个 OSD 对应 4TB 空间, 即共增加 3* 10 * 4TB = 120 TB 由于一直都有业务在 ceph 存储
目的 分离 ceph data 与 journal 位置 环境 参考下面 ceph 架构 [root@ceph-gw-209214 ~]# ceph osd tree # id weight type name up/down reweight -1 12 root default -2 3
时间点与步骤 事件 相关信息 相关机器 详细信息 12/15 10:00 服务器重装,把原来 glusterfs 服务器重装成 el7 240.30.128.54,240.30.128.71,240.30.128.72 利用 kickstart 重装 12/15 11:30 基础配置 维护系统常用基础配置 240.30.12
说明 pg ( placement group ) 是数据存储的重要单位 在使用 ceph 的时候, pg 会经常发生状态的变化, 参考下面例子 当创建池的时候, 将会创建相应的 pg, 那么可以看到 pg creating 状态 当部分 pg 创建成功后, 将会发现 pg 会进入 peering 状态 当所有 pg peering 完成后, 将可见到状态变成 a
架构与部署 openstack 与 ceph (架构) openstack 与 ceph (monitor初始化) openstack 与 ceph (osd 部署) openstack 与 ceph ( pool 管理 ) openstack 管理二十二 - cinder 连接多个存储 backend openstack 管理二十三 - nova compu
前提 环境说明 1. 操作系统: centos 7.2 2. 应用: docker 现象: 1. / 磁盘不足 2. 实际上磁盘还有很多空间 3. 应用开始报错( out of space) 分析 利用 find 分析, 没有找到特殊的大文件 如: find /apps -size +50M 利用 df 进行分析, 发现 / 已经用
变量复用 说明: 变量定义后可以直接调用变量名称使用 范例: $etcd_controller1='10.100.84.22' $etcd_controller2='10.100.84.23' $etcd_controller3='10.100.84.24' $etcd_host1='gx-yun-084022.vclound.com' $etcd_host2='
作用 puppet 与其他语言一样, 可以通过正则匹配, 通过判断, 循环, case 等语法进行管理 本文会对 puppet 一些条件语法进行介绍 比较 在 puppet 中, 有下面几种常见的比较方法, 参考下面表格 表达式 作用 例子 ! 非 if ( ! $myvar ) and 与 if ( $myvar >
puppet 配置 1. 服务器, 客户端配置说明 puppet 配置 2 模块 puppet 配置 3. 资源 puppet 配置 3.1 管理 sysct.conf puppet 配置 3.2 管理 hosts puppet 配置 - 3.3 rpm 管理 puppet 配置 3.4 文件管理与自定义模块 puppet 配置 3.5 参数 puppet 配置 4 条件语法
作用 介绍 puppet 中 facter 用法, 介绍自参数定义, 参数传递, 参数使用的常见例子 facter facter 是 puppet 的一个依赖软件, 当安装了 puppet 软件, 都可以通过 facter 命令查询 puppet 内建变量 查询内建函数 直接调用命令 facter 查询所有内建变量 通过命令 facter + 需要
作用 利用 puppet 对文件, 配置文件等进行管理 常见管理办法 1. 新增文件并定义文件中内容 2. 修改已经存在的文件中的配置 3. 通过模板管理方式进行配置文件定义 模块 这里介绍 puppet 自带的 file 模块及第三方模块 stdlib stdlib 模块下载地址 使用方法 下载 stdlib.tar.gz 软件包并解压至
作用 利用 puppet 对 centos, redhat 等操作系统进行软件包 (rpm) 进行管理 管理包括, 软件源管理, 安装, 删除, 升级软件包 模块 利用 puppet 自带 yumrepo, package 模块即可 操作系统会利用 yum 命令进行管理软件包 yum 源由 yumrepo 模块管理 软件由 package 模块管理 帮助
作用 利用 puppet 对客户端 /etc/hosts 文件进行管理 辅助模块 https://forge.puppet.com/chrekh/hosts 下载方法 点击网页中 download latest tar.gz 直接下载 把下载的文件 解压至 puppet server 中 /etc/puppet/modules/hosts 目录中
辅助模块 https://github.com/duritong/puppet-sysctl 下载方法 利用上面网站, 通过连接 clone or download 利用 download zip 按钮进行下载 把下载的 zip 文件直接解压到服务器端 /etc/puppet/modules/sysctl/ 目录下 文件结构 如下 [root@ter
cinder backend 使用 openstack 集群 cinder 服务存储用户数据, 提供数据安全保障 利用 cinder 连接存储集群用于 openstack 云盘 cinder 需要连接一个或多个存储 backend [一个鸡蛋不要老放到一个篮子] cinder 后端可以连接多种的 backend, 如: nfs, glusterfs, cinder 等等
参考 openstack 与 ceph ( pool 管理 ) 常见 crush map 管理方法 获得默认 crushmap (加密) ceph osd getcrushmap -o crushmap.dump 转换 crushmap 格式 (加密 -> 明文格式) crushtool -d crushmap.dump -o crus
环境: raid1 查询 raid controll number megacli -PDlist -aALL | grep "ID" | uniq | awk -F: '{print $2}' | awk '{print $1}' 查询当前磁盘数量 megacli -PDList -aALL | grep -E "DISK\ GROUP|Slot\ N
对 journal 信息永久化保存方法 针对 systemd-journald.service 服务默认只把信息存放与内存进行优化, 改变当服务器长期启动, 无法利用 journald 命令获取服务状态信息 修改 /etc/systemd/journald.conf 添加 Storage=persistent 可利用系统文件对 journal 信息进行永久保存
目标: 满足团队需求 Docker 镜像 镜像需符合安全审计要求 镜像要求 最简化安装 需要解决 glibc ( ghost ) 漏洞 修改 ulimit 65535 限制 添加用户 apps 修改 apps, root 密码 制作方法 利用 image-withyum.sh 创建 docker 干净镜像 (参见下方附件地址) 利用 DockerF
概念 资源是 puppet 配置的独立单元 资源包含有 (package, service, file, user, mount, exec ...) 常见资源包含有 title, arguments 两部分组成 arguments 可包含 0 ~ 多个 资源例子: type { 'title': argument => value, other_a
概念 模块是 puppet 中最基本的功能单位 模块常常存放在 /etc/puppet/modules 下 每个模块都是独立的, 模块命名不可以重复, 否则会导致重命名错误 模块主要供客户端进行调用 模块常见有下载及自定义两种 获取 可以从网络中获得模板 https://forge.puppet.com/ http://www.example42.com
puppet 作用 1. 适合于在主机完成初始化安装后 (可通过 cobbler + kickstart 进行自动化安装部署) , 进行统一的管理 2. 常见管理包括, 用户, 系统基础配置, 服务, 进程, 软件等等 3. 适合于大规模对大量主机执行重复的相同的配置, 简化了管理员分别对主机执行重复的枯燥的配置, 避免了因为手误, 因为其他原因对主机执行错误
参考资源限制方法两种 资源限制针对 docker daemon ( 不针对 contrainer ) 资源限制针对 docker contrainer (针对 contrainer 及 contrainer 下所有的进程 ) 针对进程, 用户资源限制 针对系统内核进行优化: /etc/sysctl.conf fs.file-max=3836960
经监控中心报告, 我电脑出现 DNS 并发过大现象, 下面是分析过程 环境 pdns-recursor-3.7.2-1.x86_64 pdns-static-3.4.4-1.x86_64 mariadb-server-5.5.41-2.el7_0.x86_64 测试过程, 抓取 dns 数据包, 另存为文件 dns.pcap tcpdump -c 100000
参考下面 ananconda.cfg 原生, 直接进行分区方法 #version=RHEL7 # System authorization information auth --enableshadow --passalgo=sha512 # Use CDROM installation media cdrom # Use graphical install graphical #
在创建一个 docker 容器后, 常见 docker 容器会在 /var/lib/docker 目录下会生成一些文件, 目录 备忘一下文件信息 如创建了一个容器, 容器 ID 为 f32b82280d67c66d8eecc75c63dc49e40c3e23672cf4498ea6cc44ad654b3cf6 [root@sh-storage-128204 d
Openstack 中, 创建云主机时, 需要定义 flavor 类型, flavor 定义了每个云主机的硬件类型, 包括 cpu 个数, 内存大小, 硬盘大小(根盘), 作为通用类型, 我们不会把硬盘容量设定过大, 那么对于数据库用户或其他需要使用大容量磁盘的用户是不合适的. 特点: 云主机与云硬盘, 需要独立地创建, 独立管理 云硬盘需要通过命令指定
软件环境 操作系统 CentOS 运行环境:python 2.7 工具:/sbin/ipvsadm 参数说明 [root@gd02-zabbix-db-research python_api]# ./lvs.py usage: ./lvs.py --help or --example [root@gd02-zabbix-db-research python_a
参考报警信息 [root@hh-yun-puppet-129021 ~]# ceph health detail HEALTH_WARN mon.hh-yun-ceph-cinder026-128076 low disk space mon.hh-yun-ceph-cinder026-128076 low disk space -- 30% avail 参考磁盘空间
最近在执行 ceph 扩容 注: 如果有条件, 建议不要扩容, 直接创建新 POOL, 这样会避免很多异常与影响 扩容每天大约 2T 空间, 扩容过程中, pg 会对数据执行自动迁移, 但在迁移过程中会遇到下面异常错误 [root@hh-yun-puppet-129021 ~]# ceph -s cluster dc4f91c1-8792-4948-b6
硬件: [root@sh-storage-128204 ~]# dmidecode -t system dmidecode 2.12 SMBIOS 2.7 present. Handle 0x0001, DMI type 1, 27 bytes System Information Manufacturer: To be filled by O.E.
前提: docker 下载镜像需要连接到 docker.io, 网络原因, 可能被其他国家限制, 也可能由于网速慢, 会导致异常 因此, 常常需要创建一个私有的 docker private registry 用于保存私有镜像或官方镜像, 提供更加方便快捷的下载方法, 省时省力. A. 主机说明 主机 ip地址 作用 sh-storage
目的, 分离 ceph data 与 journal 位置 环境 [root@ceph-gw-209214 ~]# ceph osd tree # id weight type name up/down reweight -1 12 root default -2 3 host ceph-g
参考 ceph 环境 cluster dc4f91c1-8792-4948-b68f-2fcea75f53b9 health HEALTH_WARN 15 requests are blocked > 32 sec; clock skew detected on mon.hh-yun-ceph-cinder025-128075 monm