marshallzhu 发表于 2013-1-15 02:35:51

expand ROOT filesystem size @ Oracle VM

1.dd a new bigger file than /OVS/styks, for example:create a 30G file,named styks_2. the file will be your new /dev/xvda.
# dd if=/dev/zero of=/OVS/styks_2 bs=5M count=6000

2. shutdown the VM and then dd your image file, /OVS/styks to the bigger file.
#dd if=/OVS/styks of=/OVS/styks_2 conv=notrunc

3. start VM guest using the new bigger image file, and log in system
replace this line in your vm.cfg file and restart your Guest VM
from:
disk = [ 'file:/OVS/styks,xvda,w', ]
to
disk = [ 'file:/OVS/styks_2,xvda,w', ]

4. @dom0 mount the image file, and the fdisk the parition
# losetup /dev/loop2 ./styks_2
# fdisk -l -u /dev/loop2
# fdisk -u /dev/loop2
# fdisk -u /dev/loop2

The number of cylinders for this disk is set to 3824.
There is nothing wrong with that, but this is larger than 1024,
and could in certain setups cause problems with:
1) software that runs at boot time (e.g., old versions of LILO)
2) booting and partitioning software from other OSs
   (e.g., DOS FDISK, OS/2 FDISK)

Command (m for help): p

Disk /dev/loop2: 31.4 GB, 31457280000 bytes
255 heads, 63 sectors/track, 3824 cylinders, total 61440000 sectors
Units = sectors of 1 * 512 = 512 bytes

      Device Boot      Start         End      Blocks   IdSystem
/dev/loop2p1   *          63       64259       32098+83Linux
/dev/loop2p2         64260   8562644   4249192+83Linux
/dev/loop2p3         8562645    12739544   2088450   82Linux swap / Solaris

Command (m for help): d
Partition number (1-4): 3

Command (m for help): d
Partition number (1-4): 2

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 2
First sector (64260-61439999, default 64260):
Using default value 64260
Last sector or +size or +sizeM or +sizeK (64260-61439999, default 61439999): 57263100

Command (m for help): n
Command action
   e   extended
   p   primary partition (1-4)
p
Partition number (1-4): 3
First sector (57263101-61439999, default 57263101):
Using default value 57263101
Last sector or +size or +sizeM or +sizeK (57263101-61439999, default 61439999):
Using default value 61439999

Command (m for help): v
62 unallocated sectors

Command (m for help): t
Partition number (1-4): 3
Hex code (type L to list codes): 82
Changed system type of partition 3 to 82 (Linux swap / Solaris)

Command (m for help): p

Disk /dev/loop2: 31.4 GB, 31457280000 bytes
255 heads, 63 sectors/track, 3824 cylinders, total 61440000 sectors
Units = sectors of 1 * 512 = 512 bytes

      Device Boot      Start         End      Blocks   IdSystem
/dev/loop2p1   *          63       64259       32098+83Linux
/dev/loop2p2         64260    57263100    28599420+83Linux
/dev/loop2p3      57263101    61439999   2088449+82Linux swap / Solaris

Command (m for help): w
The partition table has been altered!



Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 22: Invalid argument.
The kernel still uses the old table.
The new table will be used at the next reboot.
Syncing disks.


   

# fdisk -u -l /dev/loop2
# losetup -d /dev/loop2


5. reboot the VM
# fdisk -l
# df -h
# resize2fs/dev/xvdb2
# mkswap /dev/xvdb3
# reboot
页: [1]
查看完整版本: expand ROOT filesystem size @ Oracle VM