[CentOS] kickstart raid disk partitioning

Fri Nov 19 09:43:40 UTC 2010
Rudi Ahlers <Rudi at SoftDux.com>

On Fri, Nov 19, 2010 at 11:32 AM, Roberto Nunnari
<roberto.nunnari at supsi.ch> wrote:
> Digimer ha scritto:
>> On 11/18/2010 01:11 PM, Roberto Nunnari wrote:
>>> Hello.
>>>
>>> A couple of years ago I installed two file-servers
>>> using kickstart. The server has two 1TB sata disks
>>> with two software raid1 partitions as follows:
>>>
>>> # cat /proc/mdstat
>>> Personalities : [raid1]
>>> md1 : active raid1 sdb4[1] sda4[0]
>>>         933448704 blocks [2/2] [UU]
>>> md0 : active raid1 sdb1[1] sda2[2](F)
>>>         40957568 blocks [2/1] [_U]
>>>
>>>
>>> Now the drives are starting to be failing and next week I'll
>>> backup /homes, reinstall OS with kickstart, and finally
>>> restore /homes.
>>>
>>> There's a problem with how the kickstart process partitions
>>> the disks, though. As you may have noticed above, md0 is made
>>> up of sdb1 and sda2.
>>>
>>> Could anybody help me understand how to make the partitions
>>> on the two drives identical still using kickstart?
>>>
>>> Here's the relevant part from the kickstart file:
>>>
>>> zerombr yes
>>> clearpart --all --initlabel
>>> bootloader --location=mbr
>>> part /boot --fstype ext3 --size 250 --asprimary --ondisk sda
>>> part swap --size 2048 --asprimary --ondisk sda
>>> part raid.01 --size 40000 --asprimary --ondisk sda
>>> part raid.03 --size 1 --grow --asprimary --ondisk sda
>>> part /boot2 --fstype ext3 --size 250 --asprimary --ondisk sdb
>>> part swap --size 2048 --asprimary --ondisk sdb
>>> part raid.02 --size 40000 --asprimary --ondisk sdb
>>> part raid.04 --size 1 --grow --asprimary --ondisk sdb
>>> raid / --level=1 --device=md0 --fstype ext3 raid.01 raid.02
>>> raid /home --level=1 --device=md1 --fstype ext3 raid.03 raid.04
>>>
>>> ..but here's the produced partitioning on the two drives:
>>>
>>> # parted /dev/sda print
>>> Disk geometry for /dev/sda: 0.000-953869.710 megabytes
>>> Disk label type: msdos
>>> Minor    Start       End     Type      Filesystem  Flags
>>> 1          0.031    251.015  primary   ext3        boot
>>> 2        251.016  40248.786  primary   ext3        raid
>>> 3      40248.787  42296.132  primary   linux-swap
>>> 4      42296.133 953867.219  primary   ext3        raid
>>>
>>> # parted /dev/sdb print
>>> Disk geometry for /dev/sdb: 0.000-953869.710 megabytes
>>> Disk label type: msdos
>>> Minor    Start       End     Type      Filesystem  Flags
>>> 1          0.031  39997.771  primary   ext3        boot, raid
>>> 2      39997.771  42045.117  primary   linux-swap
>>> 3      42045.117  42296.132  primary   ext3
>>> 4      42296.133 953867.219  primary   ext3        raid
>>>
>>>
>>> I'm not asking because I'm picky, but just because, it would
>>> have made my life easier to fix bad blocks on disks by
>>> dd from good block on disk1 to bad block on disk2, and as
>>> next week I'll reinstall, I'd prefer to do it the right way.
>>>
>>> Some more bits about my environment:
>>>
>>> # cat /etc/redhat-release
>>> CentOS release 4.8 (Final)
>>>
>>> # uname -rms
>>> Linux 2.6.9-89.0.18.ELsmp i686
>>>
>>> Thank you and best regards.
>>> Robi
>>
>> I've got a fairly simple script in a kickstart file I use[1] that
>> handles RAID 1 and RAID 5 partitioning. Perhaps it would help? Here is
>> the relevant snippet:
>>
>> zerombr
>> clearpart --all --initlabel --drives=sda,sdb
>> ignoredisk --only-use=sda,sdb
>> bootloader  --location=mbr --driveorder=sda,sdb --append="crashkernel=auto"
>>
>> # /boot
>> part raid.01 --ondisk=sda --asprimary --size=256
>> part raid.02 --ondisk=sdb --asprimary --size=256
>> # /
>> part raid.11 --ondisk=sda --asprimary --size=40960
>> part raid.12 --ondisk=sdb --asprimary --size=40960
>> # <swap>
>> part raid.21 --ondisk=sda --asprimary --size=4096
>> part raid.22 --ondisk=sdb --asprimary --size=4096
>>
>> # Format /boot and /.
>> raid /boot --fstype=ext3 --level=1 --device=md0 raid.01 raid.02
>> raid /     --fstype=ext3 --level=1 --device=md1 raid.11 raid.12
>> raid swap  --fstype=swap --level=1 --device=md2 raid.21 raid.22
>>
>> The kickstart script above is specifically for RHEL 6, but it came
>> nearly unadapted from an older CentOS 4 kickstart script. The only line
>> that might be an issue is: "crashkernel=auto".
>>
>> hth,
>>
>> Digimer
>>
>> 1. http://wiki.alteeve.com/files/an-cluster/ks/generic_server_rhel6.ks
>
> Thank you for your reply.
>
> Does that kickstart effectly produces a partitioning that is
> exactly the same on both disks? Because that is the problem
> I'm facing: the partitioning produced by the kickstart
> is different on the two drives.
>
> Also, why did you put /boot and swap in raid? Was it for
> obtaining identical partitioning on both drives?
> For swap, the kernel already does performance optimization
> when swap partitions are on different drives, and /boot..
> I always tended to keep /boot be as simple as possible, to avoid
> any problem during boot.. but maybe, these days with initramdisk
> there's no more need for that..
>
> Best regards.
> Robi
> _______________________________________________
> CentOS mailing list
> CentOS at centos.org
> http://lists.centos.org/mailman/listinfo/centos
>

Well, if the first drive fails, where you put /boot then you won't be
able to boot-up the 2nd HDD :)

So put /boot on a RAID1 partition so that it gets mirrored on both
drives for better redundancy

-- 
Kind Regards
Rudi Ahlers
SoftDux

Website: http://www.SoftDux.com
Technical Blog: http://Blog.SoftDux.com
Office: 087 805 9573
Cell: 082 554 7532