Is it possible in ZFS to do the following. I have an 800GB lun a single device in a pool and I want to migrate that to 8 100GB luns. Is it possible to create an 800GB concat out of the 8 devices, and mirror that to the original device, then detach the original device? It is possible to do this online in VxVM.
On Mon, Jul 19, 2010 at 9:06 AM, Max Levine <maxpil at gmail.com> wrote:> Is it possible in ZFS to do the following. > > I have an 800GB lun a single device in a pool and I want to migrate > that to 8 100GB luns. Is it possible to create an 800GB concat out of > the 8 devices, and mirror that to the original device, then detach the > original device? It is possible to do this online in VxVM.I don''t think you can do that within a single pool. But you can fake it like so: zpool create newpool lun1 lun2 lun3 lun4 lun5 lun6 lun7 lun8 zfs send oldpool | zfs recv newpool zpool destroy oldpool zpool rename newpool oldpool The commands are not exact, read the man pages to get the exact syntax for the send/recv part. However, doing so will make the pool extremely fragile. Any issues with any of the 8 LUNs, and the whole pool dies as there is no redundancy. -- Freddie Cash fjwcash at gmail.com
I was looking for a way to do this without downtime... It seems that this kind of basic relayout operation should be easy to do. On Mon, Jul 19, 2010 at 12:44 PM, Freddie Cash <fjwcash at gmail.com> wrote:> On Mon, Jul 19, 2010 at 9:06 AM, Max Levine <maxpil at gmail.com> wrote: >> Is it possible in ZFS to do the following. >> >> I have an 800GB lun a single device in a pool and I want to migrate >> that to 8 100GB luns. Is it possible to create an 800GB concat out of >> the 8 devices, and mirror that to the original device, then detach the >> original device? It is possible to do this online in VxVM. > > I don''t think you can do that within a single pool. ?But you can fake > it like so: > > zpool create newpool lun1 lun2 lun3 lun4 lun5 lun6 lun7 lun8 > zfs send oldpool | zfs recv newpool > zpool destroy oldpool > zpool rename newpool oldpool > > The commands are not exact, read the man pages to get the exact syntax > for the send/recv part. > > However, doing so will make the pool extremely fragile. ?Any issues > with any of the 8 LUNs, and the whole pool dies as there is no > redundancy. > > -- > Freddie Cash > fjwcash at gmail.com > _______________________________________________ > zfs-discuss mailing list > zfs-discuss at opensolaris.org > http://mail.opensolaris.org/mailman/listinfo/zfs-discuss >
On Mon, 2010-07-19 at 17:19 -0400, Max Levine wrote:> I was looking for a way to do this without downtime... It seems that > this kind of basic relayout operation should be easy to do. > > On Mon, Jul 19, 2010 at 12:44 PM, Freddie Cash <fjwcash at gmail.com> wrote: > > On Mon, Jul 19, 2010 at 9:06 AM, Max Levine <maxpil at gmail.com> wrote: > >> Is it possible in ZFS to do the following. > >> > >> I have an 800GB lun a single device in a pool and I want to migrate > >> that to 8 100GB luns. Is it possible to create an 800GB concat out of > >> the 8 devices, and mirror that to the original device, then detach the > >> original device? It is possible to do this online in VxVM. > > > > I don''t think you can do that within a single pool. But you can fake > > it like so: > > > > zpool create newpool lun1 lun2 lun3 lun4 lun5 lun6 lun7 lun8 > > zfs send oldpool | zfs recv newpool > > zpool destroy oldpool > > zpool rename newpool oldpool > > > > The commands are not exact, read the man pages to get the exact syntax > > for the send/recv part. > > > > However, doing so will make the pool extremely fragile. Any issues > > with any of the 8 LUNs, and the whole pool dies as there is no > > redundancy. > > > > -- > > Freddie CashWell... Not to be snobbish, but I don''t mind not supporting concats in ZFS. They''re really not a good idea, even if the individual lun is a RAID device. Concats perform worse than stripes, and tend to mask increase fault likelihood. Overall, not supporting traditional concatenation is probably a *good* thing, since we get people away from bad habits. <winK> The problem you''re running into is that ZFS really only support 1 level of metadevice. You''re pool can be made up of multiple vdev (virtual devices), but a vdev *must* be something real (file, disk, lun, etc.). There''s no real way to do what you want in real-time. -Erik -- Erik Trimble Java System Support Mailstop: usca22-123 Phone: x17195 Santa Clara, CA Timezone: US/Pacific (GMT-0800)