スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

UbuntuでソフトウェアRAIDを組もうとしてハマった記録。

ここにたどり着くまでにもかなりハマってたんだけど。
まずSB700のRAID機能で作ろうとして失敗。
まずやったのがFakeRaid。
SBで設定したRAIDを親切に読み出してくれるもの・・・なんだけど・・・
RAID by dmraid
FakeRaidHowto
そしてまさしくこの状態。
FakeRAID ですって!?
えーとですね。初回起動はいいんですが、sda sdb sdcって認識がズレるときあるじゃないですか。HDDやUSBつないで。
そうするとどうやら起動ごとに、というかHDDつなぎ直したりしたらもう、ズレちゃうんですよね。
これはMBのRAID設定画面に入って初めて気づきました。アレイが組み替えられてて、で、俺がやろうとしてたのはRAID0なので、そりゃ起動しないわな。
ここですでに丸二日ほど。
dmraid使うならHDD固定な環境がいいよ。
俺みたく色々つなぎ直して、しかもRAID0のUbuntuとフツーのVistaのデュアルブートにしようとか考えてる人は多分無理。

一応GAMA78GPM-UD2HのSB、つまりSATAコネクタの配列は
5
4 3
1 2

12345の順でsda sdb sdc sdd sdeとなるっぽい。ここまでは突き止めた。
で、SBのRAID機能とdmraidは連動してるから、dmraidコマンドで操作するとそれはSBのRAID画面に反映されるし、逆もしかり。
でもBIOSで解除しただけだとHDDにRAID情報が残ってるから、# dmraid -rE しないとこの情報が消えず、Linux上では崩れかけのRAIDに見えているっぽい。
これは日経Linuxからの情報。で、その通りだった。
じゃあこれ、つなぎ直したらもうダメじゃーん。。。
というか、SBのRAID機能がハードウェアRAIDだと思ってた俺氏ね!
そりゃなんちゃってハードRAIDだ。実質ソフトウェアRAIDな。

というわけでさらに調べる。
mdadmなるものがあるらしい。これはLinux上で完結するソフトウェアRAID。
で、結局これで行こうとしてる。

まずはfdiskで今の状態。
sdaとsdbの250GのHDDx2でRAID0を組もうとしてる。速くするためと容量のため。
で、sdaは前からUbuntuに使ってたんだけど、ここのデータはsdd、SeaGateの500Gに引越し済み。
つまり、sdc=Vista sdd=Ubuntu な状況はもうできてる。
250x2でRAID0組んだらどうかってのは考えてたから、そこのデータはすでに退避済みってことね。

# fdisk -l

ディスク /dev/sda: 250.1 GB, 250059350016 バイト
ヘッド 255, セクタ 63, シリンダ 30401
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x00059353

デバイス ブート 始点 終点 ブロック Id システム
/dev/sda1 1 522 4192933+ 83 Linux
/dev/sda2 523 4346 30716280 83 Linux
/dev/sda3 4347 30401 209286787+ 83 Linux

ディスク /dev/sdb: 250.1 GB, 250059350016 バイト
ヘッド 255, セクタ 63, シリンダ 30401
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x000d6e18

デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 1 522 4192933+ 83 Linux
/dev/sdb2 523 4346 30716280 83 Linux
/dev/sdb3 4347 30401 209286787+ 83 Linux

ディスク /dev/sdc: 1000.2 GB, 1000204886016 バイト
ヘッド 255, セクタ 63, シリンダ 121601
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0xab0710b2

デバイス ブート 始点 終点 ブロック Id システム
/dev/sdc1 * 1 12749 102406311 7 HPFS/NTFS
/dev/sdc2 12750 121601 874353690 7 HPFS/NTFS

ディスク /dev/sdd: 500.1 GB, 500107862016 バイト
ヘッド 255, セクタ 63, シリンダ 60801
Units = シリンダ数 of 16065 * 512 = 8225280 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x000621f0

デバイス ブート 始点 終点 ブロック Id システム
/dev/sdd1 1 6502 52227283+ 83 Linux
/dev/sdd2 6503 60801 436156717+ 83 Linux

ディスク /dev/sde: 4042 MB, 4042260480 バイト
ヘッド 125, セクタ 62, シリンダ 1018
Units = シリンダ数 of 7750 * 512 = 3968000 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O size (minimum/optimal): 512 bytes / 512 bytes
ディスク識別子: 0x000ed94f


sdeはUSBなのでシカトしてください。
sdaとsdbは合わせてパーティション切ってある。
ソフトウェアRAIDは/bootを置けないとか言う話を聞いたので、先頭から4Gづつ/bootとSWAP用に。
/bootとしてはこんなにいらないけど、2つのHDDのパーティションを合わせたいってだけ。
で、sda1=/boot sdb1=SWAP sda2&sdb2=RAID / sda2&sd3=RAID /homeにしようって魂胆。

参考にしたのはこの辺。
tips - Ubuntu 9.10 + ドライブドア で 8TB RAID-5 をこさえてみた
UbuntuでSoftware RAID1の構築 - サーバ

RAIDレベルは違うけど、まぁこれは指定オプション変えるだけだし。

LiveCDにはmdadmが入ってないので、Live起動した上でインストール。
# apt-get install mdadm
さて、RAID構築。
# mdadm --create --verbose --assume-clean /dev/md0 \ --level=0 --raid-devices=2 \/dev/sda2 /dev/sdb2
mdadm: chunk size defaults to 64K
mdadm: array /dev/md0 started.
# mdadm --create --verbose --assume-clean /dev/md0 --level=0 --raid-devices=2 \/dev/sda3 /dev/sdb3
mdadm: another array by this name is already running.
失敗w
mdの後ろの数字がカブってるw

# mdadm --create --verbose --assume-clean /dev/md1 --level=0 --raid-devices=2 \/dev/sda3 /dev/sdb3
mdadm: chunk size defaults to 64K
mdadm: array /dev/md1 started.
おっけー。
確認。

# mdadm --detail /dev/md0
/dev/md0:
Version : 00.90
Creation Time : Tue May 4 07:44:48 2010
Raid Level : raid0
Array Size : 61432320 (58.59 GiB 62.91 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 0
Persistence : Superblock is persistent

Update Time : Tue May 4 07:44:48 2010
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Chunk Size : 64K

UUID : a54a3317:750920bb:7fda1cd3:fde8855d (local to host tmin-desktop)
Events : 0.1

Number Major Minor RaidDevice State
0 8 2 0 active sync /dev/sda2
1 8 18 1 active sync /dev/sdb2
# mdadm --detail /dev/md1
/dev/md1:
Version : 00.90
Creation Time : Tue May 4 07:45:19 2010
Raid Level : raid0
Array Size : 418573440 (399.18 GiB 428.62 GB)
Raid Devices : 2
Total Devices : 2
Preferred Minor : 1
Persistence : Superblock is persistent

Update Time : Tue May 4 07:45:19 2010
State : clean
Active Devices : 2
Working Devices : 2
Failed Devices : 0
Spare Devices : 0

Chunk Size : 64K

UUID : fdf68a41:df698ac3:7fda1cd3:fde8855d (local to host tmin-desktop)
Events : 0.1

Number Major Minor RaidDevice State
0 8 3 0 active sync /dev/sda3
1 8 19 1 active sync /dev/sdb3


おっけー。ちゃんと動いてる。
ここにくるまでにさらに丸一日くらい。

で、無謀にもここに既存の/homeパーティション、つまりsdd2をコピーしてこようと考えた。
しかしGpartedはどうやらまともに対応してくれてない。
dd・・・か・・・。苦手なんだけどなー。
この辺を参考に。
(FreeBSD) ddコマンドでパーティションまるごと高速コピー・・・しようとして、ちょっとハマった
/homeにあてようと考えてるのはmd1として認識されてるので、これを指定。

# dd if=/dev/sdd2 of=/dev/md1
^C256795393+0 records in
256795393+0 records out
131479241216 bytes (131 GB) copied, 7061.96 s, 18.6 MB/s


しびれを切らして途中で止めたw
遅っ!!こんなん一日以上かかっちまうんじゃね?というわけでオプション。


# dd if=/dev/sdd2 of=/dev/md1 bs=512
^C2260929+0 records in
2260928+0 records out
1157595136 bytes (1.2 GB) copied, 60.7066 s, 19.1 MB/s


ふむ。デフォルトがbs=512っぽいぞ。
さらに調べる。
http://ftp.gnu.org/old-gnu/Manuals/parted-1.6.1/html_chapter/parted_7.html
http://nobumasa-web.hp.infoseek.co.jp/partition/parted/
parted?

# parted /dev/sdd
GNU Parted 1.8.8.1.159-1e0e
Using /dev/sdd
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Model: ATA ST3500320AS (scsi)
Disk /dev/sdd: 500GB
Sector size (logical/physical): 512B/512B
Partition Table: msdos

Number Start End Size Type File system Flags
1 32.3kB 53.5GB 53.5GB primary ext4
2 53.5GB 500GB 447GB primary ext4

(parted) quit


ふむ。使えるか?

# parted /dev/md1
GNU Parted 1.8.8.1.159-1e0e
Using /dev/md1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) print
Error: /dev/md1: unrecognised disk label
(parted) quit
# parted /dev/md1
GNU Parted 1.8.8.1.159-1e0e
Using /dev/md1
Welcome to GNU Parted! Type 'help' to view a list of commands.
(parted) mklabel loop
(parted) print
Model: Unknown (unknown)
Disk /dev/md1: 429GB
Sector size (logical/physical): 512B/512B
Partition Table: loop

Number Start End Size File system Flags

(parted) mkpart ext4
Start?
Start? S
Error: Invalid number.
(parted) mkpart primary ext4
parted: invalid token: primary
File system type? [ext2]?
Start? S
Error: Invalid number.
(parted) select /dev/sdd
Using /dev/sdd
(parted) select /dev/md1
Using /dev/md1
(parted) cp /dev/sdd 2 1
Error: Partition doesn't exist.
(parted) quit


ダメ。mdXをまともに認識してくれない。コピーは無理。

http://nhh.mo-blog.jp/ttt/2007/09/freebsd_dd_f935.html
http://x68000.q-e-d.net/~68user/unix/pickup?dd
ddのオプションを増やしてく方向で。

root@ubuntu:~# dd if=/dev/sdd2 of=/dev/md1 bs=4096
^C43724612+0 records in
43724611+0 records out
179096006656 bytes (179 GB) copied, 1711.61 s, 105 MB/s

root@ubuntu:~# dd if=/dev/sdd2 of=/dev/md1 bs=8192
^C781594+0 records in
781593+0 records out
6402809856 bytes (6.4 GB) copied, 63.4767 s, 101 MB/s


あんまりかわらん。4096が限界か?といいつつ。

~# dd if=/dev/sdd2 of=/dev/md1 bs=8192
dd: writing `/dev/md1': No space left on device
52321681+0 records in
52321680+0 records out
428619202560 bytes (429 GB) copied, 4904.6 s, 87.4 MB/s


結局後半若干スピードが落ちた。しかもサイズが合ってないとか。
コピーしはじめてから気づいたんだけど、sddにはバッドセクタもあったんだよね。代替されてるから大丈夫・・・かどうかは知らんけどw
上のリンク先にはこんなことが。

% dd if=/dev/ad0 of=zero.dat bs=512 count=.... conv=noerror,sync
⇒ 1セクタのみエラーになる場合は 512 バイトだけ NULL 埋めされる (のか?)
% dd if=/dev/ad0 of=zero.dat bs=1024 count=.... conv=noerror,sync
⇒ 動きはするが、お勧めしない。1セクタのみエラーになる場合でも、1024 バイトが NULL 埋めされてしまう (ということか?)


あー、これ、ちゃんと指定してやらないかんのよね。ほんとは。

一応終わったのでfdiskで確認。


# fdisk -l

Disk /dev/sda: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00059353

Device Boot Start End Blocks Id System
/dev/sda1 1 522 4192933+ 83 Linux
/dev/sda2 523 4346 30716280 83 Linux
/dev/sda3 4347 30401 209286787+ 83 Linux

Disk /dev/sdb: 250.1 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000d6e18

Device Boot Start End Blocks Id System
/dev/sdb1 1 522 4192933+ 83 Linux
/dev/sdb2 523 4346 30716280 83 Linux
/dev/sdb3 4347 30401 209286787+ 83 Linux

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0xab0710b2

Device Boot Start End Blocks Id System
/dev/sdc1 * 1 12749 102406311 7 HPFS/NTFS
/dev/sdc2 12750 121601 874353690 7 HPFS/NTFS

Disk /dev/sdd: 500.1 GB, 500107862016 bytes
255 heads, 63 sectors/track, 60801 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Disk identifier: 0x000621f0

Device Boot Start End Blocks Id System
/dev/sdd1 1 6502 52227283+ 83 Linux
/dev/sdd2 6503 60801 436156717+ 83 Linux

Disk /dev/md1: 428.6 GB, 428619202560 bytes
2 heads, 4 sectors/track, 104643360 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md1 doesn't contain a valid partition table

Disk /dev/md0: 62.9 GB, 62906695680 bytes
2 heads, 4 sectors/track, 15358080 cylinders
Units = cylinders of 8 * 512 = 4096 bytes
Disk identifier: 0x00000000

Disk /dev/md0 doesn't contain a valid partition table

Disk /dev/sde: 1018 MB, 1018691584 bytes
32 heads, 61 sectors/track, 1019 cylinders
Units = cylinders of 1952 * 512 = 999424 bytes
Disk identifier: 0x00023931

Device Boot Start End Blocks Id System
/dev/sde1 * 1 1019 994513+ c W95 FAT32 (LBA)



だがこの後インストールしたらbusyboxに落ちてしまって起動しない。
何度かやってるうちにデータは吹っ飛んだ。

仕方ないのでsdd2のいらないファイルを退避して、/homeの容量小さくしてもっかいddやってmd1にコピー。
ヤバい。もうddだけで丸一日だ。まあ、間にコンビニ行ったりはしてるけどw

したら小さくしたsdd2に合わさった大きさになって、これリサイズもできねぇのな。
ということで結局消し去ってもっかいインストール。もう何回目だ?

mdadm一応入れたうえで、GpartedからフラグでraidつけてやればLiveDesktopから認識されることも分かった。
Screenshot-インストールインストール画面で認識されてる。

あと、alternate版ならテキストモードだけど、インストール中にRAIDアレイ作れることも分かった。
しかし、まだなんにも実用できてないよーーーーーーー!!
なぜかupdateしたらfglrxが効かんくなったり、激しくすべての文字が文字化けしてコマンドも打てない状態になったり、Nautilusの権限がなくてデスクトップアイコンも「場所」も開けなくなったり。
それらがmdadmのせいなのか、Lucidのせいなのか、はたまた俺のせいなのかは全く分からないけど。
コピーしてない、サラの状態でRAIDだけ組んでインストールしてもなんかおかしいことあるもんなー。

ちなみに容量は別にこの500GのSeaGateで何にも困ってないし、こちらは安定して動いてるから、まぁLucidのせいじゃあないわな。
ただこのパフォーマンスが欲しいだけ。

63 GB RAID-0 アレイシステム予定のほう。
RAID-0 アレイ/home予定のとこ。外周なので速度は落ちてるけど、それでも速い。
らぷたん並じゃね?ローコストな250Gなのに。
実際体感でわかる速さ。あとは安定運用が・・・・・・・・・・・・・・・・・・・・

関連記事
今読むと余計に分からなくなるかもしれないHDD選び(序)
今読むと余計に分からなくなるかもしれないHDD選び(破)
今読むと余計に分からなくなるかもしれないHDD選び(急)
Ubuntuをインストールする前に・・・MBRの存在を知っておこう。
Ubuntu10.04 LucidLynx インストールガイド(β2)
UbuntuでソフトウェアRAID(mdadm)を組もうとして成功した記録。
Ubuntu Alternate版のレスキューモードは結構使えるかも。
192MB以下のコンピュータでもインストールできる?LVMもRAIDもサポートするAlternate版でのインストール(Ubuntu10.10)
関連記事
総合案内当ブログについて
Windowsの目次Linuxの目次Linuxの目次2・ ・自作PC関連の目次Web技術関連の目次
全記事一覧情報サイト新着RSS一覧

Sponsored Link

コメントの投稿

管理者にだけ表示を許可する
ブログ内検索

カスタム検索

フリーエリア

クリックで救える命がある。

レンタルサーバー

さくらのマネージドサーバ
さくらインターネットのVPS
ConoHaのVPS
WebARENA VPSクラウド
99円レンタルサーバー
【CloudCore VPS】
GMOクラウドのレンタルサーバー
転送量無制限 ABLENET
@WAPPYレンタルサーバー
SPPDレンタルサーバー

カテゴリー+月別アーカイブ

 

アクセスカウンター

現在の閲覧者数:

プロフィール

Author:tmin
PCヲタ。ライト2ちゃんねら。
スロット好きのギャンブラー。(元
むしろ人生がギャンブルだが目下のところ負けっぱなし。
座右の銘は「結果オーライ」。故に基本適当。
トラブルもまた楽しみのひとつ

コメント、トラバ、相互リンク歓迎。お気軽にどうぞ。
当ブログについて
Twitterでこっちとあっちの更新情報流すことにしてみます。
http://twitter.com/t_min
Project Mikunchu♪Wikiできました。
Mikunchu200x40.png


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