RAID1 как система резервного копирования персонального рабочего стола, плюсы и минусы

Частичный ответ:

Уровень ядра inputпредставляет собой абстракцию для всех возможных устройств ввода посредством всех возможных транспортных технологий. Клавиатуры PS/2, мыши с последовательным интерфейсом, USB-клавиатуры, кнопки USB-камеры и т. д. — все они в конечном итоге отображаются как устройства ввода. События на этих устройствах доступны через /dev/input/event*, и вы можете использовать evtest, чтобы показать их. Добавьте слой поверх этого (, например, X через evdevили Wayland через libinput), затем выберите эти события и сделайте их доступными для (графических приложений ).

На другой стороне иерархии большинство этих устройств также имеют файлы устройств, связанные с конкретным транспортом. Важным классом является HID (= Human Interface Device ), это устройства (часто USB ), которые поставляются со стандартизированным дескриптором («дескриптор HID» )для возможностей устройства. Таким образом, само устройство сообщает ядру, является ли оно клавиатурой, мышью, джойстиком и т. д.; какие клавиши или события движения он генерирует, в какой-то степени как его можно настроить и т. д.

HID-устройства также всегда получают /dev/hidraw*файл, в котором при необходимости можно прочитать необработанное HID-событие (). Обычно, если ядро ​​может понять дескриптор HID, эти события обрабатываются ядром, а затем становятся доступными как события входного уровня -.

Итак, вам нужно читать такие записи системного журнала:

input: Yubico YubiKey OTP+FIDO+CCID as /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1:1.0/0003:1050:0407.006A/input/input93
hid-generic 0003:1050:0407.006A: input,hidraw0: USB HID v1.10 Keyboard [Yubico YubiKey OTP+FIDO+CCID] on usb-0000:00:14.0-1/input0

"Есть интерфейс USB HID класса клавиатура. Ядро понимает этот класс,он получит файл устройства hidraw0и файл устройства /dev/input/eventX(, вероятно, X=93 ). Модуль ядра hid-genericобнаружил это и вызвал inputуровень ядра." ​​

hid-generic 0003:1050:0407.006B: hiddev0,hidraw1: USB HID v1.10 Device [Yubico YubiKey OTP+FIDO+CCID] on usb-0000:00:14.0-1/input

«Существует интерфейс USB HID с классом, который не понимается ядром. Поскольку его нельзя перенаправить на входной уровень, он получит hiddev0файл устройства для общих событий HID, а также получить файл устройства hidraw1для необработанных событий HID. Модуль hid-genericобнаружил это».

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

Что касается , почему Юбикей делает это именно так, знает только Юбикей. Разумно предположить, что они предоставляют один общий интерфейс, который может быть использован любой ОС (, HID клавиатуры )и один интерфейс для специальной настройки Yubikey, который будет понят только специальным программным обеспечением Yubikey -.

0
18.04.2021, 20:13
2 ответа

an error in the upper ext4 filesystem would affect both drives simultaneously because both drives are readed and written at the same time. Is there any means to prevent this?

Нет, насколько мне известно.

By flexibility I mean, what happens if one of the mirrored drives breaks up and I'm not able to afford another drive? can I maintain a RAID1 system with only one drive indefinitely?

Вы можете запускать RAID1 в ухудшенном режиме (, т. е. с одним диском ), сколько хотите.

also is it possible to simplify a raid1 system back to a normal ext4 partition?

Нет. Вам придется удалить раздел RAID и создать простой раздел ext4, и, насколько мне известно, вы не можете сделать это на месте.

How do you rescue data from a RAID1 system? Is it more complex than a normal ext4?

Точно так же, как и в обычной системе. №

Is there any way to delay mirroring in a RAID1 system?

echo "idle" > /sys/block/md0/md/sync_action

can I maintain a RAID1 system with only one drive indefinitely? also is it possible to simplify a raid1 system back to a normal ext4 partition?

Да. Нет, не напрямую.

By portability I mean how to move a RAID filesystem in between computers?

Программный RAID-массив Linux можно свободно перемещать между ПК.

П.С. Я настоятельно рекомендую вам рассмотреть сторонние резервные копии (, возможно, зашифрованные ). Это наиболее безопасный способ обеспечить реальную избыточность ваших данных, которую RAID на самом деле не обеспечивает. RAID помогает только при аппаратном сбое, а не при программном сбое или человеческих ошибках (, то есть при случайном удалении файлов или форматировании данных ).

1
28.04.2021, 22:52

RAID защитит диск от неисправности, и в частности от неисправности диска, которая очень четко говорит: «Я сломался», либо возвращая ошибки на какой-либо запрос на чтение, либо просто не отвечая вообще.

Это не защищает от скрытого повреждения данных накопителем (у них есть исправление ошибок, конечно, но это все еще не неслыханно ), повреждение файловой системы, скачок напряжения все диски, пожар, уничтоживший машину, или пользователь просто удалил не тот файл.

Если этот один диск выйдет из строя, драйвер/контроллер RAID должен перевести массив в «ухудшенное» состояние, в котором он будет работать как обычно (, за исключением, возможно, замедления ), но без какой-либо избыточности. В зависимости от системы также возможно, что половинки зеркала также читаются как обычные диски.Это работает, если все метаданные, связанные с RAID, находятся в конце устройства. В Linux mdadm RAID это относится к суперблоку версии 1.0, но вы должны явно указать это при создании массива.


Что вам следует сделать, так это сделать надлежащие резервные копии на другом компьютере, предпочтительно за пределами -сайта, чтобы также сохранялись более ранние версии данных. Даже если вы этого не сделаете, дешевое -решение, заключающееся в создании дополнительного зеркального раздела и файловой системы поверх тех же дисков и хранении там резервных копий, все равно лучше, чем ничего.

2
28.04.2021, 22:52

Теги

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