*

GEOM CONCAT を使う

公開日: : 最終更新日:2014/02/03 FreeBSD, GEOM

Seichan です.こんばんわ.

前回の「GEOM RAID1 を管理する」で書いた通り今回は GEOM CONCATについて触れてみたいと思います.
いつもの通り,こちらも同様に Pukiwiki の「FreeBSD で GEOM を試してみる」に以前書いていて、新バージョンでの焼き直しになります.

 SPONSORED LINK
 

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 という専用のコマンドが用意されていますので,これを使用します.
次の例の場合,da1da2 の2本を conc1-1 という名前で CONCAT ボリュームを作成します.

# gconcat label conc1-1 da1 da2

こちらも同様に,status サブコマンドで状態を確認することが出来ます.

# gconcat status
          Name  Status  Components
concat/conc1-1      UP  da1
                        da2

status より詳細な情報が欲しい場合は list サブコマンドで確認してください.この環境では da1da220GB のディスクをコンカチしていますので cont1-140GB とななります.

# 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 かなぁ…

SPONSORED LINK
  ☆ ブログランキング参加しました (*≧∀≦)ノシ
にほんブログ村 IT技術ブログ FreeBSDへ 

関連記事

no image

Multiple vulnerabilities in OpenSSH

今度は OpenSSH に関する SA が出てますなぁ… make world 終わったばっかりなの

記事を読む

no image

5.3-RELEASE から RC に…

FreeBSD-5.3-RELEASE がもう少しで出るなぁ〜 と思っていたら,cvsweb を見た

記事を読む

ssl_icon

PHPki で簡単証明書運用 (1) 【PHPki の修正と導入 (修正版)】

Seichan です.こんばんわ. 先日「PHPki で簡単証明書運用 (1)」を書いたのですが、

記事を読む

pukiwiki-official

pukiwiki を PHP 5.4 に対応させる方法 (1)

Seichanです.こんばんわ. サーバの移行に伴い,PHP のバージョンが 5.3 から 5.4

記事を読む

no image

Pukiwiki

自民党キター と喜んでいる最中ですが,はまっていた事があったの備忘録をかねてのメモ. # 選挙ネタは

記事を読む

ssl_icon

PHPki で簡単証明書運用 (2) 【初期設定と Root CA 証明書作成】

Seichan です.こんばんわ. さて,先日の「PHPki で簡単証明書運用 (1) 【修正版】

記事を読む

no image

RAID の解説

そういや,前に自分の wiki サイトに用語集カテゴリ作って,適当に RAID に関する事をつらつら

記事を読む

no image

でーたがとんだ?

え〜と.PostgreSQL の復旧をしたと先に書いたのですが,完全復活じゃぁ無いようで… 1週間分

記事を読む

no image

UPS

UPS 買いました.APC の ES 500. 前々から買いたいと言うか,必要だと思ってはいたのです

記事を読む

no image

FreeBSD 4.11 と 6.1

寝ようと思っても,咳がひどくて眠れない Seichan Death. 月末に妹がこっちに来るようなの

記事を読む

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Google Adsense

ssl_icon
PHPki で簡単証明書運用 (5) 【管理ユーザのメンテナンスとCRLの取得】

Seichanです.こんばんわ. いつものとおり,だいぶ日が経ってし

ssl_icon
PHPki で簡単証明書運用 (4) 【作成した証明書を管理する】

Seichanです.こんばんわ. 先日の「PHPki で簡単証明書運

ssl_icon
PHPki で簡単証明書運用 (3) 【署名されたサーバ証明書を作る】

Seichan です.こんばんわ. さて,先日の「PHPki で簡単

ssl_icon
PHPki で簡単証明書運用 (2) 【初期設定と Root CA 証明書作成】

Seichan です.こんばんわ. さて,先日の「PHPki で簡単

ssl_icon
PHPki で簡単証明書運用 (1) 【PHPki の修正と導入 (修正版)】

Seichan です.こんばんわ. 先日「PHPki で簡単証明書運

→もっと見る

PAGE TOP ↑