LoginSignup
2
1

More than 5 years have passed since last update.

LVMでスナップショット取ったら遅くて速攻で止めた

Last updated at Posted at 2018-08-26

自宅サーバのハードウェアRAIDがおかしくなったので、この機会にもうHDD何台も積んで電気食うの止めようと 6TB HDD 2台でLinuxのソフトウェアRAID-1でいいや!と割り切ったのですが、せっかくだから暗号化して、LVMでスナップショット取って、ボリューム・シャドウ・コピー・サービス(VSS)とか良くね?って思って、主に週末に作業してました。
結論から言って、凄く遅いし、LA上がりまくりで、スナップショットもすぐに埋まって意味なくなるのがわかり、ソフトウェアRAID-1と暗号化だけにしました。

環境

サーバ・スペック

  • CPU: AMD PhenomII X4 955 3.2GHz(4core/TDP95W)
  • M/B: ASRock 880G Pro3(SocketAM3+/880G+SB850)
  • RAM: DDR3 32GB(8GBx4)

2011年3月発売なので7年も前の代物。しかし、KVM+ファイルサーバとしてまだまだ現役です。(KVMのイメージはSSDに置いてます。)
mdadmで作ったRAID-1領域をcryptsetupで暗号化して、LVMで100GBくらい残して領域確保して、LVMスナップショットでVSSの設定をしました。しかし遅い。MP4の動画とかコピーすると体感で倍の時間かかり、サーバのLAが上がりっぱなしになります。

まずは、以下のように dd で書き込み試験をしてみました。

for i in [1] [2] [3] [4] [5] [6] [7] [8] [9] [10];do echo $'\n\n' $i;date;time dd if=/dev/urandom of=/home/data/test$i.dat ibs=1M obs=1M count=1024;sleep 120;sync;sleep 60;date;done

結果は

[raid1 + crypt + lvm + snap]
 1 279.275 s, 3.8 MB/s  real 4m39.282s  user 0m0.251s  sys 1m59.049s
 2 120.159 s, 8.9 MB/s  real 2m0.162s  user 0m0.238s  sys 1m59.808s
 3 226.536 s, 4.7 MB/s  real 3m46.538s  user 0m0.260s  sys 1m59.585s
 4 284.207 s, 3.8 MB/s  real 4m44.210s  user 0m0.244s  sys 1m58.830s
 5 240.122 s, 4.5 MB/s  real 4m0.125s  user 0m0.234s  sys 1m59.486s
 6 261.699 s, 4.1 MB/s  real 4m21.701s  user 0m0.237s  sys 1m59.860s
 7 227.461 s, 4.7 MB/s  real 3m47.464s  user 0m0.241s  sys 1m59.436s
 8 244.618 s, 4.4 MB/s  real 4m4.621s  user 0m0.248s  sys 1m59.056s
 9 121.658 s, 8.8 MB/s  real 2m1.661s  user 0m0.247s  sys 1m59.868s
10 217.984 s, 4.9 MB/s  real 3m37.987s  user 0m0.301s  sys 1m59.204s

遅い、遅すぎる・・・。書き込み中はLAも上がってしまってサーバ自体重くなります。
LVMスナップショットを止めて、同じくddでの書き込み測定をやってみました。

[raid1 + crypt + lvm]
 1 119.067 s, 9.0 MB/s  real 1m59.081s  user 0m0.215s  sys 1m58.512s
 2 122.628 s, 8.8 MB/s  real 2m2.631s  user 0m0.229s sys 1m58.270s
 3 119.039 s, 9.0 MB/s  real 1m59.042s user 0m0.254s sys 1m58.167s
 4 119.611 s, 9.0 MB/s  real 1m59.613s user 0m0.221s sys 1m58.512s
 5 118.525 s, 9.1 MB/s  real 1m58.528s user 0m0.232s sys 1m58.206s
 6 120.871 s, 8.9 MB/s  real 2m0.874s  user 0m0.242s  sys 1m59.507s
 7 122.434 s, 8.8 MB/s  real 2m2.437s  user 0m0.235s  sys 1m58.260s
 8 124.036 s, 8.7 MB/s  real 2m4.038s  user 0m0.229s  sys 1m59.001s
 9 119.162 s, 9.0 MB/s  real 1m59.165s  user 0m0.239s  sys 1m58.557s
10 121.49 s, 8.8 MB/s  real 2m1.493s  user 0m0.228s  sys 1m58.393s

はい、この通り、体感通り倍くらいの速度です。
ここで暗号化はどのくらい影響あるのか試してみました。暗号化を止め、同じdd測定。

[raid1 + ext4]
 1 119.743 s, 9.0 MB/s  real 1m59.766s  user 0m0.232s  sys 1m58.477s
 2 122.782 s, 8.7 MB/s  real 2m2.785s  user 0m0.236s  sys 1m58.307s
 3 120.476 s, 8.9 MB/s  real 2m0.479s  user 0m0.230s  sys 1m58.249s
 4 121.462 s, 8.8 MB/s  real 2m1.464s  user 0m0.217s  sys 1m58.448s
 5 120.578 s, 8.9 MB/s  real 2m0.581s  user 0m0.224s  sys 1m58.296s
 6 122.139 s, 8.8 MB/s  real 2m2.142s  user 0m0.247s  sys 1m58.068s
 7 118.998 s, 9.0 MB/s  real 1m59.001s  user 0m0.231s  sys 1m58.380s
 8 121.787 s, 8.8 MB/s  real 2m1.790s  user 0m0.242s  sys 1m58.527s
 9 119.572 s, 9.0 MB/s  real 1m59.574s  user 0m0.221s  sys 1m58.431s
10 119.16 s, 9.0 MB/s  real 1m59.163s user 0m0.222s  sys 1m58.250s

という感じで、暗号化あり・なしで書き込みのパフォーマンスはほとんど変わりありませんでした。
書き込み以外のパフォーマンスも調べたくなり bonnie++ をインストールして測定してみました。

bonnie++ -d /home/data -n 256:1024:1024:16 -u root

まずは、暗号化なしの状態。

Version  1.04       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
kvm86        63960M 88530  96 101396  14 18853   5 44081  49 143398  18 452.9   3
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files:max:min        /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
   256:1024:1024/16 47951  71 81102  40 21555  20 15672  23   309   0   473   0
kvm86,63960M,88530,96,101396,14,18853,5,44081,49,143398,18,452.9,3,256:1024:1024/16,47951,71,81102,40,21555,20,15672,23,309,0,473,0

次に、再びcryptsetupで暗号化した場合、

Version  1.04       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
kvm86        63960M 77798  86 52299   6 16037   6 56891  66 144691  23 446.4   3
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
files:max:min        /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
   256:1024:1024/16 59118  87 58280  29 22944  22 15727  23   465   0   603   1
kvm86,63960M,77798,86,52299,6,16037,6,56891,66,144691,23,446.4,3,256:1024:1024/16,59118,87,58280,29,22944,22,15727,23,465,0,603,1

SequentialのBlockのOutputは半分くらいに落ち込んでますが、Sequential Inputはあまり変わりがなく、先ほどのddでの書き込み測定と一致しています。体感的に、それほど変わらないので暗号化して使うことにしました。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1