debian-volatile mirror 復活
なんか どーも push signal こねぇな と思ってたら、ルータで塞いでいました…orz
ということで、signal くるのを確認したので復活したはず。
どーも すいません(わら
なんか どーも push signal こねぇな と思ってたら、ルータで塞いでいました…orz
ということで、signal くるのを確認したので復活したはず。
どーも すいません(わら
昨日は、たんきよで毎年恒例の忘年会でした。
久しぶりの参加のひともちらほら、新しく参加の人も何人か。
うかいさんのおくさんに初めて会いましたが、なかなか面白い人でした。
その後、nnnの知ってる店に だいすけ、まくつ、nnn、ならき、オレという感じで移動して二次会?で終電前に解散。
これが終わると、なんだかようやく年末が近づいてきた気がします。
Linux Software RAID (md)の onlie resizeの続編的ですが。
このmdは紆余曲折あって(?)現在は1TB HDD 5本でRAID5(スペアなし)という構成になっています。
が、なんとなく若干手狭な感じが出てきました(debian の iso imageにBDとか入ってきた
せいか、油断するとあふれることが…)
そこで、少し前からkernelでサポートされた「mdにデバイスを追加してでかくしてみる」ことを
してみましょう。1TBを5本→1TBを6本の構成にしてみます。
最初はこんな感じ。
$ lsscsi [6:0:0:0] disk ATA WDC WD740GD-00FL 21.0 /dev/sda [8:0:0:0] disk ATA WDC WD10EACS-22D 01.0 /dev/sdb [11:0:0:0] disk ATA WDC WD10EACS-22D 01.0 /dev/sdc [13:0:0:0] disk ATA WDC WD10EACS-22D 01.0 /dev/sdd [14:0:0:0] disk ATA WDC WD10EACS-22D 01.0 /dev/sde [16:0:0:0] disk ATA WDC WD10EACS-22D 01.0 /dev/sdf [18:0:0:0] cd/dvd Optiarc DVD RW AD-7170A 1.02 /dev/sr0
$ df /storage Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/md0 3845731848 3078934784 766797064 81% /storage $ df -h /storage Filesystem サイズ 使用 残り 使用% マウント位置 /dev/md0 3.6T 2.9T 732G 81% /storage
$ sudo mdadm --misc --detail /dev/md0
/dev/md0:
Version : 0.90
Creation Time : Fri Oct 17 21:15:30 2008
Raid Level : raid5
Array Size : 3907039744 (3726.04 GiB 4000.81 GB)
Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
Raid Devices : 5
Total Devices : 5
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue Sep 22 08:58:55 2009
State : clean
Active Devices : 5
Working Devices : 5
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 64K
UUID : 7b919d4f:b9e7742c:84bd942a:d4b8378f
Events : 0.19904
Number Major Minor RaidDevice State
0 8 33 0 active sync /dev/sdc1
1 8 49 1 active sync /dev/sdd1
2 8 17 2 active sync /dev/sdb1
3 8 81 3 active sync /dev/sdf1
4 8 65 4 active sync /dev/sde1
HDDはSATA/SASのエンクロージャに全部ささってますし、最近のSATAの
デバイスであれば(少なくともahciの一部、sata_sil24、sata_mvはOk)hot plugで
つなげば認識してくれるので、無造作に(物理的に)HDDをさして認識させます。
$lsscsi [6:0:0:0] disk ATA WDC WD740GD-00FL 21.0 /dev/sda [8:0:0:0] disk ATA WDC WD10EACS-22D 01.0 /dev/sdb [11:0:0:0] disk ATA WDC WD10EACS-22D 01.0 /dev/sdc [13:0:0:0] disk ATA WDC WD10EACS-22D 01.0 /dev/sdd [14:0:0:0] disk ATA WDC WD10EACS-22D 01.0 /dev/sde [15:0:0:0] disk ATA WDC WD10EADS-00M 01.0 /dev/sdg [16:0:0:0] disk ATA WDC WD10EACS-22D 01.0 /dev/sdf
/dev/sdgが増えました。
fdisk とかでパーティションを一つだけ切って、タイプを Linux raid autodetect
(0xfd)にしときます。
$ fdisk -l /dev/sdg Disk /dev/sdg: 1000.2 GB, 1000204886016 bytes 255 heads, 63 sectors/track, 121601 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Disk identifier: 0xfec868df Device Boot Start End Blocks Id System /dev/sdg1 1 121601 976760001 fd Linux raid autodetect
次にmdにこのHDDを追加します。
$ sudo mdadm /dev/md0 --add /dev/sdg1
mdadm: added /dev/sdg1
$ sudo mdadm --misc --detail /dev/md0
/dev/md0:
Version : 0.90
Creation Time : Fri Oct 17 21:15:30 2008
Raid Level : raid5
Array Size : 3907039744 (3726.04 GiB 4000.81 GB)
Used Dev Size : 976759936 (931.51 GiB 1000.20 GB)
Raid Devices : 5
Total Devices : 6
Preferred Minor : 0
Persistence : Superblock is persistent
Update Time : Tue Sep 22 09:08:50 2009
State : clean
Active Devices : 5
Working Devices : 6
Failed Devices : 0
Spare Devices : 1
Layout : left-symmetric
Chunk Size : 64K
UUID : 7b919d4f:b9e7742c:84bd942a:d4b8378f
Events : 0.19909
Number Major Minor RaidDevice State
0 8 33 0 active sync /dev/sdc1
1 8 49 1 active sync /dev/sdd1
2 8 17 2 active sync /dev/sdb1
3 8 81 3 active sync /dev/sdf1
4 8 65 4 active sync /dev/sde1
5 8 97 - spare /dev/sdg1
$ cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdg1[5](S) sdc1[0] sde1[4] sdf1[3] sdb1[2] sdd1[1]
3907039744 blocks level 5, 64k chunk, algorithm 2 [5/5] [UUUUU]
unused devices:
こんな感じでスペアとして追加されます。
でもって、RAIDデバイスの数を変更します。
変更には mdadmの –grow オプションと –raid-devicesを組み合わせて指定します。
$ sudo mdadm /dev/md0 --grow --raid-devices=6 mdadm: Need to backup 1280K of critical section.. mdadm: ... critical section passed.
ここまでは、とりあえず数秒で終了します。
で、ここからRAIDの再構成が行われますがこれがものすごく時間がかかるので
気長に待ちましょう。
$ cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdg1[5] sdc1[0] sde1[4] sdf1[3] sdb1[2] sdd1[1]
3907039744 blocks super 0.91 level 5, 64k chunk, algorithm 2 [6/6] [UUUUUU]
[>....................] reshape = 0.0% (279424/976759936) finish=1951.8min speed=8337K/sec
unused devices:
mdのサイズにもよると思いますが、今回のサイズだと丸一日はかかるつもりで
いないとダメです(わら
この間もmdデバイスはon lineなので、通常どおり使用できます(が、まぁ今回の構成だと
このrebuild中にHDD一本でも死ぬとアウトなわけですが(わら 基本ここにはmirrorしか
入って無いので最悪死んでも復元できるので気にしない。もちろん用途によっては、
もう少し冗長性をとりましょう)
ただし、このrebuildが終わらないと「mdとしてのサイズが以前のまま(デバイス追加
する以前のサイズのまま)」なので、以下のファイルシステムのresizeはできません。
でもって、rebuildが終わったのを確認したら、ファイルシステムをresizeします。
$ sudo resize2fs /dev/md0 resize2fs 1.41.9 (22-Aug-2009) Filesystem at /dev/md0 is mounted on /storage; on-line resizing required old desc_blocks = 233, new_desc_blocks = 292 Performing an on-line resize of /dev/md0 to 1220949920 (4k) blocks.
これも容量によると思いますが、30分くらい待つと完了。
$ df /storage Filesystem 1K-ブロック 使用 使用可 使用% マウント位置 /dev/md0 4807165280 3089638432 1717526848 65% /storage $ df -h /storage Filesystem サイズ 使用 残り 使用% マウント位置 /dev/md0 4.5T 2.9T 1.6T 65% /storage
ほい、できました。
Debian mirrorの更新って、ミラー中もアクセスしても整合性がとれてるように、
ざっくりいうと次みたいな流れになっている。
(正確には dists/以下の特定パターンのファイルがあとで更新されること、
ファイルの削除が最後に消されることが条件だけど、まぁ細かいことは
考えなくてもいい、ここでは)
で、なにが言いたいかいうと、結局都合2回rsyncがかかるのと、1回目と2回目に
同じディレクトリのトラバーサルが走るので、まぁなんつーか若干効率が悪い
わけです。
でだ、一方 rsync には –deley-updates というオプションがあります。
これは取り合えずファイルを別の位置にどばーっととってきておいて、
実際のファイルの更新は最後にまとめてやりますよ というオプション。
一般的にリモートからローカルの転送には時間がかかるけど、ローカルでの
renameは比較的短時間で済むので、ツリー全体の不整合な時間を
ある程度減らせますよ というためのものですね(もちろん、atmicには
なりません)。
でね、この –deley-updatesオプションの動作を拡張するなり、
別のオプション(例えば –deley-update-patternとかいうオプション
を新設がいいんじゃね? という気がしている)して、「指定したパターンに
合致したファイル/ディレクトリのみ、delay-update する」とかできると、
Debian mirror 的には rsync 一発でいけるようになるので、ちょっと
うれしいんじゃねぇか? とか思いました。
誰かやる人?(わら
(自分でやれといわれそうだな(わら)
debian-cdのミラーからisoをhttpで持ってくアクセスがけっこう多くて、なかなかきびしいので
「大きめのisoイメージ(100M程度にしたつもり)」
を
「httpで」
取得しようとした場合のみ大幅に帯域しぼられるように調整しました。
とるならrsyncで取ってね。
てことで Debian 5.0.0 (aka ‘lenny’)出ました。
あちこちにかかれてるので、あんまり書くこともないけど(わら
とりあえず、インストール用のiso イメージは以下に生成中(2/16 22:00現在、まだhppaを作ってる様子)。でも よっぽどのことが
なきゃ jigdo 使って作ってね。
http://hanzubon.jp/debian-cd/5.0.0/
ちなみに amd64/i386/sourcesあたりは BD イメージも提供されるようになってるけど、
-rw-r--r-- 1 ftpadm ftpadm 19G 2009-02-16 17:21 debian-500-amd64-BD-1.iso
さすがに1枚組(ソースもあるので2枚か)らしい。
あと、今回から Live image も提供されるので、そいつらはここ。
ということで、今日は毎年恒例のたんきよ忘年会でした。
毎度のごとく食いすぎです(わら
いやー、なんつかね やっぱ楽しい。
なんだか、やおら まわりが Emacs23 ぶーむ(?)のようなので、乗っかってみた。
えーと binary は
http://emacs.orebokech.com/
ここのを使いました(emacs-snapshotね)
Xftエンジンがディフォルトではoffられてるようなので、.Xresourcesに
Emacs.FontBackend: xft
とか追加。
で、Emacs lispで設定する方法はなにやらあちことに書いてあるけど、
「Emacs が起動した後にうにょっとなる(ウィンドサイズがリサイズされる)のが嫌い」
派なので(わら ディフォルトフォントも Xresourcesで指定してみるってことで、以下を追加。
Emacs.font: VL Gothic-9
-9 んとこは、サイズのようなので各自調整してください。
でもって、起動、にゃるほど。
で、細かい調整をXresourcesでやるほど根性ないので(わら
あとはelispで。
(set-default-font "VL Gothic-9")
(set-fontset-font (frame-parameter nil 'font)
'japanese-jisx0208
'("VL Gothic-9" . "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font)
'katakana-jisx0201
'("VL Gothic-9" . "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font)
'ascii
'("VL Gothic-9" . "unicode-bmp"))
(set-fontset-font (frame-parameter nil 'font)
'unicode
'("VL Gothic-9" . "unicode-bmp"))
set-default-font はXresourcesで設定したものと重複です(Xresourcesで
設定してる場合は必要ないですが、まぁ一応例示ってことでここには書きました)。
他も、まぁこの例だとあんまり意味ないですが、想像力を働かせて
どういう意味かは推して知ってください(わら
なんかこんな感じ、あんまわからんと思うけども。

FOMAのlsusbの結果を募集してるらしい。
https://sourceforge.jp/people/viewjob.php?group_id=3820&job_id=240
他のキャリアんのはどう見えるんだろ?
えと、容量が手狭になってきてるのとlennyのリリースが近いということになってる
ので、たぶん今週末 HANZUBON.jp の mirror の HDD 入れ替えてRAID再構成します
(RAID組んでる台数の変更すんので、一旦ごっそりデータ退避します)。
若干 というか、データ戻すのにそれなりに時間かかるので、mirror まわり
けっこうな時間使えなくなる可能性がありますが…
ともかく、そういうことでよろしく。
最近のコメント