I have machine that had 2x 1TB drives in it. They were in the same zpool and that entire zpool is set to "copies=2". From what I understand this will store all my data twice, and if the SPA is doing its job right it will store the copies on different disks and store the checksum for any given block on the other disk. I filled this with data. So I added a 1.5 TB drive to the pool. Where will my ditto blocks and checksums go? Will it migrate data from the other drives automatically? Will it migrate data if I scrub or re-silver? will it never migrate data and just store all the new blocks and checksums on the new drive? I am interested in making sure that a single drive failure will not cause loss of data, what should I do if anything? -- This message posted from opensolaris.org
Carson Gaspar
2009-Sep-17 17:17 UTC
[zfs-discuss] Adding new disks and ditto block behaviour
Joe Toppi wrote:> I have machine that had 2x 1TB drives in it. They were in the same zpool and > that entire zpool is set to "copies=2". From what I understand this will > store all my data twice, and if the SPA is doing its job right it will store > the copies on different disks and store the checksum for any given block on > the other disk. > > I filled this with data. So I added a 1.5 TB drive to the pool. Where will my > ditto blocks and checksums go? Will it migrate data from the other drives > automatically? Will it migrate data if I scrub or re-silver? will it never > migrate data and just store all the new blocks and checksums on the new > drive? > > I am interested in making sure that a single drive failure will not cause > loss of data, what should I do if anything?Use mirrors, raidz1, or raidz2. copies=2 will _not_ help you in case of drive failure, as the pool will refuse to import. -- Carson
Bob Friesenhahn
2009-Sep-18 01:12 UTC
[zfs-discuss] Adding new disks and ditto block behaviour
On Thu, 17 Sep 2009, Joe Toppi wrote:> I filled this with data. So I added a 1.5 TB drive to the pool. > Where will my ditto blocks and checksums go? Will it migrate data > from the other drives automatically? Will it migrate data if I scrub > or re-silver? will it never migrate data and just store all the new > blocks and checksums on the new drive?Zfs does not automatically migrate data just because you added more drives. Scrub will only migrate failing data blocks. Resilver clones a failing disk. When a vdev becomes very full, more writes will be directed to the empty devices. If you have enough free disk space to store everything you had before, plus lots of space to spare, you could try creating a new filesystem in the pool and using zfs send to send from the existing filesystem to the new filesystem, and then destroy the old filesystem once you are satisified with the new one. This would only work if there is considerably more free space than existing data and the result will still be lop-sided. If you have a whole lot of reliable storage space elsewhere, you could use zfs send to send to a file in that other storage space, destroy the old filesystem, and then recreate it with your zfs send file. Bob -- Bob Friesenhahn bfriesen at simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ GraphicsMagick Maintainer, http://www.GraphicsMagick.org/
Joseph Toppi
2009-Sep-18 13:48 UTC
[zfs-discuss] Adding new disks and ditto block behaviour
Yeah, after I learned that ditto blocks don''t protect against failed drives, I started working on a plan to move to raidz. I couldn''t find any good documentation on setting multiple filesystems systems in one pool, though I know it is possible. I think I have enough storage to work this together somehow, but I think I need to read more and plan more. Thanks for your response On Thu, Sep 17, 2009 at 8:12 PM, Bob Friesenhahn <bfriesen at simple.dallas.tx.us> wrote:> On Thu, 17 Sep 2009, Joe Toppi wrote: > >> I filled this with data. So I added a 1.5 TB drive to the pool. Where will >> my ditto blocks and checksums go? Will it migrate data from the other drives >> automatically? Will it migrate data if I scrub or re-silver? will it never >> migrate data and just store all the new blocks and checksums on the new >> drive? > > Zfs does not automatically migrate data just because you added more drives. > ?Scrub will only migrate failing data blocks. ?Resilver clones a failing > disk. ?When a vdev becomes very full, more writes will be directed to the > empty devices. > > If you have enough free disk space to store everything you had before, plus > lots of space to spare, you could try creating a new filesystem in the pool > and using zfs send to send from the existing filesystem to the new > filesystem, and then destroy the old filesystem once you are satisified with > the new one. ?This would only work if there is considerably more free space > than existing data and the result will still be lop-sided. > > If you have a whole lot of reliable storage space elsewhere, you could use > zfs send to send to a file in that other storage space, destroy the old > filesystem, and then recreate it with your zfs send file. > > Bob > -- > Bob Friesenhahn > bfriesen at simple.dallas.tx.us, http://www.simplesystems.org/users/bfriesen/ > GraphicsMagick Maintainer, ? ?http://www.GraphicsMagick.org/ >-- - Joe Toppi (402) 714-7539 toppij at gmail.com http://www.assuredts.com/toppij/