注意
本文档适用于 Ceph 的开发版本。
list
此子命令将列出可能与 Ceph 集群关联的任何设备(逻辑和物理),前提是它们包含足够的元数据以允许进行此发现。
输出按与设备关联的 OSD ID 分组,与 ceph-disk 不同,它不提供与 Ceph 无关的设备的任何信息。
命令行选项
--format允许值为json或pretty。默认为pretty,它将以人类可读的格式对设备信息进行分组。
完整报告
当不使用位置参数时,将显示完整报告。这意味着将显示系统中找到的所有设备和逻辑卷。
两个 OSD 的完整 pretty 报告,一个带有作为日志的 lv,另一个带有物理设备,可能类似于
ceph-volume lvm list
====== osd.1 =======
[journal] /dev/journals/journal1
journal uuid C65n7d-B1gy-cqX3-vZKY-ZoE0-IEYM-HnIJzs
osd id 1
cluster fsid ce454d91-d748-4751-a318-ff7f7aa18ffd
type journal
osd fsid 661b24f8-e062-482b-8110-826ffe7f13fa
data uuid SlEgHe-jX1H-QBQk-Sce0-RUls-8KlY-g8HgcZ
journal device /dev/journals/journal1
data device /dev/test_group/data-lv2
devices /dev/sda
[data] /dev/test_group/data-lv2
journal uuid C65n7d-B1gy-cqX3-vZKY-ZoE0-IEYM-HnIJzs
osd id 1
cluster fsid ce454d91-d748-4751-a318-ff7f7aa18ffd
type data
osd fsid 661b24f8-e062-482b-8110-826ffe7f13fa
data uuid SlEgHe-jX1H-QBQk-Sce0-RUls-8KlY-g8HgcZ
journal device /dev/journals/journal1
data device /dev/test_group/data-lv2
devices /dev/sdb
====== osd.0 =======
[data] /dev/test_group/data-lv1
journal uuid cd72bd28-002a-48da-bdf6-d5b993e84f3f
osd id 0
cluster fsid ce454d91-d748-4751-a318-ff7f7aa18ffd
type data
osd fsid 943949f0-ce37-47ca-a33c-3413d46ee9ec
data uuid TUpfel-Q5ZT-eFph-bdGW-SiNW-l0ag-f5kh00
journal device /dev/sdd1
data device /dev/test_group/data-lv1
devices /dev/sdc
[journal] /dev/sdd1
PARTUUID cd72bd28-002a-48da-bdf6-d5b993e84f3f
对于逻辑卷,devices 键填充了与逻辑卷关联的物理设备。由于 LVM 允许多个物理设备成为逻辑卷的一部分,因此在使用 pretty 时,该值将用逗号分隔,但在使用 json 时将是一个数组。
注意
标签以可读格式显示。osd id 键存储为 ceph.osd_id 标签。有关 lvm 标签约定的更多信息,请参阅 Tag API
单项报告
单项报告可以接受设备和逻辑卷作为输入(位置参数)。对于逻辑卷,需要使用组名和逻辑卷名。
例如,test_group 卷组中的 data-lv2 逻辑卷可以按以下方式列出
ceph-volume lvm list test_group/data-lv2
====== osd.1 =======
[data] /dev/test_group/data-lv2
journal uuid C65n7d-B1gy-cqX3-vZKY-ZoE0-IEYM-HnIJzs
osd id 1
cluster fsid ce454d91-d748-4751-a318-ff7f7aa18ffd
type data
osd fsid 661b24f8-e062-482b-8110-826ffe7f13fa
data uuid SlEgHe-jX1H-QBQk-Sce0-RUls-8KlY-g8HgcZ
journal device /dev/journals/journal1
data device /dev/test_group/data-lv2
devices /dev/sdc
注意
标签以可读格式显示。osd id 键存储为 ceph.osd_id 标签。有关 lvm 标签约定的更多信息,请参阅 Tag API
对于普通磁盘,需要设备的完整路径。例如,对于像 /dev/sdd1 这样的设备,它可能看起来像
ceph-volume lvm list /dev/sdd1
====== osd.0 =======
[journal] /dev/sdd1
PARTUUID cd72bd28-002a-48da-bdf6-d5b993e84f3f
json 输出
使用 --format=json 的所有输出将显示系统为设备存储的所有元数据,包括标签。
使用 json 报告时,不会进行任何可读性更改,所有信息都按原样呈现。可以列出完整输出以及单个设备。
为简洁起见,这是一个带有 json 输出的单个逻辑卷的外观(请注意标签是如何未被修改的)
ceph-volume lvm list --format=json test_group/data-lv1
{
"0": [
{
"devices": ["/dev/sda"],
"lv_name": "data-lv1",
"lv_path": "/dev/test_group/data-lv1",
"lv_tags": "ceph.cluster_fsid=ce454d91-d748-4751-a318-ff7f7aa18ffd,ceph.data_device=/dev/test_group/data-lv1,ceph.data_uuid=TUpfel-Q5ZT-eFph-bdGW-SiNW-l0ag-f5kh00,ceph.journal_device=/dev/sdd1,ceph.journal_uuid=cd72bd28-002a-48da-bdf6-d5b993e84f3f,ceph.osd_fsid=943949f0-ce37-47ca-a33c-3413d46ee9ec,ceph.osd_id=0,ceph.type=data",
"lv_uuid": "TUpfel-Q5ZT-eFph-bdGW-SiNW-l0ag-f5kh00",
"name": "data-lv1",
"path": "/dev/test_group/data-lv1",
"tags": {
"ceph.cluster_fsid": "ce454d91-d748-4751-a318-ff7f7aa18ffd",
"ceph.data_device": "/dev/test_group/data-lv1",
"ceph.data_uuid": "TUpfel-Q5ZT-eFph-bdGW-SiNW-l0ag-f5kh00",
"ceph.journal_device": "/dev/sdd1",
"ceph.journal_uuid": "cd72bd28-002a-48da-bdf6-d5b993e84f3f",
"ceph.osd_fsid": "943949f0-ce37-47ca-a33c-3413d46ee9ec",
"ceph.osd_id": "0",
"ceph.type": "data"
},
"type": "data",
"vg_name": "test_group"
}
]
}
同步信息
在进行任何列表类型之前,会查询 lvm API 以确保可能正在使用的物理设备没有更改命名。非持久性设备(例如 /dev/sda1)可能会更改为 /dev/sdb1。
检测是可能的,因为 PARTUUID 作为元数据的一部分存储在数据 lv 的逻辑卷中。即使是作为物理设备的日志,此信息仍存储在与之关联的数据逻辑卷上。
如果名称不再相同(如使用 PARTUUID 时 blkid 报告的那样),标签将更新,报告将使用新刷新的信息。