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

このエントリーをはてなブックマークに追加
1login:Penguin
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/
2login:Penguin:2010/07/16(金) 11:27:50 ID: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
3login:Penguin:2010/07/16(金) 11:28:40 ID: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を判別出来るなら何とかなるかもしんないけど)
4login:Penguin:2010/07/16(金) 11:29:24 ID: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
5login:Penguin:2010/07/16(金) 11:50:49 ID:afJNPWu8
スナップショットとかどうでもいいから、
ボリューム管理+RAIDみたいな感じになると最強だな。
6login:Penguin:2010/07/21(水) 14:57:11 ID:i6kku1G9
ホームサーバーのデータをミラーリングしたいと思ってLVM + RAID1の構成を作ろうと思っているのですが、
こちら(ttp://kimitakeblog.net/item/688)などで紹介されているようにLVM自体にもミラーリングの機能があるのでしょうか?
そうだとすると、LVMを使う前提ではRAIDとLVMをまぜて使うよりもLVM単体でミラーリングを行った方がいいですか?
7login:Penguin:2010/07/21(水) 15:01:08 ID:XKAU9pDW
やめたほうがいいいです
8login:Penguin:2010/07/21(水) 15:32:51 ID:hIKh9GY1
>>6
LVMを利用しようと思った理由は何?
RAID1を利用しようと思った理由は何?
LVM単体でミラーリングを利用しようと思った理由は何?

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

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

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

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

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

なんて事が再起動なしであっさり出来てしまったので、感動のあまり書き残してみる。
22login:Penguin:2010/08/13(金) 20:45:07 ID:jD76iLIx
冗長化してないPVにVGなんて砂の上の城
23login:Penguin:2010/08/13(金) 22:46:52 ID:K1+AsWv2
>>21
resize2fs サイズ指定しないでコマンド打つと、MAXまで広げてくれるんだよな。
うっかりやってしまって、後でCDブートで直すはめに。
24login:Penguin:2010/08/14(土) 01:50:12 ID:Xrpk5Ovx
>>22
阿呆もうくんなよw
25login:Penguin:2010/09/21(火) 17:41:48 ID:Q2mMeOhU
LVの縮小ってのは、そもそもデータの保持は保証しておらず
作業前のデータのバックアップ、作業後の復元を前提にしているのですか?
umount
fsck
resize2fs
lvreduce
の順でやって何度やっても、ぶっ壊れるのですが。
実データ量はわずかで、縮小後もサイズには余裕があります。
26login:Penguin:2010/09/21(火) 18:03:37 ID:PeiRL3xD
>>25
俺も何度もその作業やったけど壊れなかったよ
lvreduceの前後でlvdisplay -mでマップを表示してみたら?
27login:Penguin:2010/09/21(火) 18:28:43 ID:Q2mMeOhU
>>26
ありがとうございます。
そういうこともあるんですね。
28login:Penguin:2010/09/24(金) 20:04:22 ID:sfMghyA7
物理ドライブ /dev/sda と /dev/sdb とで作成し
/home として システムA にマウントさせていた論理ボリューム LV-A を、
システムB に物理的に接続し直し、同じようにマウントさせるには、
どのような手順を踏めば良いのでしょうか?
29login:Penguin:2010/09/24(金) 20:14:14 ID:ryx61Mvs
まず服を脱ぎます
30login:Penguin:2010/09/24(金) 20:14:42 ID:Gmh/hqYx
31login:Penguin:2010/09/24(金) 20:40:37 ID:sfMghyA7
>>30 ありがとうございます。頑張ります。
32login:Penguin:2010/10/07(木) 22:27:49 ID:OH2WVtPq
lvcreate -mNで作れるミラーって微妙だな
33login:Penguin:2010/10/12(火) 15:58:48 ID: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 を作りたいと思っているのですが。
34login:Penguin:2010/10/12(火) 16:01:51 ID:15EZKIQj
阿呆発見
35login:Penguin:2010/10/12(火) 19:22:21 ID:xJMmfz7u
>>33
普通、ddrescueで吸い出さないといけないのは、LogVol01じゃなくて、
異常の発生した物理DISK(/dev/sda1)だよ

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

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

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

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

>>33,37,39 って同じ人?
42login:Penguin:2010/10/14(木) 20:48:59 ID:bAKxU1Ms
>>41 ども。 >>33 >>39 は同じ人です。 >>37 の人は違います。
>>40 の人は意地悪さんなのか、それとも親切さんなのでしょうか?
43login:Penguin:2010/10/14(木) 21:15:41 ID:Y2Afx2kz
>>42
>>40は親切さんだよ
>>35の物理ボリュームを吸うってのは一般的には正しいが、
もし物理DISKの異常が軽度だったら、LogVol01をddrescueで吸い出したものが
ファイルシステムのイメージとして有効な可能性もある

異常があると言いつつ、VGの活動化は出来ているみたいだから、
軽度の異常である可能性は十分ある
/dev/sdc1のfsck & mountを試みるべき
4442:2010/10/21(木) 09:46:30 ID: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 の方らしい。
4542:2010/10/21(木) 09:47:11 ID:gD42Njcj
2). 一旦シャットダウンし、救出先のHDDを新たに追加物理接続して起動。やはりマウントしてない状態です。
これまでに 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
巨大サイズ故にかなり時間がかかることは経験済みなので、この状態で外出します。
まとまった時間が取れないのは、ボリュームがデカすぎて、時間を取ったつもりが、
それでも全然終わらんから、というのは冗談抜きに深刻な問題です。
戻って来るのは夕方すぎですが、はたしてその頃に終わっているかどうか。。。
4642:2010/10/21(木) 21:56:06 ID:gD42Njcj
4). 帰ってきました。終わってました。上記 3).で取ったログは以下の内容でした。

# 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 +

以上。この + とか - とかになんか意味があるんでしょうが、分かりません。
47login:Penguin:2010/10/21(木) 22:35:12 ID:xKia8yzy
>>46
ttp://www.gnu.org/software/ddrescue/manual/ddrescue_manual.html#Logfile-Structure

リトライするなら/dev/sda1と/dev/sdb1を吸い上げて欲しかったけど、まぁいいや
とりあえず、/dev/sdcをfsck & mountだ
4842:2010/10/22(金) 08:35:27 ID:kU5bId9q
>>47 へ?そうなんですか?どうもありがとうございます。
とりあえず現在、
# fsck /dev/sdc
中です。ちなみに /dev/sda1 と /dev/sdb1 とを吸い上げる場合、
それぞれ別の物理ドライブに吸い上げる方がいいのですか?それとも同一物理ドライブに?
4942:2010/10/22(金) 09:11:41 ID:kU5bId9q
ところで fsck の結果をログに取るにはどうすれば?
# fsck /dev/sdc >`date +%Y%m%d`_fsck_sdc.log 2>&1
などとするんでしょうか?
関係ないですけど、この最後の 2>&1 ってのがワケ分らなくて、いつも忘れる。

あ、今以下の用に出ました。これは y するしかないと思いますがとりあえず。
# fsck /dev/sdc
fsck 1.35 (28-Feb-2004)
e2fsck 1.35 (28-Feb-2004)
/dev/sdc contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Inode 119652481 is in use, but has dtime set. Fix<y>?
この時点で40分以上経過。
以下、同じ待機状態が連続すると予測。
やっぱ -y でやるしかないのかな。
50login:Penguin:2010/10/22(金) 09:25:19 ID:Yt0M7i1e
>>49
fsck -y /dev/sdx
cat /var/log/fsck
5142:2010/10/22(金) 09:25:29 ID:kU5bId9q
やはりあまりに辛気くさいので ctr + c で中止。以下をやり直しとります。
# fsck -y /dev/sdc > /var/log/`date +%Y%m%d`_fsck_sdc.log 2>&1
09:20:56 にスタート。待機。
5242:2010/10/22(金) 09:58:18 ID:kU5bId9q
>>50 入れ違った。 orz  でもありがとうございます。そこにログはあるんですね。
5342:2010/10/22(金) 10:51:55 ID:kU5bId9q
>>51 から約1時間半経ちますが、まだ延々 fsck やっとります。

ところで mount はどこに?
様子見なので /mnt/test など「どっか適当に」かな?

でもこれ、論理ボリュームを写したものなので、
こいつ自体もやっぱ論理ボリュームのはずだと思うんですが、違うのかな。

とすると、いきなり
# mount -t ext3 /dev/sdc1 /mnt/test
とやったところで「そんなデバイスはないぜ」と言われる気がするのですが。

やっぱ pvscan vgscan lvscan なんですかね。
54login:Penguin:2010/10/22(金) 10:54:11 ID:01aW1eM5
好きにしろや
5542:2010/10/22(金) 10:57:27 ID:kU5bId9q
fsck いま終わった。どきどきする。恐い。
56login:Penguin:2010/10/22(金) 19:57:46 ID:5Ej1cijL
>>48
> 中です。ちなみに /dev/sda1 と /dev/sdb1 とを吸い上げる場合、
> それぞれ別の物理ドライブに吸い上げる方がいいのですか?それとも同一物理ドライブに?
質問の意図が分からん
俺だったら、/dev/sda1と/dev/sdb1のイメージファイルを新しい1個のDISK上に吸い上げる(容量があれば)
んで、次の作業を始める前に、イメージファイルをさらに別のDISKにバックアップしておく

>>53
> 様子見なので /mnt/test など「どっか適当に」かな?
うん。適当で

> でもこれ、論理ボリュームを写したものなので、
> こいつ自体もやっぱ論理ボリュームのはずだと思うんですが、違うのかな。
違うよ。
デバイスの種類としては、DISKのパーティション(/dev/sda1, /dev/sdb1等)と同じ
論理ボリューム=仮想的なDISKパーティション
5742:2010/10/24(日) 21:05:40 ID:2i0Xn6Xn
>>56
いつも丁寧なアドバイスをどうもありがとうございます / ました。
>>56 のリプライをいただいたのと入れ違い?になってしまったのですが、
>>55 のあと「失敗したら最初からやり直しゃいいや」と思い、
エイヤ!でいろいろやってみました。
結論から言いますと、すべてのデータを救出できました。

まず、>>47 のアドバイスをいただいて、>>48 にトライする段階で、
そもそも /dev/sdc1 が無いことに軽い衝撃を受けていました。
物理ドライブを丸ごと全体使っても、一つのパーティションとして、
つまり /dev/sdc1 として認識されるものだと思っていました。← アホ
5842:2010/10/24(日) 21:08:04 ID:2i0Xn6Xn
それで # fdisk /dev/sdc でパーティション構成を見ても何もなくて、
ものすごいショックで、もう一回一からやり直そうかと考えたのですが、
もう一度冷静に >>47 を読み直して、/dev/sdc1 とは書かれておらず、
あくまで /dev/sdc と書いておられたことを確認し、
半信半疑で # fsck -y /dev/sdc をやったのが >>48>>51 です。

fsck のログを見たら、JPG ファイルが一つと mp3 ファイルが一つ、
なんかよく分りませんが、具体名を上げて、ログに記録されていました。
でもそれらの不良も fixed されたような感じだったので、かつ、
/dev/sdc1 ではなくて /dev/sdc であることを知ったので、
# mount -t ext3 /dev/sdc /mnt/2TBtest でマウントし、
ログに記録されていたファイルをチェックしてみたところ、問題なし。

というわけで、一つもファイルを落とさずに、すべて復活させることができました。
何も分ってない私に最後まで辛抱強く付き合って下さった >>35 >>40 >>41 >>43 >>47 >>50 >>56 さん。
どうもありがとうございました。心から感謝いたしまする!
59login:Penguin:2010/10/24(日) 21:16:06 ID:Rb/fUwt1
おめ
60login:Penguin:2010/11/08(月) 17:16:16 ID:LNEsNpK2
61login:Penguin:2010/11/17(水) 00:34:00 ID:h5FdWL8Z
RHEL6.1でLVMミラーがようやくまともに使えるようになりそうだ。
ミラーログのミラーができるようになっている。
62login:Penguin:2010/11/18(木) 18:07:50 ID:ffTJtUTG
今までのおかしな仕様がやっと変更されるのか
63login:Penguin:2010/12/04(土) 23:48:05 ID:pDcZsBny
スナップショットおしえて
64login:Penguin:2010/12/11(土) 19:08:38 ID:gBBqZBvd
lvm mirror のログ置き場で /dev/loop0 といった仮想ディスクもどきを使って
起動時の同期を避けれるんだが、なにか論理的な欠点ありそう?
lvm のディスク ID とか等で loop デバイスの番号等を変えちゃ駄目とか。。。
65login:Penguin:2010/12/15(水) 01:05:01 ID:+j68kIIh
>>64
> 起動時の同期
んなアホな、と思って仮想マシンで試してみたけど、
案の定、起動時の同期なんか起きない
同期が完了していない状態で再起動しているだけじゃないの?

ついでに色々テストしてみたけど、正直微妙
将来的にはZFSのDISK管理部分みたいなものを目指しているのか…?
66login:Penguin:2010/12/18(土) 05:01:47 ID:v61Hzjvn
lvm mirror はソースコードか操作説明ぐらいしかないので
色々テストとは興味深いです。

微妙ですか。最近は、lvm には mdadm みたいな障害告知が無いので
lvm mirror はあまり意味ないかなーと思い始めてます。
ディスク追加とかボリュームサイズ変更の柔軟性は便利そうなので
将来的な期待ですか。
もっとも ZFS みたいに突発電源オフでもデータ不整合は無い
(ディスクは物理的に壊れるかも知れないが。。。)
というわけにはいかないでしょうね。

ただ lvm mirror の作業ログ自体は corelog でないならきちんとファイルで
恒久化されるので、それで問題無いというログなら同期は完了済みとして、
corelog と違い同期不要なのでは、と期待してます。根拠無いですが。。。

ソース読めば明確なんでしょうけど。。。
67login:Penguin:2011/01/27(木) 20:09:05 ID:Id/VhfNG
LVM以外で、複数のHDDをひとつに見せる方法はありますか?
68login:Penguin:2011/01/27(木) 20:45:02 ID:KLrZEKP4
RAID
69login:Penguin:2011/01/28(金) 01:31:49 ID:jVMCSyA7
>>67
アロンアルファ
ひとつにくっつけたらひとつに見えるよ。
70login:Penguin:2011/01/28(金) 16:00:42 ID:Y1Km0w/g
>>67
dmとmdを直接使うとか。
71login:Penguin:2011/01/28(金) 17:12:14 ID:Ogycs+5c
>>69
おもろい。笑いすぎて腸捻転になった。
死にそう。助けて。
72login:Penguin:2011/01/28(金) 17:25:45 ID:KHDNulZy
心がすさんでるな。
73login:Penguin:2011/02/26(土) 14:02:35.83 ID:dwA7g4rC
カーネル2.421なんですけど
PEをどんな大きさにしても、LVサイズの上限が2TB以上に
ならないんですけど、これは仕様ですかね

PEを4MBとかにするとちゃんとLVの上限が256Gになるんで
小さい方にはちゃんと計算されてるんですが・・・
74login:Penguin:2011/02/26(土) 14:34:34.67 ID:l2UEaSXl
2.4はブロックデバイスが2TBまで
パッチはあるが2.6にしたほうが幸せになれるだろう
75login:Penguin:2011/02/26(土) 14:53:24.78 ID:dwA7g4rC
>>74
>2.4はブロックデバイスが2TBまで
わーお。
2TBの壁を越えるためにLVMを考えてたんだけど
LVMで出来るのもよく考えればブロックデバイスだわな。
おれはなんて馬鹿なんだ・・・
76login:Penguin:2011/04/20(水) 20:12:42.30 ID:tflcA7cL
CentOS5.5でLVM作ってみたんですが、Snapshot領域がマウントできません。
ファイルシステムを指定汁、って出たので、LVと同じext3を指定したら
そんなファイルシステムじゃねえよとかエラーが出ます…
77login:Penguin:2011/08/01(月) 13:06:58.13 ID:hqI5CB9a
lvmってHDDがクラッシュするとどうなるの?
死んだHDDとLVがまたがっている場合、
生きてるHDDの方のデータはちゃんと取り出せるの?
78login:Penguin:2011/08/01(月) 13:17:12.77 ID:DocwGums
RAID 0と似たようなものと考えてくれ
79login:Penguin:2011/08/01(月) 13:37:52.07 ID:qR4MKau3
どちらかというとJBOD
80login:Penguin:2011/08/01(月) 20:45:22.81 ID:uEVxuTwB
>>77
ブロックデバイスレベルではね。
その上に載ってるファイルシステムが、そういうエラー状態で
どういう挙動するかは、ファイルシステム次第。
81login:Penguin:2011/08/01(月) 22:17:03.76 ID:O6ipdY8P
>>77
この前1台が死んだ。
新しいドライブつなげてpvmoveでエクステント移動して、
xfs_repairで救出したら・・・ある程度は救出できた(LVM全体の60%ぐらい)
残ったHDDのデータがファイルシステム上完全である保証はないから
まぁ仕方ないかなという感じ

クラッシュ怖いならバックアップしろって感じだな
地震多いしRAID程度じゃ焼け石に水だ
82login:Penguin:2011/08/02(火) 14:51:38.94 ID:+8UCuUCI
>>77
前スレを読むといい
83login:Penguin:2011/08/20(土) 03:44:59.07 ID:HzylOLMk
1台から不良セクタが出始めたのでそのHDDを取り外すために新しく追加用HDDをつなげてPVを作ったものの、間違えてlvextend 100%VG とやっちまったので、
Free PEなくなってしまった。それ以降書き込みはしていないので新しくつなげたHDDにデータはないはずなんだけど、強制的に新HDDを取り外す方法はないかな?
84login:Penguin:2011/08/20(土) 13:16:18.86 ID:K4sqGdaR
>>83
LiveCDで起動→vgcfgrestoreで以前の状態に戻す
(lvextendの直前 or vgextendの直前)

lvextendしただけなら問題ないはず
ファイルシステム拡張済みの場合はfsckする
85login:Penguin:2011/08/20(土) 22:35:52.78 ID:HzylOLMk
>>84
今VGから1回取り外したPVを再作成して取り外したいPVから pvmove 中…
本当助かりました!ありがとう!
自分の知識じゃ思いつかなかったもんで、もう1台外からつなげて移動させようとHDD買ったのが届いてしまった…
86login:Penguin:2012/01/23(月) 00:50:23.15 ID:xQQZSV86
LVM2で質問です。
64bit kernel 3.1.x + lvm2 な環境です。
VGこさえるときのPEサイズで、1LVの最大容量が決まる(65536PEまで)
みたいな記述があちこちにあるので、試しに
vgcreate -s1k VG /dev/sdc1
とPEサイズを1kiBにして、その上に1TiBのLV作れちゃったんだよね。

そういう仕様について、適切な記述があるとこを教えて欲しいのですが。。。
ちなみに目的は、30TiBぐらいまで拡張可能なLVを運用することです。
ソース嫁は、ちょっと勘弁してくだしあ。
8786:2012/01/23(月) 01:50:20.50 ID:xQQZSV86
自己レスです。

LVM2では、事実上PEサイズの上限は無いみたいですね。1KiB〜みたいな。
PEサイズを小さくしてPE数が多くなると、ツールのパフォーマンスは下がるけどI/Oには関係ないと。
ベストバランスはどのへんなんだろう。。。
88login:Penguin:2012/01/23(月) 22:33:03.46 ID:6etnk5OQ
>>86
LVあたりのPE数の制限はLVM1だけだと思う
その環境だとLV1つあたり最大8EB
ttp://tldp.org/HOWTO/html_single/LVM-HOWTO/#AEN407

PEサイズはファイルシステム拡張時の最小単位ということを意識しつつ出来るだけ大きい値
30TBがゴールなら1GBぐらいでいいんじゃないの
というか、小さいPEサイズで細かく拡張とかしてたら30TB使い切る前にmetadataが溢れるような気がする
89login:Penguin:2012/01/24(火) 12:08:35.88 ID:6ilQmgvb
すみません、質問させて下さい。
CentOS 5.3 64bit でLVMを使用しています。
カーネルパニックを起こしていたので再起動したところ、
正常に立ち上がらなくなってしまいました。
以下、起動途中に出るエラーメッセージです。
--------------------------------------------------------------------------------------------
Red Hat nash version 5.1.19.6 starting
Reading all physical volumes. This may take a while...
Couldn't find device with uuid 'kDdyoQ-0P5f-eZkg-qt54-KMQt-Krxk-JuWVjY'.
Found volume group "VolGroup00" using metadata type lvm2
Couldn't find device with uuid 'kDdyoQ-0P5f-eZkg-qt54-KMQt-Krxk-JuWVjY'.
Couldn't find device with uuid 'kDdyoQ-0P5f-eZkg-qt54-KMQt-Krxk-JuWVjY'.
Refusing activation of partial LV LogVol00. Use --partial to override.
Couldn't find device with uuid 'kDdyoQ-0P5f-eZkg-qt54-KMQt-Krxk-JuWVjY'.
Refusing activation of partial LV LogVol00. Use --partial to override.
0 logical volume(s) in volume group "VolGroup00" now active
Unable to access resume device (/dev/VolGroup00/LogVol01)
mount: could not find filesystem '/dev/root'
setuproot: moving /dev failed: No such file or directory
setuproot: error mounting /proc: No such file or directory
setuproot: error mounting /sys: No such file or directory
switchroot: mount failed: No such file or directory
Kernel panic - not syncing: Attempted to kill init!
--------------------------------------------------------------------------------------------
RAIDを組んだりもせず、1TBx2個をLinuxインストール時にLVMで2TBとし
そこにCentOSを入れていたのですがもうアウトでしょうか。
もし復旧できそうならアドバイスお願いします。
90login:Penguin:2012/01/24(火) 20:21:12.68 ID:t4zLntmz
>>89
多分、DISKの1つが見えないからボリュームグループを活動化出来ない状態

1.蓋開けてケーブルが抜けてないか確認
2.LiveCDで起動してDISKを認識するかどうか確認
→1個しかDISKが見えない場合=片方死んでる。
生きてる方のDISKのデータを部分的にでも救出したい場合(復旧は無理)、
LiveCD上からボリュームグループを無理やり活動化→論理ボリュームに対しfsck
# vgchange --partial -a y
# fsck -y /dev/VolGroup00/LogVol01

2つのDISKを跨っていたファイルシステムは激しく壊れるから期待しないほうがいい
91login:Penguin:2012/02/02(木) 01:46:51.15 ID:acQ+iR5j
すみません,質問です.
CentOS6でlvmを使っているのですが,grubのバージョンを0.97から1.99rcに変更をしたところ,
急に論理ボリュームが拾えなくなりました(ルートが論理ボリュームのためカーネル機動できず…).
linux rescue(kernel 3.0, amd64)等からlvm.confでsdaを探索範囲に指定しpvscanを実行しても
No matching physical volumes found
というエラーが戻ります(-vvvオプションで/dev/sdaは探索は確認されました)
せめてホームディレクトリだけでも復旧したいのですが,
そもそもpvscanの段階で物理ディスクが認識されないため手も足も出ない状態になっています.
環境は以下の通りですので,わかる方どなたかご助言下さい.
(fdisk実行結果に基づく)
/dev/sda MBR partition
Device Boot Start End Blocks Id System
/dev/sda1 * 63 208844 104391 83 Linux /boot ext2
/dev/sda2 208845 1953520064 976655610 8e Linux LVM
- /dev/VolGroup01/LogVol00 / ext3
- /dev/VolGroup01/LogVol01 swap
92login:Penguin:2012/02/02(木) 15:46:34.53 ID:woypY+8F
GRUB2はメリットゼロでトラブル満載だから使わないほうがいいよ
93login:Penguin:2012/02/06(月) 18:52:51.59 ID:qiNYEPFm
lvmで構築した論理ボリュームにroot(/)を構築したのですが,リブートするごとにno activeになり,
ramdiskから毎回lvchange -ayを用いてactiveにしないと使えない症状になっています.
恒久的にactiveを保つ手法等はないでしょうか?
94login:Penguin:2012/02/07(火) 00:26:40.04 ID:hGIDJLQx
>>93
activeにした状態でinitial ramdiskを作り直せばいんじゃね?
9593:2012/02/09(木) 00:23:32.14 ID:N4oXKZvy
>>94
active状態で/etc/fstab, 多分関係ないけど/etc/lvm.conf等を書き直してramdisk作り直しましたが,
どうしてもだめなようです……
96LVMer:2012/03/16(金) 13:32:14.62 ID:QZlg1TZY
すみません。質問です。
LVMで新しいlvを作成する際、virtualsizeを指定することによって仮想的に
大きなディスク領域を作成できるかと思います。

こんな感じで。
# lvcreate -L 100M --virtualsize 1G -n virtual myvg
これで、1GBのディスク領域が作成されました。

ただ、この手法で作成したvirtualというLVのsnapshotが取れず困っています。

# lvcreate --snapshot --size=1G --name virtual-snap /dev/myvg/virtual
Snapshots of snapshots are not supported yet.

スナップショットのスナップショットが取れないという事なら仕方ないのですが、
何か妙案は無いものかと、諸兄にご相談です。

参考までに、dmsetup lsの結果です。
# dmsetup ls --tree
zero (253:27)
myvg-virtual (253:203)
|-myvg-virtual-cow (253:206)
| `- (8:1)
`-myvg-virtual_vorigin-real (253:205)
myvg-virtual_vorigin (253:204)
`-myvg-virtual_vorigin-real (253:205)
97login:Penguin:2012/06/23(土) 00:43:25.61 ID:FmTOq4ex
LVMがいつの間にかthin provisioningをサポートしてたりRAID1/4/5/6を内蔵してる
98login:Penguin:2012/06/23(土) 22:53:33.42 ID:hwFJJwfF
mdいらなくなるん?
99login:Penguin:2012/06/23(土) 23:05:48.20 ID:ojVDqtPu
かなり前からあった気がするが、安定してるかどうかが不安で試してもいない。
既にある機能だから、ドッグフードイーターがどれほど居るか怪しい気がしてね。
100login:Penguin:2012/06/24(日) 20:58:10.20 ID:QFLYadGW
lvm2 or xfsに4TBくらいの壁とかってありますか?

CentOS5.6で、最初2TBのディスク1本だけをLVM管理にしてたんですが、
最近容量が足りなくなって2.5TBと3TBを追加しました。

普通に、pvcraete -> vgextend -> lvextend -> xfs_grow と作業して、
問題無く容量が増えたんですが、いろいろなファイルをコピー・移動して
いる最中に、3.4?TBくらいでOS側から容量不足のメッセージが出るように
なってしまいました。

2TBは確実に超えてコピーできるし、アクセスランプも光るので、新しい
ディスクが利用されているのは確かなんですが、全容量が使えないのは
何故なんでしょうか?

最初にあまり考えずにLVM設定したので、PEを4MBで作成してしまったん
ですが、>>88に書いてある「metadataのあふれ」が気になっていますが、
確認ってどうやるんでしょうか?syslogやmessagesに関係のありそうな
ログが見つからんし…

FSはXFSにしてるので、純粋な容量制限やiノードの制限ではないと
考えているのですが、何かご存じの方がいたら教えてください。
101login:Penguin:2012/06/24(日) 22:12:30.23 ID:mnCaBf0J
遅レスだけど
>>96
> スナップショットのスナップショットが取れないという事なら仕方ないのですが、
できないってマニュアルに書いてある

>>100
metadataの状況は
# pvs -o pv_name,pv_mda_size,pv_mda_free
102login:Penguin:2012/06/24(日) 22:37:02.00 ID:ftytyYye
>>100
inode64
103login:Penguin:2012/06/24(日) 23:20:12.46 ID:QFLYadGW
>>101
ありがとうございました。
メタデータは、各PVとも半分くらいFreeだったので、
あふれているわけではなさそうですね。

>>102
ググってみたのですが、そんな罠があったとは…

最初の2TBディスクがほぼほぼフルに到達したので、今回の
ディスク増設をしたのですが、先頭1TBを使い切ってしまい、
iノード用の領域が不足しているということなんでしょうね…?

これって、LVM側でなんらかの方法でデータを各ディスクに
分散させても、解決しないですよね、多分?

XFS内部の論理的なデータ配置?が改善されないと、状況が
改善されそうに無い気がしてきました。

そうなると、LVを縮小&分割して、別パーティションとして
マウントしたほうが安全なのかな…?

とりあえず、XFSについてもうちょっと調べてみます。
104100:2012/06/26(火) 12:40:28.03 ID:799922Yy
結局、XFSサイトのFAQ-32番にそのものズバリな解答がありました。

32 Q: Why do I receive No space left on device after xfs_growfs?
http://xfs.org/index.php/XFS_FAQ

"A complete dump and restore will also fix the problem ;)"が一番
確実そうなので、なんとかディスクを確保してからダンプ&リストアを
やってみようかと思います。
105login:Penguin:2012/07/24(火) 12:52:56.28 ID:bDHiFXoZ
dmsetupコマンドでは認識されているのに,pvscanで認識されないんだ……
こういうときはどうしたらいいんだ……?
106login:Penguin
コンパイラ環境「LLVM 3.2」をリリース、最適化機能を強化
http://sourceforge.jp/magazine/12/12/25/2155242