ksaitoの日記

日々試したことの覚え書き

どのサイズが良いのか?

移転しました。

自動的にリダイレクトします。

LVMのPEのサイズをデフォルトの4MBと16MBでパフォーマンスを測定してみましたが、あまり違いはありませんでした。
物理的なハードディスクのパーティションをPEに分割するので、余は使われない領域となってしまいます。
使われない領域は、最大でPEのサイズとなるるわけですがpvdisplayコマンドで確認することができます。

PEが4MBと16MBのLVを準備する

vgcreateコマンドの-sオプションでPEのサイズを指定します。
16MBにするとLVで2GBのサイズをとれなかったので1GBにしてみました。

$ sudo pvscan
  PV /dev/sdb1                      lvm2 [2.00 GB]
  PV /dev/sdc1                      lvm2 [2.00 GB]
  Total: 2 [4.00 GB] / in use: 0 [0   ] / in no VG: 2 [4.00 GB]
$ sudo vgcreate vgsdb1 /dev/sdb1
  Volume group "vgsdb1" successfully created
$ sudo vgcreate -s 16m vgsdc1 /dev/sdc1
  Volume group "vgsdc1" successfully created
$ sudo pvscan
  PV /dev/sdc1   VG vgsdc1   lvm2 [1.98 GB / 1.98 GB free]
  PV /dev/sdb1   VG vgsdb1   lvm2 [2.00 GB / 2.00 GB free]
  Total: 2 [3.98 GB] / in use: 2 [3.98 GB] / in no VG: 0 [0   ]
$ sudo lvcreate -n lv4m --size 2G vgsdc1
  Insufficient free extents (127) in volume group vgsdc1: 128 required
$ sudo lvcreate -n lv4m --size 1G vgsdc1
  Logical volume "lv4m" created
$ sudo lvcreate -n lv4m --size 1G vgsdb1
  Logical volume "lv4m" created
$ sudo lvcreate -n lv16m --size 1G vgsdc1
  Logical volume "lv16m" created
$

測定

hdparmコマンドで簡単に測定してみました。
デフォルトの4MBの方が若干早いようです。
/dev/sda1は、rootパーティションです。

$ sudo hdparm -t /dev/vgsdb1/lv4m

/dev/vgsdb1/lv4m:
 Timing buffered disk reads:   50 MB in  3.12 seconds =  16.01 MB/sec

$ sudo hdparm -t /dev/vgsdc1/lv16m

/dev/vgsdc1/lv16m:
 Timing buffered disk reads:   44 MB in  3.03 seconds =  14.53 MB/sec

$ sudo hdparm -t /dev/sda1

/dev/sda1:
 Timing buffered disk reads:   48 MB in  3.07 seconds =  15.64 MB/sec
$

使われない領域

pvdisplayのnot usableが利用されない領域です。
PEが16MBの領域は、15.32MB利用されない領域があります。
PEを大きくすると大きなサイズのLVをとれますが、無駄な領域が多くなるのでバランスが大事ということでしょうか。

$ sudo pvdisplay
  --- Physical volume ---
  PV Name               /dev/sdc1
  VG Name               vgsdc1
  PV Size               2.00 GB / not usable 15.32 MB
  Allocatable           yes 
  PE Size (KByte)       16384
  Total PE              127
  Free PE               63
  Allocated PE          64
  PV UUID               
   
  --- Physical volume ---
  PV Name               /dev/sdb1
  VG Name               vgsdb1
  PV Size               2.00 GB / not usable 3.32 MB
  Allocatable           yes 
  PE Size (KByte)       4096
  Total PE              511
  Free PE               255
  Allocated PE          256
  PV UUID               
   
$