I've seen dead locks on 3.16.3. Personally, I'm staying with 3.14 until something newer stabilizes, haven't had any issues with it. You might want to try the latest 3.14, though I think there should be a new one pretty soon with quite a few btrfs patches.
On Tue, Oct 28, 2014 at 7:33 AM, Stephan Alz <stephan...@gmx.com> wrote: > Hello Folks, > > Thanks for the help what I got so far. I did what you have recommended and > upgraded the kernel to 3.16. > > After reboot it automatically resumed the balancing operation. For about 2 > hours it went well: > > Label: 'backup' ... > Total devices 5 FS bytes used 5.81TiB > devid 1 size 3.64TiB used 2.77TiB path /dev/sdc > devid 2 size 3.64TiB used 2.77TiB path /dev/sdb > devid 3 size 3.64TiB used 2.77TiB path /dev/sda > devid 4 size 3.64TiB used 2.76TiB path /dev/sdd > devid 5 size 3.64TiB used 572.00GiB path /dev/sdf < interestingly the > used is now lower than it was > > After that all the sudden I just lost the machine. As I thought it crashed > with kernel panic but this wasn't like with the 3.13, it killed the whole > system. Not even the magic keys worked. > > http://i59.tinypic.com/5we5ib.jpg > > Then when I tried to reboot it with 3.16 the system always segfaulted at boot > time when it tried to mount the btrfs filesystem. > > With 3.13 it at least didn't crash the entire system so I booted back to that > and managed to stop the balancing: > >>btrfs filesystem balance status /mnt/backup > > Balance on '/mnt/backup' is paused > 1 out of about 10 chunks balanced (1 considered), 90% left > > Now my filesystem is fortunately back to RW again. Backups can continue > tonight. > And about the "data not being important to backed up", hell yes it is so > yesterday I did a "backup of the backups" to a good old XFS filesystem > (something which is reliable). The problem is that our whole backup system > was designed to use BTRFS. It rsync from a lot of servers to the backup > server every night then creates snapshots. Changing this and going back to > other filesystem would require a lot of time and effort, possibly rewriting > all of our backup scripts. > > What else can I do? > Should I try an even later 3.18 kernel version? > Can this happen because it doesn't have enough space for real? > > > The counter now says that: > btrfs 19534313824 12468488824 3753187048 77% > > The whole point I added the new drive is because it was running out of space. > Somebody could really explain how this balancing works with RAID10 mode. What > I want to know that if ANY of the drives are fail do we lose data or not? And > the fact that the balancing is paused now changes this or not? If any of the > drives out of the 5 would completely fail right now, would I lose all the > data? I definitely don't want to leave the system in an inconsistent state > like this. At least the backups are only done at nights so if I can get the > backup drive mounted to RW by the end of the day that's enough. > > Thanks > > At the end I attached some recent 3.13 crash logs (maybe it's any help). > > > [Tue Oct 28 12:01:35 2014] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" > disables this message. > [Tue Oct 28 12:01:35 2014] btrfs D ffff88007fc14280 0 3820 > 3202 0x00000000 > [Tue Oct 28 12:01:35 2014] ffff88003735e800 0000000000000086 > 0000000000000000 ffffffff81813480 > [Tue Oct 28 12:01:35 2014] 0000000000014280 ffff880048feffd8 > 0000000000014280 ffff88003735e800 > [Tue Oct 28 12:01:35 2014] 0000000000000246 ffff880036c8a000 > ffff880036c8b260 ffff880036c8b2a0 > [Tue Oct 28 12:01:35 2014] Call Trace: > [Tue Oct 28 12:01:35 2014] [<ffffffffa02c486d>] ? > btrfs_pause_balance+0x7d/0xf0 [btrfs] > [Tue Oct 28 12:01:35 2014] [<ffffffff8109e400>] ? __wake_up_sync+0x10/0x10 > [Tue Oct 28 12:01:35 2014] [<ffffffffa02d1692>] ? btrfs_ioctl+0x1652/0x1f00 > [btrfs] > [Tue Oct 28 12:01:35 2014] [<ffffffff81199ea1>] ? path_openat+0xd1/0x630 > [Tue Oct 28 12:01:35 2014] [<ffffffff811956ac>] ? getname_flags+0xbc/0x1a0 > [Tue Oct 28 12:01:35 2014] [<ffffffff814dad78>] ? __do_page_fault+0x298/0x540 > [Tue Oct 28 12:01:35 2014] [<ffffffff8119c4c1>] ? do_vfs_ioctl+0x81/0x4d0 > [Tue Oct 28 12:01:35 2014] [<ffffffff81154a88>] ? do_brk+0x198/0x2f0 > [Tue Oct 28 12:01:35 2014] [<ffffffff8119c9b0>] ? SyS_ioctl+0xa0/0xc0 > [Tue Oct 28 12:01:35 2014] [<ffffffff814deef9>] ? > system_call_fastpath+0x16/0x1b > [Tue Oct 28 12:03:35 2014] INFO: task btrfs:3820 blocked for more than 120 > seconds. > [Tue Oct 28 12:03:35 2014] Not tainted 3.13-0.bpo.1-amd64 #1 > [Tue Oct 28 12:03:35 2014] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" > disables this message. > [Tue Oct 28 12:03:35 2014] btrfs D ffff88007fc14280 0 3820 > 3202 0x00000000 > [Tue Oct 28 12:03:35 2014] ffff88003735e800 0000000000000086 > 0000000000000000 ffffffff81813480 > [Tue Oct 28 12:03:35 2014] 0000000000014280 ffff880048feffd8 > 0000000000014280 ffff88003735e800 > [Tue Oct 28 12:03:35 2014] 0000000000000246 ffff880036c8a000 > ffff880036c8b260 ffff880036c8b2a0 > [Tue Oct 28 12:03:35 2014] Call Trace: > [Tue Oct 28 12:03:35 2014] [<ffffffffa02c486d>] ? > btrfs_pause_balance+0x7d/0xf0 [btrfs] > [Tue Oct 28 12:03:35 2014] [<ffffffff8109e400>] ? __wake_up_sync+0x10/0x10 > [Tue Oct 28 12:03:35 2014] [<ffffffffa02d1692>] ? btrfs_ioctl+0x1652/0x1f00 > [btrfs] > [Tue Oct 28 12:03:35 2014] [<ffffffff81199ea1>] ? path_openat+0xd1/0x630 > [Tue Oct 28 12:03:35 2014] [<ffffffff811956ac>] ? getname_flags+0xbc/0x1a0 > [Tue Oct 28 12:03:35 2014] [<ffffffff814dad78>] ? __do_page_fault+0x298/0x540 > [Tue Oct 28 12:03:35 2014] [<ffffffff8119c4c1>] ? do_vfs_ioctl+0x81/0x4d0 > [Tue Oct 28 12:03:35 2014] [<ffffffff81154a88>] ? do_brk+0x198/0x2f0 > [Tue Oct 28 12:03:35 2014] [<ffffffff8119c9b0>] ? SyS_ioctl+0xa0/0xc0 > [Tue Oct 28 12:03:35 2014] [<ffffffff814deef9>] ? > system_call_fastpath+0x16/0x1b > [Tue Oct 28 12:03:48 2014] btrfs: found 16561 extents > > Sent: Tuesday, October 28, 2014 at 1:07 AM > From: Duncan <1i5t5.dun...@cox.net> > To: linux-btrfs@vger.kernel.org > Subject: Re: BTRFS balance segfault, where to go from here > Chris Murphy posted on Mon, 27 Oct 2014 10:51:16 -0600 as excerpted: > >> On Oct 27, 2014, at 3:26 AM, Stephan Alz <stephan...@gmx.com> wrote: >>> >>> My question is where to go from here? What I going to do right now is >>> to copy the most important data to another separated XFS drive. >>> What I planning to do is: >>> >>> 1, Upgrade the kernel 2, Upgrade BTRFS 3, Continue the balancing. >> >> Definitely upgrade the kernel and see how that goes, there's been many >> many changes since 3.13. I would upgrade the user space tools also but >> that's not as important. > > Just emphasizing... > > Because btrfs is still under heavy development and not yet fully stable, > keeping particularly the kernel updated is vital, because running an old > kernel often means running a kernel with known btrfs bugs, fixed in newer > kernels. > > The userspace isn't quite as important since under normal operation it > mostly simply tells the kernel what operations to perform, and an older > userspace simply means you might be missing newer features. However, > commands such as btrfs check (the old btrfsck) and btrfs restore work > from userspace, so having a current btrfs-progs is important when you run > into trouble and you're trying to fix things. > > That said, a couple of recent kernels has known issues. Don't use the > 3.15 series at all, and be sure you're on 3.16.3 or newer for the 3.16 > series. 3.17 introduced another bug, with the fix hopefully in 3.17.2 > (it didn't make 3.17.1) and in 3.18-rcs. > > So 3.16.3 or later for stable kernel, or the latest 3.18-rc or live-git > kernel, is what I'd recommend. The other alternative if you're really > conservative is the latest long-term stable series kernel, 3.14.x, as it > gets critical bugfixes as well, tho it won't be quite as current as > 3.16.x or 3.18-rc. But anything older than the latest 3.14.x stable > series is old and outdated in btrfs terms, and is thus not recommended. > And 3.15, 3.16 before 3.16.3, and 3.17 before 3.17.2 (hopefully), are > blackout versions due to known btrfs bugs. Avoid them. > > Of course with btrfs still not fully stable, the usual sysadmin rule of > thumb that if you don't have a tested backup you don't have a backup, and > if you don't have a backup, by definition you don't care if you lose the > data, applies more than ever. If you're on not-yet-fully-stable btrfs > and you don't have backups, by definition you don't care if you lose that > data. There's people having to learn that the hard way, tho btrfs > restore can often recover at least some of what would otherwise be lost. > >> FYI you can mount with skip_balance mount option to inhibit resuming >> balance, sometimes pausing the balance isn't fast enough when there are >> balance problems. > > =:^) > >>> Could someone please also explain that how is exactly the raid10 setup >>> works with ODD number of drives with btrfs? >>> Raid10 should be a stripe of mirrors. Now then this sdf drive is >>> mirrored or striped or what? >> >> I have no idea honestly. Btrfs is very tolerant of adding odd number and >> sizes of devices, but things get a bit nutty in actual operation >> sometimes. > > In btrfs, raid1, including the raid1 side of raid10, is defined as > exactly two copies of the data, one on each of two different devices. > These copies are allocated by chunk size, 1 GiB size for data, quarter > GiB size for metadata, and chunks are normally allocated on the device > with the most unallocated space available, provided the other constraints > (such as don't but both copies on the same device) are met. > > Btrfs raid0 stripes will be as wide as possible, but again are allocated > a chunk at a time, in sub-chunk-size strips. > > While I've not run btrfs raid10 personally and thus (as a sysadmin not a > dev) can't say for sure, what this implies to me is that, assuming equal > sized devices, an odd number of devices in raid10 will alternate skipping > one device at each chunk allocation. > > So with a five same-size device btrfs raid10, if I'm not mistaken, btrfs > will allocate chunks from four at once, two mirrors, two stripes, with > the fifth one unused for that chunk allocation. However, at the next > chunk allocation, the device skipped in the previous allocation will now > have the most free space and will thus get the first allocation, with the > one of the other four devices skipped in that allocation round. After > five allocation rounds (assuming all allocation rounds were 1 GiB data > chunks, not quarter-GiB metadata), usage should thus be balanced across > all five devices. > > Of course with six same-size devices, because btrfs raid1 does exactly > two copies, no more, each stripe will be three devices wide. > > > As for the dataloss question, unlike say raid56 mode which is known to be > effectively little more than expensive raid0 at this point, raid10 should > be as reliable as raid1, etc. But I'd refer again to that sysadmin's > rule of thumb above. If you don't have tested backups, you don't have > backups, and if you don't have backups, the data is by definition not > valuable enough to be worth the hassle of backing it up; the calculated > risk cost of data loss is lower than the given time required to make, > test and keep current the backups. After that, it's your decision > whether you value that data more than the time required to make and > maintain those backups, or not, given the risk factor including the fact > that btrfs is still under heavy development and is not yet fully stable. > > -- > Duncan - List replies preferred. No HTML msgs. > "Every nonfree program has a lord, a master -- > and if you use the program, he is your master." Richard Stallman > > -- > To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > > > -- > To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html -- To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html