Django CAS 解决方案

2019-10-30
阅读 3 分钟
6.7k
CAS单点登录主要是为了解决主系统和子系统的统一登录问题,能够做到任意一个子系统登录成功后,再登录其他子系统后不再需要认证,让用户不用重复地进行登录认证。CAS单点登录的方案很多,并且大多数都是采用session的方式,而本文结合个人实践,着重讨论django cas token的解决方案。

玩转 Xshell

2019-10-30
阅读 4 分钟
7.9k
由于笔者算是Windows、Linux和OSX三个系统的雨露均沾者,所以终端工具经常穿梭于OSX的Item2和Windows的Xshell之间。最近得空折腾下Xshell,分享一些好看的样式和实用小技巧。

利用软 RAID 实现系统盘高可用

2019-10-30
阅读 6 分钟
6.7k
一套完善的系统理论上是不应该存在任何的单点故障,但是系统盘往往被人所忽略,而系统盘又恰恰是最重要的一个点。本文主要讲解如何利用软RAID实现系统盘高可用,并且实现自动换盘、自动告警和自动恢复。

软 RAID 详解

2019-10-30
阅读 17 分钟
9.6k
随着数据日益增长,单块硬盘往往因为容量小而不能满足大部分人的需求,于是RAID就应运而生。RAID( Redundant Array of Independent Disks)即独立磁盘冗余阵列,简称磁盘阵列。简单地说,RAID是由多个独立的高性能磁盘驱动器组成的磁盘组,从而提供比单个磁盘更高的存储性能和数据冗余的技术。

Centos7系统安装设置gpt分区

2019-10-30
阅读 2 分钟
8.3k
硬盘分区最常见的类型为msdos和gpt,前者表示MBR分区,而后者表示GPT分区。系统安装默认分区方式为MBR,本文讲解如何设置GPT分区方式安装系统,这个看起来没什么技术含量,但是笔者实践过程中还是遇到了不少阻力,并且发现相关文章甚少,故做此记录。

ES告警详解之Sentinl

2019-10-30
阅读 6 分钟
5.3k
sentinl是基于javascript开发的kibana插件,拥有告警和报表两大功能,分别作为X-Pack 的Alert和Reporting的替代品,即插即用,它将前端UI、webserver和告警逻辑代码都集成在一个项目中,这一点要比上篇文章提到同为kibana插件的elastalert-kibana-plugin要强大不少,并且可以说sentinl的UI无论是美观程度还是操作友好程...

ES告警详解之ElastAlert

2019-10-30
阅读 9 分钟
24.8k
今天聊聊ES的告警,X-Pack提供了报警组件Alert,但是这个功能是需要付费,在寻求其他方案的时候,发现了ElastAlert,可以说这是一款为ES量身定制的告警组件,能够完美替代Alert提供的所有功能。今天就ElastAlert强大的告警功能和笔者实践过程中遇到的一些问题进行分享。

Megaraid 磁盘定位

2019-10-30
阅读 5 分钟
5.6k
早前写过一篇【利用Raid卡工具获取逻辑盘是否为SSD】的文章,大概讲述了如何通过raid卡工具判断一个逻辑磁盘对应物理磁盘是否为SSD,当时主要提到了megacli和sas3ircu这两种工具,核心是如何通过raid卡工具定位到逻辑磁盘对应的物理磁盘的位置,当时的方式现在看来在有些场景会存在缺陷。

如何避免 Cronjob 重复运行

2019-10-30
阅读 4 分钟
4.3k
Cronjob使用中有很多问题需要注意,前段时间写了一篇文章《为什么 Cronjob 不执行》,里面谈到了各种会导致cronjob不执行的因素和解决方案,而本文就cronjob重复运行的场景,对技术手段、技术方案、具体代码和相互优劣展开详细讲解。

Ctdb Rados(二):多场景断网高可用

2019-10-30
阅读 4 分钟
3k
之前写过一篇文章【Ctdb Rados方式导致All Banned的问题】,谈到了当ctdb将recovery lock设置成rados的方式后,断网master节点会造成所有ctdb节点All Banned,主要原因是master意外断网没有释放锁,其他节点无法获取到锁,当时的解决方案是每5分钟检查一次ctdb状态,如果连续两次发生了All Banned的情况,则手动删除lock...

Ctdb Rados方式导致All Banned的问题

2019-10-30
阅读 3 分钟
2.4k
ctdb最近专门为ceph提供了一种raods object作为文件锁的方式,lock file可以放在对象存储中,而不是cephfs,从而大大降低了系统宕机的延时。在此方案的实践中,我们发现master节点宕机会导致严重的All Banned的问题,本文则围绕该问题展开讨论和提供本人的解决方案。

块设备持久化命名和多路径

2019-10-29
阅读 5 分钟
5.5k
众所周知,我们看到的磁盘通常是/dev/sda,/dev/sdb这样的名称,我们可以通过这些磁盘名称对磁盘进行各种操作,例如挂载,分区和格式化等等。但是,如果你的机器上有不止一个SATA,SCSI或IDE磁盘控制器,那么它们所对应的设备节点将会依随机次序添加。这样就可能导致每次引导时设备的名字如/dev/sda与/dev/sdb互换了,再...

Python Snack 最佳实践

2019-10-29
阅读 7 分钟
3.7k
了解linux的人应该听说过Newt,Newt是一个为RedHat安装程序而设计的基于文本的窗口开发工具,它是由c语言编写并不依赖X包,linux下的dialog和whiptail都是基于它。而我们今天讨论的snack则是Newt提供的python接口,redhat的系统都自带这个模块,本文就如何使用snack制作伪终端页面展开讲解,并配合代码展示实现效果。

为什么crontab不执行

2019-10-29
阅读 6 分钟
19.7k
作为linux中的定时任务工具,crontab被广大开发者所热爱和使用。该技术由来已久,相当成熟,但是在真正使用的时候会时不时地发现为什么crontab脚本没有按照预期那样执行?本文以本周笔者遇到一个crontab不能运行的问题为引子,详细地介绍为什么crontab不运行的各种原因。

聊聊BIOS、UEFI、MBR、GPT、GRUB……

2019-10-29
阅读 8 分钟
15.4k
最近一直在搞Linux系统启动方面的事情,频繁地接触到BIOS、UEFI、MBR、GPT、GRUB等诸多概念,一下子有些混淆不清,本文就这些概念进行总结,尽量通过容易理解的表达进行讲解,对这些概念有一个清楚的认识。

Redfish 详解

2019-10-29
阅读 5 分钟
20k
原文地址:[链接] 本文介绍一下redfish,被称为“下一代数据中心管理标准”,非常强大的一个玩意! 概述: Redfish 是什么? DMTF的Redfish®是一个标准API,旨在为融合、混合IT和软件定义数据中心(SDDC)提供简单和安全管理。 在Redfish出现之前,现代数据中心环境中缺乏互操作管理标准。随着机构越来越青睐于大规模的解...

利用 etcd 进行 leader 选举实现服务高可用

2019-10-29
阅读 13 分钟
12.5k
Etcd是一个分布式的,一致的key-value存储,主要用于共享配置和服务发现。Etcd是由CoreOS开发并维护,通过Raft一致性算法处理日志复制以保证强一致性。Raft是一个来自Stanford的新的一致性算法,适用于分布式系统的日志复制,Raft通过选举的方式来实现一致性,在Raft中,任何一个节点都可能成为leader。Google的容器集群...

Postgresql & Pgpool 场景问题和解决方案

2019-10-29
阅读 5 分钟
8.2k
Postgresql作为数据后端,pgpool作为postgresql的中间件,通过vip对客户端提供服务,并利用自身的failover机制保证数据库HA。

Pgpool数据库连接调优和参数解读

2019-10-29
阅读 6 分钟
7.2k
测试发现数据库读写有时候会短时间卡顿,经过定位,发现数据库VIP未发生漂移,服务端口正常,数据库(pgpool)连接数已到达上限,所以判断是数据库连接数过多导致之后的短时间访问阻塞。

利用Raid卡工具获取逻辑盘是否为SSD

2018-01-29
阅读 7 分钟
5.1k
网上很多获取一块盘是否为SSD的方式都是不靠谱的,不能覆盖到所有情况。一般我们在操作系统上的硬盘都是虚拟出来的逻辑盘,比如/dev/sda这种,它可能对应一块单独的物理硬盘,也有可能对应的是几块盘组成的raid。我们有时候想获取一块盘的具体信息,比如磁盘类型、插槽号、序列号等等,这时候我们就得借助对应的raid卡工...

实现RBD导出NFS高可用(二):提供多虚拟IP访问

2018-01-29
阅读 13 分钟
4k
之前分享过一篇【通过 Keepalived 实现 Ceph RBD 的高可用】,主要讲解了将RBD导出为NFS,然后通过keepalived实现高可用,保证当提供虚拟IP节点发生故障时,可以自动切换节点,使得业务不发生中断。

译:Linux 文件系统介绍

2017-12-21
阅读 8 分钟
4.6k
本文旨在对Linux文件系统概念进行深层次的讨论。本文既不准备对某个特定类型的文件系统(比如ext4)进行基础性的描述,也不打算作为一个讲解文件系统命令的教程。

一切皆文件

2017-12-21
阅读 3 分钟
4.6k
原文地址:[链接]原翻译地址:[链接] 这里先提一个技巧性的问题:以下哪一个是文件? 目录 Shell脚本 Office文档 串行端口(Serial ports) 内核数据结构 内核调优参数 硬盘驱动器 分区 逻辑卷(LVM) 打印机 套接字(Sockets) 也许你不会相信,但是对于Unix和Linux,它们都是文件。这是最令人惊奇的概念之一——这样做使得...

Cephx 实战演练

2017-12-08
阅读 24 分钟
13.7k
本文就阅读完徐小胖的大话Cephx后,针对一些猜测和疑惑进行了实战演练,对原文的一些说法和结论进行了验证,并进行了一系列的扩展的思考猜想和总结。最后收获满满,不仅对原文的一些结论进行了验证,也发现了其中的一些问题,更多的是自己动手后一些奇妙的场景和发现。

通过ganesha-nfs导出Ceph为NFS(Luminous)

2017-12-08
阅读 6 分钟
12.4k
自从Jewel版本,nfs-ganesha开始支持ceph,并且把对接点选择了rados。Ganesha支持两种方式将Ceph导出为NFS,一种通过RGW,一种通过CephFS,通过FSAL模块 连接到RGW或者CephFS, 其中,FSAL_RGW调用librgw2将NFS协议转义为S3协议再通过RGW存入到Ceph中,FSAL_CEPH 调用libcephfs1将NFS转义为Cephfs协议再存入到Ceph 中。...

RGW 安装和创建

2017-12-08
阅读 5 分钟
4k
<center></center> 原文地址:RGW 安装和创建 本文通过ceph-deploy安装和创建RGW,然后分别创建S3和Swift接口并提供了相应的方案。 Ceph RGW基于librados,是为应用提供RESTful类型的对象存储接口。RGW提供两种类型的接口: S3:兼容Amazon S3 RESTful API Swift:兼容OpenStack Swift API S3和Swift API共...

LVM动态扩展

2017-12-08
阅读 6 分钟
3.1k
在平时的开发工作中,经常会创建磁盘不足够大的虚拟机,然后往集群里面写一些数据导致磁盘满了。手动编辑虚拟机的磁盘大小是不会文件系统识别的,大多数同学只能无奈的重新装OS,这里我介绍一种基于LVM实现动态的方式。

Ceph 编译(Giant版本)

2017-12-08
阅读 3 分钟
3.4k
如今入门Ceph的时候,大家一般用ceph-deploy工具比较多,这个工具的确很强大,很方便,对应的也就是很无脑。如果之后想深入Ceph或者想在生产环境中部署Ceph的话,就得熟悉Ceph源码编译了。这对我们熟悉Ceph的feature的变化,component的相互关系以及围绕Ceph各种定制化扩展都大有裨益。本文就笔者Ceph源码编译过程和遇到...

使用NFS挂载RBD

2017-12-08
阅读 3 分钟
6.5k
在Server端创建RBD块设备并挂载到某个目录,然后在Client端通过NFS将Server端之前说的目录再挂载到本地,就可以实现在客户端写文件通过NFS到Server端的块设备上

打造最全面的PHPExcel开发解决方案

2017-09-18
阅读 5 分钟
8.9k
过去工作中使用PHPExcel较多,碰到并解决了各种大大小小的问题,总结出这样一篇文章,一方面记录自己踩过的坑,一方面与大家分享,让大家少走弯路,并不断完善之,欢迎大家去github上面star和提交pull request,不断补充和优化,打造最全面的PHPExcel开发解决方案