Re: converting to btrfs

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Apr 7, 2016, 5:01 PM Jeffrey Ross <jeff@xxxxxxxxxx> wrote:
>
> I had an raid1 partition with ext4 on it which was empty.
>
> it was /dev/md124 which was made up of /dev/sda1 and /dev/sdb1, I decided
> to change this to be a btrfs partition.
>
> Initially I figured I'd simply unmount /dev/md124 and simply do a
> "mkfs.btrfs -f -L home2 /dev/md124" and remount the partition, however
> after doing some reading I believe btrfs supports raid1 directly without
> using the software raid driver md (?).


Correct.

>
> so I then tried "mkfs.btrfs -m raid1 -d raid1 -L home2 -f /dev/sdb1
> /dev/sda1" and something was successfully created but this is where I am
> confused, is this truly a raid1 partition?


Yes.

It is not block level raid1, however. It's done at the Btrfs chunk
level, where each chunk type will have two stripes (copies). The btrfs
chunk and stripe are reused terms that don't match prior mdadmn usage.
The distinction isn't important day to day, but if you want to
understand how btrfs does things differently is worth noting.


> secondly mounting this
> partition I simply specify something like "mount /dev/sda1 /mntpoint".


Correct. Or /dev/sdb1 also works. Each device superblock contains a
reference to all other devices used in a multiple device Btrfs volume,
and mount will fail if any are missing. Strictly speaking the member
devices aren't mounted, rather the volume is what's mounted. Be aware
of the duplicate volume UUID gotcha (using dd or lvm snapshots):

https://btrfs.wiki.kernel.org/index.php/Gotchas


>
> I can see -
> # btrfs filesystem show
> Label: 'home2'  uuid: 635be1e8-31d2-4b5c-b81c-1ec2cd8d9101
>         Total devices 2 FS bytes used 664.00KiB
>         devid    1 size 376.46GiB used 2.01GiB path /dev/sdb1
>         devid    2 size 376.46GiB used 2.01GiB path /dev/sda1
>
> To me this looks like two different partitions but I maybe wrong, so
> assuming it is one raid partition how would I go around having this auto
> mounted in /etc/fstab? I would assume this entry -
>
> UUID=635be1e8-31d2-4b5c-b81c-1ec2cd8d9101 /home2  btrfs defaults  0 0


Correct.

>
> but I'm looking for some confirmation first that I actually have a raid
> partition and I've done everything correctly first.


See 'btrfs filesystem df' and 'btrfs filesystem usage'

The 'usage' subcommand is probably more useful, it's newer and was
meant to resolve the confusion with show and df, as well as combined
their information. show and df are almost considered legacy, but will
continue to be around for a while.


# btrfs fi df /mnt/1
Data, RAID1: total=1.00GiB, used=457.50MiB
System, RAID1: total=32.00MiB, used=16.00KiB
Metadata, RAID1: total=1.00GiB, used=592.00KiB
GlobalReserve, single: total=16.00MiB, used=0.00B

# btrfs fi us /mnt/1
Overall:
    Device size:         100.00GiB
    Device allocated:           4.06GiB
    Device unallocated:          95.94GiB
    Device missing:             0.00B
    Used:             916.19MiB
    Free (estimated):          48.52GiB    (min: 48.52GiB)
    Data ratio:                  2.00
    Metadata ratio:              2.00
    Global reserve:          16.00MiB    (used: 0.00B)

Data,RAID1: Size:1.00GiB, Used:457.50MiB
   /dev/dm-7       1.00GiB
   /dev/mapper/VG-testbtr1       1.00GiB

Metadata,RAID1: Size:1.00GiB, Used:592.00KiB
   /dev/dm-7       1.00GiB
   /dev/mapper/VG-testbtr1       1.00GiB

System,RAID1: Size:32.00MiB, Used:16.00KiB
   /dev/dm-7      32.00MiB
   /dev/mapper/VG-testbtr1      32.00MiB

Unallocated:
   /dev/dm-7      47.97GiB
   /dev/mapper/VG-testbtr1      47.97GiB


>
> Lastly if I'm reading correctly the system will NOT automatically mount a
> degraded array, how can I force it to automatically mount on a reload even
> if the array is degraded.

Device failure notification and recovery is distinctly weak and manual
on Btrfs right now. There are some patches available upstream that are
being tested, but I don't expect them to get into kernel 4.6.

You could use the 'degraded' mount option in fstab, but then that
shows as a mount option and kernel messages, the same as if you're
really degraded. So you have no idea if you're really degraded or not
unless you check 'btrfs fi show' or 'btrfs fi us'.

You really need to know if you've mounted degraded because there's no
automatic rebuilds either. So if devid1 mounts degraded silently and
devid2 appears later, well it's not going to get added back in
automatically. Even more neat, is if you're making changes to devid1
and not devid2, then later they get mounted together, devid2 is not
automatically caught up with devid1. You have to scrub for it to catch
up. If you don't scrub and then later let's say devid1 is late and
doesn't get mounted, but devid2 mounts and you write to it, now you
have different writes to devid1 and devid2 and if they're later
combined again, the file system will totally face plant, it's
generally complete corruption.

So anyway, I don't recommend using degraded in fstab. Instead use
nofail, so the startup isn't left hanging while waiting for it to
mount. And then you'll figure out something is wrong since your stuff
isn't where you expect it at /home2, and you can investigate the
problem and make sure if you have to mount degraded that if you later
get the missing device reattached or whatever the problem was, you can
then scrub to make sure they're both on the same page.



Chris Murphy
--
users mailing list
users@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe or change subscription options:
http://lists.fedoraproject.org/admin/lists/users@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: http://fedoraproject.org/code-of-conduct
Guidelines: http://fedoraproject.org/wiki/Mailing_list_guidelines
Have a question? Ask away: http://ask.fedoraproject.org



[Index of Archives]     [Older Fedora Users]     [Fedora Announce]     [Fedora Package Announce]     [EPEL Announce]     [EPEL Devel]     [Fedora Magazine]     [Fedora Summer Coding]     [Fedora Laptop]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Desktop]     [Fedora Fonts]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Yosemite News]     [Gnome Users]     [KDE Users]     [Fedora Art]     [Fedora Docs]     [Fedora Sparc]     [Libvirt Users]     [Fedora ARM]

  Powered by Linux