一次因磁盘扇区损坏引起osd 出现down的问题

当osd出现down的状态,日志信息显示为:

通过assert(allow_eio || !m_filestore_fail_eio || got != -5),非allow_eio且配置中fail_eio为true时,若有IO error则assert fail。

分析osd 所对应的磁盘信息:

可以看到I/O Error信息,截取一段信息进行分析

发现1100294400 -4407被检测出来。但1100294352 – 1100294360 却没有(执行badblcoks命令仅使用了读模式检测)

docker 利用ipvlan 部署ceph 集群

最新版本Docker网络部分所用的macvlan和ipvlan

下载插件

运行该插件,并指定接口enp5sf0
[root@ceph_docker binaries]# ./ipvlan-docker-plugin-0.3-Linux-x86_64 –host-interface “enp5s0f0″ -d

创建docker的网络模块
[root@ceph_docker ~]# docker network create -d ipvlan –subnet=192.168.19.0/24 –gateway=192.168.19.1 -o ipvlan_mode=l2 -o parent=enp5s0f0 db_net
a4bfe81593960c9a42ed7a9c89f5de8100f2efbec46aadb0bf10b8d1c6a33ea3
查看当前网络模块
[root@ceph_docker ~]# docker network ls

开始部署容器,

查看部署后的状态

ceph的手工分区

ceph的手工磁盘格式化,10.2中。采用了udev的方式,所以typecode的id不能出错
sgdisk –zap-all /dev/$DEV
sgdisk –clear –mbrtogpt — /dev/$DEV
journal_uuid=$(uuidgen)
sgdisk –new=’2:0:5120M’ –change-name=2:’ceph journal’ –partition-guid=${journal_uuid} –typecode=2:45b0969e-9b03-4f30-b4c6-b4b80ceff106 –mbrtogpt — /dev/$DEV
osd_uuid=$(uuidgen)
sgdisk –largest-new=1 –change-name=1:”ceph data” –partition-guid=1:${osd_uuid}4–typecode=1:4fbd7e29-9d25-41b8-afd0-062c0ceff05d — /dev/$DEV

#partx -a /dev/$DEV
partprobe /dev/$DEV

mkfs.xfs /dev/${DEV}1 -f