リストを作成する必要があります。パーティションタイプ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[@]}"
}