我确信这个问题之前已经在某个地方得到解答了(我甚至找到了一种指南这里,但似乎有点不完整)但我想知道是否有人可以帮助我,或者至少为我指明正确的方向以完成我正在尝试做的事情。
基本上,我在 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
- 希望您知道磁盘有多大。
安装逻辑卷管理器(您可能需要或不需要这样做)。
sudo apt-get install system-config-lvm
将新磁盘转换为物理卷(在本例中,新磁盘为“sdb”)。
sudo pvcreate /dev/sdb
通过‘vgextend’将物理卷添加到卷组。
sudo vgextend ubuntu-vg /dev/sdb
将物理卷分配给逻辑卷(通过新磁盘大小扩展卷大小)。
sudo lvextend -l +100%FREE /dev/ubuntu-vg/root
调整逻辑卷上的文件系统的大小,以便它使用额外的空间。
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
备用设备 : 0Name : 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