목록을 작성해야 해요파티션 유형 GUID명령줄에서.
참고: 이는 파티션 UUID와 다릅니다.
기본적으로 Ceph OSD 유형 GUID가 있는 모든 디스크를 검색해야 합니다.
4FBD7E29-9D25-41B8-AFD0-062C0CEFF05D
목적은 CoreOS의 bash 스크립트에서 ceph-disk(python)를 사용하여 수행된 일부 작업을 시뮬레이션하는 것입니다. 왜? 이렇게 하면 ceph-docker를 사용하여 적절한 위치에 자동으로 설치할 수 있습니다.
답변1
lsblk - list block devices
당신의 친구입니다.
# lsblk -p -o NAME,PARTTYPE
NAME PARTTYPE
/dev/vda
├─/dev/vda1 c12a7328-f81f-11d2-ba4b-00a0c93ec93b
├─/dev/vda2 ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
...
답변2
이것이 내가 사용한 최종 솔루션입니다blkid -p
function find_osds()
{
local osds
declare -a dev_list
mapfile dev_list < <(lsblk -l -n -o NAME --exclude 1,7,11) # note -I not available in all versions of lsblk, use exclude instead
for dev in "${dev_list[@]}"; do
dev=/dev/$(trim "$dev")
if blkid -p "$dev" | fgrep -q '4fbd7e29-9d25-41b8-afd0-062c0ceff05d'; then
osds+=($dev)
fi
done
echo "${osds[@]}"
}