我一直在尝试遵循本论坛和其他论坛上的几篇指南和文章来了解如何扩展我当前的 Linux LVM 分区。
这是我目前拥有的分区。我不明白 sda2 和 sda5 为何是相同的块,这是我的第一个问题。第二个问题是,我不知道该选择哪个来扩展?
:/var$ sudo fdisk -l
Disk /dev/sda: 2199.0 GB, 2199023255552 bytes
255 heads, 63 sectors/track, 267349 cylinders, total 4294967296 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: 0x0005011b
Device Boot Start End Blocks Id System
/dev/sda1 * 2048 499711 248832 83 Linux
/dev/sda2 501758 1782577151 891037697 5 Extended
/dev/sda5 501760 1782577151 891037696 8e Linux LVM
Disk /dev/mapper/webserver--vg-root: 908.1 GB, 908129730560 bytes
255 heads, 63 sectors/track, 110407 cylinders, total 1773690880 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: 0x00000000
Disk /dev/mapper/webserver--vg-root doesn't contain a valid partition table
Disk /dev/mapper/webserver--vg-swap_1: 4290 MB, 4290772992 bytes
255 heads, 63 sectors/track, 521 cylinders, total 8380416 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: 0x00000000
Disk /dev/mapper/webserver--vg-swap_1 doesn't contain a valid partition table
如何正确扩展这些而不冒丢失数据的风险?我担心会弄乱这台服务器及其内容。
谢谢
添加 lvdisplay 的输出:
--- Logical volume ---
LV Path /dev/webserver-vg/root
LV Name root
VG Name webserver-vg
LV UUID UfPECP-g3Ed-BYTv-GV1x-mkMk-Of1e-ujcM1t
LV Write Access read/write
LV Creation host, time webserver, 2015-02-10 10:09:20 -0500
LV Status available
open 1
LV Size 845.76 GiB
Current LE 216515
Segments 2
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0
--- Logical volume ---
LV Path /dev/webserver-vg/swap_1
LV Name swap_1
VG Name webserver-vg
LV UUID Hi6pMH-wrXI-H1MC-91Iu-V2ev-xven-Cna9Hc
LV Write Access read/write
LV Creation host, time webserver, 2015-02-10 10:09:20 -0500
LV Status available
open 2
LV Size 4.00 GiB
Current LE 1023
Segments 1
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:1
答案1
sda5
是一个逻辑分区。它位于扩展分区 ( sda2
) 内。我假设这是一台使用主引导记录 (MBR) 的旧机器/安装。即使在 MBR 下,扩展分区也并非真正必要。拥有主/扩展/逻辑分区是为了与早期版本的 DOS/Windows 进行向后兼容(Linux 在 MBR 上支持 4 个主分区,而 DOS/Win95 仅支持主/扩展,而较新的 GPT 分区完全消除了这些限制)。
/dev/mapper/webserver--vg-root
是位于 内的逻辑卷sda5
。逻辑卷用于抽象底层磁盘。您可以使用vgdisplay
显示卷组(应该有一个)并lvdisplay
列出该组中的各个卷(应该有两个,一个用于交换,另一个用于根)。
您是否将分区复制到了更大的硬盘上?如果是这样,您需要调整sda2
和sda5
以具有相同的起始块,但有一个新的结束块(磁盘的末尾)。您可以通过fdisk
删除并重新创建分区来实现这一点。完成此操作后,vgextend
可以在整个卷组上使用以将其扩展到分区的末尾。然后,您可以使用各种lv*
命令(lvdisplay
、lvextend
等)来扩展或移动各个卷。
在更改分区或卷组之前,请务必备份所有数据
以下命令集应该适合您的情况。您可能必须安装parted
。或者,您可以安装cloud-utils
并使用以下growpart
命令:
# via parted
parted /dev/sda resize 2 100%
parted /dev/sda resize 5 100%
# OR using cloud-utils / growpart
growpart /dev/sda 2
growpart /dev/sda 5
# Then have Linux re-read your partition talbe
partprobe /dev/sda
# Then expand your Physical Volume
pvresize /dev/sda5
# Extend the logical root volume
lvextend -l +100%FREE /dev/webserver-vg/root
# Extend the filesystem (assuming you're using ext2/3/4)
resize2fs /dev/webserver-vg/root