スポンサーサイト

 --------
上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
カテゴリ :スポンサー広告 トラックバック(-) コメント(-)
タグ :

Ubuntu 10.04で3TB-HDDを、LVMで使う

 2010-12-31
サーバのHDDがいっぱいなので、HDDの入れ替えを行うことにした。
LVMのHDD交換になるのだけれど、色々ハマったのでメモ。

買ってきたのはWestern DigitalのWD30EZRS。

【Ubuntu 10.04と3TB-HDD】
 ・64bit版の場合、OSとしては対応している。32bitは調べてない。
 ・ただし、パーティションテーブルは旧来のMBRではなく、GPT使用する必要がある。
 ・fdiskはGPTが扱えない。結果として2.2TBぐらいまでしか確保されなかった
 ・gpartedならGPTで確保できるが、なんとLVMが設定できない!
 ・コマンドラインのpartedならLVMが設定できる


 素直にpartedを使えばいいのだけれど、
 シリンダの設定とかGPTにするコマンドがよーわからん。
 gpartedはGUIなので楽ちん・・・というわけで

 1:まずgpartedでHDDのパーティションだけ切る。
  初期化でタイプをgptにして、
  次に領域確保で「フォーマットしない」とする。
  今回は「dev/sde」に、1つだけパーティションをつくった。
  (2010/02/24追記:AFTのHDDの場合アライメントを合わせないと遅くなるので注意)

 2:次にpartedコマンドを起動して、lvmにセットする。
  具体的には、下記。

# parted /dev/sde1
(parted) set 1 lvm on
(parted) p
モデル: ATA WDC WD30EZRS-00J (scsi)
ディスク /dev/sdf: 3001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt

番号 開始 終了 サイズ ファイルシステム 名前 フラグ
1 17.4kB 3001GB 3001GB lvm

(parted) q

これで、ちゃんと3TB領域がlvmとして確保できる。
真面目にやる場合、
partedで「mklabel gpt」「mkpart primary 開始 終了」「set 1 lvm on」
・・・・でいいらしいが。
(2010/02/03追記:
  AFTのHDDの場合、Windows7と同様に1MB単位で確保するとアライメントがずれない。
  具体的には、 unit MB としてMB単位で操作するように指定。
  更にmkpart時に先頭を「1」とすることで、1MB目 = 2,048セクタから確保され
  これはWindows7と同じパーティションの確保方法になる)


【LVM用HDDの換装】
 (2010/02/03追記:以下、マウントしたまますべてオンラインで実行可能。
  提供中のサービスを止める必要がない。もちろんアンマウントしても良い)

 1:まず、新しいHDDにPhysical Volume作成。
  「dev/sde1」「dev/sdf1」の2発やってみる
# pvcreate /dev/sde1
# pvcreate /dev/sdf1

 2:ボリュームグループ「vg_movie」に新しいHDD追加。
  「/dev/sde1」「dev/sdf1」の2つ同時に足してみる
# vgextend vg_movie /dev/sde1 /dev/sdf1
Volume group "vg_movie" successfully extended

 3:どれを外すかvgdisplay -vで確認する。
  今回なら/dev/sda1、/dev/sdb1かな。
  (pvscanコマンドの方がわかりやすいかもしれない)
# vgdisplay -v
Finding all volume groups
Finding volume group "vg_movie"
--- Volume group ---
VG Name vg_movie
System ID
Format lvm2
Metadata Areas 5
Metadata Sequence No 19
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 5
Act PV 5
VG Size 9.10 TiB
PE Size 4.00 MiB
Total PE 2384655
Alloc PE / Size 953863 / 3.64 TiB
Free PE / Size 1430792 / 5.46 TiB
VG UUID D9KZrb-uXSF-liMB-jTZu-aibv-Aa5Q-0KtMVn

--- Logical volume ---
LV Name /dev/vg_movie/lvol0
VG Name vg_movie
LV UUID OieA7X-zb01-rWal-bKUX-P1Mc-m9Zn-N2PMnS
LV Write Access read/write
LV Status available
# open 1
LV Size 3.64 TiB
Current LE 953863
Segments 3
Allocation inherit
Read ahead sectors auto
- currently set to 256
Block device 252:0

--- Physical volumes ---
PV Name /dev/sda1
PV UUID X8ndS9-fi0H-KqcH-Rs8j-14wY-2W0t-2M94cS
PV Status allocatable
Total PE / Free PE 238466 / 0

PV Name /dev/sdb1
PV UUID szAO15-a4OR-LvyO-nIdw-LCo8-bh2J-A6nlo0
PV Status allocatable
Total PE / Free PE 238466 / 0

PV Name /dev/sdc1
PV UUID Kza5eK-gFVk-3TQl-Re3A-3XJb-9Ur8-kCDQH7
PV Status allocatable
Total PE / Free PE 476931 / 0

PV Name /dev/sde1
PV UUID kJMDSi-r3Ke-hOSD-3lnt-oeAR-SY6y-1I4vyQ
PV Status allocatable
Total PE / Free PE 715396 / 715396

PV Name /dev/sdf1
PV UUID V2LCRq-5XK1-FBgY-Hxou-VVFA-gxuX-5yheEx
PV Status allocatable
Total PE / Free PE 715396 / 715396


 4:念のためpvdisplayでも確認してみる
# vgdisplay -v
--- Physical volume ---
PV Name /dev/sda1
VG Name vg_movie
PV Size 931.51 GiB / not usable 3.19 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 238466
Free PE 0
Allocated PE 238466
PV UUID X8ndS9-fi0H-KqcH-Rs8j-14wY-2W0t-2M94cS

--- Physical volume ---
PV Name /dev/sdb1
VG Name vg_movie
PV Size 931.51 GiB / not usable 3.19 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 238466
Free PE 0
Allocated PE 238466
PV UUID szAO15-a4OR-LvyO-nIdw-LCo8-bh2J-A6nlo0

--- Physical volume ---
PV Name /dev/sdc1
VG Name vg_movie
PV Size 1.82 TiB / not usable 2.56 MiB
Allocatable yes (but full)
PE Size 4.00 MiB
Total PE 476931
Free PE 0
Allocated PE 476931
PV UUID Kza5eK-gFVk-3TQl-Re3A-3XJb-9Ur8-kCDQH7

--- Physical volume ---
PV Name /dev/sde1
VG Name vg_movie
PV Size 2.73 TiB / not usable 1.95 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 715396
Free PE 715396
Allocated PE 0
PV UUID kJMDSi-r3Ke-hOSD-3lnt-oeAR-SY6y-1I4vyQ

--- Physical volume ---
PV Name /dev/sdf1
VG Name vg_movie
PV Size 2.73 TiB / not usable 1.95 MiB
Allocatable yes
PE Size 4.00 MiB
Total PE 715396
Free PE 715396
Allocated PE 0
PV UUID V2LCRq-5XK1-FBgY-Hxou-VVFA-gxuX-5yheEx


 5:古いHDDから内容を取り除き(=新HDDに中身が移る)、
  さらにVolume Groupから解放(パージ)。
  1TBで数時間はかかる
# pvmove /dev/sda1
# vgreduce vg_movie /dev/sda1
# pvmove /dev/sdb1
# vgreduce vg_movie /dev/sdb1


 6:vgdisplayで、空き物理エクステント(Free PE)をチェック。
# vgdisplay
--- Volume group ---
VG Name vg_movie
System ID
Format lvm2
Metadata Areas 3
Metadata Sequence No 27
VG Access read/write
VG Status resizable
MAX LV 0
Cur LV 1
Open LV 1
Max PV 0
Cur PV 3
Act PV 3
VG Size 7.28 TiB
PE Size 4.00 MiB
Total PE 1907723
Alloc PE / Size 953863 / 3.64 TiB
Free PE / Size 953860 / 3.64 TiB
VG UUID D9KZrb-uXSF-liMB-jTZu-aibv-Aa5Q-0KtMVn

 7:lvextendで、Free PEを全部使って論理ボリューム拡張。
  「+」をつけると増やす分の指定、つけないと総量の指定
  また末尾にMなどをつけると、PE単位ではなくMB単位等が使えた(っけか)
# lvextend -l +953860 /dev/vg_movie/lvol0
Extending logical volume lvol0 to 7.28 TiB
Logical volume lvol0 successfully resized


 8:あとはファイルシステムの拡張。
  xfsならオンラインリサイズなので、まずマウント。
  (2010/02/03追記:ここまでマウントしたまま実行してるなら、当然不要)
# mount /dev/vg_movie/lvol0 /mnt

 9:マウントしたxfsをxfs_growfsで拡張。
# xfs_growfs /mnt/
meta-data=/dev/mapper/vg_movie-lvol0 isize=256 agcount=128, agsize=7630912 blks
= sectsz=512 attr=0
data = bsize=4096 blocks=976755712, imaxpct=25
= sunit=0 swidth=0 blks
naming =version 2 bsize=4096 ascii-ci=0
log =internal bsize=4096 blocks=32768, version=1
= sectsz=512 sunit=0 blks, lazy-count=0
realtime =none extsz=4096 blocks=0, rtextents=0
data blocks changed from 976755712 to 1953508352

 10:電源を落として、古いHDDを外す
  (ほんとはvgreduceした後ですぐ外してよいが)
 11:完了!
スポンサーサイト
タグ :
コメント












管理者にだけ表示を許可する
トラックバック
トラックバックURL:

http://silver0480.blog80.fc2.com/tb.php/324-ff1333ac

≪ トップページへこのページの先頭へ  ≫
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。