Lvm

如何檢查 lvconvert –replace 的進度

  • April 11, 2016

我正在更換在 LVM 上配置了 RAID5 的幾個磁碟。

用於替換的命令是

lvconvert --replace /dev/oldpv vgname/lvname /dev/newpv

它在後台啟動程序。

該參數-i #也沒有效果-v

lvs -o +<fields>我在(and pvs, vgs)嘗試了很多選項,沒有人返回這個進度..

我想檢查進度,因為磁碟很大,LV 很少。這需要幾分鐘的執行時間,我不想在目前程序仍在執行時啟動下一個 LV…

現在我正在使用 dstats/iostats 命令監視 I/O,但這是一種非常醜陋的檢查方式……

我不是 100% 確定 RAID5,但對於鏡像使用

# dmsetup status

rootvg-testmirror: 0 9216000 raid raid1 2 AA 3233673/9216000 idle 0

在此範例中,當您評估 3233673/9216000 時,它約為 33%

我沒有足夠的磁碟來創建測試 RAID5,但我相信它會是類似的。

擴展banjo67xxx的答案,您可以使用以下方法獲得完成百分比(帶小數):

echo "(`dmsetup status | tail -n 1 | awk '{print $8}'`)*100" | bc -l

如果要限制小數位數,請在回顯到 bc 的字元串中使用比例聲明。這是限制為 2 位小數的相同命令:

echo "scale=2; (`dmsetup status | tail -n 1 | awk '{print $8}'`)*100" | bc -l

引用自:https://serverfault.com/questions/720185