GEOM CONCAT を使う
Seichan です.こんばんわ.
前回の「GEOM RAID1 を管理する」で書いた通り今回は GEOM CONCATについて触れてみたいと思います.
いつもの通り,こちらも同様に Pukiwiki の「FreeBSD で GEOM を試してみる」に以前書いていて、新バージョンでの焼き直しになります.
1. コンカチネーションってなんだ
今更な説明ではありますが,コンカチネーション について軽く説明します.
コンカチネーションは,ディスクを連結してひとつのボリュームを構成する技術です.RAID0 とは違い,ストライピングは行われません.
シチュエーションとしては,1つのディスクで運用していて足りなくなって増設する際に別のマウントポイントにはせずに拡大したい.という状況が多いのではないかと思います.
ハードウェア RAID コントローラの場合,コントローラ側でボリュームの拡張を行う事ができるものが多い為,その場合はファイルシステムの拡張を行うのみで対応が出来ます.ですが,拡張出来る限界があったりしますので,そういう場合は複数のボリュームを RAID コントローラで作成して,そのボリュームをコンカチする.というシチュエーションは考えられます.(実際にこのシチュエーションに遭遇したこともありました.)
ストライピングでは無い為,データの書き込みで使用されるのは1つのディスクのみとなります.その為,速度の要求が高くなく,大きな領域が必要な箇所に向いています.
また,RAID1 のようなミラー技術では無い為,冗長性はありません.ですので,重要度の低い箇所または,別の RAID 機構で冗長化を確保している上でコンカチを構成する.という使い方を考慮する必要があります.
幸い,FreeBSD では GEOM 重ねがけが出来ますので,RAID1 のボリュームを作成していた所の領域拡大をしたい場合,もう1セット RAID1 ボリュームを作成してコンカチする.という方法で冗長化を保ちつつ領域の拡大を行う事ができます.
2. GEOM CONCAT を使う
では,早速構成してみましょう.
はじめに,今までと同様に kernel module がロードされているのかを確認し,ロードされていなければ明示的にロードしてください.kldload geom_concat でロードすることが出来ます.
# kldstat Id Refs Address Size Name 1 1 0xffffffff80200000 15b93c0 kernel # kldload geom_concat # kldstat Id Refs Address Size Name 1 3 0xffffffff80200000 15b93c0 kernel 4 1 0xffffffff81812000 3fc2 geom_concat.ko
GEOM CONCAT は gconcat という専用のコマンドが用意されていますので,これを使用します.
次の例の場合,da1 と da2 の2本を conc1-1 という名前で CONCAT ボリュームを作成します.
# gconcat label conc1-1 da1 da2
こちらも同様に,status サブコマンドで状態を確認することが出来ます.
# gconcat status Name Status Components concat/conc1-1 UP da1 da2
status より詳細な情報が欲しい場合は list サブコマンドで確認してください.この環境では da1,da2 が 20GB のディスクをコンカチしていますので cont1-1 は 40GB とななります.
# gconcat list Geom name: conc1-1 State: UP Status: Total=2, Online=2 Type: AUTOMATIC ID: 3907391518 Providers: 1. Name: concat/conc1-1 Mediasize: 42949671936 (40G) Sectorsize: 512 Mode: r0w0e0 Consumers: 1. Name: da1 Mediasize: 21474836480 (20G) Sectorsize: 512 Mode: r0w0e0 Start: 0 End: 21474835968 2. Name: da2 Mediasize: 21474836480 (20G) Sectorsize: 512 Mode: r0w0e0 Start: 21474835968 End: 42949671936
3. 後からさらに拡張する
GEOM CONCAT は,作成後にディスクを追加してさらに拡張することができます.マニュアルではオンラインで拡張が出来る.と書いてあるのですが,マニュアルどおりに実施しても,色々な方法を試しても成功しませんでした.
ですので,一度オフライン (ファイルシステムのアンマウント) と作成した CONCAT ボリュームを一度停止する必要があります.
方法は次の通り,一度 gconcat status で現在の CONCAT ボリュームの状態とディスクの順番を確認します.ディスクの順番は重要ですので必ず控えてください.
# gconcat status Name Status Components concat/conc1-1 UP da1 da2
その後,ファイルシステムをマウント済みであればアンマウントし,gconcat stop で一度 CONCAT ボリュームを停止します.
# df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/concat/conc1-1 40614488 8 37365324 0% /mnt # umount /mnt # gconcat stop conc1-1
停止後,gconcat label で改めて作成します.この際,元のディスクも含めて指定する事,元のディスクは順番も以前と一致させる必要があります.これを間違えるとデータ破壊につながりますので注意してください.その後,gconcat status で状態を確認しましょう.
その後作成された CONCAT ボリュームをマウントして正常にマウントが出来るか確認します.
ただ,まだ容量は以前のままとなります.
# gconcat label conc1-1 da1 da2 da3 # gconcat status Name Status Components concat/conc1-1 UP da1 da2 da3 # mount /dev/concat/conc1-1 /mnt # df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/concat/conc1-1 40614488 8 37365324 0% /mnt
正常にマウントが出来たら,growfs でファイルシステムを拡張します.df コマンド等でファイルシステムが拡張されたことを確認して完了です.
# growfs /dev/concat/conc1-1 Device is mounted read-write; resizing will result in temporary write suspension for /mnt. It's strongly recommended to make a backup before growing the file system. OK to grow filesystem on /dev/concat/conc1-1, mounted on /mnt, from 40GB to 60GB? [Yes/No] Yes super-block backups (for fsck -b #) at: 84628032, 85910272, 87192512, 88474752, 89756992, 91039232, 92321472, 93603712, 94885952, 96168192, 97450432, 98732672, 100014912, 101297152, 102579392, 103861632, 105143872, 106426112, 107708352, 108990592, 110272832, 111555072, 112837312, 114119552, 115401792, 116684032, 117966272, 119248512, 120530752, 121812992, 123095232, 124377472, 125659712 # df Filesystem 1K-blocks Used Avail Capacity Mounted on /dev/concat/conc1-1 60921784 8 56048036 0% /mnt
と以上 CONCAT でした.次回は GEOM RAID3 かなぁ…


関連記事
-
-
オートローダ GET だぜっ!!
IBM の DDS4 オートローダを GET しました.Seichan です. Yahoo!! オ
-
-
FreeBSD で NFS (1) 【NFS概要】
Seichan です.こんばんわ.今年もあと1時間を切りました... ちょっと GEOM 以外に行
-
-
FreeBSD をクライアントとして利用する (サウンド)
Seichan です.FreeBSD をクライアントとして利用する為の覚え書き其ノ一.まずはやっぱり
-
-
Courier-imap の LDAP 化
Seichan です.ねむっ とりあえず,いい加減,Courier-imap を使う上で,完全な L
-
-
PHPki で簡単証明書運用 (5) 【管理ユーザのメンテナンスとCRLの取得】
Seichanです.こんばんわ. いつものとおり,だいぶ日が経ってしまいました... 先日の「P
-
-
FreeBSD 6.0 RELEASE キター
newvers.sh のコミットログには Welcome to 6.0-RELEASE. の文字が.
-
-
祝(?) 180,000Km & watchdog timeout…
こんばんわ.Seichan です.最近さらにバタバタと過ごしております. まったりする時間が欲しい
-
-
データは何処に旅立った?
さて,でーたがとんだ?で報告した PostreSQL のデータですが,どうやら彼方へ旅立っていたよう
-
-
5.3-RELEASE から RC に…
FreeBSD-5.3-RELEASE がもう少しで出るなぁ〜 と思っていたら,cvsweb を見た
- PREV
- GEOM RAID1 を管理する
- NEXT
- GEOM RAID3 を使う