Powered By Blogger
ラベル linux の投稿を表示しています。 すべての投稿を表示
ラベル linux の投稿を表示しています。 すべての投稿を表示

2012年9月14日金曜日

linux HDD 壊れた

普通にshutdown -h now
でシャットダウンしたはずなんだが、どうも壊れたようだ。
ついこの前、増設したやつが。

重要な情報を格納しているsuperblockが破損したみたい。
fsck.ext3 -b "superblock" -B "block size" "device"
と、バックアップのsuperblockを指定してもダメ。
mke2fs -S "device"
でsuperblockを作成しなおして、
fsck.ext3 -y "device"
として、検査、修復中。
だが、メモリーが足りないためアボート。

スワップ領域を増やすしかない。
スワップファイルを作成
dd if=/dev/zero of=/swapfile bs=1024k count=8192
しかし、起動エラーでリペアモードみたいな状態なため、ファイルシステムがリードオンリーになっていて、スワップファイルが作成できない。
そこで、ファイルシステムをリードライトモードでリマウントする。
ロジカルボリュームなので、
mount -o remount,rw /dev/mapper/VolGroup00-LogVol00

であらためて/swapfileを作成して
mkswap /swapfile
swapon /swapfile
そして、
fsck.ext3 -y "device"

今度はどうか?
・・・まる一日たったが終わらない。
illegal blockの山が築かれていく。

まる2日たって、signal 9でexit。とほほだな。

気を取り直して、再びfsckしてみたけど、前と同じで、superblockが壊れてるぜ。バックアップを使ってみろよ。とメッセージが出て終了。
で再び、バックアップのスーパーブロックを指定してもだめ。
mke2fs -Sでスーパーブロックを再び作成しなおして、またfsck -y "device"でチャレンジだ。
シャットダウンはしていないのでスワップファイルは生きたままのはず。

と、ここまでは7月16日の話、

でやっとfsckが終了したのが、今日、8月14日だ。
途中なんども、もういいかと思ったが、最後まで見届けることにした結果、
File system was modified
Warnning Filesystem has still errors
xxxx/xxxx files (xx% non-contiguous) , xxxx/xxxx blocks
というメッセージで終わっていた。
contiguousは隣接する、連続的なという意味だから、
non-contiguousは、ぶつ切り状態ってことだな。
これが何を意味するのかよくわからないが、エラーはまだあるってことはわかる。

これで再起動してダメなら諦めるしかないかな。



やっぱりダメでした。

で、リードライトモードでリマウントして/etc/fstabを編集して、壊れたHDDの自動マウントを解除して再起動。特に問題なく動作しているようだ。当たり前だは。

せっかくだから、HDDのブロック検査もやってみた。

badblocks -wvs /dev/sdc
HDD全体の検査のためアンマウント状態で実行。

Checking for bad blocks in read-write mode
From block 0 to 2930266584
Testing with pattern 0xaa: done                              
Reading and comparing: done                              
Testing with pattern 0x55: done                              
Reading and comparing: done                              


バーボースモードやめとけばよかった。

Testing with pattern 0xff: done                              
Reading and comparing: done                              
Testing with pattern 0x00: done                              
Reading and comparing: done                              
Pass completed, 0 bad blocks found.

1週間くらいかかったかな。

結局bad blockはなかった。
なんでHDDのスーパーブロックが壊れたかは不明だ。

その後、あらためてファイルシステムを作成(
 EXT4は作成後,変換が必要なようだ。
 tune4fs -O extents,uninit_bg,dir_index,flex_bg -m 1 /dev/sdc1
 オプションの意味は不明。

してマウントしたところ、正常に動作してるっぽい。

今日は9月14日だ。
トラぶったのはよく覚えてないけど7月だったな。たしか。
結局、保存ファイルのサルベージは出来なかったが、HDDとしては復旧はしたけど、その期間、特にHDDが不足もしなかった。最初から余計なHDDだったのかも。
だが、linuxの勉強になったので、よしとするか。

2012年6月11日月曜日

linux hdd増設メモ

増設するHDDは、
WD30EZRX
WDの3TのHDDだ。

2Tを越えるHDDを使う場合はfdiskは使えない。
かわりにparted を使用する。
まず、リスト表示してみる。
#parted -l


モデル: ATA ST3250620AS (scsi)
ディスク /dev/sda: 250GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos


番号  開始    終了   サイズ  タイプ      ファイルシステム  フラグ
 1    32.3kB  107MB  107MB   プライマリ  ext3              boot  
 2    107MB   250GB  250GB   プライマリ                    lvm   


モデル: ATA Hitachi HDS72302 (scsi)
ディスク /dev/sdb: 2000GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: msdos


番号  開始    終了    サイズ  タイプ      ファイルシステム  フラグ
 1    32.3kB  2000GB  2000GB  プライマリ  ext3                    



エラー: /dev/sdc を開けません。ディスクラベルが認識できません。           

なんかエラーが出たけど、まだパーティションがないせいかな?
かまわず、続けてみる。

partedを起動。

#parted /dev/sdc
と入力(デバイスがsdcの場合)すると、

GNU Parted 1.8.1
/dev/sdc を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted)

と表示される。最後の(parted)はプロンプト。

確認のためsdcの情報を表示するためpと入力

(parted) p                                                                
エラー: /dev/sdc を開けません。ディスクラベルが認識できません。           

あれ?
いきなりパーティションを作るんだっけ?

(parted) n                                                                
エラー: /dev/sdc を開けません。ディスクラベルが認識できません。           

ディスクラベルというものを設定しないといけないようだ。

ちょっとぐぐってみた。
MBR(Master Boot Record)を使う場合は
mklabel msdos
GPT(GUID Partition Table)を使う場合は
mklabel gpt

2Tを越えるHDDの場合はパーティション管理にはGPTを使うので、
(parted) mklabel gpt

確認してみる。
(parted) p                                                                

モデル: WDC WD30 EZRX-00MMMB0 (scsi)
ディスク /dev/sdc: 3001GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始  終了  サイズ  ファイルシステム  名前  フラグ

と確認できた。
でパーティションの作成。
(parted) mkpart
パーティションの名前?  []? primary                                        
ファイルシステムの種類?  [ext2]? ext4                                     
parted: invalid token: ext4
ファイルシステムの種類?  [ext2]? ext3                                     
開始?                                                                     
開始? 0                                                                   
終了?                                                                     
終了? -0                                                                  
(parted) p                                                                

モデル: WDC WD30 EZRX-00MMMB0 (scsi)
ディスク /dev/sdc: 3001GB
セクタサイズ (論理/物理): 512B/512B
パーティションテーブル: gpt

番号  開始    終了    サイズ  ファイルシステム  名前     フラグ
 1    17.4kB  3001GB  3001GB                    primary        

名前はprimaryにしたけど、適当でいいかは不明。
ファイルシステムは最新のext4にしようと思ったけど、受付なかったのでext3にしたはずだが
ファイルシステムの欄は空欄になってた。
後で調べたら、mkpartではファイルシステムは作られないようだ。partedではファイルシステム作成は推奨されないとの情報も。
開始は0にすると先頭から。
終了は-0にすると最後まで。
ここでいったん終了
(parted) q                                                                
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。  

fstabとは自動マウントの設定をするファイルだ。
/devを確認してみると、ちゃんとsdc1があった。

ファイルシステムは別途作成する必要があるようなので、mkfsでファイルシステムを作成する。
#mkfs.ext4 /dev/sdc1
-bash: mkfs.ext4: command not found

ぐぐってみた結果、ext4はインストールしないと入ってないようだ。
#yum install e4fsprogs
でインストール。
で新ためて
#mkfs.ext4 /dev/sdc1

なんかやってる、やってる。
しばらくウェイティング。3Tだからね。
で、完了。
一応、parted -lでファイルシステムを確認すると、あれext3と表示される。
だいじょうぶかな?

よくわからないが、マウントしてみる。
mount /dev/sdc1 mountする場所

df -hTで確認。
と、ちゃんとext4と表示されてる。なんで? 試しにマウント後にparted -lとやってみるが、やはりext3と表示される。
うーむ。まあいいか。

sambaでwindowsからアクセスできるか確認。なにか設定必要だったかな。selinuxがらみでなんかあったような。
windowsのマイ・ネットワークから確認すると、今回マウントしたディレクトリは見えない。
windowsの再起動が必要だったかな。

あっと、explorer.exeが死んだ。
意味がわからん。
とりあえず再起動してみるか。・・・だめだな。やはり見えない。
もういちど、マウント・ポイントをls -lZで確認。
あれ、グループ、オーナーがrootになってる。確か作成したときにsamba使用のユーザに変更したはずだが。セキュリティタイプも勝手に変わってる。
user_u:object_r:user_home_t 
のはずだが、
system_u:object_r:file_t
になってる。
うーむ。謎だ。
どこかのタイミングでOSが書き換えたんだろうが。

これを変更しないと、sambaユーザはアクセスできないな。
まず、簡単なところから、
chown group:owner ディレクトリ
で変更。
次にセキュリティタイプの変更。これは忘れたので、ぐぐって見る。

セキュリティタイプの変更はchcon -tを使う。
と思ったが、思い出した。タイプの不整合が起こっているとかで、
restorecon -R ディレクトリ
とすれば良かったような。
で、実行して、ls -lZで確認すると
user_u:object_r:user_home_t 
にちゃんとなってた。

さてこれで、windowsからはどうかな。
おっ、ちゃんと見えたぞ。
なんか適当なファイルを作ってアクセスできるか確認。
よしOKだ。

ふー、疲れた。
しばらくやってないとかなり忘れてるな。でもこうやってblogにめもっておけば、もうだいじょうぶ。


2012年4月22日日曜日

smbpasswd

samba 2系ではsmbpasswd形式のパスワードデータベースを使うようだ。
これはテキスト形式のファイルなので直接編集もできるみたい。
samba 3 系でも使用できるようだが、自分ではためしていない。

2012年4月21日土曜日

pdbedit

pdbeditについて調べてみた。
TDB形式のデータベースファイルのエディターらしい。
TDBとは簡易データベース
samba3.0からこのTDBファイルが扱えるように。
これでsambaのパスワードを管理する。
smb.confに
passdb backend = tdbsam
と書いておく。

sambaユーザ追加

linuxユーザ登録してあれば
pdbedit -a user_name

確認は
pdbedit -L

削除は
pdbedit -x