[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 601- 701- 801- 2chのread.cgiへ]
Update time : 05/06 20:33 / Filesize : 243 KB / Number-of Response : 887
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:login:Penguin [02/06/15 15:28 ID:7xlbr7s1]
ワタクシ、Linus V Minusというものです。

LVM(Logical Volume Manager)なんてものに興味を持っています。ちょっとニッチなんですが。
こんな、小さなスレッドですが、にちゃんねるに作成してもよろしいでしょうか?

いえいえ、ワタクシの周りに使っているものがいないもので。(周りは年寄りばかりで、新しいことは躊躇されます)

以上、よろしくお願いします。

544 名前:534 [2007/11/29(木) 22:06:57 ID:yTYjvc/A]
連日申し訳ありませんが、引き続き質問です。

昨日は意図的に小さめのLVMボリュームを作成し、今日はそれを拡張するテストをしました。
(1)昨日余らせたHDDの空間を fdiskで LVM用に確保 (仮に /dev/hdb2 とします)
(2)そこにPV作成 → pvcreate /dev/hdb2
(3)昨日のVGを拡張 (VG名を仮に VG_1 とします) → vgextend VG_1 /dev/hdb2

と、ここまでは特に問題なく意図通りに進んだことを vgdisplay にて確認しました。
現在は
 VG Name        VG_1
 VG Size        838.00 GB
 Alloc PE / Size    6128 / 766.00 GB
 Free PE / Size    576 / 72.00 GB
という状態です。
しかし次に LV(仮に LV_1 とします)の拡張を行おうとするとうまく行きません。

lvextend -L 838.0G /dev/VG_1/LV_1
lvextend -L +72.0G /dev/VG_1/LV_1
lvextend -l +576 /dev/VG_1/LV_1

どの指定方法でも
Insufficient free space: 6704 extents needed, but only 576 available
と表示され、拡張されません(766GBのまま)。
何がマズいのでしょう?

545 名前:login:Penguin mailto:sage [2007/11/29(木) 22:48:29 ID:choThEVO]
>>544
man lvextend
をよく読め。

まぁ、意図したい操作をするのに一番いいのは
lvextend -l +100%FREE /dev/VG_1/LV_1
かな

546 名前:login:Penguin mailto:sage [2007/11/29(木) 22:49:25 ID:choThEVO]
あとサイズの指定に小数点の数値は使えなかった気がするな。

547 名前:534 [2007/11/30(金) 04:03:15 ID:XRlfEnID]
>>545
もちろん man lvextendは散々読んだのですが……

-l, --extents [+]LogicalExtentsNumber[%{VG|LV|FREE}]
  Extend or set the logical volume size in units of logical extents. With the + sign the value
  is added to the actual size of the logical volume and without it, the value is taken as an
  absolute one. The number can also be expressed as a percentage of the total space in the
  Volume Group with the suffix %VG or relative to the existing size of the Logical Volume with
  the suffix %LV or as a percentage of the remaining free space in the Volume Group with the
  suffix %FREE.

-l, --extents [+]LEの数 [%{VG|LV|FREE}]
  LVのサイズをLEユニットのサイズで拡張、もしくは設定する。+をつけると現在の LVのサイズの増分、
  +がなければ値は(LVのサイズの)値そのものになる。また、末尾に%LVを付けると数値はVG全体中のパー
  センテージを表し、%FREEを付ければVGの残りのフリーな空間のパーセンテージを表す。


-L, --size [+]LogicalVolumeSize[kKmMgGtT]
  Extend or set the logical volume size in units in units of megabytes. A size suffix of M for
  megabytes, G for gigabytes or T for terabytes is optional. With the + sign the value is
  added to the actual size of the logical volume and without it, the value is taken as an abso-
  lute one.

-L, --size [+]LVのサイズ[kKmMgGtT]
  LVのサイズをメガバイト単位で拡張、もしくは設定する。数値の末尾にMを付けることでメガバイト、G
  ではギガバイト、Tではテラバイトをそれぞれ表すこともできる。+記号を付けるとLVの現在のサイズか
  らの増分を、なければ(LVのサイズの)値そのものになる。

"actual size"を「現在のサイズ」と解釈しましたが、これが間違っていますでしょうか?

548 名前:534 [2007/11/30(金) 04:04:21 ID:XRlfEnID]
いろいろぐぐって見たのですが、上記の解釈と矛盾するものは見つかりませんでした。
例えば www.docs.hp.com/ja/B2355-60104-03/lvextend.1M.html

> 論理ボリュームの論理エクステント数を 100 に増加します。
>
> lvextend -l 100 /dev/vg01/lvol3
>
> 論理ボリュームのサイズを 400MB に増加します。
>
> lvextend -L 400 /dev/vg01/lvol4

論理エクステント(LE)の数というのは、物理エクステント(PE)の価と同じだと理解している
のですが、違うのでしょうか?

> lvextend -l +100%FREE /dev/VG_1/LV_1
> かな

前述の解釈が正しいならば、+0%FREEになりそうですが、違うのでしょうか。
また、%を付けないスタイルでの正しい指定方法はどうなるのでしょうか?

ちなみに、小数点以下は付けても付けなくても同じ結果でした。

549 名前:534 [2007/11/30(金) 04:14:11 ID:XRlfEnID]
>>547
あ、すいません。
訂正です。
-Lオプションでの%VGと%LVがゴチャマゼになっちゃってますね。

末尾に%VGを付けるとVG全体中でのパーセンテージを、%LVを付けると存在するLVに対する比率を表す

550 名前:534 [2007/11/30(金) 04:35:07 ID:XRlfEnID]
再度すみません。

remaining の解釈を間違っていました。
a percentage of the remaining free space in the Volume Group with the suffix %FREE
というのは「現在残っているVG中のフリーな空間」でのパーセンテージなのですね。
作業後に残る分ではなく。
従って -L +100%FREE は ADD 100% of the current FREE space の意味だと理解しました。

どうもありがとうございます。

あまり使う機会はないかもしれませんが、バイト数での正しい指定方法も教えて頂けるとありがたいです。

551 名前:login:Penguin mailto:sage [2007/11/30(金) 08:19:54 ID:PbsH8r35]
>>550
× -L +100%FREE
○ -l +100%FREE

バイト数での正しい指定ってmanに書いてあるじゃないか…
-L [+]LVのサイズ[kKmMgGtT]
てか、うまく行かないなら小さい数字で少しずつ大きくしてみて
確かめればいいじゃん?(使用してなければ)拡張縮小思いのままなんだしさ
めんどいからちゃんと調べてはないけど、vgdisplayで出てくる数値は
読みやすいように丸められてるように思う。
だからlvextendでそのまま指定してもうまくいかない、と思う。
vgdisplay --units b
とかで見てみたらどう?

552 名前:534 [2007/11/30(金) 12:20:33 ID:XRlfEnID]
>>551
失礼。typoでした。

実は>>547-550は問題のPCとは別の場所から書き込んでました。
先ほど実機の方で試してみたところ、結果としてはダメでした。

-l +100%FREE
-l 100%VG
-L 838G
-L 838.0G
-L +72G
-L +72.0G

改めて全部試しましたが、前と同じですべて
> Extending logical volume LV_1 to 838.00 GB
> Insufficient free space: 6704 extents needed, but only 576 available
と出てしまいます。

1行目の内容(と2行目がすべて同じ数値であること)から察するに、どの指定方法も「正しい」ように思えます。
問題は何か別の原因?????
>>544の手順で、何か間違いがあるのでしょうか?
少なくとも、「空いてる空間を100%使え」あるいは「存在するVGを100%使え」と指定しているにも関わらず、
free spaceが不足している、というのは通常はありえないと思うのですが。
(空き容量がゼロだ、という表示になるならばまだ分かりますが)



553 名前:login:Penguin mailto:sage [2007/11/30(金) 12:33:57 ID:heZ0YSeF]
Vineだから

554 名前:534 [2007/11/30(金) 12:47:10 ID:XRlfEnID]
> めんどいからちゃんと調べてはないけど、vgdisplayで出てくる数値は
> 読みやすいように丸められてるように思う。

というのは確かなのですが、-Lオプションがそもそも「メガバイト単位で指定」
なので、「丸められた数値」での指定が正しいはずでは。

ちなみに vgdisplay --unit bで表示される数値は
> VG Size 899795648512 B
> PE Size 134217728 B
> Total PE 6704
> Alloc PE / Size 6128 / 822486237184 B
> Free PE / Size 576 / 77309411328 B
となりますが、lvextend で「バイト単位での指定」を行う方法が存在しません。
最小単位が「キロバイト」です。

そもそもLVMが管理する最小単位はバイトではなくPE or LEであるはずです。

555 名前:534 [2007/11/30(金) 12:50:18 ID:XRlfEnID]
ということで、LEの数を直接指定してみました。(まだやっていなかった)

-l 6704
-l +576

全く同じ表示でした。

> Insufficient free space: 6704 extents needed, but only 576 available

6704が「増分」とみなされてしまうのならば、と

-l 576

も試してみましたが、これだと

> New size given (576 extents) not larger than existing size (6128 extents)
> lvextend: Add space to a logical volume

と、「本来の正しい」エラーメッセージが出てきます。
もうお手上げです。

556 名前:login:Penguin mailto:sage [2007/11/30(金) 12:50:33 ID:PbsH8r35]
>>552
だから単位の丸め方に違いがあるんじゃないかなって見解示したじゃん
本当は837.99999GBくらいだけど、838.00GBって表示しちゃうのかも。ということ。
!!!憶測でしかないから本当はどうか知らんがな!!!

で、ワークアラウンドとして、小さい量から積み重ねて増やす。
10Gずつとか。何回かやって、そのたびにvgdisplayで残りを確認。
完全にFree PEが0になったら積み重ねた量を足し算してみればいいと思う。
一気に増やすも少しずつ増やすも一緒だ。

557 名前:534 [2007/11/30(金) 17:33:33 ID:XRlfEnID]
>>556
仰ることは分からないでもないですが、>>552に書いたとおり、
-l +100%FREE
-l 100%VG
というパーセンテージの指定方法でもまったく同じエラーメッセージが出る
という点から考えて問題点は別にある(指定サイズの大小ではない)のは明らかと思われます。

と、書くと「やってもみないで」と言われそう wですので、
一応 -L +1K と最小の指定で実行してみましたが、結果はやはり
> Insufficient free space: 6129 extents needed, but only 576 available
となります。
(もちろん実際の最小の増分は1Kバイトではなく、PEのサイズになりますので、
実質 -l +1と同じ指定になります)

>>553の通り、Vine 依存の問題なのでしょうかねぇ……
本来はこんなに手間がかかる作業ではないんでしょうけど。
困りました。






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<243KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef