LVM:如何在不丢失数据的情况下扩大扩展分区?

LVM:如何在不丢失数据的情况下扩大扩展分区?

如何在不丢失数据的情况下扩大扩展分区?请注意,我在这个扩展分区内有一个 LVM 逻辑分区。

# fdisk -l
   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *        2048      499711      248832   83  Linux
/dev/sda2          501758    41940991    20719617    5  Extended
/dev/sda5          501760    41940991    20719616   8e  Linux LVM

Disk /dev/mapper/a--vm--vg-swap_1 doesn't contain a valid partition table

Command (m for help): v
Remaining 41949182 unallocated 512-byte sectors

Command (m for help): p

Disk /dev/sda: 42.9 GB, 42949672960 bytes
255 heads, 63 sectors/track, 5221 cylinders, total 83886080 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00094bdb

答案1

使用分区

如果您要对当前使用的磁盘进行更改,我建议您使用可启动的实时映像。

PS:没有万无一失的方法,而且总是存在数据丢失的风险。因此,在尝试任何操作之前,最好进行适当的备份。

答案2

我在 Ubuntu 12.04 LTS 上找到了一种扩展磁盘的实用方法。也许您已经注意到,此服务器已启用 LVM。这就是扩展分区 (sda2) 与逻辑分区 (sda5) 完全重叠的原因。

首先我使用“parted”命令调整扩展分区(sda2)的大小,使其充满所有物理磁盘。

resize NUMBER START END  //NUMBER stands for partition number

然后,扩展分区 sda2 内就有可用空间用于另一个逻辑分区,例如 sda6。

看图,是不是我的磁盘分区有问题?

使用“fdisk”创建一个新的逻辑分区。(选择 l 而不是 p,将类型 id 更改为 8e,代表 LVM)

重启。

然后我们开始配置LVM。使用'pvcreate'通过sda6创建物理卷。

'pvdisplay' 显示当前物理卷。

pvdisplay
  --- Physical volume ---
  PV Name               /dev/sda5
  VG Name               host02-vm-vg
  PV Size               19.76 GiB / not usable 2.00 MiB
  Allocatable           yes (but full)
  PE Size               4.00 MiB
  Total PE              5058
  Free PE               0
  Allocated PE          5058
  PV UUID               RsGi6C-g0lm-SzJ1-9rw4-dMEi-Q633-9wo1Gd

  --- Physical volume ---
  PV Name               /dev/sda6
  VG Name               host02-vm-vg
  PV Size               20.00 GiB / not usable 4.00 MiB
  Allocatable           yes
  PE Size               4.00 MiB
  Total PE              5119
  Free PE               194
  Allocated PE          4925
  PV UUID               fFhQbB-L59C-2nE9-Yuo6-CUAr-y6mD-HOMfzQ

因为此服务器在设置时启用了 LVM,所以当输入 'vgdisplay' 和 'lvdisplay' 时,您应该看到一个现有的卷组和一个逻辑卷,

02@02-vm:~$ sudo vgdisplay
  --- Volume group ---
  VG Name               02-vm-vg
  System ID
  Format                lvm2
  Metadata Areas        2
  Metadata Sequence No  5
  VG Access             read/write
  VG Status             resizable
  MAX LV                0
  Cur LV                2
  Open LV               2
  Max PV                0
  Cur PV                2
  Act PV                2
  VG Size               39.75 GiB
  PE Size               4.00 MiB
  Total PE              10177
  Alloc PE / Size       9983 / 39.00 GiB
  Free  PE / Size       194 / 776.00 MiB
  VG UUID               GFrHkW-EZFQ-vuCo-b4Pp-F1Lm-FV8B-NcbMmD


  02@02-vm:~$ sudo lvdisplay
  --- Logical volume ---
  LV Name                /dev/02-vm-vg/root
  VG Name                02-vm-vg
  LV UUID                vC3dCP-ynJq-qwbf-ZwwX-T1ca-tOo6-5FYVNg
  LV Write Access        read/write
  LV Status              available
  # open                 1
  LV Size                37.00 GiB
  Current LE             9472
  Segments               3
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           252:0

这里剩下的内容就很容易理解了。

vgextend - add physical volumes to a volume group
lvresize - resize a logical volume

最后,您需要调整文件系统的大小以利用 LVM 中的新可用空间。

resize2fs - ext2/ext3/ext4 file system resized

数据:

vm:~$ df
Filesystem                        1K-blocks    Used Available Use% Mounted on
/dev/mapper/02--vm--vg-root  38057472 3501084  32802424  10% /
udev                                1011124       4   1011120   1% /dev
tmpfs                                204196     500    203696   1% /run
none                                   5120       0      5120   0% /run/lock
none                                1020968       0   1020968   0% /run/shm
cgroup                              1020968       0   1020968   0% /sys/fs/cgroup
/dev/sda1                            240972   34482    194049  16% /boot
/dev/loop0                          4872572   32928   4839644   1% /srv/node/vdb

如您所见,我的文件系统安装在 /dev/mapper/02--vm--vg-root(逻辑卷)上。因此,我们需要将此卷的大小调整到最大值。

重启,就大功告成了。^_^

相关内容