From Fedora Project Wiki
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 9: | Line 9: | ||
| fedora_mailing_list = test | | fedora_mailing_list = test | ||
}} | }} | ||
{{admon/warning | In construction | The Test Day page is yet in construction. It will be ready for the Test Day - when this message is removed :) .}} | |||
{{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}} | {{admon/note | Can't make the date? | If you come to this page before or after the test day is completed, your testing is still valuable, and you can use the information on this page to test, file any bugs you find at [http://bugzilla.redhat.com Bugzilla], and add your results to the results section. If this page is more than a month old when you arrive here, please check the [[QA/Test_Days|current schedule]] and see if a similar but more recent Test Day is planned or has already happened.}} | ||
Line 14: | Line 16: | ||
== What to test? == | == What to test? == | ||
Today's instalment of Fedora Test Day will focus on SSD Caching in Fedora 20 | Today's instalment of Fedora Test Day will focus on bcache based SSD Caching in Fedora 20. Although dm-cache is another SSD caching implementation, today we'll only focus on the bcache implementation. | ||
Although dm-cache is another SSD caching implementation, today we'll only focus on the bcache implementation. | |||
=== General test objective === | === General test objective === | ||
Line 44: | Line 44: | ||
* Quality Assurance - [[User:ignatenkobrain|Igor Gnatenko]] (ignatenkobrain), [[User:rolffokkens|Rolf Fokkens]] (rolffokkens) | * Quality Assurance - [[User:ignatenkobrain|Igor Gnatenko]] (ignatenkobrain), [[User:rolffokkens|Rolf Fokkens]] (rolffokkens) | ||
== | == Prerequisite for the Test Day == | ||
=== Limitations === | === Limitations === | ||
Line 67: | Line 64: | ||
* internet connection | * internet connection | ||
* bootable media containg | * bootable media containg Rawhide/F20 (?) netinst (?) image. | ||
=== Other requirements === | === Other requirements === | ||
Line 99: | Line 70: | ||
* Knowledge on how to use the Linux command line (There's no graphical installer yet) | * Knowledge on how to use the Linux command line (There's no graphical installer yet) | ||
* A desire to break software | * A desire to break software | ||
=== Further reading === | |||
Here's a chunk which is commonly used for most Test Days. Replace XX with whatever Fedora release is pending: | |||
* An updated [http://fedoraproject.org/get-prerelease Fedora 20 pre-release], [[Releases/Rawhide|Rawhide]] (tips on installing Rawhide below), or a [http://alt.fedoraproject.org/pub/alt/nightly-composes/desktop/ nightly live image] | |||
== How to test? == | == How to test? == | ||
Line 117: | Line 94: | ||
* it allows to install other packages later (yum groupinstall) as part of the test activities. | * it allows to install other packages later (yum groupinstall) as part of the test activities. | ||
Both the partitioning and the installation of Fedora can be done by any of the iso's in https://dl.fedoraproject.org/pub/alt/stage/, e.g. Fedora-20-Alpha-x86_64-netinst.iso. | |||
== Test Cases == | == Test Cases == | ||
Line 132: | Line 105: | ||
=== Test case 1.B: / on bcache (no LVM) === | === Test case 1.B: / on bcache (no LVM) === | ||
==== step 1: / on bcache with fallback ==== | |||
Now we have a stable system with /home on bcache, we can go forward and have / on bcache. Consider thought that bcache is EXPERIMENTAL! | |||
To get / on bcache we'll stop using /home on bcache first: | |||
* if needed make a bachup of /home on your root filesystem. | |||
* comment /home out in your /etc/fstab | |||
* umount /home | |||
* if needed restore your bachup to the /home directory | |||
Now your /home is in your root filesystem. Next: | |||
* create a new filesystem on /dev/bcache0: mkfs -t ext4 -L ROOTFS /dev/bcache0 | |||
* mount it: mount /dev/bcache0 /mnt | |||
* copy your current root filesystem to /mnt: cp -ax / /mnt | |||
* edit /mnt/fstab so your root fs is mounted like: LABEL=ROOTFS / ext4 defaults 1 1 | |||
Now we have a duplicate root filesystem on /dev/bcache0. To use it we need to build a new initramfs: | |||
* rename your current initramfs: mv /boot/initramfs...img /boot/initramfs...img.sav | |||
* create a new initramfs: dracut -N | |||
Now reboot your system. Edit your default grub entry: | |||
* replace the root=UUID=... parameter in the "linux" line by: root=LABEL=ROOTFS | |||
* boot it. | |||
If all goes well, your system now boots fine and it's running on bcache! | |||
* Edit your /etc/grub2.cfg file.. | |||
* .. duplicate the first "menuentry ... { ...}" (about 15 lines). | |||
* Now change the first one and replace the root=UUID=... parameter in the "linux" line by root=LABEL=ROOTFS | |||
* reboot again | |||
Now your system should boot fine. | |||
==== step 2: / on bcache no fallback ==== | |||
Now your system boots fine you can drop the fallback root filesystem. Consider though that bcache is EXPERIMENTAL and a fallback may be important. | |||
=== Test case 2.A: /home on bcache (LVM)=== | === Test case 2.A: /home on bcache (LVM)=== | ||
Once your fresh Fedora 20 system is running, we will "move" /home to a Logical Volume (LVM) on a bcache device. Because of the flexibility that LVM provides the approach is quite different from page 1.A, for example we'll start by using sda4! | Once your fresh Fedora 20 system is running, we will "move" /home to a Logical Volume (LVM) on a bcache device. Because of the flexibility that LVM provides the approach is quite different from page 1.A, for example we'll start by using sda4! Do the following steps: | ||
* yum install bcache-tools lvm2 | |||
* Make /dev/sda4 a bcache backing device: make-bcache -B /dev/sda4 | |||
* Make /dev/sdb1 a bcache caching device: make-bcache -C /dev/sdb1 | |||
* Note the set uuid and attach /dev/sdb1 to /dev/sda2: echo <set uuid> > /sys/block/bcache0/bcache/attach | |||
Now you have a bcache device: /dev/bcache0 | |||
* use "bcache-status -s" to see details about your bcache device. | |||
* create a Physical Volume: pvcreate /dev/bcache0 | |||
* create a Volume Group: vgcreate BCACHE /dev/bcache0 | |||
* create a Logical Volume: lvcreate -L 2G -n HOME BCACHE | |||
* create a filesystem: mkfs -t ext4 -L HOME /dev/BCACHE/HOME | |||
This will be our new /home device. To use it first move the current /home to another mount point: | |||
* replace /home entry in your /etc/fstab: LABEL=HOME /home ext4 defaults 1 2 | |||
* mkdir /home.old | |||
* umount /home | |||
* mount /dev/sda2 /home.old | |||
* mount /home | |||
* cp -ax /home.old/* /home | |||
* umount /home.old | |||
* build a new initramfs with dracut??? | |||
Now we have a stable system with /home on LVM on bcache, we can go forward and have / on bcache. | Now you have a system with /home on LVM2 on bcache. | ||
* reboot your system to see if it boots OK. | |||
* do some other testing if you like. | |||
=== Test case 2.B: / on bcache (no LVM) === | |||
==== step 1: / on bcache with fallback ==== | |||
Now we have a stable system with /home on LVM on bcache, we can go forward and have / on bcache. Consider thought that bcache is EXPERIMENTAL! | |||
To get / on bcache: | |||
* create a Logical Volume: lvcreate -L 2G -n ROOTFS BCACHE | |||
* create a filesystem: mkfs -t ext4 -L ROOTFS /dev/BCACHE/ROOTFS | |||
* mount it: mount /dev/BCACHE/ROOTFS /mnt | |||
* copy your current root filesystem to /mnt: cp -ax / /mnt | |||
* edit /mnt/fstab so your root fs is mounted like: LABEL=ROOTFS / ext4 defaults 1 1 | |||
Now we have a duplicate root filesystem on /dev/BCACHE/ROOTFS. To use it we need to build a new initramfs: | |||
* rename your current initramfs: mv /boot/initramfs...img /boot/initramfs...img.sav | |||
* create a new initramfs: dracut -N | |||
Now reboot your system. Edit your default grub entry: | |||
* replace the root=UUID=... parameter in the "linux" line by: root=LABEL=ROOTFS | |||
* remove any rd.lvm=0 occurrence | |||
* boot it. | |||
If all goes well, your system now boots fine and it's running on bcache! | |||
* Edit your /etc/grub2.cfg file.. | |||
* .. duplicate the first "menuentry ... { ...}" (about 15 lines). | |||
* Now change the first one and replace the root=UUID=... parameter in the "linux" line by root=LABEL=ROOTFS | |||
* reboot again | |||
Now your system should boot fine. | |||
== Participants == | == Participants == | ||
Line 153: | Line 206: | ||
! User | ! User | ||
! IRC nickname | ! IRC nickname | ||
|- | |- | ||
| [[User:ignatenkobrain|Igor Gnatenko]] | | [[User:ignatenkobrain|Igor Gnatenko]] | ||
Line 167: | Line 217: | ||
== Test Results == | == Test Results == | ||
Construct a table or list to allow testers to post results. Each column should be a test case or configuration, and each row should consist of test results. Include some instructions on how to report bugs, and any special instructions. Here's an example, from a Palimpsest test day: | |||
If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for the component [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=13&component=bcache-tools bcache-tools]. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you. Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line. | If you have problems with any of the tests, report a bug to [https://bugzilla.redhat.com Bugzilla] usually for the component [https://bugzilla.redhat.com/enter_bug.cgi?product=Fedora&version=13&component=bcache-tools bcache-tools]. If you are unsure about exactly how to file the report or what other information to include, just ask on IRC and we will help you. Once you have completed the tests, add your results to the Results table below, following the example results from the first line as a template. The first column should be your name with a link to your User page in the Wiki if you have one. For each test case, use the [[Template:result|result template]] to enter your result, as shown in the example result line. | ||
Line 188: | Line 229: | ||
! References | ! References | ||
|- | |- | ||
| [[User: | | [[User:SampleUser|Sample User]] | ||
| {{result|none}} | |||
| {{result|none}} | | {{result|pass}} | ||
| {{result| | | {{result|warn}} <ref>Test pass, but also encountered {{bz|54321}}</ref> | ||
| {{result|fail}} <ref>{{bz|12345}}</ref> | |||
| {{result|warn}}<ref>Test pass, but | |||
| {{result| | |||
| <references/> | | <references/> | ||
|- | |- | ||
|} | |} | ||
[[Category:Test Days]] [[Category:Fedora 20 Test Days]] | |||