* It was Sat, Jan 13, 2001 at 12:01:52AM -0800 when Bruce Sterling Woodcock wrote:
For the raid group / volume distinction, writes are allocated per volume, and the free space in the given raid groups will determine where the
writes
go. NVRAM isn't divided on a per-volume or per-raid group basis. The write data, by and large, isn't in NVRAM. The write transaction description is in NVRAM until the write is committed to disk, normally
with
the data being served from system memory. Teeny tiny writes are the exception to this.
Yes, I understand that writes are logged simultaneously to both RAM and NVRAM and the writes come from RAM and NVRAM is only used in case of a crash. However, the data in RAM has to be written to disk before the NVRAM can be flushed.
Not necessarily. If the filer doesn't crash, yes. The write is reported successful to the client as soon as it hits NVRAM.
The question is, with volumes and groups, is NVRAM divided further?
No, NVRAM isn't divided on a per-volume or per-raid group basis.
When a CP is triggered, either by timer or log full, does it write out all volumes or all groups or one volume or one group or what?
It writes out data from all volumes that had writes to it.
If one write has to span two different controllers, then there has to be at least a minimal timing impact. The impact will, of couse, be "behind the scenes" and not effect the response time unless writes are sufficiently intensive that you're doing a cp_from_cp.
But, you're sending out data to two controllers, with two different write queues, talking to different disks. The time spent passing along the interrupt compared to the time spent doing the i/o, is negligible.