2010年3月21日日曜日

Ubuntu Server 9.10 で無線Lanの設定

サーバー版だとGUIが使えない(使えるけどインストールしない)ので、GUIで無線LANの設定をさくっと、という訳にはいかない。
以下のようにファイルをいじったり、コマンドをたたいたりした。

sudo ifconfig
sudo iwconfig
sudo wpa_passphrase ssid passphrase > /etc/wpa_supplicant.conf

/etc/wpa_supplicant.conf
ctrl_interface=/var/run/wpa_supplicant
network={
 ssid="ssid"
 scan_ssid=1
 proto=WPA
 key_mgmt=WPA-PSK
 pairwise=CCMP TKIP
 group=CCMP TKIP 
 #psk="XXXXX"
 psk=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
}

sudo wpa_supplicant -Dwext -iwoan0 -c/etc/wpa_supplicant.conf

/etc/network/interface
auto wlan0
iface wlan0 inet dhcp
pre-up wpa_supplicant -B -Dwext -iwlan0 -c/etc/wpa_supplicant.conf
post-down killall -q wpa_supplicant

2010年3月5日金曜日

Linux Soft Raid 5 で構築したHDDの復旧

Linux Soft Raid5で運用していたHDD群のある鯖が、停電によって起動しなくなってしまったので、それの普及ログ。

【症状】
Kernel panic - not syncing: Attempted to killinit!
が表示され、起動しない。
上の部分ではraid5(/dev/md0)がスタートできないらしいメッセージがちょこっと垣間見える。

【目的】
/home ディレクトリの救出
/etc/{passwd,shadow,group} ファイルの救出

【復旧手順】
1.ドライブをつないだまま(危険だが)KnoppixのCDROMから起動。

2.ターミナルから以下を入力、HDDの情報確認。
# fdisk -l                                                                                   g
bhhuhiuhiuhiutyfytftyfffffffffffffffffffffffffffffffffffffffffffffffffffffffdd
  メモる情報は、パーティションの開始・終了ブロック、シリンダ、ヘッダ、セクタサイズ、種類、HDD型番

3.HDDを別PCにつないで、データをコピーする。
  # dd if=/dev/sda of=sda.img bs=512M
  # dd if=/dev/sdb of=sdb.img bs=512M
  # dd if=/dev/sdc of=sdc.img bs=512M

4.今回はvmwareの固定サイズHDDとして認識させたいので、.img 2 .vmdk にする。
  以下の内容をsda.vmdkとして作成する。
# Disk DescriptorFile
version=1
encoding="Shift_JIS"
CID=27cbf516
parentCID=ffffffff
isNativeSnapshot="no"
createType="monolithicFlat"

# Extent description
RW XXX FLAT "sda-flat.vmdk" 0

# The Disk Data Base 
#DDB

ddb.adapterType = "ide"
ddb.geometry.sectors = "63"
ddb.geometry.heads = "255"
ddb.geometry.cylinders = "14593"
ddb.uuid = "60 00 C2 92 c5 2d 3a 82-1c 02 cf 54 6f 63 4b 2f"
ddb.longContentID = "518ac67ef7fe516d55287b9b27cbf516"
ddb.virtualHWVersion = "7"

  sda.img をsda-flat.vmdkにファイル名変更。
  XXXは ヘッダ*セクタ*シリンダ を計算した数値。
  ヘッダ、セクタ、シリンダの項目も書き換える。

5.vmwareで、既存のHDDとして追加。
6.仮想マシン起動し、soft raidデバイスを作成する。
  ## 状況確認
  # sudo mdadm --examine /dev/sda1
  # sudo mdadm --examine /dev/sda2
  # sudo mdadm --examine /dev/sda3
  # sudo mdadm --examine /dev/sdb1
  # sudo mdadm --examine /dev/sdc1

  ## raidデバイス作成
  # sudo mdadm --assemble /dev/md0 /dev/sda3 /dev/sdb1 /dev/sdc1

  ## dev/sdb1 が壊れているようで起動しない。Raid5なので、起動条件(n-1台は正常)を満たしているので強制起動。
  # sudo mdadm -R /dev/md0

  ## 起動しない。カーネルパラメータをいじる
  ## ubuntuだと、rootにならないとpermission deniedで変更できなかった
  # sudo su -
  # echo 1 > /sys/module/mc_mod/parameters/start_dirty_degraded

  ## 再び起動
  # sudo mdadm -R /dev/md0 # 起動できた  

  ## マウントしてHDDにアクセス
  # sudo mount /dev/md0 /mnt
  # cd /mnt

2010年3月1日月曜日

Bloggerでソースコードに色付けをする

http://jutememo.blogspot.com/2008/01/blogger.html
http://customize-your-blogger.blogspot.com/
http://degital-zakki.blogspot.com/2009/05/blogger.html
http://104tech.blogspot.com/2007/04/blogger.html
を参考に設定した。

テスト
#include <stdio.h>
#include <stdlib.h>

int main(){
    printf("Hello, World!!");
}

フォロワー