Ceph 创建 OSD 报错 ‘GPT headers found, they must be removed’ 的处理

Ceph 创建 OSD 时报错 GPT headers found, they must be removed on: /dev/sdX,全文示例如下:

Failed to apply osd.all-available-devices spec DriveGroupSpec(name=all-available-devices->placement=PlacementSpec(host_pattern='*'), service_id='all-available-devices', service_type='osd', data_devices=DeviceSelection(all=True), osd_id_claims={}, unmanaged=False, filter_logic='AND'): cephadm exited with an error code: 1, stderr:/usr/bin/docker:stderr usage: ceph-volume lvm batch [-h] [--db-devices [DB_DEVICES [DB_DEVICES ...]]] /usr/bin/docker:stderr [--wal-devices [WAL_DEVICES [WAL_DEVICES ...]]] /usr/bin/docker:stderr [--journal-devices [JOURNAL_DEVICES [JOURNAL_DEVICES ...]]] /usr/bin/docker:stderr [--auto] [--no-auto] [--bluestore] [--filestore] /usr/bin/docker:stderr [--report] [--yes] /usr/bin/docker:stderr [--format {json,json-pretty,pretty}] [--dmcrypt] /usr/bin/docker:stderr [--crush-device-class CRUSH_DEVICE_CLASS] /usr/bin/docker:stderr [--no-systemd] /usr/bin/docker:stderr [--osds-per-device OSDS_PER_DEVICE] /usr/bin/docker:stderr [--data-slots DATA_SLOTS] /usr/bin/docker:stderr [--block-db-size BLOCK_DB_SIZE] /usr/bin/docker:stderr [--block-db-slots BLOCK_DB_SLOTS] /usr/bin/docker:stderr [--block-wal-size BLOCK_WAL_SIZE] /usr/bin/docker:stderr [--block-wal-slots BLOCK_WAL_SLOTS] /usr/bin/docker:stderr [--journal-size JOURNAL_SIZE] /usr/bin/docker:stderr [--journal-slots JOURNAL_SLOTS] [--prepare] /usr/bin/docker:stderr [--osd-ids [OSD_IDS [OSD_IDS ...]]] /usr/bin/docker:stderr [DEVICES [DEVICES ...]] /usr/bin/docker:stderr ceph-volume lvm batch: error: GPT headers found, they must be removed on: /dev/sda Traceback (most recent call last): File "<stdin>", line 6113, in <module> File "<stdin>", line 1300, in _infer_fsid File "<stdin>", line 1383, in _infer_image File "<stdin>", line 3613, in command_ceph_volume File "<stdin>", line 1062, in call_throws RuntimeError: Failed command: /usr/bin/docker run --rm --ipc=host --net=host --entrypoint /usr/sbin/ceph-volume --privileged --group-add=disk -e CONTAINER_IMAGE=docker.io/ceph/ceph:v15 -e NODE_NAME=yc-hy08 -e CEPH_VOLUME_OSDSPEC_AFFINITY=all-available-devices -v /var/run/ceph/1c61cc7a-433d-11eb-9f93-2cea7f689033:/var/run/ceph:z -v /var/log/ceph/1c61cc7a-433d-11eb-9f93-2cea7f689033:/var/log/ceph:z -v /var/lib/ceph/1c61cc7a-433d-11eb-9f93-2cea7f689033/crash:/var/lib/ceph/crash:z -v /dev:/dev -v /run/udev:/run/udev -v /sys:/sys -v /run/lvm:/run/lvm -v /run/lock/lvm:/run/lock/lvm -v /tmp/ceph-tmplk1m2oxc:/etc/ceph/ceph.conf:z -v /tmp/ceph-tmp7vahlwql:/var/lib/ceph/bootstrap-osd/ceph.keyring:z docker.io/ceph/ceph:v15 lvm batch --no-auto /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh --yes --no-systemd Traceback (most recent call last): File "/usr/share/ceph/mgr/cephadm/serve.py", line 387, in _apply_all_services if self._apply_service(spec): File "/usr/share/ceph/mgr/cephadm/serve.py", line 425, in _apply_service self.mgr.osd_service.create_from_spec(cast(DriveGroupSpec, spec)) File "/usr/share/ceph/mgr/cephadm/services/osd.py", line 47, in create_from_spec ret = create_from_spec_one(self.prepare_drivegroup(drive_group)) File "/usr/share/ceph/mgr/cephadm/utils.py", line 68, in forall_hosts_wrapper return CephadmOrchestrator.instance._worker_pool.map(do_work, vals) File "/lib64/python3.6/multiprocessing/pool.py", line 266, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "/lib64/python3.6/multiprocessing/pool.py", line 644, in get raise self._value File "/lib64/python3.6/multiprocessing/pool.py", line 119, in worker result = (True, func(*args, **kwds)) File "/lib64/python3.6/multiprocessing/pool.py", line 44, in mapstar return list(map(*args)) File "/usr/share/ceph/mgr/cephadm/utils.py", line 62, in do_work return f(*arg) File "/usr/share/ceph/mgr/cephadm/services/osd.py", line 43, in create_from_spec_one host, cmd, replace_osd_ids=osd_id_claims.get(host, []), env_vars=env_vars File "/usr/share/ceph/mgr/cephadm/services/osd.py", line 63, in create_single_host code, '\n'.join(err))) RuntimeError: cephadm exited with an error code: 1, stderr:/usr/bin/docker:stderr usage: ceph-volume lvm batch [-h] [--db-devices [DB_DEVICES [DB_DEVICES ...]]] /usr/bin/docker:stderr [--wal-devices [WAL_DEVICES [WAL_DEVICES ...]]] /usr/bin/docker:stderr [--journal-devices [JOURNAL_DEVICES [JOURNAL_DEVICES ...]]] /usr/bin/docker:stderr [--auto] [--no-auto] [--bluestore] [--filestore] /usr/bin/docker:stderr [--report] [--yes] /usr/bin/docker:stderr [--format {json,json-pretty,pretty}] [--dmcrypt] /usr/bin/docker:stderr [--crush-device-class CRUSH_DEVICE_CLASS] /usr/bin/docker:stderr [--no-systemd] /usr/bin/docker:stderr [--osds-per-device OSDS_PER_DEVICE] /usr/bin/docker:stderr [--data-slots DATA_SLOTS] /usr/bin/docker:stderr [--block-db-size BLOCK_DB_SIZE] /usr/bin/docker:stderr [--block-db-slots BLOCK_DB_SLOTS] /usr/bin/docker:stderr [--block-wal-size BLOCK_WAL_SIZE] /usr/bin/docker:stderr [--block-wal-slots BLOCK_WAL_SLOTS] /usr/bin/docker:stderr [--journal-size JOURNAL_SIZE] /usr/bin/docker:stderr [--journal-slots JOURNAL_SLOTS] [--prepare] /usr/bin/docker:stderr [--osd-ids [OSD_IDS [OSD_IDS ...]]] /usr/bin/docker:stderr [DEVICES [DEVICES ...]] /usr/bin/docker:stderr ceph-volume lvm batch: error: GPT headers found, they must be removed on: /dev/sda Traceback (most recent call last): File "<stdin>", line 6113, in <module> File "<stdin>", line 1300, in _infer_fsid File "<stdin>", line 1383, in _infer_image File "<stdin>", line 3613, in command_ceph_volume File "<stdin>", line 1062, in call_throws RuntimeError: Failed command: /usr/bin/docker run --rm --ipc=host --net=host --entrypoint /usr/sbin/ceph-volume --privileged --group-add=disk -e CONTAINER_IMAGE=docker.io/ceph/ceph:v15 -e NODE_NAME=yc-hy08 -e CEPH_VOLUME_OSDSPEC_AFFINITY=all-available-devices -v /var/run/ceph/1c61cc7a-433d-11eb-9f93-2cea7f689033:/var/run/ceph:z -v /var/log/ceph/1c61cc7a-433d-11eb-9f93-2cea7f689033:/var/log/ceph:z -v /var/lib/ceph/1c61cc7a-433d-11eb-9f93-2cea7f689033/crash:/var/lib/ceph/crash:z -v /dev:/dev -v /run/udev:/run/udev -v /sys:/sys -v /run/lvm:/run/lvm -v /run/lock/lvm:/run/lock/lvm -v /tmp/ceph-tmplk1m2oxc:/etc/ceph/ceph.conf:z -v /tmp/ceph-tmp7vahlwql:/var/lib/ceph/bootstrap-osd/ceph.keyring:z docker.io/ceph/ceph:v15 lvm batch --no-auto /dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh --yes --no-systemd

该错误关键点就是 GPT headers found, they must be removed,发生原因应该是之前磁盘被分区过,虽然删掉了分区,但是还存在 GPT 数据结构,使用 sgdisk 命令进行清除。
#sgdisk --zap-all /dev/sdX
sgdisk 命令参数如下:

Usage: sgdisk  [OPTION...] <device>
  -A, --attributes=list|[partnum:show|or|nand|xor|=|set|clear|toggle|get[:bitnum|hexbitmask]]     operate on partition attributes
  -a, --set-alignment=value                                                                       set sector alignment
  -b, --backup=file                                                                               backup GPT to file
  -c, --change-name=partnum:name                                                                  change partition's name
  -C, --recompute-chs                                                                             recompute CHS values in protective/hybrid MBR
  -d, --delete=partnum                                                                            delete a partition
  -D, --display-alignment                                                                         show number of sectors per allocation block
  -e, --move-second-header                                                                        move second header to end of disk
  -E, --end-of-largest                                                                            show end of largest free block
  -f, --first-in-largest                                                                          show start of the largest free block
  -F, --first-aligned-in-largest                                                                  show start of the largest free block, aligned
  -g, --mbrtogpt                                                                                  convert MBR to GPT
  -G, --randomize-guids                                                                           randomize disk and partition GUIDs
  -h, --hybrid=partnum[:partnum...]                                                               create hybrid MBR
  -i, --info=partnum                                                                              show detailed information on partition
  -j, --move-main-table=sector                                                                    adjust the location of the main partition table
  -l, --load-backup=file                                                                          load GPT backup from file
  -L, --list-types                                                                                list known partition types
  -m, --gpttombr=partnum[:partnum...]                                                             convert GPT to MBR
  -n, --new=partnum:start:end                                                                     create new partition
  -N, --largest-new=partnum                                                                       create largest possible new partition
  -o, --clear                                                                                     clear partition table
  -O, --print-mbr                                                                                 print MBR partition table
  -p, --print                                                                                     print partition table
  -P, --pretend                                                                                   make changes in memory, but don't write them
  -r, --transpose=partnum:partnum                                                                 transpose two partitions
  -R, --replicate=device_filename                                                                 replicate partition table
  -s, --sort                                                                                      sort partition table entries
  -S, --resize-table=numparts                                                                     resize partition table
  -t, --typecode=partnum:{hexcode|GUID}                                                           change partition type code
  -T, --transform-bsd=partnum                                                                     transform BSD disklabel partition to GPT
  -u, --partition-guid=partnum:guid                                                               set partition GUID
  -U, --disk-guid=guid                                                                            set disk GUID
  -v, --verify                                                                                    check partition table integrity
  -V, --version                                                                                   display version information
  -z, --zap                                                                                       zap (destroy) GPT (but not MBR) data structures
  -Z, --zap-all                                                                                   zap (destroy) GPT and MBR data structures

Help options:
  -?, --help                                                                                      Show this help message
      --usage                                                                                     Display brief usage message

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,651评论 6 501
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,468评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 162,931评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,218评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,234评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,198评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,084评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,926评论 0 274
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,341评论 1 311
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,563评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,731评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,430评论 5 343
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,036评论 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,676评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,829评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,743评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,629评论 2 354

推荐阅读更多精彩内容