Growing HW RAID arrays, Online

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



We add disks to an LSI raid array periodically to increase the amount
of available space for business needs.

It is understood that this process starts with metal, and has many
layers that must each adjust to make use of the additional space.
Each of these layers also says that it can do that 'online' without
interruption or rebooting.  But making it happen is not that easy.

When the HW raid controller's grow completes, we echo 1 to
/sys/bus/scsi/devices/#:#:#:#/rescan and the kernel notices and
updates the size of the block device. (sdc in this case) sdc1 is the
only partition on the device, and should consume the entire device.

sdc1 is a PV in a VG that holds production data and must not become
unavailable at any time.  After growing sdc as mentioned earlier,
parted notices that the end-of-drive partition table is missing, fixes
it, and grows its disk size to match the new size of sdc.

It all makes sense up to this point. but what happens next is what I
need some advice on. How do we grow sdc1, online? parted says it
doesn't support 'resize' on the filesystem (LVM PV).

The usual answer to parted's lack of support for filesystems, and
insistence to only resize partitions when it can stick its nose in the
filesystem and do that too is: parted sdc rm 1, parted mkpart primary
0% 100%  (thus making a new partition "Around" the old one)

That should work, but I can't get the kernel to 'notice' that sdc1 is
now larger. hdparm -z barfs up an error that sdc is in use. I know
that rebooting likely will fix it. But we cannot reboot. We also
cannot keep making more partitions every time we add a disk. So that's
not a solution either. We need to GROW the gpt partitions online, or
use another partitioning type that supports >6TB I've googled it for
hours and found no good solutions.

This same situation would affect VMs with virtual disks that grow over
time to satisfy business needs, as well as servers mounting iSCSI/FC
storage that grows over time. How would you grow this online?

Going without partitions at all and putting the pv directly on sdc is
no good either.  So we need partitions, and msdos tables don't support
>2TB and the only other in practical use that I know of is gpt, and
thse aparently can't expand online!

Here's where I'm at now in case you're curious
[root@host lib]# parted /dev/sdc unit s print free

Model: SMC SMC2108 (scsi)
Disk /dev/sdc: 8189439999s
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start  End          Size         File system  Name     Flags
 1      34s    8189439966s  8189439933s               primary

Information: Don't forget to update /etc/fstab, if necessary.

[root@host lib]# cat  /sys/bus/scsi/devices/0\:2\:2\:0/block\:sdc/size
8189440000
[root@host lib]# cat  /sys/bus/scsi/devices/0\:2\:2\:0/block\:sdc/sdc1/size
7019519933

# I bet the above 7billion will be around 8billion at the next reboot.
 (Each physical disk has about a billion sectors

-- 
Billy Crook * Network and Security Administrator * RiskAnalytics, LLC
_______________________________________________
CentOS mailing list
CentOS@xxxxxxxxxx
http://lists.centos.org/mailman/listinfo/centos




[Index of Archives]     [CentOS]     [CentOS Announce]     [CentOS Development]     [CentOS ARM Devel]     [CentOS Docs]     [CentOS Virtualization]     [Carrier Grade Linux]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Linux USB]
  Powered by Linux