Экспорт RAW-устройств - PullRequest
       31

Экспорт RAW-устройств

1 голос
/ 17 ноября 2010

Как я могу экспортировать устройство RAW для использования в базе данных, используя NFS или CIFS?

Ответы [ 2 ]

2 голосов
/ 27 июня 2012

Я помню, как делал это, чтобы выполнить некоторые загадочные требования для установки Oracle. Я понял, как это сделать, но понял, что ни при каких обстоятельствах не захочу это осуществить.

Тем не менее, если вам нравится делать неправильный выбор:

Создайте пустой файл, который вы в конечном итоге собираетесь представить в виде необработанного устройства:

   dd if=/dev/zero of=/netapp/ocr/file bs=8k count=50000

Сделать необработанное устройство:

mknod /dev/raw1 c 162 1

Создайте устройство обратной связи, которое указывает на файл, который вы хотите использовать:

losetup /dev/loop1 /netapp/ocr/file

Свяжите необработанное устройство с устройством обратной связи:

raw /dev/raw/raw1 /dev/loop1

Вывод результата, который может подтвердить, что необработанное устройство привязано правильно:

raw -qa
0 голосов
/ 17 ноября 2010

Краткий ответ: вы не можете!

Длинный ответ:

И NFS, и CIFS предназначены для обработки файлов, а не устройств.

Экспорт узла устройства в Unix с использованием NFS фактически ссылается на (возможно, несуществующее) устройство на клиенте в том, что касается ядра клиента. NFS также печально известна проблемами блокировки, которые делают все одновременное (включая транзакции с БД) серьезной проблемой. ACID в NFS - это вообще нет-нет.

Я считаю, что CIFS также имеет ограниченную поддержку специальных файлов, хотя я могу ошибаться.

Возможно, вы ищете что-то вроде NBD (сетевое блочное устройство), DRBD (распределенное реплицированное блочное устройство) или даже iSCSI?

http://en.wikipedia.org/wiki/ISCSI

http://en.wikipedia.org/wiki/Network_block_device

http://en.wikipedia.org/wiki/DRBD

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

Вы, вероятно, получили бы больше помощи, если бы объяснили, что вы хотите делать на более высоком уровне ...

...