外付けHDDの交換

久々にやったら忘れてる・・・。
外付けHDDの場合、NTFSで既にフォーマットされている上、へんなパーティションが切られている。
これをext3に変更しなければならない。
まずは領域の確保からはじめることにしよう。

# fdisk /dev/sdf1

このディスクのシリンダ数は 91184 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)

コマンド (m でヘルプ): p ←現状の確認
Disk /dev/sdf1: 750.0 GB, 750021787648 bytes
255 heads, 63 sectors/track, 91184 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

This doesn't look like a partition table
Probably you selected the wrong device.

バイス Boot Start End Blocks Id System
/dev/sdf1p2 ? 45382 79243 271987362 74 不明
Partition 2 does not end on cylinder boundary.
/dev/sdf1p3 ? 10499 10499 0 65 Novell Netware 386
Partition 3 does not end on cylinder boundary.
/dev/sdf1p4 167628 167631 25817+ 0 空
Partition 4 does not end on cylinder boundary.

領域テーブル項目がディスクの順序と一致しません

コマンド (m でヘルプ): m
コマンドの動作
a ブート可能フラグをつける
b bsd ディスクラベルを編集する
c dos 互換フラグをつける
d 領域を削除する
l 既知の領域タイプをリスト表示する
m このメニューを表示する
n 新たに領域を作成する
o 新たに空の DOS 領域テーブルを作成する
p 領域テーブルを表示する
q 変更を保存せずに終了する
s 空の Sun ディスクラベルを作成する
t 領域のシステム ID を変更する
u 表示/項目ユニットを変更する
v 領域テーブルを照合する
w テーブルをディスクに書き込み、終了する
x 特別な機能 (エキスパート専用)

コマンド (m でヘルプ): d ←1個消した後だと空になるようです
領域番号 (1-4): 1
警告: 領域 1 は空のタイプです。

コマンド (m でヘルプ): d パーティション2を消す
領域番号 (1-4): 2

コマンド (m でヘルプ): d パーティション3を消す

領域番号 (1-4): 3

コマンド (m でヘルプ): d パーティション4を消す

Selected partition 4

コマンド (m でヘルプ): p ←もう一度確認


Disk /dev/sdf1: 750.0 GB, 750021787648 bytes
255 heads, 63 sectors/track, 91184 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

バイス Boot Start End Blocks Id System

コマンド (m でヘルプ): n ←新しく1個つくる

コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1 ←でも本当は領域を切る必要は無かったかも
最初 シリンダ (1-91184, default 1): 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-91184, default 91184): 91184

コマンド (m でヘルプ): t
Selected partition 1
16進数コード (L コマンドでコードリスト表示): L ←念のため83であることを確認


0 空 1e Hidden W95 FAT1 80 古い Minix bf Solaris
1 FAT12 24 NEC DOS 81 Minix / 古い c1 DRDOS/sec (FAT-
2 XENIX root 39 Plan 9 82 Linux swap / So c4 DRDOS/sec (FAT-
3 XENIX usr 3c PartitionMagic 83 Linux c6 DRDOS/sec (FAT-
4 FAT16 <32M 40 Venix 80286 84 OS/2 隠し C: c7 Syrinx
5 拡張領域 41 PPC PReP Boot 85 Linux 拡張領 da 非 FS デー
6 FAT16 42 SFS 86 NTFS ボリュ db CP/M / CTOS / .
7 HPFS/NTFS 4d QNX4.x 87 NTFS ボリュ de Dell ユーテ
8 AIX 4e QNX4.x 2nd part 88 Linux plaintext df BootIt
9 AIX ブート 4f QNX4.x 3rd part 8e Linux LVM e1 DOS access
a OS/2 ブート 50 OnTrack DM 93 Amoeba e3 DOS R/O
b W95 FAT32 51 OnTrack DM6 Aux 94 Amoeba BBT e4 SpeedStor
c W95 FAT32 (LBA) 52 CP/M 9f BSD/OS eb BeOS fs
e W95 FAT16 (LBA) 53 OnTrack DM6 Aux a0 IBM Thinkpad ee EFI GPT
f W95 Ext'd (LBA) 54 OnTrackDM6 a5 FreeBSD ef EFI (FAT-12/16/
10 OPUS 55 EZ-Drive a6 OpenBSD f0 Linux/PA-RISC
11 隠し FAT12 56 Golden Bow a7 NeXTSTEP f1 SpeedStor
12 Compaq 診断 5c Priam Edisk a8 Darwin UFS f4 SpeedStor
14 隠し FAT16 <3 61 SpeedStor a9 NetBSD f2 DOS セカン
16 隠し FAT16 63 GNU HURD また ab Darwin boot fb VMware VMFS
17 隠し HPFS/NTF 64 Novell Netware b7 BSDI fs fc VMware VMKCORE
18 AST SmartSleep 65 Novell Netware b8 BSDI スワッ fd Linux raid
1b Hidden W95 FAT3 70 DiskSecure Mult bb 隠し Boot Wiz fe LANstep
1c Hidden W95 FAT3 75 PC/IX be Solaris boot ff BBT

コマンド (m でヘルプ): t
Selected partition 1
16進数コード (L コマンドでコードリスト表示): 83 ←これでLinuxシステムになった


コマンド (m でヘルプ): p

Disk /dev/sdf1: 750.0 GB, 750021787648 bytes
255 heads, 63 sectors/track, 91184 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

バイス Boot Start End Blocks Id System
/dev/sdf1p1 1 91184 732435448+ 83 Linux ←確かに


コマンド (m でヘルプ): w ←保存して終了

領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。

警告: 領域テーブルの再読込みがエラー 22 で失敗しました: 無効な引数です。
カーネルはまだ古いテーブルを使っています。
新しいテーブルは次回リブート時に使えるようになるでしょう。
ディスクを同期させます。


なんかようわからん。
たまに、これでうまく行かないときがある。
次は、ext3でフォーマットする。

# mkfs.ext3 /dev/sdf1
あるいは
# mke2fs.ext2 -j /dev/sdf1
とされているが、後者は上手くいかなかった。



次は、mountできるかどうか試してみる。

# mount /dev/sdf1 /mnt/raid9 ←sdf1をraid9としてマウントする
ファイルシステムを指定しろと怒られるはず。
# mount /dev/sdf1 /mnt/raid9 -ext3
これでOK。
一応確認しておく。

# df -h

バックアップのためにストレージ内の各フォルダの容量を確認する

12Tのストレージは予め9個のフォルダに分かれている。
パーティションで区切っても良かったが、最初にべたで作ってしまったので・・・しまったなあ。
とりあえずduで確認し、リダイレクトする。

# du -h /mnt/raid/10/RAID01/ > list.10.raid01.20100322
# du -h /mnt/raid/10/RAID02/ > list.10.raid02.20100322
# du -h /mnt/raid/10/RAID03/ > list.10.raid03.20100322
# du -h /mnt/raid/10/RAID04/ > list.10.raid04.20100322
# du -h /mnt/raid/10/RAID05/ > list.10.raid05.20100322
# du -h /mnt/raid/10/RAID06/ > list.10.raid06.20100322
# du -h /mnt/raid/10/RAID07/ > list.10.raid07.20100322
# du -h /mnt/raid/10/RAID08/ > list.10.raid08.20100322
# du -h /mnt/raid/10/RAID09/ > list.10.raid09.20100322

# tail list.10.raid01.20100322
913G /mnt/raid/10/RAID01/ ←おっとヤバイ、1T超えてしまう(^^;;

サーバ移動に伴うHDDの整理

4/1で東京へ異動となった。
そのため、ファイル鯖を一度落とさねばならない。
これまでまじめに管理せずに12Tという容量に甘えて、ファイルを作り続けてきたため、肥大化している。
とりあえず、バックアップと後任への引継ぎファイルは作製しないといけない。
後任は自分でファイル鯖を立てるだろう。
そのため、必要なファイル群をext3フォーマットの外付けHDDとして残しておけばあとは何とかなるだろう。

テクノ・ハウス

おっさんになってから・・・ダンクラ系音楽がかっこいいなあと思う今日この頃。
もともと中学の頃からテクノは好きだった。
シンセ・打ち込み系も。
でも高校から聴く音楽がdiverseした。
ところがナカタヤスタカの登場で一気に目覚めた感じ。
Perfume・・・はともかく、capsuleの様々な実験的な試みがとても面白い。
最近知った中にKate Ryanというベルギーのミュージシャンがカッコいい。
英米でないからなのかな、背筋がゾクっとくるときがある。
この人有名なのかな?


まあ、この年になってクラブで遊ぶのもねぇ・・・(苦笑)。
とりあえず、おっさんやから「悲しい色やね」とか「砂の船」でも聞いておくわ。

冬になると鍋が増える。
週末は必ず鍋。
特製鳥団子鍋。
豚キムチ鍋。
カレー鍋。
ハゲ鍋。
洋風トマト鍋は一度試したが、イマイチ。


今年はしゃぶしゃぶが加わった。
普通の牛しゃぶに加えて、豚しゃぶ。
15年来使っている電気鍋があるのだが、これまでほとんど使ってなかった。
今年は大活躍である。


外で食べればめっちゃ高くつくが、家でやれば野菜もたっぷり食べれる。
白菜、白ネギ、菊菜、水菜、人参、大根、三つ葉、椎茸、榎茸、シメジに舞茸。
どれも一回では食べきれない。
鍋を続ければ無駄なく食べれるのだ。


仕上げはやっぱり雑炊。
そのために、鍋の最中のご飯は控えめだ。
エキスがたっぷりでた出汁に踊るご飯がふっくらと丸みを帯びたら、溶き卵を落としてさっくり混ぜたら出来上がり。
ほうじ茶でほっと一息つくと今日一日の終わりを感じるのである。

巨大なファイルから指定した部分(行)を切り出す方法

これって、シェルコマンドでは案外簡単そうでできないような気がする。
rubyなどのscript言語を使わずともできるはずと思ったのだが・・・。
cutコマンドではサイズで区切ることはできるが、行指定ではできない。


とりあえず今できることは、file.txtという巨大ファイルの
1. 欲しいと思う先頭行に書かれている情報がある
2. 欲しい行数が決まっている
この条件を満たす場合は、以下が使える。


条件を
1. hogehoge
2. 100
とすると、grepの-Aオプションを使って


# grep -A 99 "hogehoge" file.txt > file_100.txt


"hogehoge"に一致したあと、99行抜くので合計100行になる。


"hogehoge"が複数行にある場合は・・・どうなるのかな?
おそらく、2つあれば200行になるだろ。
一致後の行数が足りない場合は・・・おそらく[EOF]までだと思う(未確認)