linux + 如何将VMDK磁盘转换为LVM磁盘

linux + 如何将VMDK磁盘转换为LVM磁盘

我们有带有 sdb 磁盘的 linux 机器

 lsblk
NAME             MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
fd0                2:0    1     4K  0 disk
sda                8:0    0   150G  0 disk
├─sda1             8:1    0   500M  0 part /boot
└─sda2             8:2    0 149.5G  0 part
  ├─lp55-lv_root 253:0    0    40G  0 lvm  /
  ├─lp55-lv_swap 253:1    0   7.7G  0 lvm  [SWAP]
  └─lp55-lv_var  253:2    0 100.9G  0 lvm  /var
sdb                8:16   0   100G  0 disk

目前 sdb 不是 LVM

我们想要将 sdb 创建到 LVM,新 VG 组为 new1,以便稍后可以根据需要增加 sdb

将sdb转换为LVM的过程是什么

# pvs
# lvdisplay
  No volume groups found
# pvdisplay
# vgdisplay
  No volume groups found
#

rpm -qa | grep -i lvm
lvm2-2.02.100-8.el6.x86_64
lvm2-libs-2.02.100-8.el6.x86_64

答案1

您可以对磁盘进行分区,/dev/sdb以便其他操作系统可以识别正在使用的磁盘,但这将使将来扩展磁盘变得更加复杂,并且由于它是 VMDK,因此它在虚拟化主机上的名称无论如何都应该使其用途显而易见。因此,我建议在这种情况下省略分区,而仅将整个虚拟磁盘用于 LVM。所以:

pvcreate /dev/sdb

然后,您可以使用新的 PV(使用vgextend lp55 /dev/sdb)扩展现有的 VG,但正如您所说,您想创建一个新的 VG,因此:

vgcreate new1 /dev/sdb

此时,新的VG已创建,但尚未分配LV。如果您想将所有可用容量使用到单个 LV/文件系统中,那么您可以这样做:

lvcreate -n lv_name -l 100%FREE new1

如果要创建某个特定大小的 LV,可以使用-L nnnGGiB 来指定大小,而不是-l 100%FREE.

(您可能应该替换lv_name为描述 LV 预期用途的内容。)

LV创建完成后,您就可以随意使用它了。您可以将文件系统(任何类型)放在上面并安装它,或者将其用作数据库引擎的原始存储,或者您想用它做的任何事情。

例如,要在其上创建 ext4 文件系统:

mkfs.ext4 /dev/new1/lv_name

然后,在适合您的位置创建一个挂载点:

mkdir /some/where

在以下位置创建一个条目/etc/fstab

/dev/new1/lv_name /some/where ext4 defaults 0 2

并安装它:

mount /some/where

你就完成了。

答案2

由于您不需要保存任何数据,因此您可以遵循标准流程:

pvcreate /dev/sdb
vgcreate new1 /dev/sdb

现在您可以lvcreate在该 VG 上进行卷操作

lvcreate -L10G -n testvol1 new1

如果您随后增加 的大小sdb,则可以使用pvresize来使新空间可用。

相关内容