我有一个 Ubuntu 家庭媒体服务器设置,其中 4.5TB 分布在几个硬盘上(1x3TB、2x1TB),我使用 LVM2 来管理卷。我最近在服务器上添加了一个 60GB SSD,我希望用它来存放服务器的“根”分区(目前位于 LVM 组下)。
我不想简单地将其添加到 LVM 卷组,因为(据我所知)没有办法确保 SSD 将用于根文件系统。如果我直接将其扔到 VG,它可能会被用来存放我的媒体,这首先违背了使用 SSD 的目的。
我觉得我唯一的解决方案是以某种方式从 LVM 设置中删除我的根分区并将其复制到 SSD。当然,我的启动分区不属于 LVM 组。
我的磁盘设置如下:
60GB SSD: EMPTY.
1TB HDD: /boot, LVM space.
1TB HDD: LVM space.
3TB HHD: LVM space.
我有几个逻辑卷。我的根卷(/)、用于存储媒体收藏的“媒体”卷、用于存储网络备份的备份卷等等。
有人对如何做到这一点有什么建议吗?我的最终目标是将 60GB SSD 用于启动和根分区,其他所有内容都放在 3TB/1TB/1TB 硬盘上。
答案1
尽管这个问题已经存在好几年了,我还是会留下以下内容作为参考:在创建新 LV 时,您实际上可以强制 LVM 从指定的物理卷分配扩展区。语法如下(您可以在 中找到更详细的信息lvcreate(8)
):
lvcreate <options such as name, size, etc.> volumeGroup [physicalVolume]
举例来说,您可以将 SSD 添加到卷组,然后执行以下操作:
lvcreate -n rootOnSSD -L 60G yourVolGroup /dev/fastSSD
它会强制 LVM 从 SSD 的范围中分配这 60G。
有高级选项可以指定要分配的 PE 范围,即使在给定的物理卷内,也可以指定 LV 大小作为给定 PV 中可用空间的函数等。请参阅-l
中的标志lvmcreate(8)
。
如果您没有用完 SSD 中的所有扩展区,那么每当要创建新的 LV 时,它都会成为候选。因此,相反,您必须执行如下操作
lvcreate -n hugeVolumeForMedia -L 1T yourVolGroup /dev/slowMedia [/dev/otherSlowMedia...]
如果您要创建一个新的 LV 以获得更多大容量存储,并希望确保您的 SSD 不会浪费。
答案2
最终我还是按照佩德罗的指示去做了。
在这些情况下,我通常会使用 SystemRescueCD 启动,创建新分区,使用 FSArchiver 将旧分区的内容复制到新分区,最后在新磁盘上安装 grub。这通常是一个相当顺利的过程。
他以评论的形式回答,所以我无法将其标记为答案。
答案3
1.0 cfdisk
SSD 上的两个分区
1.1 (选修的)在根分区和引导分区上的非引导分区
1.2中创建一个 PVmkfs
2.0 启动 Knoppix (或其他), 挂载你的文件系统
2.1 rsync -av
/old/boot /new/boot 和 /old/root /new/root
3.0-grub
启动shell
3.1(选修的)设备 (hd0) /dev/ssd 3.2 根 (hd0,0) - 其中 hd0,0 是 SSD 3.3 安装 (hd0)
的启动分区
4.0 更新 /boot/grub.conf
5.0 启动。
6.0 删除旧逻辑卷
如果这还不够,请告诉我,我会进一步操作或更详细地解释这些步骤。