Recently I installed a ubuntu to drive a storage server (raid6) over 8 x
10TB disks plus 1 ssd cache disk and I found some features missing in
order to be able in create subpartition of md0 and to pass some advanced
options such as "-E lazy_itable_init=0,lazy_journal_init=0" to ext4
formatter.
Follow the procedure I used with missing feature highlighted:
- through manual partitioning
- created gpt bios boot (1M) and RAID physical foreach of raid drive members
- created raid level 6 using raid physical partitions
- *missing* : created two _raid partitions_ md0p1 (5GB to hold /boot),
md0p2 ; I needed to create a fake ext4 partition in order to allow
partman to initialize partition with gpt by selecting md0 showing FREE
SPACE from where I can now create my partitions. Elsewhere I can only
create a single LVM on md0 but this can't work for the purpose of ssd
caching because I need a un-cached partition ( md0p1 ) to load dm-cache
modules at boot.
- created two physical LVM : vg0 (md0p1) and vg1 (md0p2)
- created two logical volumes : boot (vg0) and root (vg1)
- *missing* : unable to pass _extended options_ such as
lazy_itable_init=0 to ext4. This is important on a 50TB filesystem where
background itable initialization can take days and itable_init=0 to
mount option reduce that time but still hours instead of 15 mins because
it flush only about 15mb/s while with extended lazy_itable_init=0 at
filesystem allocation it works at max speed.
/suggestion/ : _raid reconstruction_ during install can slow down
installation, would helpful when create raid to allow a checkbox (
disable reconstruction during install ) eg. echo 0 >
/proc/sys/dev/raid/speed_limit_max . At reboot it will return to default
200000