在 ubuntu 14 中扩展分区

在 ubuntu 14 中扩展分区

我一直在尝试遵循本论坛和其他论坛上的几篇指南和文章来了解如何扩展我当前的 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列出该组中的各个卷(应该有两个,一个用于交换,另一个用于根)。

您是否将分区复制到了更大的硬盘上?如果是这样,您需要调整sda2sda5以具有相同的起始块,但有一个新的结束块(磁盘的末尾)。您可以通过fdisk删除并重新创建分区来实现这一点。完成此操作后,vgextend可以在整个卷组上使用以将其扩展到分区的末尾。然后,您可以使用各种lv*命令(lvdisplaylvextend等)来扩展或移动各个卷。

在更改分区或卷组之前,请务必备份所有数据

以下命令集应该适合您的情况。您可能必须安装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

相关内容