Если у вас есть автоматическое резервное копирование метаданных группы томов по умолчанию в /etc/lvm/archive/
, вы можете использовать это руководство для восстановления поврежденных метаданных в PV. Тогда вы сможете увидеть lvs
и смонтировать их, если они целы.
С опцией многопоточности -T0
вы сообщаете xz две вещи одновременно. Использование MT также означает:ожидание , пока все входные (данные )не будут считаны в память, а затем начать сжатие «параллельно».
После включения pigz
в мои тесты я анализирую производительность шаг за шагом; У меня есть файл 100M f100
.
$ time xz -c f100 >/dev/null
real 0m2.658s
user 0m2.573s
sys 0m0.083s
99% времени тратится на сжатие одного ядра. Со всеми четырьмя ядрами, активированными с помощью-T4
(или -T0
)
$ time xz -c -T4 f100 >/dev/null
real 0m0.825s
user 0m2.714s
sys 0m0.284s
Общий результат :На 300 % быстрее, почти линейно для каждого ядра. Значение «пользователь» должно быть разделено на 4 в соответствии с тем, как оно сообщается/определяется. «sys» теперь показывает некоторые накладные расходы --real — это сумма 1/4 user плюс sys.
$ time gzip -dc f100.gz >/dev/null
$ time pigz -p4 -dc f100.gz >/dev/null
Это 0,5 против 0,2 секунды; когда я соберу все вместе:
$ time pigz -dc -p4 f100.gz | xz -c -T4 >out.xz
real 0m0.902s
user 0m3.237s
sys 0m0.363s
...уменьшает 0,8 + 0,2 = 0,9.
С несколькими файлами , но не слишком много, вы можете получить максимальный общий параллелизм с 4 фоновыми процессами оболочки. Вместо этого я использую четыре файла размером 25M :
.for f in f25-?.gz; do time pigz -p4 -dc "$f" | xz -c -T0 >"$f".xz & done
Это кажется даже немного быстрее с 0,7 с. И даже без многопоточности, даже дляxz
:
for f in f25-?.gz; do time gzip -dc "$f" | xz -c >"$f".xz & done
Просто настроив четыре простых четвертных конвейера с &
, вы получите 0,8 с, как и для 100-мегабайтного файла с xz -T4
.
В моем сценарии активировать многопоточность в xz
так же важно, как и распараллелить весь конвейер; если вы можете комбинировать это с pigz и/или несколькими файлами,вы даже можете быть немного быстрее, чем четверть суммы отдельных шагов.