ZFS -только один диск/по -id для двух устройств nvm

Я согласен с @QIS.

Есть несколько причин, по которым sed вам не подойдет.

Одна из них заключается в том, что по умолчанию sedобрабатывает свой ввод построчно, и по этой причине sedникогда не увидит новую строку как часть строки. По умолчанию это разделитель между строками .

Другое дело, что, хотя GNU sedреализует '\n'представление новой строки, BSDsed(версия для OSX )этого не делает.

Только для будущих пользователей GNU sed, которые могут прочитать ваш вопрос, GNU sedможно указать обрабатывать входной файл как список строк с разделителями NUL -, используя опцию -z. Предполагая, что ваш ввод не содержит байтов NUL, это может быть вариантом для пользователей GNU sed:

.
$ pbpaste | sed -z 's/\n/ /g'

Одним из тривиальных (и не -рекомендуемых )методов является использование преимущества того факта, что когда echoполучает символы новой строки без кавычек в результате подстановки команд, он заменяет их пробелами. Кроме того, echoпреобразует несколько пробелов (или новых строк )в один пробел. Таким образом, вполне вероятно, что это сработает и для вас :

.
echo $(pbpaste)
0
01.12.2021, 13:58
1 ответ

Лучший способ сделать это:

  • Определите производителя и серийные номера дисков
  • Создать таблицу разделов GPT (или «схему» )на каждом диске
  • Создайте раздел данных ZFS на каждом диске и назовите раздел таким образом, чтобы он отражал производителя (, возможно, сокращенно )и серийный номер этого диска
  • .

Например, если вы хотите создать зеркало двух дисков Western Digital с серийными номерами WD-WMC1S5694795и WD-WMC1S5688675, создайте разделы GPT одинакового размера -на каждом диске и пометьте раздел как-то так data-WD-WMC1S5694795. ] и data-WD-WMC1S5688675соответственно. Обязательно правильно пометьте их, иначе потраченное время будет бесполезным. К счастью, эти серийные номера уже включают начальный WD-, поэтому производитель уже закодирован. Включение сокращенного производителя в этикетку просто защищает от отдаленно возможной ситуации, когда у вас будет два диска с одинаковыми серийными номерами от разных производителей. Маловероятно, поэтому по своему усмотрению кодируйте производителя в метке раздела.

Это даст вам /devзаписей в разделе /dev/disk/by-partlabel/, которые вы затем сможете использовать для создания своего пула:

# zpool create tank mirror /dev/disk/by-partlabel/data-WD-WMC1S5694795 \
                           /dev/disk/by-partlabel/data-WD-WMC1S5688675
# zpool status tank
  pool: tank
 state: ONLINE
  scan: scrub repaired 0B in 23h36m with 0 errors on Wed Dec 1 16:00:38 2021
config:

    NAME                      STATE     READ WRITE CKSUM
    tank                      ONLINE       0     0     0
      mirror-0                ONLINE       0     0     0
        data-WD-WMC1S5694795  ONLINE       0     0     0
        data-WD-WMC1S5688675  ONLINE       0     0     0

errors: No known data errors

Теперь, когда один из дисков выйдет из строя, вы будете точно знать, какой из них следует заменить, поскольку серийный номер, -читаемый человеком, появляется на внешней стороне диска.

0
01.12.2021, 23:24

Теги

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