サイズ: 2928
コメント:
|
サイズ: 5644
コメント:
|
削除された箇所はこのように表示されます。 | 追加された箇所はこのように表示されます。 |
行 10: | 行 10: |
ZFS(on Linux)とLVM2を比較する | ZFSがあればLVMは不要か? |
行 69: | 行 69: |
* zpoolは複数のディスクをaddすると問答無用でストライピングするらしい。 | * zpoolは複数のパーティションをaddすると問答無用でストライピングするらしい。 |
行 78: | 行 78: |
= ZFSの他の問題点 = | |
行 81: | 行 80: |
* 要するにZFSは基本的に台数を減らせない設計 | |
行 82: | 行 82: |
要するにZFSは基本的に台数を減らせない設計 | = LVMの基本操作 = 基本操作 * 物理ボリュームをLVM用に初期化する{{{ # pvcreate /dev/sd[abc]1 }}} * ボリュームグループを作成{{{ # vgcreate myvg /dev/sda[abc]1 }}} * 論理ボリューム作成{{{ # lvcreate -L 50GB -n test myvg }}} * `/dev/myvg/test`からアクセスできる。後はmkfsなりmountなり普通に操作する = 使用する物理エクステントを指定する = * 論理ボリュームを作成するときに、どの物理ボリューム・エクステントを割り付けるかは指定が可能{{{ # lvcreate -L12MB -ntest vgtest /dev/loop1:10- Logical volume "test" created # pvdisplay -m /dev/loop1 (略) --- Physical Segments --- Physical extent 0 to 9: FREE Physical extent 10 to 12: Logical volume /dev/vgtest/test Logical extents 0 to 2 Physical extent 13 to 94: FREE }}} = オンラインでエクステントを移動する = * 使用しているボリュームのエクステントを移動することも可能{{{ # pvmove /dev/loop1:11 /dev/loop0:0 # pvdisplay -m /dev/loop1 --- Physical Segments --- Physical extent 0 to 9: FREE Physical extent 10 to 10: Logical volume /dev/vgtest/test Logical extents 0 to 0 Physical extent 11 to 11: FREE Physical extent 12 to 12: Logical volume /dev/vgtest/test Logical extents 2 to 2 Physical extent 13 to 94: FREE }}} * これを用いて物理ボリュームから使用しているエクステントを無くしてディスクの交換が可能になる {{{{#!wiki comment = LVMの使用方法(2) = 状態表示 * ボリュームグループ一覧{{{ # vgs VG #PV #LV #SN Attr VSize VFree vg1 3 7 0 wz--n- 1.83t 762.25g vgtest 3 1 0 wz--n- 1.39g 1.36g }}} * 物理ボリューム一覧{{{ # pvs PV VG Fmt Attr PSize PFree /dev/sda4 vg1 lvm2 a- 211.31g 111.28g /dev/sdb1 vg1 lvm2 a- 298.08g 3.06g /dev/sdc2 vg1 lvm2 a- 1.33t 647.91g }}} * 論理ボリューム一覧{{{ LV VG Attr LSize Origin Snap% Move Log Copy% Convert test vgtest -wi-a- 32.00m }}} = LVMの使用方法(3) = * 論理ボリューム拡大{{{ # lvextend -L +10GB myvg/test }}} * 論理ボリューム縮小{{{ # lvreduce -L -10GB myvg/test }}} * 縮小するときはファイルシステムに対する縮小操作を先にやっておく * 物理ボリュームの追加{{{ # vgextend myvg /dev/sdc2 }}} * 物理ボリュームの除去{{{ # vgreduce myvg /dev/sdc2 }}} * 物理ボリュームのリサイズ{{{ # pvresize /dev/sdc2 }}} }}}} |
LVM再考
LVMとは
- 複数のディスクにまたがるファイルシステムを作ったり出来るようにするもの
- 構造としては、物理ボリューム(PV)を物理エクステント(PE)という単位に分割して、物理エクステントの組み合わせで論理ボリューム(LV)を構成するようになっている。
Another way to look at is this (courtesy of Erik Bågfors on the linux-lvm mailing list): hda1 hdc1 (PV:s on partitions or whole disks) \ / \ / diskvg (VG) / | \ / | \ usrlv rootlv varlv (LV:s) | | | ext2 reiserfs xfs (filesystems) -- LVM HOWTOより引用
- 物理ボリュームの追加・削除や論理ボリュームのサイズ変更は後から可能
- ついでにストライピングやミラーリングも出来たりする
ZFS?
ZFSでもファイルシステムのサイズは可変だし、プールにパーティションを追加できるじゃない。
ZFSがあればLVMは要らない…………
そんな風に考えていた時期が私にもありました
あるシナリオ(1)
- 今、300GBのHDD(sda)と500GBのHDD(sdb)と2TBのHDD(sdc)がある。
- 300GBと2TBの間、500GBと2TBの間でミラーリングして連結すれば、ミラーリングされた800GBの領域が出来るはず。
- ZFSを使ってミラーリングされた800GBの領域を作りましょう。
あるシナリオ(2)
sdaとsdbは一つのパーティションにして、sdcには300GBと500GBのパーティションを作成すればいいよね。
# zpool create ztank mirror /dev/sda1 /dev/sdc1 mirror /dev/sdb1 /dev/sdc2
本当にそれで良いのか?
あるシナリオ(3)
- zpoolは複数のパーティションをaddすると問答無用でストライピングするらしい。
- つまりsdc1とsdc2でストライピングすることに……
- シーケンシャルアクセスもランダムアクセスになってるぞこれ
- さらに、ZFSは一旦追加したパーティションを縮小・削除できない(交換は出来るが)。
- なお、attachと間違えてaddするとpoolごと作り直し。
- 要するにZFSは基本的に台数を減らせない設計
LVMの基本操作
基本操作
物理ボリュームをLVM用に初期化する
# pvcreate /dev/sd[abc]1
ボリュームグループを作成
# vgcreate myvg /dev/sda[abc]1
論理ボリューム作成
# lvcreate -L 50GB -n test myvg
/dev/myvg/testからアクセスできる。後はmkfsなりmountなり普通に操作する
使用する物理エクステントを指定する
論理ボリュームを作成するときに、どの物理ボリューム・エクステントを割り付けるかは指定が可能
# lvcreate -L12MB -ntest vgtest /dev/loop1:10- Logical volume "test" created # pvdisplay -m /dev/loop1 (略) --- Physical Segments --- Physical extent 0 to 9: FREE Physical extent 10 to 12: Logical volume /dev/vgtest/test Logical extents 0 to 2 Physical extent 13 to 94: FREE
オンラインでエクステントを移動する
使用しているボリュームのエクステントを移動することも可能
# pvmove /dev/loop1:11 /dev/loop0:0 # pvdisplay -m /dev/loop1 --- Physical Segments --- Physical extent 0 to 9: FREE Physical extent 10 to 10: Logical volume /dev/vgtest/test Logical extents 0 to 0 Physical extent 11 to 11: FREE Physical extent 12 to 12: Logical volume /dev/vgtest/test Logical extents 2 to 2 Physical extent 13 to 94: FREE
- これを用いて物理ボリュームから使用しているエクステントを無くしてディスクの交換が可能になる