Increase Linux partition size

Hi All,

this should be probably a already asked question but highly appreciate if someone can guide me on this

i have a business critical linux system (which is running a SMS system) where one of it's partition size is shrinking
i want to know the possible options of increasing the size of that partition without having any downtime(system reboot etc..).

fdisk and df -h outputs are as below (the partition with issue is bases)

[lkcopr01 bdb2]# fdisk -l

Disk /dev/cciss/c0d0: 72.8 GB, 72833679360 bytes
255 heads, 32 sectors/track, 17433 cylinders
Units = cylinders of 8160 * 512 = 4177920 bytes

           Device Boot    Start       End    Blocks   Id  System
/dev/cciss/c0d0p1   *         1        64    261104   83  Linux
/dev/cciss/c0d0p2            65       578   2097120   82  Linux swap
/dev/cciss/c0d0p3           579      1092   2097120   82  Linux swap
/dev/cciss/c0d0p4          1093     17433  66671280    f  Win95 Ext'd (LBA)
/dev/cciss/c0d0p5          1093      7500  26144624   83  Linux
/dev/cciss/c0d0p6          7501      9042   6291344   83  Linux
/dev/cciss/c0d0p7          9043      9556   2097104   82  Linux swap
/dev/cciss/c0d0p8          9557     10070   2097104   82  Linux swap
/dev/cciss/c0d0p9         10071     17433  30041024   83  Linux
[lkcopr01 bdb2]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/cciss/c0d0p6     6.0G  2.6G  3.1G  47% /
/dev/cciss/c0d0p9      29G   26G  971M  97% /bases
/dev/cciss/c0d0p1     247M   15M  220M   7% /boot
/dev/cciss/c0d0p5      25G   17G  6.5G  73% /home
none                  2.0G     0  2.0G   0% /dev/shm
lkcocm01:/mnt/mms/mail/0
                      136G  125G   12G  92% /bases/mms/mail/0
lkcocm01:/mnt/mms/tmp
                      136G  125G   12G  92% /bases/mms/tmp
lkcocm01:/mnt/mms/mms_cdr
                      136G  125G   12G  92% /home/proxy/var/log/chc

please help on this since i don't think i can manage this partition for long period:confused:

thanks
Asela

---------- Post updated 01-24-11 at 12:08 AM ---------- Previous update was 01-23-11 at 11:57 PM ----------

i have heard about LVM but don't know can use same regarding this case(without rebooting and with out losing any data)

In general, there are few cases where a filesystem can be changed without any downtime (although it's possible to keep it in the minutes range).

The problem with your setup is that the disk is already completely used up. You might get away with re-allocating 1 GB from the root partition, but that would mean downtime as the restructuring would have to be done mostly from a Live-CD.

Option is this:

Create a new partition same size as the old one.
Copy contents to it.
umount the old one, mount the new one... (a few seconds downtime)... will have to bounce services.
Expand the old partition:
fdisk /dev/cciss/c0d0
d
u
u
p
n
p
1,2,3,4???
start
end
w
q
resize2fs /dev/cciss/c0d0p9
fsck.ext3 -f /dev/cciss/c0d0p9
Then umount the new partition, and mount the expanded old one. (a few secs and service reboots again).

What would be so much more easy, is if you can provision a new partition then just mount it in the same location, however, your device path will have to change. (if that matters)

On the other hand, if you want to change things "live" live, then you will need something like zfs

Could you please confirm that LVM is configured on your server or not?
lvmdisplay/vgdisplay commands.
I hope you are pointing to :
/dev/cciss/c0d0p9 29G 26G 971M 97% /bases so is it from the Local Disk or coming from the SAN?

Solutions might be:

  1. If connected to SAN, then LUN can be extended from SAN & can be resized on OS level.
  2. If not connected to SAN, having local Disk then LVM must be configured and your current local disk must have space to attach another PV to the current VG to extend this filesystem.

Hope this help....

Another issue that I see is that you seem to have multiple swap partitions on the same disk. Why are you doing this? Do you actually use that much swap? How much memory do you have in this system? What is the output of the following command:

vmstat -s -S M | egrep 'swap|mem'