LVMを語らせていただけませんか? その2
■ このスレッドは過去ログ倉庫に格納されています
0001login:Penguin
2010/07/16(金) 11:25:26ID:JcEUPlkg■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:Penguin
2010/07/16(金) 11:27:50ID:JcEUPlkglvremoveで削除した論理ボリュームを復活させたいんだけど、
もう無理?
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:Penguin
2010/07/16(金) 11:28:40ID:JcEUPlkg973の方と同様の過ちをしたのですが、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:Penguin
2010/07/16(金) 11:29:24ID:JcEUPlkglinuxの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:Penguin
2010/07/16(金) 11:50:49ID:afJNPWu8ボリューム管理+RAIDみたいな感じになると最強だな。
0006login:Penguin
2010/07/21(水) 14:57:11ID:i6kku1G9こちら(ttp://kimitakeblog.net/item/688)などで紹介されているようにLVM自体にもミラーリングの機能があるのでしょうか?
そうだとすると、LVMを使う前提ではRAIDとLVMをまぜて使うよりもLVM単体でミラーリングを行った方がいいですか?
0007login:Penguin
2010/07/21(水) 15:01:08ID:XKAU9pDW0008login:Penguin
2010/07/21(水) 15:32:51ID:hIKh9GY1LVMを利用しようと思った理由は何?
RAID1を利用しようと思った理由は何?
LVM単体でミラーリングを利用しようと思った理由は何?
的確なアドバイスを求めるのなら手を抜かずに質問内容を書いたほうがいいよ。
答える義理もないが。
0009login:Penguin
2010/07/21(水) 15:37:03ID:7TSKaWMD0010login:Penguin
2010/07/21(水) 17:04:08ID:78gYz+x1まあ暇だし。
0011login:Penguin
2010/07/22(木) 18:19:00ID:wVGumxk7LVMは絶対に止めたほうがいい。
0012login:Penguin
2010/07/22(木) 18:21:08ID:7AkYmN+C0013login:Penguin
2010/08/05(木) 05:21:43ID:1N6W7PYpアクセス頻度の高いPEをHDDからSSD側に動的に移動してくれるなんて機能はありませんかね?
0014login:Penguin
2010/08/06(金) 17:57:20ID:pj+IPmpVかろうじて近いのがMDの--write-mostly構成くらいだった。
たぶん改造するしかない。
0015login:Penguin
2010/08/06(金) 18:28:32ID:G0jfrpzGなるほど。
PEのアクセス頻度を調べて、移動させるぐらいなら何とか改造できるかな。
あと、もうひとつ考えたんだけど、LVMでミラーリング(PE単位でミラー)機能はあるけど、RAID5を実装させたい。
mdadmでRAID5とか組むとディスク単位になるから、リビルドとかにものすごい時間かかるんだよね。
これをPE単位でRAID5が組めれば、使用しているPE分だけのリビルドで復旧でき、時間短縮になるかなーと思った。
0016login:Penguin
2010/08/06(金) 18:34:53ID:UJHSfvGIえ?
0017login:Penguin
2010/08/06(金) 22:55:22ID:/rCWQr4f階層ストレージ管理ってやつ?
ググったらそれっぽいのあるけど
Online Hierarchical Storage Manager
ttp://ohsm.sourceforge.net/
0018login:Penguin
2010/08/11(水) 12:09:38ID:8a0dkGZELVMを使うメリットは無い
0019login:Penguin
2010/08/11(水) 12:32:21ID:+yx0x51g0020login:Penguin
2010/08/11(水) 14:29:57ID:utUc9ZtPそのあたりが整理されないと MD vs DM は永久に平行線。
0021login:Penguin
2010/08/13(金) 17:24:33ID:k9PCnCwC0. ディスクあふれやがった…
1. HDD追加してpvcraete -> vgextend
2. あふれた所をlvextend
3. ext4だったのでそのままresize2fs
4. 空きができた
なんて事が再起動なしであっさり出来てしまったので、感動のあまり書き残してみる。
0022login:Penguin
2010/08/13(金) 20:45:07ID:jD76iLIx0023login:Penguin
2010/08/13(金) 22:46:52ID:K1+AsWv2resize2fs サイズ指定しないでコマンド打つと、MAXまで広げてくれるんだよな。
うっかりやってしまって、後でCDブートで直すはめに。
0024login:Penguin
2010/08/14(土) 01:50:12ID:Xrpk5Ovx阿呆もうくんなよw
0025login:Penguin
2010/09/21(火) 17:41:48ID:Q2mMeOhU作業前のデータのバックアップ、作業後の復元を前提にしているのですか?
umount
fsck
resize2fs
lvreduce
の順でやって何度やっても、ぶっ壊れるのですが。
実データ量はわずかで、縮小後もサイズには余裕があります。
0026login:Penguin
2010/09/21(火) 18:03:37ID:PeiRL3xD俺も何度もその作業やったけど壊れなかったよ
lvreduceの前後でlvdisplay -mでマップを表示してみたら?
0027login:Penguin
2010/09/21(火) 18:28:43ID:Q2mMeOhUありがとうございます。
そういうこともあるんですね。
0028login:Penguin
2010/09/24(金) 20:04:22ID:sfMghyA7/home として システムA にマウントさせていた論理ボリューム LV-A を、
システムB に物理的に接続し直し、同じようにマウントさせるには、
どのような手順を踏めば良いのでしょうか?
0029login:Penguin
2010/09/24(金) 20:14:14ID:ryx61Mvs0030login:Penguin
2010/09/24(金) 20:14:42ID:Gmh/hqYxhttp://tldp.org/HOWTO/LVM-HOWTO/recipemovevgtonewsys.html
0031login:Penguin
2010/09/24(金) 20:40:37ID:sfMghyA70032login:Penguin
2010/10/07(木) 22:27:49ID:OH2WVtPq0033login:Penguin
2010/10/12(火) 15:58:48ID:qk+JPpfnという 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:Penguin
2010/10/12(火) 16:01:51ID:15EZKIQj0035login:Penguin
2010/10/12(火) 19:22:21ID:xJMmfz7u普通、ddrescueで吸い出さないといけないのは、LogVol01じゃなくて、
異常の発生した物理DISK(/dev/sda1)だよ
> ddrescue -r3 /dev/VolGroup00/LogVol01 /dev/sdc1 をやってみたところ、
> 数回のエラーは出たものの、どうやら無事 rescue できた様子。
"無事に"って本当?/dev/sdc1はマウント出来て、中身もちゃんとある?
0036login:Penguin
2010/10/12(火) 20:02:00ID:qk+JPpfnもう一回やってみます。ありがとうございます。
0037login:Penguin
2010/10/13(水) 20:31:46ID:1gdWnNce0038login:Penguin
2010/10/13(水) 21:31:06ID:ILOgZpW11. 新しいDISKを既存のボリュームグループに追加(vgextend)
2. 古いDISK上の使用中の領域を新しいDISKに移動(pvmove)
3. 古いDISKをボリュームグループから削除(vgreduce)
古いDISKが無くなるまで繰り返し
0039login:Penguin
2010/10/14(木) 10:09:29ID:bAKxU1Ms0040login:Penguin
2010/10/14(木) 17:50:17ID:qfPDR+5Zもう一度試す前に/dev/sdc1の中身を調べてみろって
間違いなくデータは救出できてるから
もちろんマウント前にfsckは忘れずに
0041login:Penguin
2010/10/14(木) 19:21:37ID:Y2Afx2kz1. ddrescueで不良DISKのデータ吸い出し
2. vgcfgrestore
3. vgchange -ay
4. fsck
>>38は、小さいDISKで作ったボリュームグループを、
データを載せたまま大きいDISKに移行したい、って場合を想定してたんだけど
(すべての新旧DISKを同時接続できるなら、普通にコピーした方が楽)
>>33,37,39 って同じ人?
0042login:Penguin
2010/10/14(木) 20:48:59ID:bAKxU1Ms>>40 の人は意地悪さんなのか、それとも親切さんなのでしょうか?
0043login:Penguin
2010/10/14(木) 21:15:41ID:Y2Afx2kz>>40は親切さんだよ
>>35の物理ボリュームを吸うってのは一般的には正しいが、
もし物理DISKの異常が軽度だったら、LogVol01をddrescueで吸い出したものが
ファイルシステムのイメージとして有効な可能性もある
異常があると言いつつ、VGの活動化は出来ているみたいだから、
軽度の異常である可能性は十分ある
/dev/sdc1のfsck & mountを試みるべき
004442
2010/10/21(木) 09:46:30ID:gD42Njcjせっかく教えていただいてるのにどうもすみません。
間違えるとエラいことになるかと思うと、落ち着きと集中力とが必要で。。
もう一度情報を整理してみました。
1). 古いHDD2台を物理接続しただけでマウントしてない状態です。
# pvscan
PV /dev/sda1 VG VolGroup00 lvm2 [465.75 GB / 0 free]
PV /dev/sdb1 VG VolGroup00 lvm2 [465.75 GB / 64.00 MB free]
Total: 2 [931.50 GB] / in use: 2 [931.50 GB] / in no VG: 0 [0 ]
# vgscan
Reading all physical volumes. This may take a while...
Found volume group "VolGroup00" using metadata type lvm2
# lvscan
ACTIVE '/dev/VolGroup00/LogVol00' [931.44 GB] inherit
これが現状です。
これまでの経験から、エラーが出るのは /sda1 ではなく sdb1 だったので、
不良があるのはどうも /dev/sdb1 の方らしい。
004542
2010/10/21(木) 09:47:11ID:gD42Njcjこれまでに ddrescue した /sdc が、/sda の代わりに認識されているようなので、
# vgchange -a n VolGroup00
# vgremove VolGroup00
# fdisk /dev/sdc
でパーティションを抹消、
# vgchange -a y VolGroup00
で古い方を再活性化した状態からの再スタートになります。
不安なので、上記 1). の状態に戻っているか一行ずつチェックし、完全に 1). 通りであることを確認。
3). ここで再度以下を試します。
# ddrescue -r3 --force /dev/VolGroup00/LogVol00 /dev/sdc /var/log/`date +%Y%m%d`_ddrescue.log
巨大サイズ故にかなり時間がかかることは経験済みなので、この状態で外出します。
まとまった時間が取れないのは、ボリュームがデカすぎて、時間を取ったつもりが、
それでも全然終わらんから、というのは冗談抜きに深刻な問題です。
戻って来るのは夕方すぎですが、はたしてその頃に終わっているかどうか。。。
004642
2010/10/21(木) 21:56:06ID:gD42Njcj# Rescue Logfile. Created by GNU ddrescue version 1.13
# Command line: ddrescue -r3 --force /dev/VolGroup00/LogVol00 /dev/sdc /var/log/20101021_ddrescue.log
# current_pos current_status
0xE438006E00 +
# pos size status
0x00000000 0xE438006000 +
0xE438006000 0x00001000 -
0xE438007000 0x4A3FF9000 +
以上。この + とか - とかになんか意味があるんでしょうが、分かりません。
0047login:Penguin
2010/10/21(木) 22:35:12ID:xKia8yzyつ ttp://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html#Logfile-Structure
リトライするなら/dev/sda1と/dev/sdb1を吸い上げて欲しかったけど、まぁいいや
とりあえず、/dev/sdcをfsck & mountだ
004842
2010/10/22(金) 08:35:27ID:kU5bId9qとりあえず現在、
# fsck /dev/sdc
中です。ちなみに /dev/sda1 と /dev/sdb1 とを吸い上げる場合、
それぞれ別の物理ドライブに吸い上げる方がいいのですか?それとも同一物理ドライブに?
■ このスレッドは過去ログ倉庫に格納されています