linux-btrfs.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Robert White <rwhite@pobox.com>
To: Patrik Lundquist <patrik.lundquist@gmail.com>,
	"linux-btrfs@vger.kernel.org" <linux-btrfs@vger.kernel.org>
Subject: Re: Fixing Btrfs Filesystem Full Problems typo?
Date: Tue, 09 Dec 2014 15:48:53 -0800	[thread overview]
Message-ID: <54878A65.2080403@pobox.com> (raw)
In-Reply-To: <CAA7pwKOtOeCL-40EjqmEZ=NR=7Nfz_1Kzx2X4O105ndKGJMkrA@mail.gmail.com>

On 12/09/2014 02:29 PM, Patrik Lundquist wrote:
 > (stuff depicting a nearly full file system).

Having taken another look at it all, I'd bet (there is not sufficient 
information to be _sure_ from the output you've provided) that you don't 
have the necessary 1Gb free on your disk slice to allocate another data 
extent. The COW portion of some consolidation event is being blocked for 
lack of any place to put the condensed/congealed result of balancing one 
or more of your blocks. You are gong to have to grow your filesystem by 
at least 1 gig to get the balance to complete as-is; or alternately 
remove at least a gig worth of "large files" (e.g. files that are stored 
in a DATA extent as opposed to small ones stored in the metadata).

In the alternate, if you have a "bigger drive" to use, then add that 
device to the file system (q.v. "btrfs device add /dev/sdd1 /muntpoint") 
and then remove the current device (q.v. "btrfs device delete /dev/sdc1 
/mountpoint"). You now have the filesystem on a bigger media where stuff 
can happen correctly.

At _that_ point you can RAID the larger device to equally sized peers 
etc. if your actual goal is to establish full redundancy.

===

If the whole raiding thing was about running out of space, then you are 
actually "done" as soon as you add the second device. It will be used 
automatically, and you can balance over to it directly or not as you see 
fit.

In particular if you have another drive/slice of equal size and you 
intend to spread out onto it, your best choices are ::

btrfs device add /dev/sdd1 /mp

btrfs balance start -dconvert=raid0 -mconvert=dup -sconvert=dup /mp
--or--
btrfs balance start -dconvert=raid0 -mconvert=raid1 -sconvert=raid1 /mp

(the latter is more preservative of information a failed media, but 
since your bulk data isn't being stored redundantly it probably doesn't 
matter which you use.)

Once the second drive is in place you'll have the room you need for the 
balances to finish.

In the second model you'll be spreading your bulk data out onto the two 
drives "evenly" via striping (raid0) and your metadata will be 
duplicated between the two slices.

If you are adding storage and you are _not_ going to be adding it all 
with -dconvert=raid1, it doesn't matter that you don't currently have 
the needed space for a balance to complete on the currently full media. 
If you are trying to raid1 your entire filesystem when you are already 
effectively out of space, you will find no joy. Adding a full media 
raid1 is a no-op for available space.




  parent reply	other threads:[~2014-12-09 23:48 UTC|newest]

Thread overview: 36+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CAA7pwKNH-Cbd+_D+sCEJxxdervLC=_3_AzaywSE3mXi8MLydxw@mail.gmail.com>
2014-11-22 22:26 ` Fixing Btrfs Filesystem Full Problems typo? Marc MERLIN
2014-11-22 23:26   ` Patrik Lundquist
2014-11-22 23:46     ` Marc MERLIN
2014-11-23  0:05     ` Hugo Mills
2014-11-23  1:07       ` Marc MERLIN
2014-11-23  7:52         ` Duncan
2014-11-23 15:12           ` Patrik Lundquist
2014-11-24  4:23             ` Duncan
2014-11-24 12:35               ` Patrik Lundquist
2014-12-09 22:29                 ` Patrik Lundquist
2014-12-09 23:13                   ` Robert White
2014-12-10  7:19                     ` Patrik Lundquist
2014-12-10 12:17                       ` Robert White
2014-12-10 13:11                         ` Duncan
2014-12-10 18:56                           ` Patrik Lundquist
2014-12-10 22:28                             ` Robert White
2014-12-11  4:13                               ` Duncan
2014-12-11 10:29                                 ` Patrik Lundquist
2014-12-11  6:16                               ` Patrik Lundquist
2014-12-10 13:36                         ` Patrik Lundquist
2014-12-11  8:42                           ` Robert White
2014-12-11  9:02                             ` Duncan
2014-12-11  9:55                             ` Patrik Lundquist
2014-12-11 11:01                               ` Robert White
2014-12-09 23:20                   ` Robert White
2014-12-09 23:48                   ` Robert White [this message]
2014-12-10  0:01                     ` Robert White
2014-12-10 12:47                       ` Duncan
2014-12-10 20:11                         ` Patrik Lundquist
2014-12-11  4:02                           ` Duncan
2014-12-11  4:49                           ` Duncan
2014-11-23 21:16           ` Marc MERLIN
2014-11-23 22:49             ` Holger Hoffstätte
2014-11-24  4:40               ` Duncan
2014-12-07 21:38           ` Marc MERLIN
2014-11-24 18:05         ` Brendan Hide

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=54878A65.2080403@pobox.com \
    --to=rwhite@pobox.com \
    --cc=linux-btrfs@vger.kernel.org \
    --cc=patrik.lundquist@gmail.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).