使用 LVM 添加磁盘

使用 LVM 添加磁盘

我确信这个问题之前已经在某个地方得到解答了(我甚至找到了一种指南这里,但似乎有点不完整)但我想知道是否有人可以帮助我,或者至少为我指明正确的方向以完成我正在尝试做的事情。

基本上,我在 20GB 磁盘上安装了 Ubuntu 14.04(通过“引导 - 使用整个磁盘并设置 LVM”)。然后,我向机器物理添加了一个干净的 80GB 磁盘,它将其检测为“sdb”。

基本上,我的问题是,我希望能够将新磁盘 (80GB) 分配的空间量添加/合并到我的机器,这样它就不会显示两个驱动器 (20GB 和 80GB),而只显示一个驱动器 (100GB)。我不担心 RAID 或任何其他特殊附加组件。

我对 Linux 还不太熟悉,但我知道我需要使用 LVM 来完成这项工作。

如果有人能帮助我或给我提供有用的指南/教程链接,我将不胜感激!不确定这是否有必要,但这是我的“fdisk -l”和“/etc/fstab”输出:

fdisk 输出(缩短):

Disk /dev/sda: 21.5 GB, 21474836480 bytes
   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/sdb: 85.9 GB, 85899345920 bytes
Disk /dev/sdb doesn't contain a valid partition table

Disk /dev/mapper/ubuntu--vg-root: 20.4 GB, 20392706048 bytes
Disk /dev/mapper/ubuntu--vg-root doesn't contain a valid partition table

Disk /dev/mapper/ubuntu--vg-swap_1: 801 MB, 801112064 bytes
Disk /dev/mapper/ubuntu--vg-swap_1 doesn't contain a valid partition table

/etc/fstab(缩写):

# <file system> <mount point>   <type>  <options>       <dump>  <pass>
/dev/mapper/ubuntu--vg-root /               ext4    errors=remount-ro 0       1
# /boot was on /dev/sda1 during installation
UUID=26710773-7a64-4f34-a34e-0057cb1739d7 /boot           ext2    defaults        0       2
/dev/mapper/ubuntu--vg-swap_1 none            swap    sw              0       0

答案1

在查看了网络上的一系列随机指南和教程后,我成功地将磁盘添加到我的 Ubuntu Server 14.04 机器中,并将其设置为多个硬盘驱动器显示为一个驱动器。为此,我使用了 LVM。

为了帮助其他可能想要这样做的人,我将在这里发布我所做的事情。


这些步骤假设您基本上是从头开始,除了已经在计算机上安装了 Ubuntu(通过“引导 - 使用整个磁盘并设置 LVM”)并物理添加了附加磁盘。如果您的计算机上有现有数据,这些步骤可能会起作用,但我不能肯定这样做是否安全。

这些命令假定以下信息,并且会根据您的设置而有所不同:

  • 您的新磁盘是“sdb”
    • 可以通过运行找到ls /dev/sd*
  • 您的卷组名称是“ubuntu-vg”
    • 可以通过运行找到vgdisplay
  • 您的逻辑卷路径是“/dev/ubuntu-vg/root”
    • 可以通过运行找到lvdisplay
  • 您的新磁盘为 20GB
    • 希望您知道磁盘有多大。

  1. 安装逻辑卷管理器(您可能需要或不需要这样做)。

    sudo apt-get install system-config-lvm
    
  2. 将新磁盘转换为物理卷(在本例中,新磁盘为“sdb”)。

    sudo pvcreate /dev/sdb
    
  3. 通过‘vgextend’将物理卷添加到卷组。

    sudo vgextend ubuntu-vg /dev/sdb
    
  4. 将物理卷分配给逻辑卷(通过新磁盘大小扩展卷大小)。

    sudo lvextend -l +100%FREE /dev/ubuntu-vg/root
    
  5. 调整逻辑卷上的文件系统的大小,以便它使用额外的空间。

    sudo resize2fs /dev/ubuntu-vg/root
    

那就行了。只需五个简单步骤!您也不必重新启动。只需运行df -h,您的新磁盘空间就会显示正确分配,并且您可能正在运行的任何 Web 应用程序都将获得新的磁盘空间量。

答案2

我尝试在 14.04 64 位台式机上安装一个大型 LVM 磁盘,该磁盘有 3 个 500GB SATA 驱动器。安装过程中因设备错误而失败。我找到一个链接,上面说 256G 以上的驱动器是扩展的限制,但我不知道这是否适用于此处。

我还尝试设置 RAID(RAID 1 /boot 300MB、RAID 0 swap 2GB 和 /RAID 5 其余一切)。失败更多。

$ sudo apt-get install -y mdadm

从 Live CD“尝试 Ubuntu 而不安装”选项中,您仍然可以安装 MDADM。仍然没有运气。GParted 检测似乎略有重新 Tahrded,并且不会拾取 LVM 中的某些卷或 RAID /dev/mdX 中的某些卷,除非所有内容都已分配文件系统;

$ sudo mkfs.etx4 /dev/md2

此外,RAID 配置现在带来了更多挑战。MDADM 似乎不再添加到安装的 /target/usr/sbin 软件包列表中,并且将其安装在那里以便重新启动时开始安装将是一个巨大的考验,对此我根本没有时间或耐心,结果发现经过几个小时的工作后,由于 GRUB 问题,它仍然无法在这些新的 Windows 8 性能破解主板(UEFI)上启动。

从 Ubiquity 安装 LVM 效果很好,直到您需要向 /(根分区)添加更多磁盘,此时您很有可能破坏整个安装。LVM 调整大小操作不断失败,您最终又回到了原点。

尝试 14.04 服务器安装程序 Partman 解决了这个问题。

启动了 14.04 服务器安装程序,它很好地识别了架构,安装了 MDADM,将 grub 安装到所有 3 个磁盘上,并且一切运行良好。

3 个磁盘(500GB SATA)

每个分区有 3 个分区。所有分区在 fdisk 中均设置为 Linux Raid 类型。

RAID 1 /boot、300MB 分区、RAID 0 swap、2GB 分区,以及 RAID 5 /、500GB(剩下的任何空间。)

$ sudo fdisk -l
设备启动开始结束块 ID 系统
/dev/sda1 2048 616447 307200 83 Linux
/dev/sda2 616448 4810751 2097152 83 Linux
/dev/sda3 4810752 976773167 485981208 fd Linux raid 自动检测

设备启动开始结束块 ID 系统
/dev/sdc1 * 2048 616447 307200 83 Linux
/dev/sdc2 616448 4810751 2097152 83 Linux
/dev/sdc3 4810752 976773167 485981208 fd Linux raid 自动检测

设备启动开始结束块 ID 系统
/dev/sdb1 2048 616447 307200 83 Linux
/dev/sdb2 616448 4810751 2097152 83 Linux
/dev/sdb3 4810752 976773167 485981208 fd Linux raid 自动检测
...

$ sudo ls /dev/md*
/dev/md0 /dev/md1 /dev/md2

/dev/md:
0 1 2

$ sudo mdadm -D /dev/md0
/dev/md0:
版本 : 1.2
创建时间 : 2014 年 8 月 6 日,星期三 13:03:01
突袭级别 : raid1
阵列大小 : 306880 (299.74 MiB 314.25 MB)
已用设备大小 : 306880 (299.74 MiB 314.25 MB)
突袭设备 : 3
设备总数 : 3
持久性 : 超级块是持久的

Update Time : Mon Aug 11 19:51:44 2014  
      State : clean   

活动设备 : 3
工作设备 : 3
故障设备 : 0
备用设备 : 0

      Name : ubuntu:0
      UUID : 03a4f230:82f50f13:13d52929:73139517
    Events : 19

编号 主要 次要 RaidDevice 状态 0 8 1 0 active sync /dev/sda1 1 8 17 1 active sync /dev/sdb1 2 8 33 2 active sync /dev/sdc1

$ sudo mdadm -D /dev/md1 /dev/md1: 版本 : 1.2 创建时间 : 2014 年 8 月 6 日,星期三 13:03:31 突袭级别 : raid0 阵列大小 : 6289920 (6.00 GiB 6.44 GB) 突袭设备 : 3 设备总数 : 3 持久性 : 超级块是持久的

更新时间:2014 年 8 月 6 日星期三 13:03:31 状态:干净 活动设备:3 工作设备:3 故障设备:0 备用设备:0

Chunk Size : 512K

     Name : ubuntu:1
      UUID : 9843bdd3:7de01b63:73593716:aa2cb882
    Events : 0

编号 主要 次要 RaidDevice 状态 0 8 2 0 active sync /dev/sda2 1 8 18 1 active sync /dev/sdb2 2 8 34 2 active sync /dev/sdc2

$ sudo mdadm -D /dev/md2 /dev/md2: 版本:1.2 创建时间:2014 年 8 月 6 日,星期三 13:03:50 突袭级别:raid5 阵列大小:971699200(926.68 GiB 995.02 GB) 已用设备大小:485849600(463.34 GiB 497.51 GB) 突袭设备:3 总设备数:3 持久性:超级块是持久的

更新时间:2014 年 8 月 11 日星期一 19:54:49 状态:活跃 活跃设备:3 工作设备:3 故障设备:0 备用设备:0

    Layout : left-symmetric
Chunk Size : 512K

      Name : ubuntu:2
      UUID : 6ead2827:3ef088c5:a4f9d550:8cd86a1a
    Events : 14815

编号 主要 次要 RaidDevice 状态 0 8 3 0 active sync /dev/sda3 1 8 19 1 active sync /dev/sdb3 3 8 35 2 active sync /dev/sdc3

$ sudo cat /etc/fstab
'# /etc/fstab:静态文件系统信息。'
'#'
'# 使用 'blkid' 打印
设备的通用唯一标识符;这可以与 UUID= 一起使用,作为命名设备的更可靠方式,
即使添加和删除磁盘也能正常工作。请参阅 fstab(5)。'
'#'
'# '
'# 安装过程中,# / 位于 /dev/md126 上'
UUID=2af45208-3763-4cd2-b199-e925e316bab9 / ext4 errors=remount-ro 0 1
'# /boot 安装过程中,# /dev/md125 上'
UUID=954e752b-30e2-4725-821a-e143ceaa6ae5 /boot ext4 defaults 0 2
'# swap 安装过程中,# /dev/md127 上'
UUID=fb81179a-6d2d-450d-8d19-3cb3bde4d28a none swap sw 0 0

现在跑得像纯种马一样。

我认为如果您使用的是 32 位硬件,那么这对您不起作用,但我认为此时对于任何较小的设备,软 RAID 可能比单磁盘 LVM 更糟糕,而对于任何比这更旧的东西,软 RAID 可能比单磁盘 LVM 更糟糕,而对于任何更旧的东西,软 RAID 可能比单磁盘 LVM 更糟糕。

谢谢。

答案3

这项技术在我使用 128GB SSD 主盘和 2TB HDD 扩展盘时很有效。
如果您在使用“ubuntu-vg”将物理卷添加到卷组时遇到问题,请尝试发出以下命令

sudo vgdisplay 

通常,卷组名称的格式为NAME_OF_COMPUTER-vg,因此如果您的系统已命名,SKYNET则卷组可能被命名为

SKYNET-vg

相关内容