a Blog

31 January 2017

AWS DevOps Engineer 专业级别认证考经

今天是2017年春节的大年初四,想写点什么,刚好年前的时候我 AWS DevOps Professional 通过了,这里就总结下考试复习和机考的要点,希望能帮助更多的后来的人。

more

21 March 2016

AWS CentOS/RHEL root 盘扩容

AWS 没有 official 的提供 CentOS 6.5 的 AMI,我选择了一个 AWS 社区镜像推荐的一个 CentOS6.5 (ami-13c30a7e)(AWS 一般会按顺序,将最新最稳定的 AMI 靠前排列),但是当我 无论 root 盘选择多少,最后启动的时候,会发现 / 分区总是 8G, AWS 文档推荐你停机 -> detach 磁盘 -> 新启动一个 instance 再attach 第一步的磁盘 -> 调整大小后再启动原来的instance,选择 root 挂载点。 这一套非常麻烦,还要多启动一台 instance,后来发现一个工具 resize2fs,可以支持 online 扩容,不用 stop 机器,也不用多启动其他机器。



Update: 今天去一个客户现场同样发现了这个问题,不过是 RHEL 6.8 的一个 AMI,启动之后只有一个 6G 的/ ,并且磁盘是 GPT 分区的, fdisk 不能使用(会提示:WARNING: GPT (GUID Partition Table) detected on ‘/dev/xvda’! The util fdisk doesn’t support GPT. Use GNU Parted.) 经过一圈dig,发现一个非常好用的工具, growpart, 可以支持 online 扩容,只需要执行:

growpart /dev/xvda 1

其中 /dev/xvda 是你的设备名称,1 是 6G 那个分区号(lsblk 可以查看),然后重启就会发现, root 盘已经扩容完成,非常方便。

首先,看下当前系统挂载情况。

[root@ip-172-31-14-205 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      7.9G  802M  6.7G  11% /
tmpfs           498M     0  498M   0% /dev/shm
[root@ip-172-31-14-205 ~]# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  100G  0 disk
└─xvda1 202:1    0    8G  0 part /

可以看到 100G 的磁盘,只用了 8G,直接 resize2fs /dev/xvda1, 来扩充磁盘。

[root@ip-172-31-14-205 ~]# resize2fs /dev/xvda1
resize2fs 1.41.12 (17-May-2010)
The filesystem is already 2096896 blocks long.  Nothing to do!

[root@ip-172-31-14-205 ~]#

不出意外,会失败,是由于 root盘已经被写死了大小 ,我们需要配置下磁盘的cylinder。利用 fdisk 命令修改磁盘相应配置。

NOTE: 这里是参数是设备名称 /dev/xvda
[root@ip-172-31-14-205 ~]# fdisk /dev/xvda

WARNING: DOS-compatible mode is deprecated. It’s strongly recommended to
         switch off the mode (command ‘c’) and change display units to
         sectors (command ‘u’).

Command (m for help): p

以下按照提示,分别顺次输入以下命令:

  1. 输入 P 显示该磁盘分区情况

  2. 输入 D 删除当前分区(如果有多个挂载点,可能需要删除多次) Note: 只是删除各个挂载点,数据不会删掉

  3. 输入 N 创建一个新的分区

  4. 输入 P 和 1 设置新分区为主分区

  5. 输入 1 设置新分区起始柱 (这个地方一定不能选 1,要输入 2048,需要预留一些空间写分区表,启动信息等, 小于 2048 会导致错误,机器启动不了)

  6. 输入结束位置(回车可以直接分配所有空间)

  7. 输入 A 和 1 设置当前分区为启动盘

  8. 输入 W 写入新配置的分区表

之后,按照提示,reboot 虚机,等待重启完毕了,再执行最初的resize2fs命令即可扩充 root盘了

resize2fs /dev/xvda1

查看当前root盘大小。

[root@ip-172-31-14-205 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/xvda1      100G  802M  98G  1% /
tmpfs           498M     0  498M   0% /dev/shm
[root@ip-172-31-14-205 ~]# lsblk
NAME    MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
xvda    202:0    0  100G  0 disk
└─xvda1 202:1    0  100G  0 part /

11 February 2016

Linux(CentOS) 上安装/配置 DB2

如果你做金融行业的软件开发,你肯定对 DB2 很熟悉。DB2IBM 推出的数据库服务系统,最早是 IBM 小型机(AIX)上独占的数据库,后来 IBM 自己也意识到小型机日趋式微,DB2 也慢慢开始兼容全平台,可以在 AIX、Linux、Windows 上运行。我前段时间在研究 DB2 的性能指标,但是苦于网上除了 IBM 官方几个晦涩的文档,几乎没有在 Linux(CentOS,其它 Ubuntu, Federa 基本大同小异) 上部署 DB2 的教程,自己在网上 dig、傻傻地试了挺久,终于搞定,记录下来,以飨后来者。

more

18 January 2016

Windows Agent 的经验和坑

Agent 原理

Agent 就是安装在被管理机器中的代理服务,负责同步被管理主机的信息,上报监控信息,下发操作指令,这是现在云主机管理,监控中非常通用和普遍的手段。

more

11 October 2015

Kubernetes 系列之二: 通过 FIT2CLOUD 在青云QingCloud VPC 上快速部署管理 Kubernetes

这篇是我为公司 FIT2CLOUD 写的一篇 Step by step 教程。距离上次把玩 Kubernetes 已经过去一年了,Kubernetes 一直保持着 高速演进的速度。当然,搭建 Kubernetes 已经不是什么新鲜的事情,通过这篇教程,我只是希望能帮助那些想要快速实验 Kubernetes 的朋友。

more