15:06:19 <kowenh> #startmeeting 15:06:20 <zodbot> Meeting started Tue Apr 20 15:06:19 2010 UTC. The chair is kowenh. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:06:22 <zodbot> Useful Commands: #action #agreed #halp #info #idea #link #topic. 15:06:51 <kowenh> thanks for 'meeting' with me 15:07:11 <josef> np 15:08:19 <kowenh> So, i guess you could start by telling us a little bit about yourself 15:08:55 <josef> sure thing 15:09:46 <josef> I've worked for Red Hat for almost 6 years now, originally I was an intern in our support organization, and eventually I ended up in the filesystem kernel group a few years ago 15:10:26 <josef> when Chris Mason announced BTRFS in 2007 (I think) I started poking around on it, mostly trying to do little things to make it more feature complete 15:10:47 <josef> before that most of my filesystem experience was with GFS/GFS2, our clustered filesystem 15:11:04 <josef> so moving to a non-clustered fs was quite a nice change :) 15:11:31 <josef> ever since then I've devoted probably 1/2-3/4 of my work time to BTRFS 15:11:56 <kowenh> OK, so BTRFS started in 2007. What is it exactly? 15:12:19 <josef> So its a new filesystem thats trying to bring in some more modern features to linux 15:12:54 <josef> for example it has snapshotting and subvolume support built into the filesystem, instead of having to rely on another layer, such as LVM, to give you those features 15:13:53 <josef> it has some unique data integrity features, such as checksumming for all data and metadata 15:14:24 <josef> and we use a method call copy-on-write to deal with general data integrity, instead of the traditional journaling filesystems like ext4 and xfs 15:15:01 <kowenh> That sounds really interesting, but unfortunately I'm only in my second semester of computer science and don't exactly understand all of those features. 15:15:26 <josef> hehe ok i'll explain them a little bit more 15:15:42 <kowenh> thanks 15:16:01 <josef> so snapshotting means that you can create an exact copy of the volume at a given point in time 15:16:18 <josef> this is usefull for backup programs that don't want to have to deal with a changing filesystem 15:16:30 <josef> you can take a snapshot of the filesystem, and then backup from the snapshot 15:17:02 <josef> for Fedora we've used this feature to give us extra safety when doing yum transactions 15:17:30 <josef> so right before doing a big yum update our plugin will take a snapshot of the filesystem, so now you have two copies of the filesystem 15:17:43 <josef> then yum does its update onto your original volume 15:18:00 <josef> then if something goes horribly wrong, you can "rollback" to the snapshot that was taken before you did the yum update 15:18:15 <kowenh> that makes sense 15:18:57 <josef> you do this by making the snapshot the default volume to be mounted, so next time you reboot your system will be just like it was before you ran a yum update 15:19:20 <josef> and then you can mount the broken volume somewhere else and try and fix things manually 15:19:59 <kowenh> got it 15:20:28 <josef> subvolumes are just a different way to organize your data 15:20:53 <josef> because BTRFS has built in RAID, the idea is that in the future you will be able to assign different RAID profiles to different subvolumes 15:21:09 <kowenh> what is RAID? 15:21:35 <josef> RAID is a way to organize data across several disks 15:21:42 <kowenh> ok 15:21:48 <josef> and there are different levels 15:21:59 <mchua> http://en.wikipedia.org/wiki/RAID (although, honestly, my eyes would glaze over while reading this if I didn't already know about it) 15:22:20 <josef> so RAID0 is called striping, that does basically what LVM does, takes 2 disks and makes them look like 1 big disk 15:22:52 <josef> and RAID1 which is called mirroring, it will take 2 disks and copy the data between the two of them and make it look like 1 disk 15:23:49 <josef> so for example if you have 2 disks, and you don't really care about your OS, but you really want your /home directory to be mirrored in case one disk fails, you can create a subvolume for / and use just the normal data profile, and then create a /home directory and set its data profile to be RAID1 15:24:01 <josef> then anything you write to /home will be copied between the two disks 15:24:25 <josef> so if one of your hard drives dies you can recover all of your /home data from the other drive 15:24:45 <kowenh> ok. i understand that. 15:24:49 <josef> sorry this is alot of information :) 15:25:03 <kowenh> that's ok. it's really interesting to me :) 15:26:08 <josef> good :) 15:26:18 <kowenh> are snapshots and RAID components/features of Btrfs? 15:27:01 <josef> yes, BTRFS has a bunch of volume management type features along with being a normal filesystem 15:27:32 <josef> i dont think i said this explicitly, but BTRFS can deal with having multiple disks within itself 15:27:36 <josef> instead of having to use MD or LVM 15:27:47 <josef> which is what lets us do things like RAID1 and such 15:28:32 <kowenh> what do MD and LVM stand for? 15:29:29 <josef> LVM stands for logical volume management, the default install of Fedora puts everything in a LVM volume group 15:30:02 <kowenh> so Btrfs is not the default for Fedora 13? 15:30:09 <josef> I'm not entirely sure what MD stands for, but its what gives linux Software RAID 15:30:20 <josef> oh no, its not ready for primetime yet :) 15:30:35 <josef> its still very much an experimental fs that is under heavy development 15:30:58 <josef> alot of the key features are there, but alot of stabilizing and such needs to be done still 15:31:16 <kowenh> haha. ok. so Fedora 13 users can opt to use it? (and probably work on it?) 15:31:43 <josef> yes if you give the installer the "btrfs" option on boot it will allow you to install onto a BTRFS fs 15:32:13 <josef> it's been an option since Fedora 11, the box I'm currently working on is Fedora 11 with a BTRFS root 15:32:27 <josef> course it is much faster and much more stable in Fedora 13 :) 15:32:37 <kowenh> ah. and if the installer does this, how do they use BTRFS? is it automatic? 15:33:04 <josef> you just select a custom disk layout instead of the default one 15:33:23 <josef> and then when you setup your volumes you tell it to format the volume as BTRFS instead of EXT4 15:33:44 <josef> you still need to have a seperate /boot partition that needs to be formatted as ext3 since Fedora 13's grub doesnt have BTRFS support yet 15:34:04 <kowenh> what exactly does that mean? 15:34:39 <josef> so the default layout for everybody already looks like this when you do an install 15:34:53 <josef> you get a /dev/sda1 and a /dev/sda2 (or whatever) 15:35:10 <josef> the first partition is around 250 megabytes, and gets formatted as ext3 15:35:14 <josef> and given the mountpoint of /boot 15:35:40 <josef> then usually /dev/sda2 is made into a volumegroup and there are different logical volumes added to that which are formatted as ext4 15:36:04 <josef> instead of doing that you want to have your first partition be formatted as ext3 and have the mountpoint of /boot just like normal 15:36:29 <josef> and then you can change your / logical volume to have a fs type of btrfs instead of ext4 15:36:39 <josef> if you use the normal layout option in anaconda 15:37:04 <josef> I usually create a /dev/sda1 for /boot, a /dev/sda2 for swap, and then a /dev/sda3 for / which is formatted as BTRFS 15:37:21 <kowenh> so, the RAID makes the 2 files and then the one is changed to BTRFS? 15:37:25 <kowenh> oh 15:38:04 <josef> well our default layout makes 2 partitions, one that is used for /boot, and one that is used for LVM 15:38:25 <josef> within that volumegroup you generally have 2 volumes, one for swap, and one for / that is formatted as ext4 15:38:49 <josef> if you want the easiest way of changing it you can tell it to just give you the default layout, and then choose to review the layout before creating it 15:39:10 <josef> then when it takes you to the review screen you can change the logical volume that is formatted as ext4 to be formatted as BTRFS 15:39:27 <kowenh> ok. and this is for the installer who chooses to have BTRFS? 15:39:29 <kowenh> ah. ok 15:39:47 <josef> right 15:40:34 <kowenh> are there any screenshots/tutorials for users? or is BTRFS generally meant for users who sort of know what they're doing? 15:41:32 <josef> I dont think there are any tutorials yet, since BTRFS is still experimental we want to try and make sure that only people who know the risks are able to use it 15:41:52 <josef> though I think at this point it may be a good thing to put together 15:43:08 <kowenh> ah. ok. (i think you might have said this) but definitely not ready for widespread release/use yet? 15:43:31 <josef> nope not yet :) 15:43:51 <josef> for one thing there is no working fsck, so if something goes wrong the only way to fix your filesystem is to reformat and restore from backups 15:44:10 <kowenh> got it. 15:44:35 <kowenh> are there time goals for the project? 15:44:47 <josef> that is a very populare question :) 15:45:19 <josef> my own personal goal is to have the special "btrfs" anaconda option taken away by Fedora 15, so that anybody can choose to use it 15:45:37 <josef> and then hopefully have everything stable enough to be the default in Fedora 16 or 17 15:46:04 <kowenh> ah. ok. (anaconda means test?) 15:46:04 <josef> so hopefully fall of next year it will be stable enough for it to be the default Fedora filesystem 15:46:30 <josef> oh no mean then "btrfs" option you have to give the installer to get the ability to use BTRFS during hte install 15:46:46 <josef> i want to take that away so that any user can just use BTRFS if they choose without having to give the installer a special option 15:47:07 <kowenh> ah ok. so now you have to get permission to use it? 15:47:50 <josef> you don't have to have permission, you just have to know how to turn it on :) 15:48:06 <josef> so when you first see the installer screen when booting up an install disk 15:48:06 <kowenh> ok. haha. got it (sorry for all the clarification questions) 15:48:16 <josef> just hit tab and you will have a boot prompt 15:48:30 <josef> type in linux btrfs and hit enter and you will have the option of formatting your volume with btrfs 15:49:02 <kowenh> ok. that makes sense 15:51:41 <kowenh> is there anything else you think is important for people to know about BTRFS? in general and as it relates to Fedora 13? 15:53:05 <josef> just to keep in mind that it is a new filesystem that is constantly changing, so if you are going to use it with data you care about you need to make sure to back up regularly 15:54:40 <kowenh> Excellent. good advice. 15:54:58 <josef> as for Fedora 13, if you install on btrfs and want to use the rollback feature you'll want to install the yum plugin for it 15:55:12 <josef> i'm trying to find the name of it, i think its yum-plugin-fssnapshot 15:55:38 <kowenh> where do you go for the yup plugin? 15:56:00 <josef> its in the Fedora 13 repos i think 15:56:03 <josef> i'm double checking 15:56:42 <josef> but you'll want to keep in mind that the plugin will create a snapshot _every_ time you do a yum action, so you will get alot of /yum-<date> snapshots building up in your / directory 15:56:50 <josef> so you should delete them every once and a while 15:57:24 <kowenh> yeah. don't want un-needed data building up :) 15:57:27 <josef> oh ok its yum-plugin-fs-snapshot 15:57:31 <josef> right :) 15:57:52 <josef> ok i just checked, that plugin is in the normal repos 15:58:03 <josef> so you can just do yum install yum-plugin-fs-snapshot 15:58:11 <kowenh> ok 15:58:12 <josef> and it will start working automagically :) 15:58:43 <kowenh> nice 16:01:56 <kowenh> So, unless you have any more words of wisdom, or think that there's something we didn't cover (that i wouldn't know to ask about), thank you so much for your time. 16:02:59 <josef> I'm good, thank you for doing all of this, this subject matter can be kind of dry :) 16:03:25 <kowenh> I find it interesting (or at least the parts i understand) 16:04:25 <josef> I'm glad, its hard to find comp sci people who like storage stuff :) 16:05:32 <kowenh> well, thanks again. I'm going to end the logging now. 16:05:53 <josef> sounds good, thanks for doing this :) 16:06:09 <kowenh> glad to help and thank you 16:06:16 <kowenh> #endmeeting