This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
linux:resize_disk [2021/11/11 12:49] manu |
linux:resize_disk [2021/11/11 13:12] (current) manu |
||
|---|---|---|---|
| Line 2: | Line 2: | ||
| ===== Disk without partitions ===== | ===== Disk without partitions ===== | ||
| + | |||
| + | Find the paths to the LUN: | ||
| + | <cli prompt='#'> | ||
| + | # multipath -ll | ||
| + | [...] | ||
| + | mpathc (200255c3a11080003) dm-38 NEC,DISK ARRAY | ||
| + | size=120G features='1 queue_if_no_path' hwhandler='1 alua' wp=rw | ||
| + | |-+- policy='round-robin 0' prio=50 status=active | ||
| + | | |- 1:0:2:0 sdm 65:32 active ready running | ||
| + | | `- 2:0:2:0 sdo 65:64 active ready running | ||
| + | `-+- policy='round-robin 0' prio=10 status=enabled | ||
| + | |- 1:0:3:0 sdn 65:16 active ready running | ||
| + | `- 2:0:3:0 sdp 65:48 active ready running | ||
| + | </cli> | ||
| + | |||
| + | Rescan the paths: | ||
| + | <cli prompt='#'> | ||
| + | # echo 1 > /sys/block/sdm/device/rescan | ||
| + | # echo 1 > /sys/block/sdo/device/rescan | ||
| + | # echo 1 > /sys/block/sdn/device/rescan | ||
| + | # echo 1 > /sys/block/sdp/device/rescan | ||
| + | </cli> | ||
| + | |||
| + | |||
| + | # Resize the multipath device: | ||
| + | <cli prompt='#'> | ||
| + | # multipathd -k 'resize map mpathc' | ||
| + | </cli> | ||
| + | |||
| + | Now if you have an unpartitionned disk, just rezise the pv and vg | ||
| + | <cli prompt='#'> | ||
| + | # partprobe -s | ||
| + | # pvresize /dev/mpathc | ||
| + | </cli> | ||
| + | |||
| + | <cli prompt='#'> | ||
| + | # vgresize myvg | ||
| + | </cli> | ||
| + | |||
| + | Else use one of the next steps | ||
| ===== Disk with partitions ===== | ===== Disk with partitions ===== | ||
| + | |||
| + | ==== Add a new partition on the disk ==== | ||
| + | |||
| + | **This is the most safe way** | ||
| + | <cli prompt='#'> | ||
| + | # fdisk /dev/mpathc | ||
| + | </cli> | ||
| + | <code> | ||
| + | The number of cylinders for this disk is set to 2480. | ||
| + | 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/mpathc: 20.4 GB, 20401094656 bytes | ||
| + | 255 heads, 63 sectors/track, 2480 cylinders | ||
| + | Units = cylinders of 16065 * 512 = 8225280 bytes | ||
| + | |||
| + | Device Boot Start End Blocks Id System | ||
| + | /dev/mpathc1 * 1 33 265041 83 Linux | ||
| + | /dev/mpathc2 34 1958 15462562+ 8e Linux LVM | ||
| + | |||
| + | |||
| + | # Let's create a new partition. In our case, we'll create partition # 3 | ||
| + | # (primary Linux LVM partition). For the first and last cylinder usually default values | ||
| + | # will be ok; if not, choose carefully the beginning and the end of the new partition to | ||
| + | # avoid | ||
| + | |||
| + | Command (m for help): n | ||
| + | Command action | ||
| + | e extended | ||
| + | p primary partition (1-4) | ||
| + | p | ||
| + | Partition number (1-4): 3 | ||
| + | First cylinder (1959-2480, default 1959): | ||
| + | Using default value 1959 | ||
| + | Last cylinder or +size or +sizeM or +sizeK (1959-2480, default 2480): | ||
| + | Using default value 2480 | ||
| + | |||
| + | Command (m for help): t | ||
| + | Partition number (1-4): 3 | ||
| + | Hex code (type L to list codes): 8e | ||
| + | Changed system type of partition 3 to 8e (Linux LVM) | ||
| + | |||
| + | 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 16: Device or resource busy. | ||
| + | The kernel still uses the old table. | ||
| + | The new table will be used at the next reboot. | ||
| + | Syncing disks. | ||
| + | </code> | ||
| + | |||
| + | Rescan disks | ||
| + | <cli prompt='#'> | ||
| + | # partprobe -s | ||
| + | </cli> | ||
| + | |||
| + | If you get a warning: Warning: WARNING: the kernel failed to re-read the partition table on /dev/sdc (Device or resource busy). | ||
| + | As a result, it may not reflect all of your changes until after reboot. | ||
| + | |||
| + | The use following command instead: | ||
| + | <cli prompt='#'> | ||
| + | # partx -a /dev/mpathc | ||
| + | </cli> | ||
| + | |||
| + | Then you can add the new partition to the VG | ||
| + | <cli prompt='#'> | ||
| + | # vgextend myvg /dev/mpathc3 | ||
| + | </cli> | ||
| ==== How to use growpart to resize your partition online (disk) ==== | ==== How to use growpart to resize your partition online (disk) ==== | ||