Contents

Introduction

背景信息

简称

Mop的工作流

事先需要的健康检查

有故障的OSD磁盘隔离和删除从簇

替换OSD磁盘并且创建新的VD

添加OSD到簇

Introduction

本文描述要求的步骤实行为了查出和替换从在对象存储磁盘主机的Ceph/存贮簇的OSD磁盘(OSD) -在ULTRAM设置的估计。

背景信息

ULTRAM是设计的一个被预先包装的和被验证的虚拟化的便携信息包核心解决方案简化VNFs的配置。 OpenStack是虚拟化的基础设施管理器(精力) ULTRAM的并且包括这些节点类型：

- 估计

- OSD -估计

- 控制器

- OpenStack平台-导向器(OSPD)

ULTRAM高级体系结构和介入的组件在此镜像表示：

UltraM ArchitectureThis文件供熟悉Cisco ULTRAM平台的Cisco人员使用，并且选派要求的步骤被执行在OpenStack级别在OSPD服务器更换时。

Note:超M 5.1.x版本考虑为了定义在本文的程序。

简称

VNF

虚拟网络功能

CF

控制功能

SF

服务功能

ESC

有弹性服务控制器

MOP

程序方法

OSD

对象存储磁盘

HDD

硬盘驱动器

SSD

固体驱动

精力

虚拟基础设施管理器

VM

虚拟机

EM

网元管理

UAS

超自动化服务

UUID

通用唯一标识符

Mop的工作流

事先需要的健康检查

1. 请使用list命令的Ceph磁盘为了了解OSD映射连接和识别将查出和被替换的磁盘。

[heat-admin@pod1-osd-compute-3 ~]$ sudo ceph-disk list

/dev/sda :

/dev/sda1 other, iso9660

/dev/sda2 other, xfs, mounted on /

/dev/sdb :

/dev/sdb1 ceph journal, for /dev/sdc1

/dev/sdb3 ceph journal, for /dev/sdd1

/dev/sdb2 ceph journal, for /dev/sde1

/dev/sdb4 ceph journal, for /dev/sdf1

/dev/sdc :

/dev/sdc1 ceph data, active, cluster ceph, osd.1, journal /dev/sdb1

/dev/sdd :

/dev/sdd1 ceph data, active, cluster ceph, osd.7, journal /dev/sdb3

/dev/sde :

/dev/sde1 ceph data, active, cluster ceph, osd.4, journal /dev/sdb2

/dev/sdf :

/dev/sdf1 ceph data, active, cluster ceph, osd.10, journal /dev/sdb4

2. 在您继续进行被识别的OSD磁盘隔离前，请验证Ceph健康和OSD树映射。

[heat-admin@pod1-osd-compute-3 ~]$ sudo ceph -s

cluster eb2bb192-b1c9-11e6-9205-525400330666

health HEALTH_OK

1 mons down, quorum 0,1 pod1-controller-0,pod1-controller-1

monmap e1: 3 mons at {pod1-controller-0=11.118.0.10:6789/0,pod1-controller-1=11.118.0.11:6789/0,pod1-controller-2=11.118.0.12:6789/0}

election epoch 28, quorum 0,1 pod1-controller-0,pod1-controller-1

osdmap e709: 12 osds: 12 up, 12 in

flags sortbitwise,require_jewel_osds

pgmap v941813: 704 pgs, 6 pools, 490 GB data, 163 kobjects

1470 GB used, 11922 GB / 13393 GB avail

704 active+clean

client io 58580 B/s wr, 0 op/s rd, 7 op/s wr

[heat-admin@pod1-osd-compute-3 ~]$ sudo ceph osd tree

ID WEIGHT   TYPE NAME                   UP/DOWN REWEIGHT PRIMARY-AFFINITY

-1 13.07996 root default

-2  4.35999     host pod1-osd-compute-0

0  1.09000         osd.0                    up  1.00000          1.00000

3  1.09000         osd.3                    up  1.00000          1.00000

6  1.09000         osd.6                    up  1.00000          1.00000

9  1.09000         osd.9                    up  1.00000          1.00000

-3        0     host pod1-osd-compute-1

-4  4.35999     host pod1-osd-compute-2

2  1.09000         osd.2                    up  1.00000          1.00000

5  1.09000         osd.5                    up  1.00000          1.00000

8  1.09000         osd.8                    up  1.00000          1.00000

11  1.09000         osd.11                   up  1.00000          1.00000

-5  4.35999     host pod1-osd-compute-3

1  1.09000         osd.1                    up  1.00000          1.00000

4  1.09000         osd.4                    up  1.00000          1.00000

7  1.09000         osd.7                    up  1.00000          1.00000

10  1.09000         osd.10                   up  1.00000          1.00000

有故障的OSD磁盘隔离和删除从簇

1. 禁用并且终止OSD进程。

[heat-admin@pod1-osd-compute-3 ~]$ sudo systemctl disable ceph-osd@7

[heat-admin@pod1-osd-compute-3 ~]$ sudo systemctl stop ceph-osd@7

2. 标记OSD。

[heat-admin@pod1-osd-compute-3 ~]$ sudo su

[root@pod1-osd-compute-3 heat-admin]# ceph osd set noout

set noout

[root@pod1-osd-compute-3 heat-admin]# ceph osd set norebalance

set norebalance

[root@pod1-osd-compute-3 heat-admin]# ceph osd out 7

marked out osd.7.

Note:等待数据重新平衡完成和回来的所有PG到active+clean为了避免问题。

3. 确认，如果OSD被标记和等待Ceph重新平衡向前进行。

[root@pod1-osd-compute-3 heat-admin]# watch -n1 ceph -s

95 active+undersized+degraded+remapped+wait_backfill

28 active+recovery_wait+degraded

2 active+undersized+degraded+remapped+backfilling

1 active+recovering+degraded

2 active+undersized+degraded+remapped+backfilling

1 active+recovering+degraded

2 active+undersized+degraded+remapped+backfilling

67 active+undersized+degraded+remapped+wait_backfill

3 active+undersized+degraded+remapped+backfilling

24 active+undersized+degraded+remapped+wait_backfill

22 active+undersized+degraded+remapped+wait_backfill

1 active+undersized+degraded+remapped+backfilling

8 active+undersized+degraded+remapped+wait_backfill

4. 去除OSD的认证密钥。

[root@pod1-osd-compute-3 heat-admin]# ceph auth del osd.7

updated

5. 确认OSD.7的键不是列出的。

[root@pod1-osd-compute-3 heat-admin]# ceph auth list

installed auth entries:

osd.0

key: AQCgpB5blV9dNhAAzDN1SVdnuJyTN2f7PAdtFw==

caps: [mon] allow profile osd

caps: [osd] allow *

osd.1

key: AQBdwyBbbuD6IBAAcvG+oQOz5vk62faOqv/CEw==

caps: [mon] allow profile osd

caps: [osd] allow *

osd.10

key: AQCwwyBb7xvHJhAAZKPprXWT7UnvnAXBV9W2rg==

caps: [mon] allow profile osd

caps: [osd] allow *

osd.11

key: AQDxpB5b9/rGFRAAkcCEkpSN1YZVDdeW+Bho7w==

caps: [mon] allow profile osd

caps: [osd] allow *

osd.2

key: AQCppB5btekoNBAAACoWpDz0VL9bZfyIygDpBQ==

caps: [mon] allow profile osd

caps: [osd] allow *

osd.3

key: AQC4pB5bBaUlORAAhi3KPzetwvWhYGnerAkAsg==

caps: [mon] allow profile osd

caps: [osd] allow *

osd.4

key: AQB1wyBbvMIQLRAAXefFVnZxMX6lVtObQt9KoA==

caps: [mon] allow profile osd

caps: [osd] allow *

osd.5

key: AQDBpB5buKHqOhAAW1Q861qoYqW6fAYHlOxsLg==

caps: [mon] allow profile osd

caps: [osd] allow *

osd.6

key: AQDQpB5b1BveFxAAfCLM3tvDUSnYneutyTmaEg==

caps: [mon] allow profile osd

caps: [osd] allow *

osd.8

key: AQDZpB5bd4nlGRAAkkzbmGPnEDAWV0dUhrhE6w==

caps: [mon] allow profile osd

caps: [osd] allow *

osd.9

key: AQDopB5bKCZPGBAAfYtp1GLA7QIi/YxJa8O1yw==

caps: [mon] allow profile osd

caps: [osd] allow *

client.admin

key: AQDpmx5bAAAAABAA3hLK8O2tGgaAK+X2Lly5Aw==

caps: [mds] allow *

caps: [mon] allow *

caps: [osd] allow *

client.bootstrap-mds

key: AQBDpB5bjR1GJhAAB6CKKxXulve9WIiC6ZGXgA==

caps: [mon] allow profile bootstrap-mds

client.bootstrap-osd

key: AQDpmx5bAAAAABAA3hLK8O2tGgaAK+X2Lly5Aw==

caps: [mon] allow profile bootstrap-osd

client.bootstrap-rgw

key: AQBDpB5b7OWXHBAAlATmBAOX/QWW+2mLxPqlkQ==

caps: [mon] allow profile bootstrap-rgw

client.openstack

key: AQDpmx5bAAAAABAAULxfs9cYG1wkSVTjrtiaDg==

caps: [mon] allow r

caps: [osd] allow class-read object_prefix rbd_children, allow rwx pool=volumes, allow rwx pool=backups, allow rwx pool=vms, allow rwx pool=images, allow rwx pool=metrics

7. 从簇去除OSD。

[root@pod1-osd-compute-3 heat-admin]# ceph osd rm 7

removed osd.7

8. 卸载需要被替换的OSD磁盘。

[root@pod1-osd-compute-3 heat-admin]# umount /var/lib/ceph/osd/ceph-7

9. 移置noscrub和deepscrub。

[root@pod1-osd-compute-3 heat-admin]# ceph osd unset noscrub

unset noscrub

[root@pod1-osd-compute-3 heat-admin]# ceph osd unset nodeep-scrub

unset nodeep-scrub

10. 验证Ceph健康并且等待健康好和所有PG回来到active+clean。

[root@pod1-osd-compute-3 heat-admin]# ceph -s

cluster eb2bb192-b1c9-11e6-9205-525400330666

health HEALTH_WARN

28 pgs backfill_wait

4 pgs backfilling

5 pgs degraded

5 pgs recovery_wait

83 pgs stuck unclean

recovery 1697/516881 objects degraded (0.328%)

recovery 76428/516881 objects misplaced (14.786%)

noout,norebalance,sortbitwise,require_jewel_osds flag(s) set

1 mons down, quorum 0,1 pod1-controller-0,pod1-controller-1

monmap e1: 3 mons at {pod1-controller-0=11.118.0.10:6789/0,pod1-controller-1=11.118.0.11:6789/0,pod1-controller-2=11.118.0.12:6789/0}

election epoch 28, quorum 0,1 pod1-controller-0,pod1-controller-1

osdmap e877: 11 osds: 11 up, 11 in; 193 remapped pgs

flags noout,norebalance,sortbitwise,require_jewel_osds

pgmap v942974: 704 pgs, 6 pools, 490 GB data, 163 kobjects

1470 GB used, 10806 GB / 12277 GB avail

1697/516881 objects degraded (0.328%)

76428/516881 objects misplaced (14.786%)

511 active+clean

156 active+remapped

28 active+remapped+wait_backfill

5 active+recovery_wait+degraded+remapped

4 active+remapped+backfilling

client io 331 kB/s wr, 0 op/s rd, 56 op/s wr

替换OSD磁盘并且创建新的VD

1. 取消有故障的驱动并且用新的驱动替换它： Cisco UCS C240 M4服务器安装和服务指南。

2. 验证登录对CIMC OSD估计并且检查OSD在身体好被替换并且显示的slot。

3. 创建一新的HDD的一个虚拟驱动器，它必须是一新鲜的HDD，不用任何元数据。

4. 验证新加的磁盘在Unconimaged好状态。

存贮> Cisco 12G SAS模块化袭击控制器(SLOT-HBA) >物理驱动信息

5. 选择从未使用的物理推进选项的创建虚拟驱动器为了创建VD。

存贮> Cisco 12G SAS模块化袭击控制器(SLOT-HBA)

6. 请使用物理驱动9为了创建一个新的VD和命名它作为OSD3。

存贮> Cisco 12G SAS模块化袭击控制器(SLOT-HBA) >控制器信息>创建从未使用的物理驱动的虚拟驱动器

存贮> Cisco 12G SAS模块化袭击控制器(SLOT-HBA) >控制器信息>创建从未使用的物理驱动的虚拟驱动器

7. 在LAN的Enable (event) IPMI ： Admin >通信服务>通信服务。

在LAN的Enable (event) IPMI ：Admin >通信服务>通信服务

8. hyperthreading的功能失效： 估计> BIOS > Conimage BIOS >Advanced >处理器配置。

hyperthreading的功能失效：估计> BIOS >配置BIOS >Advanced >处理器配置

Note:此处显示的图像和在此部分提及的这里配置步骤是关于固件版本3.0(3e)，并且也许有轻微的变化，如果研究其他版本。

添加OSD到簇

1. 在一张新的磁盘被替换后，请执行partprobe为了发现新设备。

[root@pod1-osd-compute-3 heat-admin]# partprobe

[root@pod1-osd-compute-3 heat-admin]# lsblk

NAME   MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT

sda      8:0    0 278.5G  0 disk

|

-sda1   8:1    0     1M  0 part

-sda2   8:2    0 278.5G  0 part /

sdb      8:16   0 446.1G  0 disk

|

-sdb1   8:17   0   107G  0 part

-sdb2   8:18   0   107G  0 part

-sdb3   8:19   0   107G  0 part

-sdb4   8:20   0   107G  0 part

sdc      8:32   0   1.1T  0 disk

|

-sdc1   8:33   0   1.1T  0 part /var/lib/ceph/osd/ceph-1

sdd 8:48   0   1.1T  0 disk

|

-sdd1   8:49   0   1.1T  0 part

sde      8:64   0   1.1T  0 disk

|

-sde1   8:65   0   1.1T  0 part /var/lib/ceph/osd/ceph-4

sdf      8:80   0   1.1T  0 disk

|

-sdf1   8:81   0   1.1T  0 part /var/lib/ceph/osd/ceph-10

2. 查找是可用的在服务器的一个设备。

[root@pod1-osd-compute-3 heat-admin]# fdisk -l

Disk /dev/sda: 299.0 GB, 298999349248 bytes, 583983104 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x000b5e87

Device Boot      Start         End      Blocks   Id  System

/dev/sda1            2048        4095        1024   83  Linux

/dev/sda2   *        4096   583983070   291989487+  83  Linux

WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sdb: 479.0 GB, 478998953984 bytes, 935544832 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 4096 bytes

I/O size (minimum/optimal): 4096 bytes / 4096 bytes

Disk label type: gpt

#         Start          End    Size  Type            Name

1         2048    224462847    107G  unknown         ceph journal

2    224462848    448923647    107G  unknown         ceph journal

3    448923648    673384447    107G  unknown         ceph journal

4    673384448    897845247    107G  unknown         ceph journal

WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sdd: 1199.0 GB, 1198999470080 bytes, 2341795840 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: gpt

#         Start          End    Size  Type            Name

1         2048   2341795806    1.1T  unknown         ceph data

WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sdc: 1199.0 GB, 1198999470080 bytes, 2341795840 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: gpt

#         Start          End    Size  Type            Name

1         2048   2341795806    1.1T  unknown         ceph data

WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sde: 1199.0 GB, 1198999470080 bytes, 2341795840 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: gpt

#         Start          End    Size  Type            Name

1         2048   2341795806    1.1T  unknown         ceph data

WARNING: fdisk GPT support is currently new, and therefore in an experimental phase. Use at your own discretion.

Disk /dev/sdf: 1199.0 GB, 1198999470080 bytes, 2341795840 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: gpt

#         Start          End    Size  Type            Name

1         2048   2341795806    1.1T  unknown         ceph data

[root@pod1-osd-compute-3 heat-admin]#

3. 请使用Ceph磁盘列表为了识别日记帐磁盘分区映射。

[root@pod1-osd-compute-3 heat-admin]# ceph-disk list

/dev/sda :

/dev/sda1 other, iso9660

/dev/sda2 other, xfs, mounted on /

/dev/sdb :

/dev/sdb1 ceph journal, for /dev/sdc1

/dev/sdb3 ceph journal

/dev/sdb2 ceph journal, for /dev/sde1

/dev/sdb4 ceph journal, for /dev/sdf1

/dev/sdc :

/dev/sdc1 ceph data, active, cluster ceph, osd.1, journal /dev/sdb1

/dev/sdd :

/dev/sdd1 other, xfs

/dev/sde :

/dev/sde1 ceph data, active, cluster ceph, osd.4, journal /dev/sdb2

/dev/sdf :

/dev/sdf1 ceph data, active, cluster ceph, osd.10, journal /dev/sdb4

Note:在ceph磁盘列表中，突出显示的输出sde1是sdb2的日记帐分区。检查Ceph磁盘列表的输出并且映射日记帐磁盘分区in命令为Ceph准备。当您在命令OSD.7之下运作出现了/in和数据重新平衡(请重新填没/恢复)将开始。

4. 创建Ceph磁盘并且添加它回到簇。

[root@pod1-osd-compute-3 heat-admin]#  ceph-disk --setuser ceph --setgroup ceph prepare --fs-type xfs /dev/sdd /dev/sdb3

prepare_device: OSD will not be hot-swappable if journal is not the same device as the osd data

Creating new GPT entries.

The operation has completed successfully.

meta-data=/dev/sdd1              isize=2048   agcount=4, agsize=73181055 blks

=                       sectsz=512   attr=2, projid32bit=1

=                       crc=1        finobt=0, sparse=0

data     =                       bsize=4096   blocks=292724219, imaxpct=5

=                       sunit=0      swidth=0 blks

naming   =version 2              bsize=4096   ascii-ci=0 ftype=1

log      =internal log           bsize=4096   blocks=142931, version=2

=                       sectsz=512   sunit=0 blks, lazy-count=1

realtime =none                   extsz=4096   blocks=0, rtextents=0

Warning: The kernel is still using the old partition table.

The new table will be used at the next reboot.

The operation has completed successfully.

#####Hint###

where - sdd is new drive added as OSD

where – sdb3 is journal disk partition number

mapping is sdc1 for sdc, sdd1 for sdd, sde1 for sde

sdf1 for sdf (and so on)

5. 激活Ceph磁盘并且移置noscrub并且nodeep洗刷标志位。

[root@pod1-osd-compute-3 heat-admin]# ceph-disk activate-all

[root@pod1-osd-compute-3 heat-admin]# ceph osd unset noout

unset noout

[root@pod1-osd-compute-3 heat-admin]# ceph osd  unset norebalance

unset norebalance

[root@pod1-osd-compute-3 heat-admin]# ceph osd unset noscrub

unset noscrub

[root@pod1-osd-compute-3 heat-admin]# ceph osd unset nodeep-scrub

unset nodeep-scrub

6. 等待重新平衡完成和验证Ceph和OSD树健康优良是。

[root@pod1-osd-compute-3 heat-admin]# watch -n 3 ceph -s

[heat-admin@pod1-osd-compute-3 ~]$ sudo ceph -s

cluster eb2bb192-b1c9-11e6-9205-525400330666

health HEALTH_OK

1 mons down, quorum 0,1 pod1-controller-0,pod1-controller-1

monmap e1: 3 mons at {pod1-controller-0=11.118.0.10:6789/0,pod1-controller-1=11.118.0.11:6789/0,pod1-controller-2=11.118.0.12:6789/0}

election epoch 28, quorum 0,1 pod1-controller-0,pod1-controller-1

osdmap e709: 12 osds: 12 up, 12 in

flags sortbitwise,require_jewel_osds

pgmap v941813: 704 pgs, 6 pools, 490 GB data, 163 kobjects

1470 GB used, 11922 GB / 13393 GB avail

704 active+clean

client io 58580 B/s wr, 0 op/s rd, 7 op/s wr

[heat-admin@pod1-osd-compute-3 ~]$ sudo ceph osd tree

ID WEIGHT   TYPE NAME                   UP/DOWN REWEIGHT PRIMARY-AFFINITY

-1 13.07996 root default

-2  4.35999     host pod1-osd-compute-0

0  1.09000         osd.0                    up  1.00000          1.00000

3  1.09000         osd.3                    up  1.00000          1.00000

6  1.09000         osd.6                    up  1.00000          1.00000

9  1.09000         osd.9                    up  1.00000          1.00000

-4  4.35999     host pod1-osd-compute-2

2  1.09000         osd.2                    up  1.00000          1.00000

5  1.09000         osd.5                    up  1.00000          1.00000

8  1.09000         osd.8                    up  1.00000          1.00000

11  1.09000         osd.11                   up  1.00000          1.00000

-5  4.35999     host pod1-osd-compute-3

1  1.09000         osd.1                    up  1.00000          1.00000

4  1.09000         osd.4                    up  1.00000          1.00000

7  1.09000         osd.7                    up  1.00000          1.00000

10  1.09000         osd.10                   up  1.00000          1.00000