FreeBSD-GEOM
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
]
site-1
menu-1
menu-2
menu-3
menu-4
menu-5
menu-6
site-2
menu-1
menu-2
menu-3
menu-4
menu-5
menu-6
site-3
menu-1
menu-2
menu-3
menu-4
menu-5
menu-6
site-4
menu-1
menu-2
menu-3
menu-4
menu-5
menu-6
site-5
menu-1
menu-2
menu-3
menu-4
menu-5
menu-6
開始行:
#contents
~
* 注) Blog でコンテンツを更新中です [#z060470c]
現在,ブログにてコンテンツを更新しています.ブログの情報...
- [[FreeBSD GEOM 再々学習 >https://www.seichan.org/blog/2...
- [[GEOM CONCAT (ディスクの連結) を使ってみる>https://www...
- [[GEOM STRIPE (ストライプ/RAID0) を使ってみる>https://w...
- [[GEOM MIRROR (ミラーリング/RAID1) を使ってみる (1)>htt...
- [[GEOM MIRROR (ミラーリング/RAID1) を使ってみる (2)>htt...
- [[GEOM STRIPE + MIRROR で RAID10 を構成してみる>https:/...
- [[GEOM RAID3を使ってみる>https://www.seichan.org/blog/2...
- [[GEOM CACHE を使ってみる>https://www.seichan.org/blog/...
- [[GEOM GVIRSTORを使ってみる>https://www.seichan.org/blo...
- [[GEOM GATE を使ってみる>https://www.seichan.org/blog/2...
- [[GEOM LABEL で名前による管理を行う>https://www.seichan...
- [[GEOM PART でディスクパーティションの管理を行う>https:...
- [[GEOM MULTIPATH でマルチパスを構成する (1)>https://www...
- [[GEOM MULTIPATH でマルチパスを構成する (2)>https://www...
* FreeBSD で GEOM を試してみる [#a6a5abf0]
FreeBSD に GEOM というフレームワークがあるので,これを試...
GEOM とは,modular disk I/O request transformation framew...
GEOM があれば,ATA,SCSI 問わず SoftwareRAID, 圧縮ファイ...
~
** GEOM を使ってみる [#wf6e2695]
先にも言ったように GEOM は VFS 層とファイルシステム層の中...
と言う訳で,VMware 上で ATA と SCSI のディスクを何個か用...
今回のディスク環境は次のとおりです.
geom01# atacontrol list
ATA channel 0:
Master: ad0 <VMware Virtual IDE Hard Drive/00000001>...
Slave: ad1 <VMware Virtual IDE Hard Drive/00000001>...
ATA channel 1:
Master: ad2 <VMware Virtual IDE Hard Drive/00000001>...
Slave: ad3 <VMware Virtual IDE Hard Drive/00000001>...
geom01# camcontrol devlist
<VMware, VMware Virtual S 1.0> at scbus0 target 0 lu...
<VMware, VMware Virtual S 1.0> at scbus0 target 1 lu...
<VMware, VMware Virtual S 1.0> at scbus0 target 2 lu...
<VMware, VMware Virtual S 1.0> at scbus0 target 3 lu...
<VMware, VMware Virtual S 1.0> at scbus0 target 4 lu...
~
** まずはやっぱり RAID0 [#y14d7525]
まず,atacontrol の置き換えとする為に,RAID0 ディスクの作...
以下作業を行う前に,GEOM RAID0 の為の kernel module をロ...
kldload geom_stripe.ko
再起動後も自動で読み込ませるには,'''/boot/loader.conf'''...
geom_stripe_load="YES"
また,ローダブルモジュールでは無く,kernel に静的に組み込...
options GEOM_STRIPE
さて,上記作業終了後,実際に RAID0 ディスクの作成が行えま...
geom01# gstripe label -v -s 131072 stripe0 ad0 ad2
Metadata value stored on ad0.
Metadata value stored on ad2.
Done.
gstripe コマンドに create 又は label を渡す事で作成の命令...
~
label と指定しているサブコマンド部分は create と指定して...
ステータスを知るには,''gstripe status'' と status オプシ...
geom01# gstripe status
Name Status Components
stripe/stripe0 UP ad0
ad2
上記の場合,stripe ディスクで,デバイス名が stripe0,ステ...
~
もっと詳しいステータスが欲しければ,''gstripe list'' と l...
geom01# gstripe list
Geom name: stripe0
State: UP
Status: Total=2, Online=2
Type: AUTOMATIC
Stripesize: 131072
ID: 1056941425
Providers:
1. Name: stripe/stripe0
Mediasize: 17179607040 (16G)
Sectorsize: 512
Mode: r0w0e0
Consumers:
1. Name: ad0
Mediasize: 8589934592 (8.0G)
Sectorsize: 512
Mode: r0w0e0
Number: 0
2. Name: ad2
Mediasize: 8589934592 (8.0G)
Sectorsize: 512
Mode: r0w0e0
Number: 1
stripe0 に関する詳しい情報が表示される事がわかります./de...
また,GEOM は ATA,SCSI ディスクを問わないので,同一容量...
geom01# gstripe label -v -s 131072 stripe1 ad1 da1
Metadata value stored on ad1.
Metadata value stored on da1.
Done.
上記のように,stripe1 という名前で,ad1(ATA) と da1(SCSI)...
geom01# gstripe status
Name Status Components
stripe/stripe0 UP ad0
ad2
stripe/stripe1 UP ad1
da1
これら作成した RAID0 ディスクは '''/dev/stripe''' 以下に...
*** RAID0 ディスクの削除 [#d4da9edd]
作成済みの RAID0 や,間違って作成されてしまった RAID0 デ...
geom01# gstripe destroy stripe1
geom01# gstripe status
Name Status Components
stripe/stripe0 UP ad0
ad2
** RAID1 のミラーリングを試してみる [#d44aa6ee]
RAID0 と同様に,作業を行う前に,GEOM RAID1 の為の kernel ...
kldload geom_mirror.ko
再起動後も自動で読み込ませるには,'''/boot/loader.conf'''...
geom_mirror_load="YES"
また,ローダブルモジュールでは無く,kernel に静的に組み込...
options GEOM_MIRROR
今回も上記作業が完了したら,RAID1 ディスクの作成作業に移...
geom01# gmirror label mirror0 ad0 ad2
gmirror で RAID1 ディスクを作成する際も label オプション...
作成されたディスクステータスを確認するには,status オプシ...
geom01# gmirror status
Name Status Components
mirror/mirror0 COMPLETE ad0
ad2
この場合,デバイス名が mirror/mirror0 である事がわかり,R...
~
当然ながら,既に通常利用している単発の HDD を RAID1 化す...
geom01# mount | grep /mnt
/dev/ad1 on /mnt (ufs, local)
geom01# umount /mnt
geom01# gmirror label -v mirror1 ad1
Metadata value stored on ad1.
Done.
geom01# gmirror insert -v mirror1 ad3
Done.
geom01# gmirror status
Name Status Components
mirror/mirror0 COMPLETE ad0
ad2
mirror/mirror1 DEGRADED ad1
ad3 (9%)
geom01# mount /dev/mirror/mirror1 /mnt
geom01# mount | grep /mnt
/dev/mirror/mirror1 on /mnt (ufs, local)
上記のように,先にマスタ側となる HDD を ''gmirror label''...
まだここだけの場合,片側しかないので,今までと同様の単発...
追加が完了すると自動的に RAID1 リビルド処理が開始されます...
''gmirror status'' の結果が '''COMPLETE''' となっていれば...
*** RAID1 ディスクの削除 [#gdd78509]
間違って作成してしまった場合や,RAID1 ディスクの利用をや...
remove'' コマンドを使用します.~
''gmirror remove'' は RAID1 ディスクから 1つ以上の HDD を...
例えば,RAID1 構成をやめて単発としたい場合は以下のように...
geom01# gmirror status
Name Status Components
mirror/mirror0 COMPLETE ad0
ad2
mirror/mirror1 COMPLETE ad1
ad3
geom01# gmirror remove mirror1 ad3
geom01# gmirror status
Name Status Components
mirror/mirror0 COMPLETE ad0
ad2
mirror/mirror1 COMPLETE ad1
また,上記状態より,'''mirror0''' のミラーセットを全て削...
geom01# gmirror remove mirror0 ad0 ad2
geom01# gmirror status
Name Status Components
mirror/mirror1 COMPLETE ad1
*** HDD デュプリケータとして使用する [#n942d508]
''gmirror'' を使う事で HDD デュプリケーションが簡単に可能...
ここではマスタディスクを ad0 として,他の HDD に複製を作...
geom01# gmirror label -v dup0 ad0
Metadata value stored on ad0.
Done.
geom01# gmirror insert -v dup0 ad1
Done.
geom01# gmirror status
Name Status Components
mirror/dup0 DEGRADED ad0
ad1 (6%)
ここでは '''ad0''' を先にミラーのマスタ側として '''dup0''...
実は,GEOM によるミラーリングは2台のみという制限があるわ...
geom01# gmirror insert -v dup0 ad2
Done.
geom01# gmirror status
Name Status Components
mirror/dup0 DEGRADED ad0
ad1 (74%)
ad2 (22%)
上記のように,'''ad1''' へリビルド中にもかかわらず,'''ad...
この後,リビルド処理が完了した HDD を ''gmirror remove'' ...
** RAID10 を試してみる [#s550ce9d]
GEOM 機構は重ねて使う事が可能ですので,先の geom_stripe, ...
~
ここでは,6本のディスクを使った RAID10 の環境を作成してみ...
geom01# gmirror label mirror0 ad1 da1
geom01# gmirror label mirror1 ad2 da2
geom01# gmirror label mirror2 ad3 da3
geom01# gmirror status
Name Status Components
mirror/mirror0 COMPLETE ad1
da1
mirror/mirror1 COMPLETE ad2
da2
mirror/mirror2 COMPLETE ad3
da3
これで 3つの RAID1 ディスクが作成出来ました.この 3つの R...
geom01# gstripe label -s 131072 stripe0 mirror/mirror0 m...
geom01# gstripe status
Name Status Components
stripe/stripe0 UP mirror/mirror0
mirror/mirror1
mirror/mirror2
ステータスを表示するとわかるように,geom_mirror で作成さ...
作成された RAID10 ディスクは geom_stripe 及び geom_mirror...
** ディスクをコンカチする [#y76de49f]
GEOM を使った,HDD の連結及びファイルシステムの拡張が可能...
今までと同様に,作業を行う前に,GEOM CONCAT の為の kernel...
kldload geom_concat.ko
再起動後も自動で読み込ませるには,'''/boot/loader.conf'''...
geom_concat_load="YES"
また,ローダブルモジュールでは無く,kernel に静的に組み込...
options GEOM_CONCAT
モジュールのロードもしくは kernel への組み込みが完了する...
geom01# gconcat create -v concat0 ad0
Done.
geom01# gconcat status
Name Status Components
concat/concat0 UP ad0
'''gconcat status''' を見ると分かりますが,ad0 が concat0...
geom01# newfs /dev/concat/concat0
/dev/concat/concat0: 8192.0MB (16777216 sectors) block s...
using 45 cylinder groups of 183.77MB, 11761 blks...
super-block backups (for fsck -b #) at:
160, 376512, 752864, 1129216, 1505568, 1881920, 2258272...
3387328, 3763680, 4140032, 4516384, 4892736, 5269088, 5...
geom01# mount /dev/concat/concat0 /mnt
geom01# df
/dev/concat/concat0 8122126 4 7472352 0% ...
この状態で,concat0 にディスクを追加して,ファイルシステ...
geom01# umount /mnt
geom01# gconcat label concat0 ad0 ad2
geom01# gconcat status
Name Status Components
concat/concat0 UP ad0
ad2
はじめに '''gconcat label''' を実行します.この際,既に作...
geom01# growfs /dev/concat/concat0
We strongly recommend you to make a backup before growin...
Did you backup your data (Yes/No) ? Yes
new file systemsize is: 8388607 frags
Warning: 59100 sector(s) cannot be allocated.
growfs: 16355.1MB (33495328 sectors) block size 16384, f...
using 89 cylinder groups of 183.77MB, 11761 blks...
super-block backups (for fsck -b #) at:
16936000, 17312352, 17688704, 18065056, 18441408, 18817...
19570464, 19946816, 20323168, 20699520, 21075872, 21452...
geom01# mount /dev/concat/concat0 /mnt
geom01# df
/dev/concat/concat0 16220702 4 14923042 0% ...
'''growfs''' を実行すると実施の確認があらわれますので ''Y...
** RAID3 を試してみる [#uc83b5dd]
ここまで来るとお分かりかと思いますが,やはり GEOM RAID3 ...
kldload geom_raid3.ko
再起動後も自動で読み込ませるには,'''/boot/loader.conf'''...
geom_raid3_load="YES"
また,ローダブルモジュールでは無く,kernel に静的に組み込...
options GEOM_RAID3
上記作業を完了後,RAID3 ディスクの作成作業に移ることが出...
geom01# graid3 label raid3-0 ad0 ad2 da1
graid3 で RAID3 ディスクを作成する際も label オプションを...
作成されたディスクステータスを確認するには,status オプシ...
geom01# graid3 status
Name Status Components
raid3/raid3-0 COMPLETE ad0
ad2
da1
この場合,デバイス名が raid3/raid3-0 である事がわかり,RA...
ただ,RAID3 は何れかのドライブがパリティドライブとなりま...
geom01# graid3 list raid3-0
Geom name: raid3-0
State: COMPLETE
Components: 3
Flags: NONE
GenID: 0
SyncID: 1
ID: 4185056656
Zone64kFailed: 0
Zone64kRequested: 0
Zone16kFailed: 0
Zone16kRequested: 0
Zone4kFailed: 0
Zone4kRequested: 38
Providers:
1. Name: raid3/raid3-0
Mediasize: 17179868160 (16G)
Sectorsize: 1024
Mode: r0w0e0
Consumers:
1. Name: ad0
Mediasize: 8589934592 (8.0G)
Sectorsize: 512
Mode: r1w1e1
State: ACTIVE
Flags: NONE
GenID: 0
SyncID: 1
Number: 0
Type: DATA
2. Name: ad2
Mediasize: 8589934592 (8.0G)
Sectorsize: 512
Mode: r1w1e1
State: ACTIVE
Flags: NONE
GenID: 0
SyncID: 1
Number: 1
Type: DATA
3. Name: da1
Mediasize: 8589934592 (8.0G)
Sectorsize: 512
Mode: r1w1e1
State: ACTIVE
Flags: NONE
GenID: 0
SyncID: 1
Number: 2
Type: PARITY
status コマンドの場合と比べ,表示される情報量が大幅に増え...
1. Name: raid3/raid3-0
Mediasize: 17179868160 (16G)
Sectorsize: 1024
Mode: r0w0e0
次に,各ディスクの情報が表示されていますが,この中の ''Ty...
*** RAID3 のリビルドを試してみる [#ba7efca8]
RAID3 で構築したボリュームのディスクを1本故障した状態にし...
geom01# atacontrol detach ata1
geom01# atacontrol list
ATA channel 0:
Master: ad0 <VMware Virtual IDE Hard Drive/00000001...
Slave: ad1 <VMware Virtual IDE Hard Drive/00000001...
ATA channel 1:
Master: no device present
Slave: no device present
この状態だと,RAID3 ディスクははデグレードしていると認識...
geom01# graid3 status
Name Status Components
raid3/raid3-0 DEGRADED ad0
da1
マウント済みの場合,このまま利用出来るかですが,確認した...
geom01# atacontrol attach ata1
ata1 チャネルをアタッチしても,デグレード状態は変わりませ...
geom01# graid3 insert -v -n 1 raid3-0 ad2
Done.
ここで '''-n''' と,数字をを指定しています.これは '''gra...
geom01# graid3 status
Name Status Components
raid3/raid3-0 DEGRADED da1
ad0
ad2 (11%)
入れ替えし,リビルド後のステータスは上記になりますが,'''...
上記の場合でも '''ad1''' が '''-n 0''' になる為です.その...
geom01# graid3 list raid3-0
Geom name: raid3-0
State: DEGRADED
Components: 3
Flags: NONE
GenID: 0
SyncID: 3
ID: 4185056656
Providers:
1. Name: raid3/raid3-0
Mediasize: 17179868160 (16G)
Sectorsize: 1024
Mode: r1w0e0
Consumers:
1. Name: da1
GenID: 0
SyncID: 3
Number: 2
Type: PARITY
2. Name: ad0
GenID: 0
SyncID: 3
Number: 0
Type: DATA
3. Name: ad2
GenID: 0
SyncID: 3
Synchronized: 77%
Number: 1
Type: DATA
上記リストの内容は大分省いていますが,それぞれのディスク...
*** RAID3 ディスクの削除 [#gdd78509]
ディスクが故障していない状態で,明示的に入れ替えたい場合...
geom01# graid3 remove -n 0 raid3-0
この場合,'''ad0''' を取り外しています.'''graid3 insert'...
geom01# graid3 status
Name Status Components
raid3/raid3-0 DEGRADED da1
ad2
RAID3 ディスクの利用を完全にやめてしまう場合,'''graid3 s...
geom01# graid3 stop raid3-0
geom01# graid3 status
上記の場合は '''graid3-0''' を停止しています.''graid3 st...
geom01# graid3 clear -v ad0
Metadata cleared on ad0.
Done.
geom01# graid3 clear -v ad2
Metadata cleared on ad2.
Done.
geom01# graid3 clear -v da1
Metadata cleared on da1.
Done.
メタデータの削除まで完了する事で RAID3 の情報を完全に削除...
*** RAID30 を使う [#z3740097]
GEOM は,他の GEOM と組み合わせて利用できる事は説明しまし...
使用するディスクは 6本,まず RAID3 ディスクを2セット作成...
geom01# graid3 label raid3-0 ad0 ad2 da1
geom01# graid3 label raid3-1 ad1 ad3 da2
geom01# graid3 status
Name Status Components
raid3/raid3-0 COMPLETE ad0
ad2
da1
raid3/raid3-1 COMPLETE ad1
ad3
da2
geom01# gstripe create -s 131072 stripe0 raid3/raid3-0 r...
geom01# gstripe status
Name Status Components
stripe/stripe0 UP raid3/raid3-0
raid3/raid3-1
上記のように,何も問題無く作成する事が可能で,また,利用...
** GATE を試してみる [#r8973bfd]
FreeBSD の GEOM 機構に面白い機能が追加されています.GEOM ...
~
GEOM GATE は3つのパートに分かれており,一番基盤になる ker...
kldload geom_gate.ko
再起動後も自動で読み込ませるには,'''/boot/loader.conf'''...
geom_gate_load="YES"
また,ローダブルモジュールでは無く,kernel に静的に組み込...
options GEOM_GATE
その後,サーバ側では,nfs の exports に良く似た設定ファイ...
geom01# cat /etc/gg.exports
192.168.241.166 RW /dev/da1
192.168.241.166 RW /dev/da2
設定ファイルを作成したら,サーバデーモンを起動します.こ...
geom01# ggated /etc/gg.exports
では次はクライアント側です.クライアントでもデーモンを起...
geom02# ggatec create -n -o rw -u 0 geom01 /dev/da1
マニュアルによると,''ggatec'' はプログラム名で,''create...
-n TCP_NODELAY を使わない
-o rw マウント時のオプション.rw はリード/ライト
-u 0 マウントする際のデバイス番号.ggate[n] になる
geom01 GEOM GATE でマウントするデバイスがあるサーバ
/dev/da1 マウントするサーバ側のデバイス名
マウントが成功すると,クライアント側の '''/var/log/messag...
geom02# tail /var/log/messages
Jul 2 23:17:11 geom02 ggatec: send_thread: started!
Jul 2 23:17:11 geom02 ggatec: recv_thread: started!
サーバ側でも同様なメッセージが表示されています.
geom01# tail /var/log/messages
Jul 2 23:16:30 geom01 ggated: disk_thread: started [/de...
Jul 2 23:16:30 geom01 ggated: send_thread: started [/de...
Jul 2 23:16:30 geom01 ggated: recv_thread: started [/de...
クライアントの '''/dev''' 以下に,''ggate0'' というデバイ...
geom02# newfs /dev/ggate0
/dev/ggate0: 4096.0MB (8388608 sectors) block size 16384...
using 23 cylinder groups of 183.77MB, 11761 blks...
super-block backups (for fsck -b #) at:
160, 376512, 752864, 1129216, 1505568, 1881920, 2258272...
3387328, 3763680, 4140032, 4516384, 4892736, 5269088, 5...
6398144, 6774496, 7150848, 7527200, 7903552, 8279904
geom02# mount /dev/ggate0 /mnt
geom02# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/da0s1a 507630 36838 430182 8% /
devfs 1 1 0 100% /dev
/dev/da0s1e 507630 12 467008 0% /tmp
/dev/da0s1f 1301002 1109046 87876 93% /usr
/dev/da0s1d 1255886 272 1155144 0% /var
/dev/ggate0 4058062 4 3733414 0% /mnt
TCP で行うため,スピードは速くありませんが,面白い使い方...
*** リモートの Disk とローカルの Disk で RAID を組む [#sf...
GEOM GATE には,もっと面白い方法があり,先の RAID と組み...
とりあえずは,現在マウントしてある '''/mnt''' はアンマウ...
geom02# umount /mnt
geom02# kldload /boot/kernel/geom_mirror.ko
先の GEOM RAID1 の場合を参考に,ミラーディスクを作成して...
geom02# gmirror label mirror0 /dev/ad0 /dev/ggate0
geom02# gmirror status
Name Status Components
mirror/mirror0 COMPLETE ad0
ggate0
ここまできたら newfs してマウントするだけで,ネットワーク...
geom02# newfs /dev/mirror/mirror0
/dev/mirror/mirror0: 4096.0MB (8388604 sectors) block si...
using 23 cylinder groups of 183.77MB, 11761 blks...
super-block backups (for fsck -b #) at:
160, 376512, 752864, 1129216, 1505568, 1881920, 2258272...
3387328, 3763680, 4140032, 4516384, 4892736, 5269088, 5...
6398144, 6774496, 7150848, 7527200, 7903552, 8279904
geom02# mount /dev/mirror/mirror0 /mnt/
~
----
Hiroyuki Seino http://www.seichan.org/ http://www.seicha...
Today:&counter(today); Yesterday:&counter(yesterday); All...
終了行:
#contents
~
* 注) Blog でコンテンツを更新中です [#z060470c]
現在,ブログにてコンテンツを更新しています.ブログの情報...
- [[FreeBSD GEOM 再々学習 >https://www.seichan.org/blog/2...
- [[GEOM CONCAT (ディスクの連結) を使ってみる>https://www...
- [[GEOM STRIPE (ストライプ/RAID0) を使ってみる>https://w...
- [[GEOM MIRROR (ミラーリング/RAID1) を使ってみる (1)>htt...
- [[GEOM MIRROR (ミラーリング/RAID1) を使ってみる (2)>htt...
- [[GEOM STRIPE + MIRROR で RAID10 を構成してみる>https:/...
- [[GEOM RAID3を使ってみる>https://www.seichan.org/blog/2...
- [[GEOM CACHE を使ってみる>https://www.seichan.org/blog/...
- [[GEOM GVIRSTORを使ってみる>https://www.seichan.org/blo...
- [[GEOM GATE を使ってみる>https://www.seichan.org/blog/2...
- [[GEOM LABEL で名前による管理を行う>https://www.seichan...
- [[GEOM PART でディスクパーティションの管理を行う>https:...
- [[GEOM MULTIPATH でマルチパスを構成する (1)>https://www...
- [[GEOM MULTIPATH でマルチパスを構成する (2)>https://www...
* FreeBSD で GEOM を試してみる [#a6a5abf0]
FreeBSD に GEOM というフレームワークがあるので,これを試...
GEOM とは,modular disk I/O request transformation framew...
GEOM があれば,ATA,SCSI 問わず SoftwareRAID, 圧縮ファイ...
~
** GEOM を使ってみる [#wf6e2695]
先にも言ったように GEOM は VFS 層とファイルシステム層の中...
と言う訳で,VMware 上で ATA と SCSI のディスクを何個か用...
今回のディスク環境は次のとおりです.
geom01# atacontrol list
ATA channel 0:
Master: ad0 <VMware Virtual IDE Hard Drive/00000001>...
Slave: ad1 <VMware Virtual IDE Hard Drive/00000001>...
ATA channel 1:
Master: ad2 <VMware Virtual IDE Hard Drive/00000001>...
Slave: ad3 <VMware Virtual IDE Hard Drive/00000001>...
geom01# camcontrol devlist
<VMware, VMware Virtual S 1.0> at scbus0 target 0 lu...
<VMware, VMware Virtual S 1.0> at scbus0 target 1 lu...
<VMware, VMware Virtual S 1.0> at scbus0 target 2 lu...
<VMware, VMware Virtual S 1.0> at scbus0 target 3 lu...
<VMware, VMware Virtual S 1.0> at scbus0 target 4 lu...
~
** まずはやっぱり RAID0 [#y14d7525]
まず,atacontrol の置き換えとする為に,RAID0 ディスクの作...
以下作業を行う前に,GEOM RAID0 の為の kernel module をロ...
kldload geom_stripe.ko
再起動後も自動で読み込ませるには,'''/boot/loader.conf'''...
geom_stripe_load="YES"
また,ローダブルモジュールでは無く,kernel に静的に組み込...
options GEOM_STRIPE
さて,上記作業終了後,実際に RAID0 ディスクの作成が行えま...
geom01# gstripe label -v -s 131072 stripe0 ad0 ad2
Metadata value stored on ad0.
Metadata value stored on ad2.
Done.
gstripe コマンドに create 又は label を渡す事で作成の命令...
~
label と指定しているサブコマンド部分は create と指定して...
ステータスを知るには,''gstripe status'' と status オプシ...
geom01# gstripe status
Name Status Components
stripe/stripe0 UP ad0
ad2
上記の場合,stripe ディスクで,デバイス名が stripe0,ステ...
~
もっと詳しいステータスが欲しければ,''gstripe list'' と l...
geom01# gstripe list
Geom name: stripe0
State: UP
Status: Total=2, Online=2
Type: AUTOMATIC
Stripesize: 131072
ID: 1056941425
Providers:
1. Name: stripe/stripe0
Mediasize: 17179607040 (16G)
Sectorsize: 512
Mode: r0w0e0
Consumers:
1. Name: ad0
Mediasize: 8589934592 (8.0G)
Sectorsize: 512
Mode: r0w0e0
Number: 0
2. Name: ad2
Mediasize: 8589934592 (8.0G)
Sectorsize: 512
Mode: r0w0e0
Number: 1
stripe0 に関する詳しい情報が表示される事がわかります./de...
また,GEOM は ATA,SCSI ディスクを問わないので,同一容量...
geom01# gstripe label -v -s 131072 stripe1 ad1 da1
Metadata value stored on ad1.
Metadata value stored on da1.
Done.
上記のように,stripe1 という名前で,ad1(ATA) と da1(SCSI)...
geom01# gstripe status
Name Status Components
stripe/stripe0 UP ad0
ad2
stripe/stripe1 UP ad1
da1
これら作成した RAID0 ディスクは '''/dev/stripe''' 以下に...
*** RAID0 ディスクの削除 [#d4da9edd]
作成済みの RAID0 や,間違って作成されてしまった RAID0 デ...
geom01# gstripe destroy stripe1
geom01# gstripe status
Name Status Components
stripe/stripe0 UP ad0
ad2
** RAID1 のミラーリングを試してみる [#d44aa6ee]
RAID0 と同様に,作業を行う前に,GEOM RAID1 の為の kernel ...
kldload geom_mirror.ko
再起動後も自動で読み込ませるには,'''/boot/loader.conf'''...
geom_mirror_load="YES"
また,ローダブルモジュールでは無く,kernel に静的に組み込...
options GEOM_MIRROR
今回も上記作業が完了したら,RAID1 ディスクの作成作業に移...
geom01# gmirror label mirror0 ad0 ad2
gmirror で RAID1 ディスクを作成する際も label オプション...
作成されたディスクステータスを確認するには,status オプシ...
geom01# gmirror status
Name Status Components
mirror/mirror0 COMPLETE ad0
ad2
この場合,デバイス名が mirror/mirror0 である事がわかり,R...
~
当然ながら,既に通常利用している単発の HDD を RAID1 化す...
geom01# mount | grep /mnt
/dev/ad1 on /mnt (ufs, local)
geom01# umount /mnt
geom01# gmirror label -v mirror1 ad1
Metadata value stored on ad1.
Done.
geom01# gmirror insert -v mirror1 ad3
Done.
geom01# gmirror status
Name Status Components
mirror/mirror0 COMPLETE ad0
ad2
mirror/mirror1 DEGRADED ad1
ad3 (9%)
geom01# mount /dev/mirror/mirror1 /mnt
geom01# mount | grep /mnt
/dev/mirror/mirror1 on /mnt (ufs, local)
上記のように,先にマスタ側となる HDD を ''gmirror label''...
まだここだけの場合,片側しかないので,今までと同様の単発...
追加が完了すると自動的に RAID1 リビルド処理が開始されます...
''gmirror status'' の結果が '''COMPLETE''' となっていれば...
*** RAID1 ディスクの削除 [#gdd78509]
間違って作成してしまった場合や,RAID1 ディスクの利用をや...
remove'' コマンドを使用します.~
''gmirror remove'' は RAID1 ディスクから 1つ以上の HDD を...
例えば,RAID1 構成をやめて単発としたい場合は以下のように...
geom01# gmirror status
Name Status Components
mirror/mirror0 COMPLETE ad0
ad2
mirror/mirror1 COMPLETE ad1
ad3
geom01# gmirror remove mirror1 ad3
geom01# gmirror status
Name Status Components
mirror/mirror0 COMPLETE ad0
ad2
mirror/mirror1 COMPLETE ad1
また,上記状態より,'''mirror0''' のミラーセットを全て削...
geom01# gmirror remove mirror0 ad0 ad2
geom01# gmirror status
Name Status Components
mirror/mirror1 COMPLETE ad1
*** HDD デュプリケータとして使用する [#n942d508]
''gmirror'' を使う事で HDD デュプリケーションが簡単に可能...
ここではマスタディスクを ad0 として,他の HDD に複製を作...
geom01# gmirror label -v dup0 ad0
Metadata value stored on ad0.
Done.
geom01# gmirror insert -v dup0 ad1
Done.
geom01# gmirror status
Name Status Components
mirror/dup0 DEGRADED ad0
ad1 (6%)
ここでは '''ad0''' を先にミラーのマスタ側として '''dup0''...
実は,GEOM によるミラーリングは2台のみという制限があるわ...
geom01# gmirror insert -v dup0 ad2
Done.
geom01# gmirror status
Name Status Components
mirror/dup0 DEGRADED ad0
ad1 (74%)
ad2 (22%)
上記のように,'''ad1''' へリビルド中にもかかわらず,'''ad...
この後,リビルド処理が完了した HDD を ''gmirror remove'' ...
** RAID10 を試してみる [#s550ce9d]
GEOM 機構は重ねて使う事が可能ですので,先の geom_stripe, ...
~
ここでは,6本のディスクを使った RAID10 の環境を作成してみ...
geom01# gmirror label mirror0 ad1 da1
geom01# gmirror label mirror1 ad2 da2
geom01# gmirror label mirror2 ad3 da3
geom01# gmirror status
Name Status Components
mirror/mirror0 COMPLETE ad1
da1
mirror/mirror1 COMPLETE ad2
da2
mirror/mirror2 COMPLETE ad3
da3
これで 3つの RAID1 ディスクが作成出来ました.この 3つの R...
geom01# gstripe label -s 131072 stripe0 mirror/mirror0 m...
geom01# gstripe status
Name Status Components
stripe/stripe0 UP mirror/mirror0
mirror/mirror1
mirror/mirror2
ステータスを表示するとわかるように,geom_mirror で作成さ...
作成された RAID10 ディスクは geom_stripe 及び geom_mirror...
** ディスクをコンカチする [#y76de49f]
GEOM を使った,HDD の連結及びファイルシステムの拡張が可能...
今までと同様に,作業を行う前に,GEOM CONCAT の為の kernel...
kldload geom_concat.ko
再起動後も自動で読み込ませるには,'''/boot/loader.conf'''...
geom_concat_load="YES"
また,ローダブルモジュールでは無く,kernel に静的に組み込...
options GEOM_CONCAT
モジュールのロードもしくは kernel への組み込みが完了する...
geom01# gconcat create -v concat0 ad0
Done.
geom01# gconcat status
Name Status Components
concat/concat0 UP ad0
'''gconcat status''' を見ると分かりますが,ad0 が concat0...
geom01# newfs /dev/concat/concat0
/dev/concat/concat0: 8192.0MB (16777216 sectors) block s...
using 45 cylinder groups of 183.77MB, 11761 blks...
super-block backups (for fsck -b #) at:
160, 376512, 752864, 1129216, 1505568, 1881920, 2258272...
3387328, 3763680, 4140032, 4516384, 4892736, 5269088, 5...
geom01# mount /dev/concat/concat0 /mnt
geom01# df
/dev/concat/concat0 8122126 4 7472352 0% ...
この状態で,concat0 にディスクを追加して,ファイルシステ...
geom01# umount /mnt
geom01# gconcat label concat0 ad0 ad2
geom01# gconcat status
Name Status Components
concat/concat0 UP ad0
ad2
はじめに '''gconcat label''' を実行します.この際,既に作...
geom01# growfs /dev/concat/concat0
We strongly recommend you to make a backup before growin...
Did you backup your data (Yes/No) ? Yes
new file systemsize is: 8388607 frags
Warning: 59100 sector(s) cannot be allocated.
growfs: 16355.1MB (33495328 sectors) block size 16384, f...
using 89 cylinder groups of 183.77MB, 11761 blks...
super-block backups (for fsck -b #) at:
16936000, 17312352, 17688704, 18065056, 18441408, 18817...
19570464, 19946816, 20323168, 20699520, 21075872, 21452...
geom01# mount /dev/concat/concat0 /mnt
geom01# df
/dev/concat/concat0 16220702 4 14923042 0% ...
'''growfs''' を実行すると実施の確認があらわれますので ''Y...
** RAID3 を試してみる [#uc83b5dd]
ここまで来るとお分かりかと思いますが,やはり GEOM RAID3 ...
kldload geom_raid3.ko
再起動後も自動で読み込ませるには,'''/boot/loader.conf'''...
geom_raid3_load="YES"
また,ローダブルモジュールでは無く,kernel に静的に組み込...
options GEOM_RAID3
上記作業を完了後,RAID3 ディスクの作成作業に移ることが出...
geom01# graid3 label raid3-0 ad0 ad2 da1
graid3 で RAID3 ディスクを作成する際も label オプションを...
作成されたディスクステータスを確認するには,status オプシ...
geom01# graid3 status
Name Status Components
raid3/raid3-0 COMPLETE ad0
ad2
da1
この場合,デバイス名が raid3/raid3-0 である事がわかり,RA...
ただ,RAID3 は何れかのドライブがパリティドライブとなりま...
geom01# graid3 list raid3-0
Geom name: raid3-0
State: COMPLETE
Components: 3
Flags: NONE
GenID: 0
SyncID: 1
ID: 4185056656
Zone64kFailed: 0
Zone64kRequested: 0
Zone16kFailed: 0
Zone16kRequested: 0
Zone4kFailed: 0
Zone4kRequested: 38
Providers:
1. Name: raid3/raid3-0
Mediasize: 17179868160 (16G)
Sectorsize: 1024
Mode: r0w0e0
Consumers:
1. Name: ad0
Mediasize: 8589934592 (8.0G)
Sectorsize: 512
Mode: r1w1e1
State: ACTIVE
Flags: NONE
GenID: 0
SyncID: 1
Number: 0
Type: DATA
2. Name: ad2
Mediasize: 8589934592 (8.0G)
Sectorsize: 512
Mode: r1w1e1
State: ACTIVE
Flags: NONE
GenID: 0
SyncID: 1
Number: 1
Type: DATA
3. Name: da1
Mediasize: 8589934592 (8.0G)
Sectorsize: 512
Mode: r1w1e1
State: ACTIVE
Flags: NONE
GenID: 0
SyncID: 1
Number: 2
Type: PARITY
status コマンドの場合と比べ,表示される情報量が大幅に増え...
1. Name: raid3/raid3-0
Mediasize: 17179868160 (16G)
Sectorsize: 1024
Mode: r0w0e0
次に,各ディスクの情報が表示されていますが,この中の ''Ty...
*** RAID3 のリビルドを試してみる [#ba7efca8]
RAID3 で構築したボリュームのディスクを1本故障した状態にし...
geom01# atacontrol detach ata1
geom01# atacontrol list
ATA channel 0:
Master: ad0 <VMware Virtual IDE Hard Drive/00000001...
Slave: ad1 <VMware Virtual IDE Hard Drive/00000001...
ATA channel 1:
Master: no device present
Slave: no device present
この状態だと,RAID3 ディスクははデグレードしていると認識...
geom01# graid3 status
Name Status Components
raid3/raid3-0 DEGRADED ad0
da1
マウント済みの場合,このまま利用出来るかですが,確認した...
geom01# atacontrol attach ata1
ata1 チャネルをアタッチしても,デグレード状態は変わりませ...
geom01# graid3 insert -v -n 1 raid3-0 ad2
Done.
ここで '''-n''' と,数字をを指定しています.これは '''gra...
geom01# graid3 status
Name Status Components
raid3/raid3-0 DEGRADED da1
ad0
ad2 (11%)
入れ替えし,リビルド後のステータスは上記になりますが,'''...
上記の場合でも '''ad1''' が '''-n 0''' になる為です.その...
geom01# graid3 list raid3-0
Geom name: raid3-0
State: DEGRADED
Components: 3
Flags: NONE
GenID: 0
SyncID: 3
ID: 4185056656
Providers:
1. Name: raid3/raid3-0
Mediasize: 17179868160 (16G)
Sectorsize: 1024
Mode: r1w0e0
Consumers:
1. Name: da1
GenID: 0
SyncID: 3
Number: 2
Type: PARITY
2. Name: ad0
GenID: 0
SyncID: 3
Number: 0
Type: DATA
3. Name: ad2
GenID: 0
SyncID: 3
Synchronized: 77%
Number: 1
Type: DATA
上記リストの内容は大分省いていますが,それぞれのディスク...
*** RAID3 ディスクの削除 [#gdd78509]
ディスクが故障していない状態で,明示的に入れ替えたい場合...
geom01# graid3 remove -n 0 raid3-0
この場合,'''ad0''' を取り外しています.'''graid3 insert'...
geom01# graid3 status
Name Status Components
raid3/raid3-0 DEGRADED da1
ad2
RAID3 ディスクの利用を完全にやめてしまう場合,'''graid3 s...
geom01# graid3 stop raid3-0
geom01# graid3 status
上記の場合は '''graid3-0''' を停止しています.''graid3 st...
geom01# graid3 clear -v ad0
Metadata cleared on ad0.
Done.
geom01# graid3 clear -v ad2
Metadata cleared on ad2.
Done.
geom01# graid3 clear -v da1
Metadata cleared on da1.
Done.
メタデータの削除まで完了する事で RAID3 の情報を完全に削除...
*** RAID30 を使う [#z3740097]
GEOM は,他の GEOM と組み合わせて利用できる事は説明しまし...
使用するディスクは 6本,まず RAID3 ディスクを2セット作成...
geom01# graid3 label raid3-0 ad0 ad2 da1
geom01# graid3 label raid3-1 ad1 ad3 da2
geom01# graid3 status
Name Status Components
raid3/raid3-0 COMPLETE ad0
ad2
da1
raid3/raid3-1 COMPLETE ad1
ad3
da2
geom01# gstripe create -s 131072 stripe0 raid3/raid3-0 r...
geom01# gstripe status
Name Status Components
stripe/stripe0 UP raid3/raid3-0
raid3/raid3-1
上記のように,何も問題無く作成する事が可能で,また,利用...
** GATE を試してみる [#r8973bfd]
FreeBSD の GEOM 機構に面白い機能が追加されています.GEOM ...
~
GEOM GATE は3つのパートに分かれており,一番基盤になる ker...
kldload geom_gate.ko
再起動後も自動で読み込ませるには,'''/boot/loader.conf'''...
geom_gate_load="YES"
また,ローダブルモジュールでは無く,kernel に静的に組み込...
options GEOM_GATE
その後,サーバ側では,nfs の exports に良く似た設定ファイ...
geom01# cat /etc/gg.exports
192.168.241.166 RW /dev/da1
192.168.241.166 RW /dev/da2
設定ファイルを作成したら,サーバデーモンを起動します.こ...
geom01# ggated /etc/gg.exports
では次はクライアント側です.クライアントでもデーモンを起...
geom02# ggatec create -n -o rw -u 0 geom01 /dev/da1
マニュアルによると,''ggatec'' はプログラム名で,''create...
-n TCP_NODELAY を使わない
-o rw マウント時のオプション.rw はリード/ライト
-u 0 マウントする際のデバイス番号.ggate[n] になる
geom01 GEOM GATE でマウントするデバイスがあるサーバ
/dev/da1 マウントするサーバ側のデバイス名
マウントが成功すると,クライアント側の '''/var/log/messag...
geom02# tail /var/log/messages
Jul 2 23:17:11 geom02 ggatec: send_thread: started!
Jul 2 23:17:11 geom02 ggatec: recv_thread: started!
サーバ側でも同様なメッセージが表示されています.
geom01# tail /var/log/messages
Jul 2 23:16:30 geom01 ggated: disk_thread: started [/de...
Jul 2 23:16:30 geom01 ggated: send_thread: started [/de...
Jul 2 23:16:30 geom01 ggated: recv_thread: started [/de...
クライアントの '''/dev''' 以下に,''ggate0'' というデバイ...
geom02# newfs /dev/ggate0
/dev/ggate0: 4096.0MB (8388608 sectors) block size 16384...
using 23 cylinder groups of 183.77MB, 11761 blks...
super-block backups (for fsck -b #) at:
160, 376512, 752864, 1129216, 1505568, 1881920, 2258272...
3387328, 3763680, 4140032, 4516384, 4892736, 5269088, 5...
6398144, 6774496, 7150848, 7527200, 7903552, 8279904
geom02# mount /dev/ggate0 /mnt
geom02# df
Filesystem 1K-blocks Used Avail Capacity Mounted on
/dev/da0s1a 507630 36838 430182 8% /
devfs 1 1 0 100% /dev
/dev/da0s1e 507630 12 467008 0% /tmp
/dev/da0s1f 1301002 1109046 87876 93% /usr
/dev/da0s1d 1255886 272 1155144 0% /var
/dev/ggate0 4058062 4 3733414 0% /mnt
TCP で行うため,スピードは速くありませんが,面白い使い方...
*** リモートの Disk とローカルの Disk で RAID を組む [#sf...
GEOM GATE には,もっと面白い方法があり,先の RAID と組み...
とりあえずは,現在マウントしてある '''/mnt''' はアンマウ...
geom02# umount /mnt
geom02# kldload /boot/kernel/geom_mirror.ko
先の GEOM RAID1 の場合を参考に,ミラーディスクを作成して...
geom02# gmirror label mirror0 /dev/ad0 /dev/ggate0
geom02# gmirror status
Name Status Components
mirror/mirror0 COMPLETE ad0
ggate0
ここまできたら newfs してマウントするだけで,ネットワーク...
geom02# newfs /dev/mirror/mirror0
/dev/mirror/mirror0: 4096.0MB (8388604 sectors) block si...
using 23 cylinder groups of 183.77MB, 11761 blks...
super-block backups (for fsck -b #) at:
160, 376512, 752864, 1129216, 1505568, 1881920, 2258272...
3387328, 3763680, 4140032, 4516384, 4892736, 5269088, 5...
6398144, 6774496, 7150848, 7527200, 7903552, 8279904
geom02# mount /dev/mirror/mirror0 /mnt/
~
----
Hiroyuki Seino http://www.seichan.org/ http://www.seicha...
Today:&counter(today); Yesterday:&counter(yesterday); All...
ページ名: