Как удалить PV из VG, не потеряв данные на нем?

Вместо использования awk для фильтрации вывода ps используйте параметр ps -o, чтобы получить то, что вы хотите:

ps -e -o pid,comm

Это должно сделать то, что вы описали выше. Дополнительную информацию для распечатки см. На странице руководства ps.

ОБНОВЛЕНИЕ: Я вижу, что не смог использовать pwdx . Примерьте это для получения размера:

#!/bin/bash
ps -o pid= -o comm= |
while read LINE
do
    eval $(echo $LINE |
    awk '{pid=$1; comm=$2; printf "echo -n \"%s  \"; pwdx %s\n", comm, pid}' )
done

Возможно, вам придется добавить флаги к ps , чтобы получить нужные вам процессы - в приведенном выше примере показаны только процессы с вашим идентификатором пользователя.

2
05.10.2018, 13:52
1 ответ

Как объяснил @frostschutz, в этом случае инструмент vgsplitможно использовать для отделения PV от VG и преобразования его в другой, одиночный -PV VG:

vgsplit yourvg newvgname /dev/sdx

Он удаляет PV /dev/sdxиз VG yourvgи преобразует его в новый, одиночный -PV VG с именем newvgname.

Для vgsplitвсе LV на PV /dev/sdxдолжны быть отключены, что может быть достигнуто командой vgchange -an /dev/yourvg/lvnameпосле их размонтирования.

Позднее группы VG можно повторно -соединить с помощью команды vgmerge.

0
27.01.2020, 22:29

Теги

Похожие вопросы