LINUX.ORG.RU

Использовать disk partition как raw device

 


0

1

Сабж ? Не является ли это извращением ?

Т е есть некое общее доступное HDD хранилище, которое доступно на всех нодах. Хочется без всяких nfs и прочих файловых систем просто писать в raw в общий раздел с каким-то смещением бинарные данные ( разным для разных нод ) ну и соотв все это читать на всех нодах. Есть ли какие истории успеха ?



Последнее исправление: Jopich1 (всего исправлений: 1)

Ответ на: комментарий от i-rinat

оно у него и так пошарено между всеми нодами ))

ему надо dlm без dlm ))

aol ★★★★★
()
Ответ на: комментарий от thesis

Не по идее нужно представить блочное устройство как файл и уже писать в его части с разных нод, используя seek например. И чтобы при этом с любой ноды можно было читать все содержимое, что написали другие ноды ? Не нужно ли при этом использовать lock какой нить ?

Jopich1
() автор топика
Последнее исправление: Jopich1 (всего исправлений: 1)

разметь как fdd-дискету

anonymous
()

пока оно такое простое - не сильно является :)
потом «захочется странного»/понадобится сложное и начнется перепихолинг с велосипедом на костылях…
«собственноручного сваренный электродом из металла десятки велосипед» имеет смысл в случае суръёзного выигрыша в каком-либо аспекте реализуемого проекта…
если выигрыш на уровне «погрешности измерений», то лучше не стрелять себе… вообще не стрелять, пока не познаешь всю глубину кроличей норы.

pfg ★★★★★
()

А может это… какая-нибудь высокоуровневая фигня типа MPI parallel IO пойдет? Смысл то тот же вроде …

sshestov ★★
()
Ответ на: комментарий от Jopich1

Нужность локов определяется программистом в зависимости от конкретной задачи.

firkax ★★★★★
()

oracle вроде так делает..вполне себе история успеха

MKuznetsov ★★★★★
()
Ответ на: комментарий от Jopich1

Локи на запись тебе не нужны, раз у каждой ноды своя область. Но читающие ноды должны как-то знать, что читаемый блок записан полностью, т. е. либо в конец блока пишется контрольная сумма, либо информация о записанных блоках хранится где-то ещё. То есть, нода пишет данные, синкает, потом пишет контрольную сумму или делает отметку в бд о законченности блока. Но товарищ ниже правильно заметил про велосипедостроение, так что смотри лучше в сторону MPI.

JaM
()

задача несколько странная
просто береш и пишеш и читаеш
незабываем после каждой записи делать sync или открывать с direct(если нужно быстро данные разослать на другие ноды - иначе на диск оно попадет со сбросом буферов) - потому как другие ноды вполне могут у себя кешировать эти диски

для чего так делать не сильно понятно - но предположу
например делаем так - разбиваем диск этот изначально на 16 областей + 1 мелкую(для локов)

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


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

ae1234 ★★
()
Последнее исправление: ae1234 (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.