広告

検索

RSS RSSフィード

カレンダー

2018年12月
« 4月    
 12
3456789
10111213141516
17181920212223
24252627282930
31  

カテゴリー

最新のコメント

リンク

新NASのソフトウェアRAID6の縮退(degraded)モード復旧

投稿者:yasu 更新日時:2012年10月4日 22時47分23秒
カテゴリNAS
タグ

先日3TB×6台をソフトウェアRAID6で構築した新NASですが、最近ステータスを確認したところ縮退運転になっていました。

[root@nas ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Mon Aug 27 11:53:36 2012
Raid Level : raid6
Array Size : 11721054208 (11178.07 GiB 12002.36 GB)
Used Dev Size : 2930263552 (2794.52 GiB 3000.59 GB)
Raid Devices : 6
Total Devices : 5
Persistence : Superblock is persistent

Update Time : Thu Sep 27 14:37:43 2012
State : clean, degraded
Active Devices : 5
Working Devices : 5
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 512K

Name : nas:0 (local to host nas)
UUID : 1d9d0ab0:7ff43cb4:2819b8fb:fe7b56ff
Events : 5900

Number Major Minor RaidDevice State
0 0 0 0 removed ←removedになってる
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1
3 8 65 3 active sync /dev/sde1
4 8 81 4 active sync /dev/sdf1
5 8 97 5 active sync /dev/sdg1

/dev/sdb1がremovedになっています。
Failed Devicesが0になっているので、ディスクが壊れたって感じでもなさそう。

dmesgも確認してみました。

[root@nas ~]# view /var/log/dmesg
md: bind<sdf1>
Microcode Update Driver: v2.00 <tigran@aivazian.fsnet.co.uk>, Peter Oruba
md: bind<sdg1>
md: bind<sdc1>
microcode: CPU0 updated to revision 0x25, date = 2011-10-11
microcode: CPU1 updated to revision 0x25, date = 2011-10-11
md: bind<sdb1>
microcode: CPU2 updated to revision 0x25, date = 2011-10-11
microcode: CPU3 updated to revision 0x25, date = 2011-10-11
md: bind<sde1>
md: bind<sdd1>
md: kicking non-fresh sdb1 from array!
md: unbind<sdb1>
md: export_rdev(sdb1)
async_tx: api initialized (async)
xor: automatically using best checksumming function: generic_sse
generic_sse: 8532.000 MB/sec
xor: using function: generic_sse (8532.000 MB/sec)
raid6: int64x1 1863 MB/s
power_meter ACPI000D:00: Found ACPI power meter.
raid6: int64x2 2453 MB/s
raid6: int64x4 2062 MB/s
raid6: int64x8 1777 MB/s
raid6: sse2x1 6156 MB/s
raid6: sse2x2 8488 MB/s
raid6: sse2x4 9765 MB/s
raid6: using algorithm sse2x4 (9765 MB/s)
md: raid6 personality registered for level 6
md: raid5 personality registered for level 5
md: raid4 personality registered for level 4
bio: create slab <bio-1> at 1
md/raid:md0: device sdd1 operational as raid disk 2
md/raid:md0: device sde1 operational as raid disk 3
md/raid:md0: device sdc1 operational as raid disk 1
md/raid:md0: device sdg1 operational as raid disk 5
md/raid:md0: device sdf1 operational as raid disk 4
md/raid:md0: allocated 6384kB
md/raid:md0: raid level 6 active with 5 out of 6 devices, algorithm 2
RAID conf printout:
--- level:6 rd:6 wd:5
disk 1, o:1, dev:sdc1
disk 2, o:1, dev:sdd1
disk 3, o:1, dev:sde1
disk 4, o:1, dev:sdf1
disk 5, o:1, dev:sdg1
md0: detected capacity change from 0 to 12002359508992
md0: unknown partition table

dmesgを見ても詳しくはわかりませんでしたが、ディスクが壊れていないようなので/dev/sdb1をRAIDに再組み込みします。

[root@nas log]# mdadm /dev/md0 --add /dev/sdb1
mdadm: added //dev/sdb1

RAIDに/dev/sdb1が組み込まれリビルドが始まったようです。

[root@nas log]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdb1[6] sdd1[2] sde1[3] sdc1[1] sdg1[5] sdf1[4]
11721054208 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/5] [_UUUUU]
[>....................] recovery = 0.0% (1134204/2930263552) finish=645.6min speed=75613K/sec

unused devices: <none>
[root@nas log]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Mon Aug 27 11:53:36 2012
Raid Level : raid6
Array Size : 11721054208 (11178.07 GiB 12002.36 GB)
Used Dev Size : 2930263552 (2794.52 GiB 3000.59 GB)
Raid Devices : 6
Total Devices : 6
Persistence : Superblock is persistent

Update Time : Thu Sep 27 14:44:08 2012
State : clean, degraded, recovering
Active Devices : 5
Working Devices : 6
Failed Devices : 0
Spare Devices : 1

Layout : left-symmetric
Chunk Size : 512K

Rebuild Status : 0% complete

Name : nas:0 (local to host nas)
UUID : 1d9d0ab0:7ff43cb4:2819b8fb:fe7b56ff
Events : 5904

Number Major Minor RaidDevice State
6 8 17 0 spare rebuilding /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1
3 8 65 3 active sync /dev/sde1
4 8 81 4 active sync /dev/sdf1
5 8 97 5 active sync /dev/sdg1

リビルドが終わるとこんな表示になります。

[root@nas ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdb1[6] sdd1[2] sde1[3] sdc1[1] sdg1[5] sdf1[4]
11721054208 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]

unused devices: <none>

[root@nas ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Mon Aug 27 11:53:36 2012
Raid Level : raid6
Array Size : 11721054208 (11178.07 GiB 12002.36 GB)
Used Dev Size : 2930263552 (2794.52 GiB 3000.59 GB)
Raid Devices : 6
Total Devices : 6
Persistence : Superblock is persistent

Update Time : Thu Oct 4 12:15:12 2012
State : clean
Active Devices : 6
Working Devices : 6
Failed Devices : 0
Spare Devices : 0

Layout : left-symmetric
Chunk Size : 512K

Name : nas:0 (local to host nas)
UUID : 1d9d0ab0:7ff43cb4:2819b8fb:fe7b56ff
Events : 6134

Number Major Minor RaidDevice State
6 8 17 0 active sync /dev/sdb1
1 8 33 1 active sync /dev/sdc1
2 8 49 2 active sync /dev/sdd1
3 8 65 3 active sync /dev/sde1
4 8 81 4 active sync /dev/sdf1
5 8 97 5 active sync /dev/sdg1

CentOS 6に3TB×6台搭載してソフトウェアRAID6を構築

投稿者:yasu 更新日時:2012年9月30日 22時25分19秒
カテゴリCentOS, NAS
タグ

今年の3月に新しいNAS機の為に購入したNAS機。
Ubuntu機+NAS機+PT2機=Express5800/GT110d+Core i3 2120T
ブート用SSDを接続してUbuntu 12.04をインストールしたところでしばらくほったらかしになっていたのですが、Ubuntu Desktop機は別にあるしNASにUbuntuインストールしなくてもいいかなとか、NASにPT2挿すのはいいけど大量のファイルをNASにコピーしている間にPT2で録画したときにちゃんと録画できるのかが心配になったので、とりあえずCentOS 6をインストールしてPT2は挿さずに純粋なNAS機として構築することにしました。
で、最近3TBのHDDがようやく1万円台まで値下がりしてきたのでWESTERN DIGITAL WD30EZRX6台と3.5inchHDDリムーバブルケース EZ-RACK-02LWを2つ購入しました。

※CentOS 6のインストール手順はScientific Linux 6のインストール手順と変わりないので割愛します。
Scientific Linux 6で自宅サーバー構築 その2 Scientific Linux 6をExpress5800/GT110bにインストール

# 1台目のHDDをGPT形式でフォーマットする
[root@nas ~]# parted /dev/sdb
GNU Parted 2.1
/dev/sdb を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) mklabel gpt
(parted) unit GB
(parted) mkpart primary ext4 0 3001
(parted) print
モデル: ATA WDC WD30EZRX-00M (scsi)
ディスク /dev/sdb: 3001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt

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

(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。  

# 2台目のHDDをGPT形式でフォーマットする
[root@nas ~]# parted /dev/sdc
GNU Parted 2.1
/dev/sdc を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) mklabel gpt
(parted) unit GB
(parted) mkpart primary ext4 0 3001
(parted) print
モデル: ATA WDC WD30EZRX-00M (scsi)
ディスク /dev/sdc: 3001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt

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

(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。  

# 3台目のHDDをGPT形式でフォーマットする
[root@nas ~]# parted /dev/sdd
GNU Parted 2.1
/dev/sdd を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) mklabel gpt
(parted) unit GB
(parted) mkpart primary ext4 0 3001
(parted) print
モデル: ATA WDC WD30EZRX-00M (scsi)
ディスク /dev/sdd: 3001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt

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

(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。  

# 4台目のHDDをGPT形式でフォーマットする
[root@nas ~]# parted /dev/sde
GNU Parted 2.1
/dev/sde を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) mklabel gpt
(parted) unit GB
(parted) mkpart primary ext4 0 3001
(parted) print
モデル: ATA WDC WD30EZRX-00M (scsi)
ディスク /dev/sde: 3001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt

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

(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。  

# 5台目のHDDをGPT形式でフォーマットする
[root@nas ~]# parted /dev/sdf
GNU Parted 2.1
/dev/sdf を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) mklabel gpt
(parted) unit GB
(parted) mkpart primary ext4 0 3001
(parted) print
モデル: ATA WDC WD30EZRX-00M (scsi)
ディスク /dev/sdf: 3001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt

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

(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。  

# 6台目のHDDをGPT形式でフォーマットする
[root@nas ~]# parted /dev/sdg
GNU Parted 2.1
/dev/sdg を使用
GNU Parted へようこそ! コマンド一覧を見るには 'help' と入力してください。
(parted) mklabel gpt
(parted) unit GB
(parted) mkpart primary ext4 0 3001
(parted) print
モデル: ATA WDC WD30EZRX-00M (scsi)
ディスク /dev/sdg: 3001GB
セクタサイズ (論理/物理): 512B/4096B
パーティションテーブル: gpt

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

(parted) quit
通知: 必要であれば /etc/fstab を更新するのを忘れないようにしてください。  

# 6台のHDDをRaid6でビルドします
[root@nas ~]# mdadm --create /dev/md0 --level=6 --raid-devices=6 /dev/sd[bcdefg]1 &
[1] 2836
[root@nas ~]# mdadm: Defaulting to version 1.2 metadata
mdadm: array /dev/md0 started.

[1]+  終了                  mdadm --create /dev/md0 --level=6 --raid-devices=6 /dev/sd[bcdefg]1

# ビルドの進捗具合を確認します
[root@nas ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4] 
md0 : active raid6 sdg1[5] sdf1[4] sde1[3] sdd1[2] sdc1[1] sdb1[0]
      11721054208 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]
      [>....................]  resync =  0.0% (1482852/2930263552) finish=460.8min speed=105918K/sec
      
unused devices: <none>

[root@nas ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Mon Aug 27 11:53:36 2012
     Raid Level : raid6
     Array Size : 11721054208 (11178.07 GiB 12002.36 GB)
  Used Dev Size : 2930263552 (2794.52 GiB 3000.59 GB)
   Raid Devices : 6
  Total Devices : 6
    Persistence : Superblock is persistent

    Update Time : Mon Aug 27 11:53:36 2012
          State : clean, resyncing 
 Active Devices : 6
Working Devices : 6
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

  Resync Status : 0% complete

           Name : nas:0  (local to host nas)
           UUID : 1d9d0ab0:7ff43cb4:2819b8fb:fe7b56ff
         Events : 0

    Number   Major   Minor   RaidDevice State
       0       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1
       3       8       65        3      active sync   /dev/sde1
       4       8       81        4      active sync   /dev/sdf1
       5       8       97        5      active sync   /dev/sdg1

# ビルドが終わると下記のような表示になります
[root@nas ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid6 sdb1[6] sdd1[2] sde1[3] sdc1[1] sdg1[5] sdf1[4]
      11721054208 blocks super 1.2 level 6, 512k chunk, algorithm 2 [6/6] [UUUUUU]

unused devices: <none>
[root@nas ~]# mdadm -D /dev/md0
/dev/md0:
        Version : 1.2
  Creation Time : Mon Aug 27 11:53:36 2012
     Raid Level : raid6
     Array Size : 11721054208 (11178.07 GiB 12002.36 GB)
  Used Dev Size : 2930263552 (2794.52 GiB 3000.59 GB)
   Raid Devices : 6
  Total Devices : 6
    Persistence : Superblock is persistent

    Update Time : Sun Sep 30 22:19:04 2012
          State : clean
 Active Devices : 6
Working Devices : 6
 Failed Devices : 0
  Spare Devices : 0

         Layout : left-symmetric
     Chunk Size : 512K

           Name : nas:0  (local to host nas)
           UUID : 1d9d0ab0:7ff43cb4:2819b8fb:fe7b56ff
         Events : 6134

    Number   Major   Minor   RaidDevice State
       6       8       17        0      active sync   /dev/sdb1
       1       8       33        1      active sync   /dev/sdc1
       2       8       49        2      active sync   /dev/sdd1
       3       8       65        3      active sync   /dev/sde1
       4       8       81        4      active sync   /dev/sdf1
       5       8       97        5      active sync   /dev/sdg1

# Raid領域をext4形式でフォーマットします
[root@nas ~]# mkfs.ext4 /dev/md0
mke2fs 1.41.12 (17-May-2010)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
Stride=128 blocks, Stripe width=512 blocks
732569600 inodes, 2930263552 blocks
146513177 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=4294967296
89425 block groups
32768 blocks per group, 32768 fragments per group
8192 inodes per group
Superblock backups stored on blocks: 
	32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632, 2654208, 
	4096000, 7962624, 11239424, 20480000, 23887872, 71663616, 78675968, 
	102400000, 214990848, 512000000, 550731776, 644972544, 1934917632, 
	2560000000

Writing inode tables:  0/89425→done                            
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 27 mounts or
180 days, whichever comes first.  Use tune2fs -c or -i to override.

# Raid領域をマウントします
[root@nas ~]# mkdir /nas
[root@nas ~]# mount /dev/md0 /nas

# Raid用設定ファイルを作成します
[root@nas ~]# echo 'DEVICE /dev/sd[bcdefg]1'>/etc/mdadm.conf
[root@nas ~]# mdadm -Ds >> /etc/mdadm.conf

# OS起動時Raid領域の自動マウント設定
[root@nas ~]# vi /etc/fstab
#
# /etc/fstab

# Created by anaconda on Sun Aug 26 18:59:44 2012
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=81e15c36-0534-4302-a5bc-07862b9245fe /          ext4    defaults        1 1
UUID=e0ccd605-18f6-4111-8fd4-98c26727d28b swap       swap    defaults        0 0
/dev/md0                /nas                    ext4    defaults        0 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0

これでRaidの設定は完了しました。
後はSambaをインストール・設定すればWindowsやMacからもアクセスできるようになります。
※Sambaのインストール・設定は以前の記事を参考に実施しました
NEC Express5800/S70FLでNAS構築計画その6 » sa-sa-ki.jpのblog

Crucial m4 CT128M4SSD2にファームウェアを適用

投稿者:yasu 更新日時:2012年3月8日 0時11分18秒
カテゴリNAS, Ubuntu, ハードウェア
タグ

先日購入したExpress5800/GT110d、Core i3 2120T、Crucial m4 CT128M4SSD2、Velocity Soloが届きました。

早速NASとしてセットアップしていきたいのですが、yasuの購入したCrucial m4 CT128M4SSD2はファームウェアバージョンには「ドライブの電源投入時間が5,184時間を超えると正常動作しなくなる場合がある」バグがあって、アップデートの必要があったので早速アップデートしました。

まずはExpress5800/GT110dの梱包を開けたら電源を入れる前にCPUをCeleron G560からCore i3 2120Tに換装。
メモリは以前のUbuntu機に挿してあるNonECCメモリ4G×2を挿したのですがGT110dを起動するとピッピ言って起動しません。
どうやらメモリがNonECCでは正常起動しないようなので、以前Mac Proに刺さっていたECCメモリ2G×3と元々GT110dに搭載されていたECCメモリ2GB×1の計8GBに交換したところ無事起動しました。
Crucial m4 CT128M4SSD2は標準搭載されていたHDDを引っこ抜いてSATAケーブルで普通に挿します。
※これもVelocity Solo+Crucial m4 CT128M4SSD2をPCIeに接続したところ、ファームウェアのバージョンアップ時にデバイス(Crucial m4 CT128M4SSD2)を探したままアップデートが終わらなかったのでSATAケーブルで普通に接続します

Crucial m4 CT128M4SSD2のファームウェアは下記リンクからダウンロードします。
Crucial.com Product Downloads - Firmware Updates

Choose your product to get information and available updates:と表示されている下のコンボボックスから「Crucial m4 2.5-inch(9.5mm)SSD」を選択します。

執筆日(2012/03/08)時点の最新バージョン0309をダウンロードします。
Crucialm4_0309.zip

ダウンロードしたzipファイルからcrucial-03093l.isoを解凍します。
解凍したcrucial-03093l.isoをディスクイメージの書き込みができるソフトでCDドライブに焼きます。
作成したCDをGT110dに入れて電源を入れます。
しばらく待っていると以下のような表示になります。

Crucial m4 2.5-inch (9.5mm) SSD

(C) 2009,2010 Micron Technology, Inc. All Rights Reserved.
This copyright notice may not be removed, altered or obscured in any way.
*************************************************************
** READ ANY SUPPORTING DOCUMENTS ACCOMPANYING THIS PROGRAM **
*************************************************************
Finding drives...
......
Searching for eligible SSDs...
The following drive is eligible for a firmware update!
M4-CT128M4SSD2
00000000114908FFF1DB
0009

Update,firmware,on,this drive?
Enter 'yes' or 'no', case is sensitive...
-> yes # yesと入力して[Enter]キーを押下します
Updating firmware...
Current Firmware is: 0309
Finished.
A:\>

Current Firmware is: 0309
Finished.
と表示されたらアップデート完了です。

電源ボタンを押して電源を切ります。

yasuはこの後Velocity Solo+Crucial m4 CT128M4SSD2をPCIeに接続してUbuntu 10.04 LTSをインストール、PCIeに接続したSSDからUbuntuのブートができました。

Ubuntu機+NAS機+PT2機=Express5800/GT110d+Core i3 2120T

投稿者:yasu 更新日時:2012年3月4日 16時25分19秒
カテゴリNAS, PT2, ハードウェア
タグ

我が家のUbuntu機(HP ML110 G6+Core i5 760)とNAS機(NEC S70/FL+Celeron 440)とPT2機(Intel D525MW)をGT110dにCore i3 2120Tを乗っけて省電力かつそこそこのマシンパワーを持ったNAS機を作ろうと考え中。

とりあえずUbuntu+NAS+PT2機(書くのめんどいんで以降新NAS機)はNTT-xでNEC Express5800/GT110d(2C/G530/2G/1HD) NP8100-1766YP5Yを購入。


標準搭載のCPU Celeron G530だとTDPが65Wと少し高いので、AmazonからTDP 35WのCore i3 2120Tを購入。
OSブート用のSSD Crucial m4 CT128M4SSD2をSofmapから購入。
あとVelocity SoloというSSDをPCI Expressに搭載できるアダプタを楽天から購入。
今使ってる現行NAS機のHDD6台をそのまま新NAS機のGT110dに流用する予定で、多分GT110dにはSATA挿せる数が6つでHDD6台挿しちゃうとSSDが挿せなくなっちゃうのでPCI Expressを利用しようと思って購入しました。
これがUbuntuで利用できるのかまったくわからないのですが届いたら試してみたいと思います。
最悪はUSBメモリにUbuntuを入れる予定。

NASにnfsを導入

投稿者:yasu 更新日時:2009年11月28日 0時25分43秒
カテゴリCentOS, NAS, NFS
タグ

先日NEC Express5800/S70FLで構築したNASですが、自宅サーバー(CentOS)からもマウントできるようにNFSを導入したいと思います。
Windowsからアクセスさせる場合はSambaを導入しましたが、NFSはLinux同士でファイル共有するシステムです。

NFS導入以前は外部からNASのデータを取り出そうとした場合、NASから自宅サーバーにファイル転送して、外から自宅サーバーにファイル転送というような2段階ファイル転送をしていたのですが、最近結構な頻度でNASからデータを取り出しているので、この2段階ファイル転送がまあめんどくさいことこの上ないので自宅サーバーからNASをマウントして1回のファイル転送で済ませてしまおうという魂胆です。

CentOS5にはNFSはインストール済みなので、早速設定を行っていきます。

NFS設定ファイルの設定

NFSサーバー側にあたるNASのNFS設定ファイルを編集します。
ここでは自宅の環境(192.168.0.0/24と192.168.11.0/24)からのみアクセスを許可します。

[root@nas ~]# vi /etc/exports
■設定例■
設定例ははじめての自宅サーバ構築 Fedora/CentOS - ファイルサーバの構築(nfs)に書いてありますが
共有したいフォルダ 許可するクライアント(オプション) [許可するクライアント(オプション)]・・・
となっています。
/nas 192.168.0.0/24(rw,all_squash,sync) 192.168.11.0/24(rw,all_squash,sync) ←追記します

viエディタを保存終了してください。([Esc]キーを押し、続いて[:]キー、[w]キー、[q]キーを順番に押して[Enter]キーを押します)

PORTMAPを起動する

portmapサービスを起動します。

[root@nas ~]# /etc/rc.d/init.d/portmap start
portmap を起動中: [ OK ]

NFSを起動する

nfsサービスを起動します。

[root@nas ~]# /etc/rc.d/init.d/nfs start
NFS サービスを起動中: [ OK ]
NFS クォータを起動中: [ OK ]
NFS デーモンを起動中: [ OK ]
NFS mountd を起動中: [ OK ]

ファイヤーウォールの設定

もしファイヤーウォール(iptable)が動いていると、nfsのサービスが許可されていないので設定を行います。
ファイヤーウォールを停止している場合はこの手順は不要です。

PORTMAPは111、NFSは2049、rpc.mountd・rpc.statd・lockdは動的にポートが割り当たり、-pオプションでポート番号を指定するかnfsの起動スクリプトである/etc/init.d/nfs,nfslockが参照している/etc/sysconfig/nfsにポート番号を指定すればポート番号を固定化できるので/etc/sysconfig/nfsファイルにポート番号を記載します。

[root@nas ~]# vi /etc/sysconfig/nfs
# TCP port rpc.lockd should listen on.
#LOCKD_TCPPORT=32803

LOCKD_TCPPORT=12052
# UDP port rpc.lockd should listen on.
#LOCKD_UDPPORT=32769

LOCKD_UDPPORT=12052
# Port rpc.mountd should listen on.
#MOUNTD_PORT=892

MOUNTD_PORT=12050
# Port rpc.statd should listen on.
#STATD_PORT=662

STATD_PORT=12051

viエディタを保存終了してください。([Esc]キーを押し、続いて[:]キー、[w]キー、[q]キーを順番に押して[Enter]キーを押します)

サービスを再起動してポート番号を反映します
[root@nas ~]# /etc/rc.d/init.d/nfslock restart
NFS locking を停止中: [ OK ]
NFS statd を停止中: [ OK ]
NFS statd を起動中: [ OK ]
[root@nas ~]# /etc/rc.d/init.d/nfs restart
NFS mountd を終了中: [ OK ]
NFS デーモンを終了中: [ OK ]
NFS quotas を終了中: [ OK ]
NFS サービスを終了中: [ OK ]
NFS サービスを起動中: [ OK ]
NFS クォータを起動中: [ OK ]
NFS デーモンを起動中: [ OK ]
NFS mountd を起動中: [ OK ]

続いてファイヤーウォールの設定を行います。

[root@nas ~]# vi /etc/sysconfig/iptables
# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -s 192.168.0.0/24 -m tcp -p tcp -m multiport --dports 111,2049,12050,12051,12052 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -s 192.168.0.0/24 -m udp -p udp -m multiport --dports 111,2049,12050,12051,12052 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -s 192.168.11.0/24 -m tcp -p tcp -m multiport --dports 111,2049,12050,12051,12052 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -s 192.168.11.0/24 -m udp -p udp -m multiport --dports 111,2049,12050,12051,12052 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

viエディタを保存終了してください。([Esc]キーを押し、続いて[:]キー、[w]キー、[q]キーを順番に押して[Enter]キーを押します)

[root@nas ~]# /etc/rc.d/init.d/iptables restart
ファイアウォールルールを適用中: [ OK ]
チェインポリシーを ACCEPT に設定中filter [ OK ]
iptables モジュールを取り外し中 [ OK ]
iptables ファイアウォールルールを適用中: [ OK ]
iptables モジュールを読み込み中ip_conntrack_netbios_ns [ OK ]

クライアントから接続する

自宅サーバーからNASにNFSで接続します。

<rootユーザにスイッチします
[centos@centos ~]$ su -
パスワード:rootユーザのパスワード

マウント用のフォルダを作成
[root@centos ~]# mkdir /nas

NAS(DNSで名前解決していてnas.sa-sa-ki.jpで参照可能)の/nasフォルダを自宅サーバーの/nasフォルダにマウント
[root@centos ~]# mount -t nfs nas.sa-sa-ki.jp:/nas /nas

これで自宅サーバーの/nasを参照するとNASサーバーの/nasが参照できるようになりました。
これでファイル転送の手間が省けました。

■参考サイト
はじめての自宅サーバ構築 Fedora/CentOS - ファイルサーバの構築(nfs)
nfs設定 - とみぞーノート

NEC Express5800/S70FLでNAS構築計画その6

投稿者:yasu 更新日時:2009年11月12日 0時00分19秒
カテゴリCentOS, NAS, Samba
タグ

NAS構築の最後はsambaをインストールして別PCからアクセスできるようにします。

sambaをインストール

sambaをインストールします。

[root@nas ~]# yum install -y samba
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* addons: ftp.yz.yamagata-u.ac.jp
* base: ftp.yz.yamagata-u.ac.jp
* extras: ftp.yz.yamagata-u.ac.jp
* updates: centosm3.centos.org
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package samba.i386 0:3.0.33-3.15.el5_4 set to be updated
--> Processing Dependency: samba-common = 3.0.33-3.15.el5_4 for package: samba
--> Processing Dependency: perl(Convert::ASN1) for package: samba
--> Running transaction check
---> Package perl-Convert-ASN1.noarch 0:0.20-1.1 set to be updated
---> Package samba-common.i386 0:3.0.33-3.15.el5_4 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================
Package Arch Version Repository Size
==========================================================================================
Installing:
samba i386 3.0.33-3.15.el5_4 updates 16 M
Installing for dependencies:
perl-Convert-ASN1 noarch 0.20-1.1 base 42 k
samba-common i386 3.0.33-3.15.el5_4 updates 8.7 M

Transaction Summary
==========================================================================================
Install 3 Package(s)
Update 0 Package(s)
Remove 0 Package(s)

Total download size: 25 M
Downloading Packages:
(1/3): perl-Convert-ASN1-0.20-1.1.noarch.rpm | 42 kB 00:00
(2/3): samba-common-3.0.33-3.15.el5_4.i386.rpm | 8.7 MB 00:45
(3/3): samba-3.0.33-3.15.el5_4.i386.rpm | 16 MB 01:16
------------------------------------------------------------------------------------------
Total 202 kB/s | 25 MB 02:06
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : perl-Convert-ASN1 1/3
Installing : samba-common 2/3
Installing : samba 3/3

Installed:
samba.i386 0:3.0.33-3.15.el5_4

Dependency Installed:
perl-Convert-ASN1.noarch 0:0.20-1.1 samba-common.i386 0:3.0.33-3.15.el5_4

Complete!

samba用アカウント作成

共有フォルダ(/nas)をアクセスする時に必要なユーザアカウントを作成します。
ここではcentosユーザで設定したいと思います。

[root@nas ~]# useradd centos
[root@nas ~]# passwd centos
Changing password for user centos.
New UNIX password:centosユーザの新しいパスワードを入力
Retype new UNIX password:centosユーザの新しいパスワードを再度入力
passwd: all authentication tokens updated successfully.
[root@nas ~]# chown nobody:nobody /nas

[root@nas ~]# pdbedit -a centos
tdbsam_open: Converting version 0 database to version 3.
new password:centosユーザの新しいパスワードを応答
retype new password:centosユーザの新しいパスワードを応答
account_policy_get: tdb_fetch_uint32 failed for field 1 (min password length), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 2 (password history), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 3 (user must logon to change password), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 4 (maximum password age), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 5 (minimum password age), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 6 (lockout duration), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 7 (reset count minutes), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 8 (bad lockout attempt), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 9 (disconnect time), returning 0
account_policy_get: tdb_fetch_uint32 failed for field 10 (refuse machine password change), returning 0
Unix username: centos
NT username:
Account Flags: [U ]
User SID: S-1-5-21-1433615177-2473378645-353930312-1000
Primary Group SID: S-1-5-21-1433615177-2473378645-353930312-513
Full Name:
Home Directory: \\nas\centos
HomeDir Drive:
Logon Script:
Profile Path: \\nas\centos\profile
Domain: nas
Account desc:
Workstations:
Munged dial:
Logon time: 0
Logoff time: never
Kickoff time: never
Password last set: 月, 09 11月 2009 15:13:11 JST
Password can change: 月, 09 11月 2009 15:13:11 JST
Password must change: never
Last bad password : 0
Bad password count : 0
Logon hours : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF

samba設定ファイル修正

sambaの設定ファイルを設定します。

]
[root@nas ~]# vi /etc/samba/smb.conf
[global]

# ----------------------- Network Related Options -------------------------
#
# workgroup = NT-Domain-Name or Workgroup-Name, eg: MIDEARTH
#
# server string is the equivalent of the NT Description field
#
# netbios name can be used to specify a server name not tied to the hostname
#
# Interfaces lets you configure Samba to use multiple interfaces
# If you have multiple network interfaces then you can list the ones
# you want to listen on (never omit localhost)
#
# Hosts Allow/Hosts Deny lets you restrict who can connect, and you can
# specifiy it as a per share option as well
#
unix charset = UTF-8
dos charset = CP932
display charset = UTF-8

create mask = 0777
force create mode = 0777
security mask = 0777
force security mode = 0777

directory mask = 0777
force directory mode = 0777
directory security mask = 0777
force directory security mode = 0777

fource user = nobody

Windowsのワークグループ名であるWORKGROUPを指定します
workgroup = MYGROUP

workgroup = WORKGROUP
server string = Samba Server Version %v

; netbios name = MYSERVER

; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
先頭の;を削除してコメントを解除し、ローカルエリア内のIPアドレスからのアクセスのみ許可します
; hosts allow = 127. 192.168.12. 192.168.13.

hosts allow = 127. 192.168.0. 192.168.11.

# --------------------------- Printing Options -----------------------------
#
# Load Printers let you load automatically the list of printers rather
# than setting them up individually
#
# Cups Options let you pass the cups libs custom options, setting it to raw
# for example will let you use drivers on your Windows clients
#
# Printcap Name let you specify an alternative printcap file
#
# You can choose a non default printing system using the Printing option

プリンタの共有をしない場合はload printersの設定をnoに変更する
load printers = yes

load printers = no

#============================ Share Definitions ==============================

# A publicly accessible directory, but read only, except for people in
# the "staff" group
ゴミ箱機能を有効にする為に以下のように変更する
; [public]
; comment = Public Stuff
; path = /home/samba
; public = yes
; writable = yes
; printable = no
; write list = +staff

[public]
comment = nas
path = /nas
public = yes
writable = yes
printable = no
write list = +staff
only guest = yes
vfs objects = recycle
recycle:repository = .recycle
recycle:keeptree = no
recycle:versions = yes
recycle:touch = no
recycle:maxsize = 0
recycle:exclude = *.tmp ~$*

sambaサービス起動

sambaのサービスを起動します。
またシステム起動時にsambaのサービスを自動起動するよう設定します。

[root@nas ~]# /etc/rc.d/init.d/smb start
SMB サービスを起動中: [ OK ]
NMB サービスを起動中: [ OK ]
[root@nas ~]# chkconfig smb on
[root@nas ~]# chkconfig --list smb
smb 0:off 1:off 2:on 3:on 4:on 5:on 6:off

SELinux設定変更

自宅のnasは内部からのアクセスしか許していませんので、SELinuxを無効にします。
※というか、SELinuxが有効だと設定した共有ディレクトリにアクセスできませんでした

SELinuxの状態を確認します
[root@nas ~]# getenforce
Enforcing

SELinuxが有効(Enforcing)になっているので無効にします
[root@nas ~]# setenforce 0
[root@nas ~]# getenforce
Permissive

SELinuxが無効(Permissive)になりました

システム起動時にSELinuxが有効になってしまうので、設定を変更して無効になるようにします
[root@nas ~]# vi /etc/sysconfig/selinux
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
先頭に#をつけてコメントにします
SELINUX=enforcing

#SELINUX=enforcing
追加します
SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted

# SETLOCALDEFS= Check local definition changes
SETLOCALDEFS=0

[Esc]ボタンを押下したら、[:]ボタン、[w]ボタン、[q]ボタンを順に押下してvi /etc/sysconfig/selinuxファイルを保存、viエディタを終了します

ファイヤーウォールの設定

NetBIOS関連のポートを開きます。

[root@nas ~]# vi /etc/sysconfig/iptables

# Firewall configuration written by system-config-securitylevel
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -j RH-Firewall-1-INPUT
-A FORWARD -j RH-Firewall-1-INPUT
-A RH-Firewall-1-INPUT -i lo -j ACCEPT
-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT
-A RH-Firewall-1-INPUT -p 50 -j ACCEPT
-A RH-Firewall-1-INPUT -p 51 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp --dport 5353 -d 224.0.0.251 -j ACCEPT
-A RH-Firewall-1-INPUT -p udp -m udp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -p tcp -m tcp --dport 631 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 137 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 138 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
-A RH-Firewall-1-INPUT -j REJECT --reject-with icmp-host-prohibited
COMMIT

[Esc]ボタンを押下したら、[:]ボタン、[w]ボタン、[q]ボタンを順に押下してvi /etc/sysconfig/selinuxファイルを保存、viエディタを終了します

[root@nas ~]# /etc/rc.d/init.d/iptables restart
ファイアウォールルールを適用中: [ OK ]
チェインポリシーを ACCEPT に設定中filter [ OK ]
iptables モジュールを取り外し中 [ OK ]
iptables ファイアウォールルールを適用中: [ OK ]
iptables モジュールを読み込み中ip_conntrack_netbios_ns [ OK ]

NEC Express5800/S70FLでNAS構築計画その5

投稿者:yasu 更新日時:2009年11月10日 12時54分19秒
カテゴリCentOS, NAS
タグ

今回は接続した6台のハードディスクに対してソフトウェアRAID5を構築したいと思います。

まずはパーティション情報を確認します。

[root@nas ~]# fdisk -l

Disk /dev/sda: 8019 MB, 8019509248 bytes
255 heads, 63 sectors/track, 974 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sda1 * 1 714 5735173+ 83 Linux
/dev/sda2 715 974 2088450 82 Linux swap / Solaris

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

ディスク /dev/sdb は正常な領域テーブルを含んでいません

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

ディスク /dev/sdc は正常な領域テーブルを含んでいません

Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

ディスク /dev/sdd は正常な領域テーブルを含んでいません

Disk /dev/sde: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

ディスク /dev/sde は正常な領域テーブルを含んでいません

Disk /dev/sdf: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

ディスク /dev/sdf は正常な領域テーブルを含んでいません

Disk /dev/sdg: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

ディスク /dev/sdg は正常な領域テーブルを含んでいません

1台目のハードディスク[/dev/sdb]のパーティションを作成していきます。

[root@nas ~]# fdisk /dev/sdb

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

パーティションの新規作成を行います
コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
基本パーティションを作成するのでpを入力します
p
デバイス/dev/sdbに1つめの領域を作るので1を入力します
領域番号 (1-4): 1
最初シリンダを入力します(デフォルト値が1なので何も入力しないで[Enter]キーを押下しても可)
最初 シリンダ (1-121601, default 1): 何も入力せずに[Enter]キー押下
Using default value 1
終点シリンダを入力します(デフォルト値が121601なので何も入力しないで[Enter]キーを押下しても可)
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-121601, default 121601): 何も入力せずに[Enter]キー押下
Using default value 121601

領域のシステム ID を変更する
コマンド (m でヘルプ): t
Selected partition 1
領域のシステム ID の一覧を確認します(最初の作業なので領域のシステムID一覧を確認していますが、以降の作業では必須ではありません)
16進数コード (L コマンドでコードリスト表示): L

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
RAID5を構築するのでfdを入力します
16進数コード (L コマンドでコードリスト表示): fd
領域のシステムタイプを 1 から fd (Linux raid 自動検出) に変更しました

パーティションを表示します(最初の作業なので領域のパーティションを確認していますが、以降の作業では必須ではありません)
コマンド (m でヘルプ): p

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sdb1 1 121601 976760001 fd Linux raid 自動検出

パーティションを確認して問題ないので書き込みします
コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

これで1台目のハードディスク[/dev/sdb]のパーティション作成が完了しました。

続いて2台目以降も同じ用に作業します。

2台目のハードディスク[/dev/sdc]のパーティションを作成します
[root@nas ~]# fdisk /dev/sdc

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

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-121601, default 1): 何も入力せずに[Enter]キー押下
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-121601, default 121601): 何も入力せずに[Enter]キー押下
Using default value 121601

コマンド (m でヘルプ): t
Selected partition 1
16進数コード (L コマンドでコードリスト表示): fd
領域のシステムタイプを 1 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

3台目のハードディスク[/dev/sdd]のパーティションを作成します
[root@nas ~]# fdisk /dev/sdd
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。

このディスクのシリンダ数は 121601 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-121601, default 1): 何も入力せずに[Enter]キー押下
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-121601, default 121601): 何も入力せずに[Enter]キー押下
Using default value 121601

コマンド (m でヘルプ): t
Selected partition 1
16進数コード (L コマンドでコードリスト表示): fd
領域のシステムタイプを 1 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

4台目のハードディスク[/dev/sde]のパーティションを作成します
[root@nas ~]# fdisk /dev/sde
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。

このディスクのシリンダ数は 121601 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-121601, default 1): 何も入力せずに[Enter]キー押下
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-121601, default 121601): 何も入力せずに[Enter]キー押下
Using default value 121601

コマンド (m でヘルプ): t
Selected partition 1
16進数コード (L コマンドでコードリスト表示): fd
領域のシステムタイプを 1 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

5台目のハードディスク[/dev/sdf]のパーティションを作成します
[root@nas ~]# fdisk /dev/sdf
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。

このディスクのシリンダ数は 121601 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-121601, default 1): 何も入力せずに[Enter]キー押下
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-121601, default 121601): 何も入力せずに[Enter]キー押下
Using default value 121601

コマンド (m でヘルプ): t
Selected partition 1
16進数コード (L コマンドでコードリスト表示): fd
領域のシステムタイプを 1 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

6台目のハードディスク[/dev/sdg]のパーティションを作成します
[root@nas ~]# fdisk /dev/sdg
デバイスは正常な DOS 領域テーブルも、Sun, SGI や OSF ディスクラベルも
含んでいません
新たに DOS ディスクラベルを作成します。あなたが書き込みを決定するまで、変更は
メモリ内だけに残します。その後はもちろん以前の内容は修復不可能になります。

このディスクのシリンダ数は 121601 に設定されています。
間違いではないのですが、1024 を超えているため、以下の場合
に問題を生じうる事を確認しましょう:
1) ブート時に実行するソフトウェア (例. バージョンが古い LILO)
2) 別の OS のブートやパーティション作成ソフト
(例. DOS FDISK, OS/2 FDISK)
警告: 領域テーブル 4 の不正なフラグ 0x0000 は w(書き込み)によって
正常になります

コマンド (m でヘルプ): n
コマンドアクション
e 拡張
p 基本領域 (1-4)
p
領域番号 (1-4): 1
最初 シリンダ (1-121601, default 1): 何も入力せずに[Enter]キー押下
Using default value 1
終点 シリンダ または +サイズ または +サイズM または +サイズK (1-121601, default 121601): 何も入力せずに[Enter]キー押下
Using default value 121601

コマンド (m でヘルプ): t
Selected partition 1
16進数コード (L コマンドでコードリスト表示): fd
領域のシステムタイプを 1 から fd (Linux raid 自動検出) に変更しました

コマンド (m でヘルプ): w
領域テーブルは交換されました!

ioctl() を呼び出して領域テーブルを再読込みします。
ディスクを同期させます。

パーティション情報を確認します
[root@nas ~]# fdisk -l

Disk /dev/sda: 8019 MB, 8019509248 bytes
255 heads, 63 sectors/track, 974 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sda1 * 1 714 5735173+ 83 Linux
/dev/sda2 715 974 2088450 82 Linux swap / Solaris

Disk /dev/sdb: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sdb1 1 121601 976760001 fd Linux raid 自動検出

Disk /dev/sdc: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sdc1 1 121601 976760001 fd Linux raid 自動検出

Disk /dev/sdd: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sdd1 1 121601 976760001 fd Linux raid 自動検出

Disk /dev/sde: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sde1 1 121601 976760001 fd Linux raid 自動検出

Disk /dev/sdf: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sdf1 1 121601 976760001 fd Linux raid 自動検出

Disk /dev/sdg: 1000.2 GB, 1000204886016 bytes
255 heads, 63 sectors/track, 121601 cylinders
Units = シリンダ数 of 16065 * 512 = 8225280 bytes

デバイス Boot Start End Blocks Id System
/dev/sdg1 1 121601 976760001 fd Linux raid 自動検出

続いてRAID5を構築します。

[root@nas ~]# mdadm --create /dev/md0 --level=5 --raid-devices=6 /dev/sd[bcdefg]1 &
2009年12月3日追記 WordPressはハイフン2つ繋ぐと1つで表示されてしまうので書き方を変えました。
[root@nas ~]# mdadm -C /dev/md0 -l5 -n6 /dev/sd[bcdefg]1 &
[1] 7367
[root@nas ~]# mdadm: array /dev/md0 started.[Enter]キーを押下する

[1]+ Done mdadm --create /dev/md0 --level=5 --raid-devices=6 /dev/sd[bcdefg]1

[root@nas ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdg1[5] sdf1[4] sde1[3] sdd1[2] sdc1[1] sdb1[0]
1953519872 blocks level 5, 64k chunk, algorithm 2 [6/5] [UUUUU_]
[>....................] recovery = 0.1% (1290368/976759936) finish=151.1min speed=107530K/sec

しばらく時間がかかりますが、終了すると以下のような表示になります
[root@nas ~]# cat /proc/mdstat
Personalities : [raid6] [raid5] [raid4]
md0 : active raid5 sdg1[5] sdf1[4] sde1[3] sdd1[2] sdc1[1] sdb1[0]
4883799680 blocks level 5, 64k chunk, algorithm 2 [6/6] [UUUUUU]

unused devices:

続いて作成したRAIDのフォーマットをします。

[root@nas ~]# mkfs -j /dev/md0
実機で実行ログを取りわすれたのでVMwareの仮想環境を作ってログ採取した為、表示されているサイズ関連の数値は実機と異なります
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
1310720 inodes, 2620480 blocks
131024 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=2684354560
80 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736, 1605632

Writing inode tables: 43/80

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information: done

This filesystem will be automatically checked every 22 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

フォーマットしたRAIDディスクをマウントします。

[root@nas ~]# mkdir /nas
[root@nas ~]# mount /dev/md0 /nas

OS起動時にRAIDディスクを自動マウントします。

[root@nas ~]# echo 'DEVICE /dev/sd[bcdefg]1' > /etc/mdadm.conf
[root@nas ~]# mdadm -Ds >> /etc/mdadm.conf
[root@nas ~]# vi /etc/fstab
LABEL=/ / ext3 defaults 1 1
/dev/md0 /nas ext3 defaults 0 2 追記する
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda2 swap swap defaults 0 0

追記が終わったら[Esc]ボタンを押下し、[:]ボタン、[w]ボタン、[q]ボタンを順番に押下し、/etc/fstabファイルを保存・viエディタを終了する

/etc/fstabの設定
 第1列はマウントするブロックデバイスやラベルなど
 第2列はマウントポイント
 第3列はファイルシステムの種類
 第4列はマウント時のオプション
 第5列はファイルシステムをdumpする必要があるか否かの指定。「0」または無記述の場合はdump不要のファイルシステムであると見なされる。
 第6列はシステム起動時にfsckチェックを行うか否かの指定。「0」の場合はチェックを行わない。ルートファイルシステムでチェックを行う場合は「1」を指定する。また、ルートファイルシステム以外でチェックを行う場合は「2」を指定する。
※@itより抜粋

RAIDの異常時にメールが送信されるようにします。

[root@nas ~]# echo 'MAILADDR 送信したいメールアドレス' >> /etc/mdadm.conf

これでRAID5の作成は無事終了しました。
次はsambaをインストールしてファイルサーバー(nas)として仕上げを行います。

NEC Express5800/S70FLでNAS構築計画その4

投稿者:yasu 更新日時:2009年11月9日 10時47分50秒
カテゴリCentOS, NAS
タグ

すごい時間が経っちゃいましたが、NASの構築が無事終わったのでご紹介したいと思います。

まずやったこと。
NEC Express5800/S70FL(以下S70FLに省略)のケースを開けて、160GB内蔵ハードディスクと光学ディスクドライブを取り出します。
3.5インチシャドウベイに4つハードディスクをセット。(この時点ではS70FLマザーボードとハードディスクをSATAケーブルでは繋いでいません)
2つある5インチベイに3.5インチハードディスクケースに入れたハードディスクをセット。(この時点ではS70FLマザーボードとハードディスクをSATAケーブルでは繋いでいません)
※なぜハードディスクをマザーボードに繋いでいないかというと、USBメモリのデバイス名を/dev/sda、ハードディスクのデバイス名を/dev/sdb、/dev/sdc、/dev/sdd、/dev/sde、/dev/sdf、/dev/sdgとしたかった為です。
 最初、マザーボードとハードディスクを繋いだ状態でUSBメモリを挿してOSをインストールしようとしたところ、ハードディスクが/dev/sda~/dev/sdf、USBメモリが/dev/sdgと認識した為、ハードディスクのSATAケーブルを外してUSBメモリにOSをインストールしました。

8GBのUSBメモリを本体裏に挿します。

自宅にあったIDE DVDドライブをUSBマルチアダプター EG-SATA56を使ってUSBに挿します。
※自分の様に最初に光学ドライブを外さないで、USBメモリにOSをインストールしてもいいと思います。
自分はハードディスクを取り出すのがめんどくさかったのでハードディスクからSATAケーブルを抜きました。

マシンを起動したらUSB DVDドライブにCentOS5.3のDVDをセットしてDVDブートしようとしたのですが、DVDブートしません。
どうやらBIOSの設定でUSBドライブブートができないようになっているようなので、BIOS設定画面からDVDブート出きるように設定を変更します。
マシンの電源を入れなおしたら[F2]キーを押してBIOS設定画面を開きます。

[Advanced]タグを選択します。
20091012079

次に[Advanced Chipset Setup]を選択して[Enter]キーを押します。
20091012080

[USB Storage Device Support]の値を Enable に変更します。
変更した値を保存して終了します。

これでDVDブートができるので、CentOSをインストールします。
CentOSのインストール手順は以前yasuがFlashcastのblogに書いたのでこちらを参考にしてみてください。
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その2 CentOS 5.2 をインストールする

併せて初期設定やセキュリティ関連の設定も行いました。
flashcast:フリーで働くITエンジニア集団のブログ: 自宅サーバー再構築 その6 CentOS 5.2 にアンチウィルスソフトを導入する

ここまでできたら、OSをシャットダウンして外したSTATケーブルを全てのハードディスクに繋ぎます。

続きは次回。

NEC Express5800/S70FLでNAS構築計画その3

投稿者:yasu 更新日時:2009年5月27日 0時24分52秒
カテゴリNAS
タグ

やっと届きました、Express5800/S70FL。

それ以外に注文した1TBのハードディスク6本。
SATA用ケーブル5本。
ハードディスク6本を止めるようのネジ6袋。
5インチベイ用3.5インチハードディスクケース2個。
電源拡張ケーブル(1本→3本)1つ。
ギガビットイーサネット(FreeNAS対応)1つ。
2009/05/31追記
メモリ(2G)2つ

あと以前購入したベアボーン機2台もソフトウェアRAID1(ミラーリング)にしたいので500GBのハードディスクを2本。

Express5800/S70FLにはSATA用の電源ケーブルが6つあり電源拡張ケーブル(1本→3本)は結局不要でした。どこかのページに電源ケーブル4つってなってたから足りないと思って購入したんですけど無駄出費になってしまいました(ToT)

あとギガビットイーサネット(FreeNAS対応)がまだ届きません。

なお今回NAS構築に購入したもののお値段ですが
Express5800/S70FL 15,900円×1

1TBのハードディスク[HDT721010SLA360] 7,400円×6
500GBのハードディスク[HDP725050GLA360] 4,979円×2
SATA用ケーブル480円×5
ハードディスク6本を止めるようのネジ200円×6
送料 500円

5インチベイ用3.5インチハードディスクケース[DN-RM201AWH] 1799円×2。
送料 399円

FreeNASが認識するGigabitNIC[PLANEX GN-1200TC] 500円×1。
送料 500円

電源拡張ケーブル 1本の電源を3つに分岐[TK-PW723] 570円×1。

2009/05/31追記
メモリ2G2個セット [DIMM JM4GDDR2-8K] 4,680円×1。
送料 499円

合計79,92585,104円で純粋にNAS構築に必要な機材合計は69,96775,146円になりました。
高いように思えますが、NAS専用機で6本のディスクを格納できるやつを買おうものなら十数万円しますし、さらにディスク6本分の値段がかかりますので20万以上はするはず。
そう考えると約3分の1の価格で抑えられてかなりお買い得でした。

次回はいよいよ環境構築していきたいと思います。

NEC Express5800/S70FLでNAS構築計画その2

投稿者:yasu 更新日時:2009年5月25日 0時48分07秒
カテゴリNAS
タグ

先日購入したExpress5800/S70FLにFreeNASをインストールしようとしていたのですが、どうやらNICを認識しないとのこと。

hideのゆらゆら生活 » FreeNasによるネットワークストレージの構築。でExpress5800/S70FLにFreeNASをインストールされていらっしゃるようで、FreeNAS対応NICを紹介されていました。
自分もPLANEX GN-1200TCをAmazonで500円で購入しました。

hideさんには感謝です。