Carpe Diem

  Top > スポンサー広告> Ubuntu > HDDの増設&LVMでパーティションの統一  

スポンサーサイト

-- - --/-- [--] - --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

HDDの増設&LVMでパーティションの統一

2012 - 01/12 [Thu] - 17:58

HDDの容量が厳しくなっていきたので増設することにしました。
しかし単にHDDを増やすだけだと、マウントしなくちゃいけませんし、ファイルが別ドライブにまたがるのは管理が面倒です。
なのでLVMという方法を使って、増設したHDDもまとめて一つのファイルシステムにします。

※今回のやり方は、元々のファイルシステムでLVMを利用している場合です。
Ubuntu Server版の場合、最初の設定でこの論理ボリュームの設定があります。

流れは
①HDDを増設
②中身をまっさらに(Gpartedで。買ったばかりなら元々まっさらかも)
③partedでLVMパーティション作成
④作成したパーティションに物理ボリュームを作成
⑤物理ボリューム(PV)を既存のボリュームグループ(VG。LVM設定をしているとVGがあります)に追加
⑥論理ボリューム(LV)の拡張
⑦ファイルシステムの拡張


となります。結構長いです。⑦は⑥を土台にしているし、⑥は⑤をしないと利用できないと言ったように、上位層は下位層の土台となっているので、必ず順に実行する必要があります。
Wikiの説明では

LVM構成上の管理階層構造を説明する。物理ディスク (PV:Phisical Volumeと呼ぶ)とその複数の物理ディスクを管理するボリュームグループ (VG:Volume Group)があり、物理ディスクを繋ぎ合わせて大きな論理ドライブとして管理出来る。そのVG上に論理的に設定される仮想パーティションが論理ボリューム(LV:Logical Volume) と呼ばれる。


とあります。

では実際に利用していきます。
UbuntuServer版ではすでに入ってると思いますが、以下をインストールしておいてください。
# aptitude install lvm2

まずはGpartedを起動して、増設したHDDの中身を削除します。GUIなので使いやすいと思います。

root@Server:~# gparted

終わったらfdiskで確認してみます。

root@Server:~# fdisk -l
警告: GPT (GUID パーティションテーブル) が '/dev/sda' に検出されました! この fdisk ユーティリティは
GPT をサポートしません。GNU Parted を使ってください。

ディスク /dev/sda: 2000.4 GB, 2000398934016 バイト
ヘッド 255, セクタ 63, シリンダ 243201
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x00000000

デバイス ブート      始点        終点     ブロック   Id  システム
/dev/sda1               1      243202  1953514583+  ee  GPT

ディスク /dev/sdb: 2000.4 GB, 2000398934016 バイト
ヘッド 255, セクタ 63, シリンダ 243201
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 4096 バイト
I/O サイズ (最小 / 推奨): 4096 バイト / 4096 バイト
ディスク識別子: 0xb2dd1d76



③partedでLVMパーティション作成
fdiskは2.2T以上のHDDで必要なGPTを利用できません。なのでpartedを使用します。これは対話式です。
途中のmkpartは開始を1、終了部分を-0と書けばいいです。開始を1にしてるのはwindows7では云々。Ubuntuなら0でも問題ないです。多分。
また終了部分で悩みましたが、負数で指定することによって終端からのオフセットで入力できるらしいのでこの入力でいけます。

root@Server:~# parted /dev/sdb
(parted) mklabel gpt
(parted) mkpart primary 1 -0
(parted) set 1 lvm on



④作成したパーティションに物理ボリュームを作成
root@Server:~# pvcreate /dev/sdb1

※過去にLVMパーティションを作っていて設定が残っている場合、「uidが前と違うよ」と怒られます。その場合は強制的に再作成します。
root@Server:~# pvcreate -ff /dev/sdb1

⑤物理ボリューム(PV)を既存のボリュームグループ(VG。LVM設定をしているとVGがあります)に追加
既存のVGの名前を確認します。
root@Server:~# vgdisplay -v
  Finding all volume groups
  Finding volume group "Server"
 --- Volume group ---
 VG Name               Server
 System ID
 Format                lvm2
 Metadata Areas        1
 Metadata Sequence No  3
 VG Access             read/write
 VG Status             resizable
 MAX LV                0
 Cur LV                2
 Open LV               2
 Max PV                0
 Cur PV                1
 Act PV                1
 VG Size               1.82 TiB
 PE Size               4.00 MiB
 Total PE              476870
 Alloc PE / Size       476837 / 1.82 TiB
 Free  PE / Size       33 / 132.00 MiB
 VG UUID               X2uair-tQzb-u8cg-YbY0-t9JJ-tiKN-WgyZ1Y


確認できたのでVGに物理ボリュームを追加します。

root@Server:~# vgextend Server /dev/sdb1


⑥論理ボリューム(LV)の拡張
既存のVGにあった論理ボリュームを、今回増設した分拡張します。
拡張量はFree PEを参考にします。私の場合であれば

root@Server:~# vgdisplay
 --- Volume group ---
 VG Name               Server
 System ID
 Format                lvm2
 Metadata Areas        2
 Metadata Sequence No  4
 VG Access             read/write
 VG Status             resizable
 MAX LV                0
 Cur LV                2
 Open LV               2
 Max PV                0
 Cur PV                2
 Act PV                2
 VG Size               3.64 TiB
 PE Size               4.00 MiB
 Total PE              953801
 Alloc PE / Size       476837 / 1.82 TiB
 Free  PE / Size       476964 / 1.82 TiB
 VG UUID               X2uair-tQzb-u8cg-YbY0-t9JJ-tiKN-WgyZ1Y


となり「476964」を使います。また論理ボリュームの指定は
#vgdisplay -v
したときに
 --- Logical volume ---
 LV Name                /dev/Server/root

みたいなのが出ますので、それを使います。

root@Server:~# lvextend -l +476964 /dev/Server/root
 Extending logical volume root to 3.63 TiB
 Logical volume root successfully resized



⑦ファイルシステムの拡張
最後にファイルシステムを拡張します。ここまですることでようやく使用しているシステムの容量を増やせます。
先ほどの論理ボリュームに対してresizeを実行します。これはファイルシステムの種類のよって異なるみたいです。
私の環境はext4なので以下のコマンドを使用しました。普通はこのコマンドでいいと思います。

root@Server:~# resize2fs /dev/Server/root
resize2fs 1.41.14 (22-Dec-2010)
Filesystem at /dev/Server/root is mounted on /; on-line resizing required
old desc_blocks = 117, new_desc_blocks = 233
Performing an on-line resize of /dev/Server/root to 975666176 (4k) blocks.
The filesystem on /dev/Server/root is now 975666176 blocks long.


ちなみに2TのHDDでこれを使用したところかなり時間がかかりました。30分ほどです。
4Tだと4時間かかった人もいるようです。一方で数Gだと一瞬で終わるとか。
容量に対して指数的に時間が増えるみたいなので注意してください。


ソース:
Ubuntu 10.04で3TB-HDDを、LVMで使う
LVM(ロジカルボリュームマネージャ)
partedでパーティッション作成してLVMを作ってみた
LVM 操作/HDD増設

コメントの投稿





管理者にだけ表示を許可する

 | ホーム | 

プロフィール

Cicatrice

Author:Cicatrice
備忘録

検索フォーム

カテゴリ

最新記事

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。