为什么我的 lvm 物理卷的空间明显小于它包含的分区的空间?

为什么我的 lvm 物理卷的空间明显小于它包含的分区的空间?

我在 centOS 6.4 上。我有一个 39TB 的硬件 RAID,配置为 RAID 6。我用 parted 创建了一个 39TB 的分区。它报告:

(parted) print                                                        
Model: JetStor JetStor -VOL#000 (scsi) Disk /dev/sdb: 39.0TB Sector
size (logical/physical): 512B/512B Partition Table: gpt
Number  Start   End     Size    File system  Name     Flags  1     
1049kB  39.0TB  39.0TB               primary

我创建了一个 lvm 线性卷,如下所示:

pvcreate /dev/sdb1
vgcreate vg_jet716s /dev/sdb1
lvcreate -L 30T -n lv_jet716s_1 vg_jet716s

然后我在 lv_jet716s_1 上创建了一个 XFS fs,匹配 raid 条带宽度和数量:

mkfs.xfs -d su=64k,sw=13 /dev/mapper/vg_jet716s-lv_jet716s_1

但是 pvs 输出的是:

[root@cfile ~]# pvs   PV         VG         Fmt  Attr PSize   PFree   
/dev/sda2  vg_cfile   lvm2 a--  464.76g 285.62g
/dev/sdb1  vg_jet716s lvm2 a--   35.47t   5.47t

我认为在创建物理卷后我没有检查 pvs 输出的内容。我可能只调用了“lvs”来查看逻辑卷是否已创建且大小正确。以下是 lvs 和 vgs:

[root@cfile ~]# lvs
  LV           VG         Attr      LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
  lv_root      vg_cfile   -wi-ao--- 50.00g                                             
  lv_swap      vg_cfile   -wi-ao--- 31.48g                                             
  lv_var       vg_cfile   -wi-ao--- 97.66g                                             
  lv_jet716s_1 vg_jet716s -wi-ao--- 30.00t                                             
[root@cfile ~]# vgs
  VG         #PV #LV #SN Attr   VSize   VFree  
  vg_cfile     1   3   0 wz--n- 464.76g 285.62g
  vg_jet716s   1   1   0 wz--n-  35.47t   5.47t

有什么想法吗?我是新手,损失了近 10% 的空间,这真是令人惊讶。谢谢!

-迈克尔

答案1

不幸的是,您的工具对于数值是以 TB 还是 TiB 为单位并不十分精确。卷实际上约为 36 TiB,而不是 36 TB。分区实际上约为 39 TB,而不是 39 TiB。

36 TiB = (36 * 1024) GiB = 36,864 GiB
36,864 GiB = (36,864 * 1024) MiB = 37,748,736 MiB。

如果一直按字节计算,则将获得 39,582,418,599,936 字节,或大约 39.6 TB。

因此 36 TiB 约为 39 TB。

答案2

您的pvs输出使用的是 TiB,但不是很明显;来自男人 pvs

--units hHbBsSkKmMgGtTpPeE

所有大小均以下列单位输出:(h)人类可读、(b)字节、(s)扇区、(k)ilobytes、(m)egabytes、(g)igabytes、(t)erabytes、(p)etabytes、(e)xabytes。大写表示使用 1000(SI)的倍数,而不是 1024。也可以指定自定义单位,例如 --units 3M

你可以告诉parted使用 TiB

(parted) unit TiB

然后数字应该更加接近 - 正如David Schwartz所说,36TiB ~= 39TB。

相关内容