トップページlinux
106コメント48KB

LVMを語らせていただけませんか? その2

■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin2010/07/16(金) 11:25:26ID:JcEUPlkg
LinuxのLVM(Logical Volume Manager)について情報交換するスレです。

■LVMの主な機能
ハードディスクのパーティションを物理デバイスでまたがって一つのパーティションにする
既にあるLVMパーティションを増設した物理デバイスを追加することができる
パーティションのスナップショットを作成する
など。

前スレ
LVMを語らせていただけませんか?
http://pc11.2ch.net/test/read.cgi/linux/1024122484/

関連スレ
RAID総合スレッド No.5
http://pc11.2ch.net/test/read.cgi/linux/1253111675/

ファイルシステム総合スレ その11
http://pc11.2ch.net/test/read.cgi/linux/1256639505/
0002login:Penguin2010/07/16(金) 11:27:50ID:JcEUPlkg
973 名前:login:Penguin []: 2010/06/30(水) 17:44:54 ID:FlM5EzIK (2)
lvremoveで削除した論理ボリュームを復活させたいんだけど、
もう無理?

975 名前:login:Penguin [sage]: 2010/06/30(水) 21:12:27 ID:aeXlIJ6f (2)
>>973
VGの構成情報は/etc/lvm/archive/の下に
自動でバックアップされている(LVMを操作するたび)

lvremoveしたあと、LVM関連の変更を行っていないのであれば、
/etc/lvm/archive/の下の一番新しいファイルが
lvremove直前のものだから、vgcfgrestoreで戻せるはず。

つうか、テストしたら普通に戻せた

1.バックアップの中身確認( "-l"オプション )
# vgcfgrestore -f /etc/lvm/archive/testvg_00006.vg -l testvg

File: /etc/lvm/archive/testvg_00006.vg
VG name: testvg
Description: Created *before* executing 'lvremove /dev/mapper/testvg-first'
Backup Time: Wed Jun 30 21:03:38 2010

2.実際の構成情報リストア
# vgcfgrestore -f /etc/lvm/archive/testvg_00006.vg testvg
Restored volume group testvg

3. LVのactivate
# vgchange -ay testvg
0003login:Penguin2010/07/16(金) 11:28:40ID:JcEUPlkg
978 名前:login:Penguin []: 2010/07/05(月) 05:05:53 ID:CEfOH2GT
973の方と同様の過ちをしたのですが、archiveにも残ってない場合は無理でしょうか?

983 名前:login:Penguin [sage]: 2010/07/05(月) 23:38:37 ID:vI6Vt5iG
>>978
ネタだと思うけど一応。
基本的には無理だけど、限定条件下なら可能

1. これまでlvcreate/lvextendでPV,PEを指定するオプションを使ったことが無い
2. LVの縮小や削除をしたことが無い(ミスった1回以外)
3. 削除後、LVMの操作をしていない

上記1-3を満たす場合、PEは先頭から順番に使用され(複数のPVがある場合1個目から)
かつ再利用されていないから、以下のコマンドで使用中のPEを確認し、
歯抜け部分を先頭から順番にくっつければOKのはず
# lvdisplay --maps

歯抜け部分を順番にくっつけるには、以下のいずれか
A. PE指定で、lvcreate→lvextend→lvextend→lvextend…
B. vgcfgbackupで現在のVG情報をテキストに落としたものに、削除してしまったLVの
 エントリを捏造して、vgcfgrestore

テストなら戻せるけど、実環境では2の条件が無理
(歯抜けPEをddで見て、元のLVを判別出来るなら何とかなるかもしんないけど)
0004login:Penguin2010/07/16(金) 11:29:24ID:JcEUPlkg
972 名前:login:Penguin [sage]: 2010/05/13(木) 21:59:39 ID:AnZS7vyd
linuxのLVM2だとLVの作成数の上限は無いとmanページに書いてあるんですけど、
試しに作ってみたら400個程しか作れませんでした。
100GのHDDに4MのLVを作ったので、空き容量はあるんですけど?
metadataが一杯みたいなエラーがでてました。
特別な作成方法があるのでしょうか?

977 名前:login:Penguin [sage]: 2010/06/30(水) 22:02:45 ID:aeXlIJ6f (2)
>>972
PV作成時にmetadataのサイズを指定する

# pvcreate --metadatasize 512m /dev/sda
0005login:Penguin2010/07/16(金) 11:50:49ID:afJNPWu8
スナップショットとかどうでもいいから、
ボリューム管理+RAIDみたいな感じになると最強だな。
0006login:Penguin2010/07/21(水) 14:57:11ID:i6kku1G9
ホームサーバーのデータをミラーリングしたいと思ってLVM + RAID1の構成を作ろうと思っているのですが、
こちら(ttp://kimitakeblog.net/item/688)などで紹介されているようにLVM自体にもミラーリングの機能があるのでしょうか?
そうだとすると、LVMを使う前提ではRAIDとLVMをまぜて使うよりもLVM単体でミラーリングを行った方がいいですか?
0007login:Penguin2010/07/21(水) 15:01:08ID:XKAU9pDW
やめたほうがいいいです
0008login:Penguin2010/07/21(水) 15:32:51ID:hIKh9GY1
>>6
LVMを利用しようと思った理由は何?
RAID1を利用しようと思った理由は何?
LVM単体でミラーリングを利用しようと思った理由は何?

的確なアドバイスを求めるのなら手を抜かずに質問内容を書いたほうがいいよ。
答える義理もないが。
0009login:Penguin2010/07/21(水) 15:37:03ID:7TSKaWMD
それ聞いてもしょうがなくね。
0010login:Penguin2010/07/21(水) 17:04:08ID:78gYz+x1
>>9
まあ暇だし。
0011login:Penguin2010/07/22(木) 18:19:00ID:wVGumxk7
>>6
LVMは絶対に止めたほうがいい。
0012login:Penguin2010/07/22(木) 18:21:08ID:7AkYmN+C
それとAppleも絶対に止めたほうがいい
0013login:Penguin2010/08/05(木) 05:21:43ID:1N6W7PYp
SSDとHDD混在のVolume Groupを作ったとき、
アクセス頻度の高いPEをHDDからSSD側に動的に移動してくれるなんて機能はありませんかね?

0014login:Penguin2010/08/06(金) 17:57:20ID:pj+IPmpV
同じことやろうとしたけどなかった。
かろうじて近いのがMDの--write-mostly構成くらいだった。

たぶん改造するしかない。
0015login:Penguin2010/08/06(金) 18:28:32ID:G0jfrpzG
>>14
なるほど。
PEのアクセス頻度を調べて、移動させるぐらいなら何とか改造できるかな。

あと、もうひとつ考えたんだけど、LVMでミラーリング(PE単位でミラー)機能はあるけど、RAID5を実装させたい。
mdadmでRAID5とか組むとディスク単位になるから、リビルドとかにものすごい時間かかるんだよね。
これをPE単位でRAID5が組めれば、使用しているPE分だけのリビルドで復旧でき、時間短縮になるかなーと思った。
0016login:Penguin2010/08/06(金) 18:34:53ID:UJHSfvGI
>mdadmでRAID5とか組むとディスク単位
え?
0017login:Penguin2010/08/06(金) 22:55:22ID:/rCWQr4f
>>13
階層ストレージ管理ってやつ?
ググったらそれっぽいのあるけど

Online Hierarchical Storage Manager
ttp://ohsm.sourceforge.net/
0018login:Penguin2010/08/11(水) 12:09:38ID:8a0dkGZE
LVMのメリットの多くは HDDが活線挿抜できないと意味が無いので
LVMを使うメリットは無い
0019login:Penguin2010/08/11(水) 12:32:21ID:+yx0x51g
また阿呆が来やがった
0020login:Penguin2010/08/11(水) 14:29:57ID:utUc9ZtP
いやまあ LVM mirror を試したときはそう思ったけどな。
そのあたりが整理されないと MD vs DM は永久に平行線。
0021login:Penguin2010/08/13(金) 17:24:33ID:k9PCnCwC
確かにHot-Add + online resize出来るとすげえ便利だ。
0. ディスクあふれやがった…
1. HDD追加してpvcraete -> vgextend
2. あふれた所をlvextend
3. ext4だったのでそのままresize2fs
4. 空きができた

なんて事が再起動なしであっさり出来てしまったので、感動のあまり書き残してみる。
0022login:Penguin2010/08/13(金) 20:45:07ID:jD76iLIx
冗長化してないPVにVGなんて砂の上の城
0023login:Penguin2010/08/13(金) 22:46:52ID:K1+AsWv2
>>21
resize2fs サイズ指定しないでコマンド打つと、MAXまで広げてくれるんだよな。
うっかりやってしまって、後でCDブートで直すはめに。
0024login:Penguin2010/08/14(土) 01:50:12ID:Xrpk5Ovx
>>22
阿呆もうくんなよw
0025login:Penguin2010/09/21(火) 17:41:48ID:Q2mMeOhU
LVの縮小ってのは、そもそもデータの保持は保証しておらず
作業前のデータのバックアップ、作業後の復元を前提にしているのですか?
umount
fsck
resize2fs
lvreduce
の順でやって何度やっても、ぶっ壊れるのですが。
実データ量はわずかで、縮小後もサイズには余裕があります。
0026login:Penguin2010/09/21(火) 18:03:37ID:PeiRL3xD
>>25
俺も何度もその作業やったけど壊れなかったよ
lvreduceの前後でlvdisplay -mでマップを表示してみたら?
0027login:Penguin2010/09/21(火) 18:28:43ID:Q2mMeOhU
>>26
ありがとうございます。
そういうこともあるんですね。
0028login:Penguin2010/09/24(金) 20:04:22ID:sfMghyA7
物理ドライブ /dev/sda と /dev/sdb とで作成し
/home として システムA にマウントさせていた論理ボリューム LV-A を、
システムB に物理的に接続し直し、同じようにマウントさせるには、
どのような手順を踏めば良いのでしょうか?
0029login:Penguin2010/09/24(金) 20:14:14ID:ryx61Mvs
まず服を脱ぎます
0030login:Penguin2010/09/24(金) 20:14:42ID:Gmh/hqYx
>>28
http://tldp.org/HOWTO/LVM-HOWTO/recipemovevgtonewsys.html
0031login:Penguin2010/09/24(金) 20:40:37ID:sfMghyA7
>>30 ありがとうございます。頑張ります。
0032login:Penguin2010/10/07(木) 22:27:49ID:OH2WVtPq
lvcreate -mNで作れるミラーって微妙だな
0033login:Penguin2010/10/12(火) 15:58:48ID:qk+JPpfn
/dev/sda1 (500GB) + /dev/sdb1 (500GB) = /dev/VolGroup00/LogVol01 (1TB)

という VG, LV を作って使っていたのですが、/dev/sda1 に不良が発生したらしく、
正しく読めなくなってしまいました。交換用に購入した HDD は単発で 2TB のもので、
こいつを /dev/sdc1 2TB として物理接続し、

ddrescue -r3 /dev/VolGroup00/LogVol01 /dev/sdc1 をやってみたところ、
数回のエラーは出たものの、どうやら無事 rescue できた様子。

なんですが、さてこれ、元の /dev/VolGroup00/LogVol01 とは、
どうやって完全に置き換えればいいんでしょうか。

いちおう、希望としては、2TB 単発ではなく、やはり2台の 2TB HDD を用いて、
4TB な LV を作りたいと思っているのですが。
0034login:Penguin2010/10/12(火) 16:01:51ID:15EZKIQj
阿呆発見
0035login:Penguin2010/10/12(火) 19:22:21ID:xJMmfz7u
>>33
普通、ddrescueで吸い出さないといけないのは、LogVol01じゃなくて、
異常の発生した物理DISK(/dev/sda1)だよ

> ddrescue -r3 /dev/VolGroup00/LogVol01 /dev/sdc1 をやってみたところ、
> 数回のエラーは出たものの、どうやら無事 rescue できた様子。

"無事に"って本当?/dev/sdc1はマウント出来て、中身もちゃんとある?
0036login:Penguin2010/10/12(火) 20:02:00ID:qk+JPpfn
>>35 どうも。そうなんですか。
もう一回やってみます。ありがとうございます。
0037login:Penguin2010/10/13(水) 20:31:46ID:1gdWnNce
ディスクを全部交換したいときってどうしたらいいの?
0038login:Penguin2010/10/13(水) 21:31:06ID:ILOgZpW1
>>37
1. 新しいDISKを既存のボリュームグループに追加(vgextend)
2. 古いDISK上の使用中の領域を新しいDISKに移動(pvmove)
3. 古いDISKをボリュームグループから削除(vgreduce)

古いDISKが無くなるまで繰り返し
0039login:Penguin2010/10/14(木) 10:09:29ID:bAKxU1Ms
>>38 その古いDISKのうちのどれかに不良が発生してても基本的に同じ?
0040login:Penguin2010/10/14(木) 17:50:17ID:qfPDR+5Z
>>36
もう一度試す前に/dev/sdc1の中身を調べてみろって
間違いなくデータは救出できてるから
もちろんマウント前にfsckは忘れずに
0041login:Penguin2010/10/14(木) 19:21:37ID:Y2Afx2kz
>>39
1. ddrescueで不良DISKのデータ吸い出し
2. vgcfgrestore
3. vgchange -ay
4. fsck

>>38は、小さいDISKで作ったボリュームグループを、
データを載せたまま大きいDISKに移行したい、って場合を想定してたんだけど
(すべての新旧DISKを同時接続できるなら、普通にコピーした方が楽)

>>33,37,39 って同じ人?
■ このスレッドは過去ログ倉庫に格納されています