前言最近在使用arm的大服务器需要用到ubuntu相关的一些东西,在操作系统安装过程中遇到了一些问题
记录华为鲲鹏服务器这个默认安装centos的都很顺利,安装ubuntu18最新的,impi就花屏了,然后找各种地方都没找到原因,看到官网的,用18.04.01写的文档,然后试了下18.04.01可以,其它版本都花屏,直接使用即可
安培服务器同样的基本找不到相关的文档,网上的都是禁用的一些参数什么的,实际上操作如下:
在grub编辑界面,在—后面增加
1console=tty0 iommu.passthrough=1
然后crtl+x启动就好了,不清楚这个在上面的华为机器上是否可以,机器被拿走了有机会再试了
前言ceph比较老的版本使用的reweight或者osd weight来调整平衡的,本篇介绍的是ceph新的自带的插件balancer的使用,官网有比较详细的操作手册可以查询
使用方法查询插件的开启情况
1234567891011121314151617[root@node1 ceph]# ceph mgr module ls{ "enabled_modules": [ "balancer", "restful", "status" ], "disabled_modules": [ "dashboard", "influx", "localpool", "prometheus", "selftest", "telemetry&q ...
前言最近做redmine的bug平台的分析,统计一些需要用到的数据,这里把相关调用的地方记录下来以备后用
相关的获取接口123456789101112131415161718192021222324252627#! /usr/bin/python# -*- coding:UTF-8 -*-from redminelib import Redmineredmine = Redmine('redmin的地址',username='用户名',password='密码',requests={'timeout': 5 })issues = redmine.issue.filter(project_id='项目id',status_id='open',offset=0,limit=100)# 遍历bug单for issue in issues: #获取当前BUG编号 print issue.id #获取bug单标题 print issu ...
前言软件最终都会有交付的形式,有的是用tar包,有个是以目录,有的是封成一个文件包,从大多数使用场景来说,直接打包成软件包的方式是最简单,也是最不容易出错的,路径可以在包里面写死了
实践关于打包的资料网上很多,而封包的方式也很多有spec文件方式,有fpm打包方式,本篇记录的是通过setup.py的方式打包的,因为最近出了小工具,所以进行了相关的尝试,这里记录一下
首先创建一个setup.py文件,写上一些基础内容
12345678910111213141516[root@test redmine]# cat setup.py # coding:utf-8#from distutils.core import setupfrom setuptools import setup, find_packagessetup( name='issue-check', version='2020-0403-1419', description='This redmine issue-check', ...
暂未分类
未读前言之前有一篇介绍配置桥接网卡的,这个桥接网卡一般是手动做虚拟化的时候会用到,通过修改网卡的配置文件的方式会改变环境的原有的配置,而很多情况,我只是简单的用一下,并且尽量不要把网络搞断了,万一有问题,远程把机器重启一下也就恢复了,不至于反复去定位哪里改错了,当然如果是能够直连的修改的时候,还是建议通过配置文件的方式去修改
安装必要的软件包
1yum install bridge-utils
选择想要修改的网卡
123456789[root@lab101 ~]# ifconfig ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.0.101 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::20c:29ff:fe19:3efb prefixlen 64 scopeid 0x20<link> ether 00:0c:29:19:3e:fb txqueuel ...
计算机结构
从大的结构来说,计算机方面的东西主要分为两个大的部分,一个为硬件的部分,也就是组成计算机的一些硬件的
一个是软件的部分,就是我们基于硬件之上的做的一些东西,通常来说,硬件的东西比较固定,而软件的东西就比较多了
计算机硬件部分
CPU
硬盘
内存
主板
网络
计算机的软件部分
操作系统
内核
系统相关的软件
网络相关
linux基础操作
文件系统
分布式文件系统
san相关
高可用和负载均衡相关
上面应该还有很多很多的内容,这个目录结构会随着时间的变化,慢慢填充起来
软件开发
这个章节是记录一些软件开发过程中的一些知识
测试软件
这个是一些测试相关的软件
基于以上的内容会慢慢的进行扩展,博客里面的内容会关于上面的这些方面
更新历史
why
when
创建
2019年12月9日
更新
2019年12月9日
前言很久没有处理很大的集群,在接触一个新集群的时候,如果集群足够大,需要比较长的时间才能去理解这个集群的结构,而直接去看ceph osd tree的结果,当然是可以的,这里是把osd tree的结构进行了一个结构化输出,也可以理解为画出一个简单的结构图,比较适合给其它人讲解你对crush做了哪些改变,这个如果指着文字来讲估计很多人会听的云里雾里,如果有比较方便的方式出图就比较好了
为此写了一个小工具自己用,正好也可以看看我们对结构做简单调整后的效果
创建一个模拟集群环境就一台机器,不需要用到磁盘,这里是模拟结构创建一个大集群40台机器
12seq 1 40 |xargs -i ceph osd crush add-bucket lab{} hostseq 1 40|xargs -i ceph osd crush move lab{} root=default
创建一个960个的集群
1seq 1 960 |xargs -i ceph osd create
放到指定的主机
123456#! /bin/shfor osd in `seq 0 95 ...
关于arm之前wdlab对外发布过一次约500个节点的arm的ceph集群,那个采用的是微集群的结构,使用的是双核的cortex-a9 ARM处理器,运行速度为1.3 GHz,内存为1 GB,直接焊接到驱动器的PCB上,选项包括2 GB内存和ECC保护
这个在国内也有类似的实现,深圳瑞驰商用Arm存储NxCells
这个采用的是微集群的架构,能够比较好的应对一些冷存场景,但是今天要说的不是这种架构,而是一个比较新的平台,采用的是高性能的arm的架构,也就是类似X86的大主板结构
很多人了解的arm的特点是小,功耗低,主频低,这个是以前的arm想发力的场景,类似于intel做的一款atom,在很早期的时候,我在的公司也尝试过基于atom主板做过1U的ceph存储,但是后来各种原因没有继续下去
实际上arm也在发力高性能的场景,但是这个比较新,并不是每个人都能接触的到,在这里,我把我们的硬件设备的测试数据发一部分出来,也许能改变你对arm的印象,在未来硬件选型的时候,也许就多了一层选择
高性能arm设备说明12345678910111213141516171819202122232425 ...
前言自启动相关的文章很多,有分析的很详细的文章,这里就不做赘述,本篇讲述的是什么情况下用,怎么用的问题
使用场景一台机器的系统盘坏了,需要重装系统,相关的一些信息没有了,但是上面的数据盘还是在的,所以需要保留
某个磁盘需要换台机器进行启动,但是那台机器上没有相关的信息
处理过程自启动的相关处理先扫描下lvm
123vgscanpvscanlvscan
本篇的场景是lvm没有损坏的情况,如果lvm本身损坏了,那么就是去恢复lvm的问题,本篇的基础是有一个完整的osd的数据盘,也就是磁盘本身是没问题的
查询osd相关的磁盘信息123456lvdisplay |grep "LV Path"|grep ceph LV Path /dev/ceph-b748833c-b646-4b1c-a2ef-f50576b0a165/osd-block-38657557-5ce3-43a1-861a-e690c880ddf6 LV Path /dev/ceph-aa2304f1-a098-4990-8f3a-46f1 ...
问题通过对我们的启动流程看了下,目前是穿到一个脚本里面的,然后这个脚本是用无限循环的方式去执行一些事情,这个地方不符合松耦合的设计,一个模块做一个事情,两个并不相关的功能不要嵌入另一个脚本,否则出现问题的时候,不好更改不好优化
解决方式首先分析ceph自身的启动方式
ceph的启动方式是通过去enable的一个service的方式这个enable会传入参数,osd的id和osd的fsid,这两个都是集群的定值,也就是每个osd的这块都是各自独立的,所以就是一个总控脚本去通过调用参数的方式进行服务的启动和挂载
那么最佳的处理方式应该也是近似处理,我们做结合启动的时候,先禁用相关的服务,这个后面脚本里面内部会处理,我们先写出来怎么禁用ceph的挂载和启动
1234systemctl stop ceph-osd@$osd_idsystemctl disable ceph-osd@$osd_idsystemctl disable ceph-volume@lvm-$osd_id-$osd_devumount /var/lib/ceph/osd/ceph-0/
上面一个是osd id 一个是fs ...