| (1) | (2) | (3) | |||||
|---|---|---|---|---|---|---|---|
| Primary | Secondary | Primary | Secondary | Primary | Secondary | ||
| HDD (A) 120 GB |
HDD (B) 120 GB |
→ | HDD (B) 120 GB |
HDD (C) 250 GB |
→ | HDD (C) 250 GB |
HDD (D) 250 GB |
| RAID容量 120 GB |
RAID容量 120 GB |
RAID容量 120 GB |
|||||
| Primary HDD (A)が故障! (大抵壊れるのは Primary -_-;;;) |
Secondary HDD (B)を Primaryに回し、Secondary に250 GBのHDD (C)を投入 |
Secondary HDD (C)を Primaryに回し、Secondary に250 GBのHDD (D)を投入 |
|||||
[root@hoge ~]# fdisk -l
Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes
デバイス Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 14593 117113850 8e Linux LVM
HDD自体は250 GBとして認識されているけど、/dev/sda2の容量は実際は、
[root@hoge ~]# df -h
Filesystem サイズ 使用 残り 使用% マウント位置
/dev/mapper/VolGroup00-LogVol00
110G 13G 92G 13% /
/dev/sda1 99M 42M 53M 45% /boot
none 252M 0 252M 0% /dev/shm
110 GBしか確保されていない。全体でも111 GBしか使っていない。これはあまりにももったいない。
[root@hoge ~]# pvs -o +dev_size --units s PV VG Fmt Attr PSize PFree DevSize /dev/sda2 VolGroup00 lvm2 a- 234436544S 0S 488183220S ← この値をメモする!Dev_size(この場合は488,183,220)は必ずメモしておこう。
[root@hoge ~]# fdisk /dev/sda ↑ARAID99-2000はS-ATAインタフェースカードに接続されているので SCSI扱いなのであると、fdiskで(このケースでは)sda2を一旦削除(fdiskメニューにて「d」、「2」)して、新たにsda2を先頭セクタを旧sda2と同じにして最終セクタを最大セクタに設定して登録する(メニューにて「n」、「p」、「2」、以降はデフォルトのまま)。新規に作成されたパーティションは83(ext2/ext3)なので、忘れずにsda2のファイルタイプを8e(Linux lvm)に変更して(メニューにて「t」、「2」、「8e」)おこう。そしてディスクに記録して(メニューにて「w」)fdiskを終了させる(メニューにて「q」)。そして
[root@hoge ~]# exitでレスキューモードを終了させると自動でリブートする。
+ はShift + ^ : はShift + ; _ はShift + -と覚えておく必要がある。
[root@hoge ~]# vgcfgbackup -f vgbackup(バックアップファイル名は任意) ・・・ [root@hoge ~]# pvs -o +dev_size --units s(前に実行していなかったらここでリベンジ!)ここでvgbackupの書き換えるべき変数 pe_count の変更すべき値を計算する。Redhat BBSの書き込みのとおりなんだけど、
pe_start + pe_count * extent_size ≦ dev_size
pe_count ≦ (dev_size - pe_start) / extent_size
↓(この環境では・・・)
pe_count ≦ (488183220 - 384) / 65536
≦ 7449.07891845703125
なので、pe_count = 7449としよう。そして、viで編集すべきポイントはここ。
[root@hoge ~]# vi vgbackup(以降の作業では英語キーボード配列に注意) ・・・ pe_start = 384 pe_count = 3574 # 111.688 Gigabytes(ここの値は当然環境によって違う) ↓ pe_count = 7449 # 238.371 Gigabytes編集が終わったらviを終了させて、設定ファイルを書き戻そう。
# vgcfgrestore -f vgbackup VolGroup00
[root@hoge ~]# lvextend -L+512M VolGroup00/LogVol01 (↑ 元々512 MBだったところに512 MBを追加して1 GBにしたところ) [root@hoge ~]# lvextend -L 250G VolGroup00/LogVol00 (とりあえず設定可能な最大LEを調べるために大きめ(250 GB)の数字を入れてみる) Insufficient allocatable logical extents (7417) ・・・ (設定可能な最大LE=7417ね、ふむふむ) [root@hoge ~]# lvextend -l 7417 VolGroup00/LogVol00 (今度はLE単位で拡張するから引数は小文字のエルなのに注意!) Extending logical volume LogVol00 to 231.78 GB
[root@hoge ~]# umount /mnt/sysimage/boot [root@hoge ~]# umount /mnt/sysimage/sys [root@hoge ~]# umount /mnt/sysimage/proc [root@hoge ~]# umount /mnt/sysimage/dev [root@hoge ~]# umount /mnt/sysimage [root@hoge ~]# swapoff /dev/VolGroup00/LogVol01 (すべてアンマウント完了!) [root@hoge ~]# e2fsck -f /dev/VolGroup00/LogVol00 (いきなりresize2fsを行うとどうせe2fsckせよと言われるから自発的に行おう) ・・・ [root@hoge ~]# resize2fs /dev/VolGroup00/LogVol00 ・・・ [root@hoge ~]# mkswap /dev/VolGroup00/LogVol01ここまでエラーなしで来ることができたら無事成功。とりあえずレスキューモードを脱出しましょう。
[root@hoge ~]# exit
再起動してdfとかで容量がちゃんと増加しているのを確認してみよう。ちなみに、以下にハードウェアブラウザの前後をお見せしよう。見事に空き領域が使いきれているのが分かるでしょ! 気持ちいいね〜〜