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) ==== |