固态硬盘(SSD)
# df
/dev/mapper/fedora-root ext4 26G 16G 8.7G 64% /
# pvs
PV VG Fmt Attr PSize PFree
/dev/sdb3 fedora lvm2 a-- 28.62g 0
# vgs
VG #PV #LV #SN Attr VSize VFree
fedora 1 2 0 wz--n- 28.62g 0
# lvs
LV VG Attr LSize Pool Origin Data% Meta% Move Log Cpy%Sync Convert
root fedora -wi-ao---- 25.63g
swap fedora -wi-ao---- 2.98g
sda(硬盘)
/dev/sda1 是我的老家。
这里在 sda 中的 sda1 之后有一个可用空间和一个旧交换区。
问:扩展/home
- 我可以将数据保留在 sda1 中,将 sda1 添加到 /home 吗?
- 格式化可用空间和旧交换区,加入到一个PV中,添加到/home?让 sda1 挂载到 /home/xxx/yyy。
我第一次使用LVM。请举个例子,谢谢。
问: 文件安全
- 如果我将sdax添加到/home,文件是否会被分成两半,保存到不同的分区(SSD-sdb和HD-sda)?
- 如果我从LV中删除sdax,sdax中的文件可以安全地移动到/home吗?
答案1
我可以将数据保留在 sda1 中,将 sda1 添加到 /home 吗?
不,不是那样的。你无法将旧磁盘中的数据添加到/home而不破坏数据本身;因为 LVM 分配存储的方式与磁盘分区不同。
使用 LVM,您可以在 x 个磁盘上拥有 x 个分区,这些分区集中到一个存储池中,然后您可以从中创建 LV。
所以,是的,从技术上讲,文件可以分成两半,但不,虽然您可以从 VG 中删除 PV(例如 sdax),但您最终会得到一个空的 sdax,因为 LVM 会在之前将数据洗牌到剩余的 PV。将其从 VG 中删除。
从根本上来说,听起来您正在尝试回收第二个磁盘中的存储容量。这当然是可能的——我自己已经做到了——但是这个过程取决于您的 VG 中有多少可用空间。看起来你的剩余空间已经很少了,所以我假设你的旧家不适合/dev/mapper/fedora-root。流程如下:
- 当然,备份您的旧主目录 /dev/sda1。
- 删除旧的交换分区 /dev/sda2 (例如使用 fdisk 或 gdisk)
- 创建一个新的sda2来消耗空闲空间;你最终应该得到一个大约 231G 的分区。
- 使用新分区创建 PV:
pvcreate /dev/sda2
- 将新的 PV 添加到您的 VG 中:
vgextend fedora /dev/sda2
好的,您现在有大约 230G 的额外可用存储空间软呢帽VG:)
现在您有几个选择:您可以将根 LV 扩展到足够大以容纳您的旧家,或者为您的家创建一个新 LV。不管怎样,关键是要有一个 LV,您可以将数据从 sda1 复制到其中。假设您要调整大小根LV 至...100GB:
lvextend -r -L100G /dev/fedora/root
现在,您可以将文件从旧目录复制到 /home,它们将分布在两个磁盘上。然后,您可以将 sda1 变成 PV 并将其添加到 VG 中,以获得 269G 的存储空间。
边注:除非您有能力将数据存储在 sda1 中的其他位置,否则您最终将在 sda 上获得两个 PV/分区。