Как насчет просто этого?
$ gunzip *.txt.gz
gunzip
создаст gunzipped файл без .gz
снабдите суффиксом и удалите исходный файл по умолчанию (см. ниже для деталей). *.txt.gz
будет расширен Вашей оболочкой до всего соответствия файлов.
Этот последний бит может получить Вас в проблему, если это расширяется до очень длинного списка файлов. В этом случае попытайтесь использовать find
и -exec
сделать задание для Вас.
Из страницы справочника gzip(1)
:
gunzip takes a list of files on its command line and replaces each file whose name ends with .gz, -gz, .z, -z, or _z (ignoring case) and which begins with the correct magic number with an uncompressed file without the original extension.
gzip может сохранить и восстановить имя файла, используемое во время сжатия. Даже при переименовании сжатого файла Вы можете быть удивлены узнать, что он восстанавливает к настоящему имени снова.
Из gzip страницы справочника:
По умолчанию gzip сохраняет исходное имя файла и метку времени в сжатом файле. Они используются при распаковке файла с
-N
опция. Это полезно, когда имя сжатого файла было усеченным или когда метка времени не была сохранена после передачи файлов.
И эти имена файлов, сохраненные в метаданных, могут также быть просмотрены с file
:
$ echo "foo" > myfile_orig
$ gzip myfile_orig
$ mv myfile_orig.gz myfile_new.gz
$ file myfile_new.gz
myfile_new.gz: gzip compressed data, was "myfile_orig", last modified: Mon Aug 5 08:46:39 2019, from Unix
$ gunzip myfile_new.gz # gunzip without -N
$ ls myfile_*
myfile_new
$ rm myfile_*
$ echo "foo" > myfile_orig
$ gzip myfile_orig
$ mv myfile_orig.gz myfile_new.gz
# gunzip with -N
$ gunzip -N myfile_new.gz # gunzip with -N
$ ls myfile_*
myfile_orig
Идентичная копия Ваших данных хранится на каждом диске (если массив не "грязен" — например, если питание потеряно после записи в диск 0, но прежде, чем записать в диск 1). Однако метаданные отличаются; это позволяет mdadm и md говорить эти два диска независимо.
Можно ли подкачать кабели вокруг?
Можно подкачать кабели на этих двух дисках. Когда Вы (или сценарии начальной загрузки Вашего дистрибутива) делаете mdadm --assemble
на массиве mdadm смотрит на метаданные по каждому диску, и от этого выясняет, который является диском 1 и который является диском 2.
Это на самом деле чрезвычайно гибко — Вы могли, например, удалить один из дисков, поместить его в корпус USB-SATA и присоединить его к USB-порту, и mdraid все еще будет совершенно счастлив.
Я могу восстановить ухудшенный массив при помощи dd
?
Нет. Если бы Вы сделали это, то у Вас было бы два диска 1's или два диска 2's, и mdadm был бы перепутан (и, я не протестировал это, но я предполагаю, что он отказался бы собирать массив).
В целом все управление массивами, покончили mdadm
и далее это редко - хорошая идея обойти mdraid. Для восстановления массива Вы добавляете новый диск/раздел к нему. Что-то вроде этого, принимая sdb1
раздел на замещающем диске:
mdadm --add /dev/md0 /dev/sdb1
mdraid затем скопирует данные, и можно наблюдать состояние cat /proc/mdstat
. Вы свободны продолжить использовать массив во время пересинхронизации. Нет никакой потребности загрузиться с живого CD или подобный (необходимо смочь загрузиться от ухудшенного массива). На самом деле, если у Вас есть лотки замены в горячем режиме в Вашей машине, можно заменить неудавшийся sdb как это:
mdadm -r /dev/md0 /dev/sdb1
mdadm -a /dev/md0 /dev/sdb1
Это не требует никакого времени простоя.
Обратите внимание также, что, если Вы загружаетесь от зеркала, необходимо удостовериться, что загрузчик (например, личинка) установлен на обоих дисках. Как сделать, это зависит от Вашего дистрибутива.
Что-нибудь еще?
Да. mdadm --create
не шаг восстановления. Это используется для создания нового, пустого массива, и следующий шаг обычно был бы pvcreate
или mkfs
. Уже существующие массивы запускаются с помощью mdadm --assemble
. (Это, кажется, достаточно общая ошибка и имеет потенциал для уничтожения данных.)
Заключительные комментарии
Необходимо, вероятно, взять немного для ознакомления с mdraid документацией (Вы доверяете ей свои данные, в конце концов). В частности, прочитайте mdadm
страница руководства, любая документация RAID Ваш дистрибутив производит, и Documentation/md.txt (из источников ядра, соответствуя Вашей версии ядра). Это, вероятно, не самые понятные документы, но они все обычно актуальны.
Существует также Набег Linux Wiki, но остерегайтесь этого не все, что там полностью актуально.
Существуют другие страницы там, но быть особенно осторожными чего-либо упоминание mkraid
или /etc/raidtab
кроме как исторический очерк, как те инструменты имеют быть устаревшими в течение десятилетия.
Диски не на 100% идентичны. Каждый Linux softraid устройство содержит блок метаданных с uniq гуидом. Таким образом, dd не мог бы работать.
Порты не имеют значения все же. Можно даже поместить диск в экстремальное поле usb, и он будет все еще работать. Не работает с аппаратным набегом, конечно.