Esportazione del dispositivo RAW
Domanda
Come posso esportare un dispositivo RAW per l'utilizzo nel database utilizzando NFS o CIFS?
Soluzione
Risposta breve:non puoi!
Risposta lunga:
Sia NFS che CIFS sono progettati per gestire file, non dispositivi.
L'esportazione di un nodo di dispositivo su Unix utilizzando NFS farà effettivamente riferimento a un dispositivo (forse inesistente) sul client, per quanto riguarda il kernel del client.NFS è anche noto per i problemi di blocco che rendono qualsiasi cosa simultanea (comprese le transazioni DB) un grosso problema.ACID su NFS è generalmente un no-no.
Credo che CIFS abbia un supporto limitato anche per file speciali, anche se potrei sbagliarmi.
Forse stai cercando qualcosa come NBD (Network Block Device), DRBD (Distributed Replicated Block Device) o anche iSCSI?
http://en.wikipedia.org/wiki/ISCSI
http://en.wikipedia.org/wiki/Network_block_device
http://en.wikipedia.org/wiki/DRBD
Tieni presente che potrebbero verificarsi atroci problemi di blocco se ci provi condividere un dispositivo grezzo su più nodi: dovresti avere il supporto per il funzionamento distribuito e il blocco fino al tuo database.
Probabilmente otterresti più aiuto se spiegassi cosa vuoi fare a un livello più alto...
Altri suggerimenti
Mi ricordo di fare questo per soddisfare alcuni requisiti arcana per un'installazione di Oracle. Ho capito come fare questo accadere, ma si rese conto che in nessuna circostanza dovrei voler applicare concretamente questo.
Detto questo, se ti piace fare scelte sbagliate:
Crea un file vuoto che si sta finalmente andando ad esporre come un dispositivo grezzo:
dd if=/dev/zero of=/netapp/ocr/file bs=8k count=50000
Fai un dispositivo raw:
mknod /dev/raw1 c 162 1
Creazione di un dispositivo di loopback che punta al file che si desidera utilizzare:
losetup /dev/loop1 /netapp/ocr/file
Associa il dispositivo prima al dispositivo di loopback:
raw /dev/raw/raw1 /dev/loop1
uscita Produce che può confermare il dispositivo grezzo è legato in modo corretto:
raw -qa