使用LVM添加磁盘


26

我相信这已经回答过的地方就在这里(我甚至发现还挺指导这里,但似乎有点参差不齐和不完全的),但我想知道,如果有人可以帮助我,或至少点我在正确的方向完成我要完成的工作。

基本上,我在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

Answers:


53

在网上回顾了随机指南和教程的组合之后,我能够成功地将磁盘添加到我的Ubuntu Server 14.04计算机上,并进行了本质上的设置,因此我有多个硬盘作为一个驱动器出现。为此,我使用了LVM。

为了帮助其他可能在某个时候想要这样做的人,我将在这里发布我的工作。


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

这些命令假定以下信息,并且会因您的设置而异:

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

  1. 安装Logical Volume Manager(您可能需要也可能不需要这样做)。

    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
您可以使用lvextend -l +100%FREE扩展来使用所有可用空间,而不是lvextend -L+20G
nathancahill

您可以使用cat /proc/partitions; /sbin/rescan-scsi-bus; cat /proc/partitions查找sdb新安装的驱动器的名称,例如。
O. Jones,

1
这应该工作;但是,我警告不要将整个磁盘用作逻辑卷。相反,我建议对磁盘进行分区并在该磁盘上的一个或多个分区内创建LVM。如果将来需要或需要一些非LVM空间,此过程将在将来提供灵活性。如果您遇到一个假定所有磁盘都已分区的工具,它可能也会更好地工作。我不知道此类工具的重要示例,但您永远不知道将来可能希望或需要运行的某些随机实用程序中会出现哪些假设。
罗德·史密斯

根据Rod Smith的评论,这意味着您首先需要在/ dev / sdb上机械地运行fdisk,将所有空间分配给新分区,将分区设置为“ Linux LVM”(类型8e),然后替换所有/ dev。 / dev / sdb1说明中的/ sdb条目
-mtalexan

很好的指南。检查可用磁盘的方法更加精美lsblk。虽然在RHEL7上进行了测试。
erikbwork

1

我尝试在具有3X500GB SATA驱动器的14.04 64位桌面中设置大型LVM磁盘。安装过程中失败,并显示设备错误。我发现一个链接指出驱动器超过256G是扩展范围的限制,但我不知道这是否适用于此。

我还尝试设置RAID(RAID 1 / boot 300MB,RAID 0 swap 2GB和/ RAID 5其他。更多故障。

$ sudo apt-get install -y mdadm

从Live CD“尝试不安装Ubuntu”选项中,您仍然可以安装MDADM。仍然没有运气。除非已经为所有文件系统提供了文件系统,否则GParted的检测似乎会稍微有些混乱,并且不会占用LVM中的某些卷或RAID / dev / mdX中的某些卷。

$ sudo mkfs.etx4 / dev / md2

而且,RAID配置现在也面临更多挑战。MDADM似乎不再添加到安装的/ target / usr / sbin软件包列表中,并且在该目录中安装它,所以安装在重新启动时就开始是一个巨大的考验,对此我根本没有时间或耐心,却发现在经过数小时的工作后,仍然没有在GRUB问题的这些新的Windows 8性能被黑客入侵的主板(UEFI)上启动。

从Ubiquity安装LVM的效果很好,直到需要在/(根分区)中添加更多磁盘为止,这时您很有可能会炸毁整个安装。LVM调整大小操作一直失败,并且您再次回到平方1 。

尝试使用14.04服务器安装程序Partman可以节省一天的时间。

启动14.04 Server安装程序,它可以确定架构,安装MDADM,将grub安装到所有3个磁盘上,并且一切正常。

3个磁盘(500GB SATA)

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

RAID 1 /启动,300MB分区,RAID 0交换,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 autodetect

设备引导启动结束块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
创建时间:Wed Aug 6 13:03:01 2014
Raid级别: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

编号次要Raid设备状态0 8 1 0活动同步/ dev / sda1 1 8 17 1活动同步/ dev / sdb1 2 8 33 2活动同步/ 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

编号次要Raid设备状态0 8 2 0活动同步/ dev / sda2 1 8 18 1活动同步/ dev / sdb2 2 8 34 2活动同步/ dev / sdc2

$ sudo mdadm -D / dev / md2 / dev / md2:版本:1.2创建时间:Wed Aug 6 13:03:50 2014 Raid级别:raid5数组大小:971699200(926.68 GiB 995.02 GB)使用的开发大小:485849600(463.34 GiB 497.51 GB)RAID设备:3总设备:3持久性:Superblock是持久性的

更新时间: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

编号次要Raid设备状态0 8 3 0活动同步/ dev / sda3 1 8 19 1活动同步/ dev / sdb3 3 8 35 2活动同步/ dev / sdc3

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

现在像纯种马一样奔跑。

在我看来,如果您使用的是32位硬件,那么这对您不起作用,但是我认为此时,软RAID可能比仅使用单个磁盘LVM来存储更小的磁盘,而使用JBOD来存储比该磁盘更旧的磁盘更糟糕。 。

谢谢。


Partman节省了一天。启动14.04 Server安装程序后,它确定了架构,安装了MDADM,一切正常。如果有用,这里是设置的摘要;
spyderdyne 2014年

1

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

sudo vgdisplay 

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

SKYNET-vg
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.