ceph 升级(hammer to luminous)

前言

升级ceph hammer 0.94.10到luminous 12.2.x,分两次升级,第一次hammer to jewel ,第二次jewel to luminous,升级中不中断业务并保证升级后ceph pool中的块设备不发生变化(主要是校验文件哈希值是否发生变化)
系统:ubuntu 16.04

阅读更多
osd filestore转换成bluestore

前言

  • filestore最主要的问题: 因为引入了journal的缘故,数据会先写在journal设备上,然后再由journal向本地磁盘写入,这就造成了双写,如果是采用多副本的方案,双写带来的性能问题那就是灾难性的了。 filestore需要本地文件系统间接管理磁盘,所以需要把对象操作先转换为符合POSIX语义的文件操作,这样比较繁琐,相对的执行效率上就大打折扣。

  • bluestore的优势: bluestore直接对裸磁盘进行io操作,抛弃了文件系统,缩短了io路径,不在需要journal了,默认采用RocksDB作为元数据 K/V 引擎,直接解决了双写的问题,对纯机械硬盘的顺序写来说,性能有近2倍的提升。

阅读更多
Ubuntu/Debain 网络安装

前言

Ubuntu 16.04 GA kernel 网络安装,自动配置

工作目录
/data/netboot/1604

下载并解压

axel -n 16 -a http://archive.ubuntu.com/ubuntu/dists/xenial-updates/main/installer-amd64/current/images/netboot/netboot.tar.gz
tar -zxvf netboot.tar.gz -C /data/netboot/1604/

├── ldlinux.c32 -> ubuntu-installer/amd64/boot-screens/ldlinux.c32
├── preseed.cfg
├── pxelinux.0 -> ubuntu-installer/amd64/pxelinux.0
├── pxelinux.cfg -> ubuntu-installer/amd64/pxelinux.cfg
├── ubuntu-installer
│   └── amd64
│   ├── boot-screens
│   │   ├── adtxt.cfg
│   │   ├── exithelp.cfg
│   │   ├── f10.txt
│   │   ├── f1.txt
│   │   ├── f2.txt
│   │   ├── f3.txt
│   │   ├── f4.txt
│   │   ├── f5.txt
│   │   ├── f6.txt
│   │   ├── f7.txt
│   │   ├── f8.txt
│   │   ├── f9.txt
│   │   ├── ldlinux.c32
│   │   ├── libcom32.c32
│   │   ├── libutil.c32
│   │   ├── menu.cfg
│   │   ├── prompt.cfg
│   │   ├── rqtxt.cfg
│   │   ├── splash.png
│   │   ├── stdmenu.cfg
│   │   ├── syslinux.cfg
│   │   ├── txt.cfg
│   │   └── vesamenu.c32
│   ├── initrd.gz
│   ├── linux
│   ├── pxelinux.0
│   └── pxelinux.cfg
│   └── default -> ../boot-screens/syslinux.cfg
└── version.info

5 directories, 31 files
阅读更多
ceph 性能测试

预期目标

  • 在1024个客户端,并发2048个线程,块大小为64k,队列深度为32的情况下,需要什么样的硬件环境,才能保证读写稳定,iops延时不大于10ms,平均值在5ms。

实验环境

os:ubuntu 14.04
kernel version:3.16.0-30-generic
所有osd采用bluestore
8个ssd:三星850 pro 1TB
22个hdd:Seagate Barracuda ST2000DM001 2TB

阅读更多
ceph优化篇

操作系统优化

linux kernel

  1. 调度 (默认值deadline)
    ssd使用noop,hd使用deadline
    echo noop > /sys/block/sd*/queue/scheduler
    echo deadline > /sys/block/sd*/queue/scheduler
阅读更多