Sirius -旧ブログ、更新されません-

2012年04月の記事

<< 前のページ

2012年4月22日(日) 20:18

HD-HTGL のハードディスクのパラメータ

少しでも高速化しようとハードディスクのパラメータをいじっていたら、再起動したときにディスクを見失うようになってしまいました。調整したパラメータは、multcount です。/etc/init.d/hdparm のなかで、multcount を 16 に設定するように -m16 オプションをつけたところ見失うようになりました。このオプションをつけなければ、大丈夫なようです。

いまは、次のような内容になっています。


#cat /etc/init.d/hdparm

#!/bin/sh

# set stop time for hdd spindle moter



if [ -x /sbin/hdparm ] ; then

  /sbin/hdparm -S 36 -d1 /dev/hda > /dev/null

  /sbin/hdparm -S 36 -d1 /dev/hdc > /dev/null

  /sbin/hdparm -S 36 -d1 /dev/hde > /dev/null

  /sbin/hdparm -S 36 -d1 /dev/hdg > /dev/null

fi


結局また Raid の修復をしないとだめなようなです。修復には四日ほどかかるようです。しばらく放置します。

written by sirius [/Terastation] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2012年4月20日(金) 19:07

HD-HGLAN に 2TB を内蔵させる。

Seagate の 1.5TB の HDD を内蔵させようとして失敗した HGLAN に再度挑戦しました。

Planex の NAS01G で HGST の 2TB が何の問題もなく動いたので、HGLAN(KURO-SATA) でも動くかもしれないと思いました。



まず、USB でつなぎ、パーティションを切りフォーマットします。パーティションは次のようにしました。


# mfdisk -c /dev/sda

You will not be able to write the partition table.



Command (m for help): p



Disk /dev/sda: 255 heads, 63 sectors, 243201 cylinders

Units = cylinders of 16065 * 512 bytes



   Device Boot    Start       End    Blocks   Id  System

 /dev/sda1             1       480   3855568+  83  Linux

 /dev/sda2           481       546    530145   82  Linux swap

 /dev/sda3           547    243192 1949053995   83  Linux

 /dev/sda4        243193    243201     72292+  83  Linux



Command (m for help):q


sda1 と sda3 を ext3 でフォーマットします。

マウントしてデータをコピーします。


# mke2fs -j /dev/sda1

# tune2fs -c 0 -i 0 /dev/sda1

# mke2fs -j /dev/sda3

# tune2fs -c 0 -i 0 /dev/sda3

# mount /dev/sda1 /mnt2/usbdisk1

# mkdir /mnt2/usbdisk1/mnt /mnt2/usbdisk1/proc

# mount /dev/sda3 /mnt2/usbdisk1/mnt

# mkdir /mnt2/usbdisk1/mnt2 /mnt2/usbdisk1/mnt2/usbdisk1 /mnt2/usbdisk1/mnt2/usbdisk2

# mkdir /mnt2/usbdisk1/mnt2/nfs /mnt2/usbdisk1/mnt2/ram /mnt2/usbdisk1/mnt2/usbinfo

# cd /mnt2

# tar cf - info|(cd /mnt2/usbdisk1/mnt2;tar xvf -)

# cd /

# tar cf - bin boot dev etc home lib mnt root sbin tmp usr var www | (cd /mnt2/usbdisk1;tar xvf -)


コピーが終わったらディスクを内蔵させます。



特に問題なく起動したようです。DMA を有効にするために /etc/init.d/hdparm は次のようにしました。


# cat /etc/init.d/hdparm

#!/bin/sh

# set stop time for hdd spindle moter



if [ -x /sbin/hdparm ] ; then

        /sbin/hdparm -S 241 -d1 /dev/hda

fi


df で見てもちゃんと容量を認識しています。


# df -h

 Filesystem            Size  Used Avail Use% Mounted on

 /dev/hda1             3.6G  205M  3.2G   6% /

 /dev/ram0              14M 1001k   12M   8% /mnt2/ram

 /dev/hda3             1.8T  472G  1.2T  28% /mnt



# hdparm -i /dev/hda



 /dev/hda:



 Model=Hitachi HDS5C3020ALA632, FwRev=ML6OA800, SerialNo=XXXXXXXXXXXXXX

 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }

 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=56

 BuffType=DualPortCache, BuffSize=26129kB, MaxMultSect=16, MultSect=off

 CurCHS=16383/16/63, CurSects=-66060037, LBA=yes, LBAsects=268435455

 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}

 PIO modes: pio0 pio1 pio2 pio3 pio4

 DMA modes: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 *udma5 udma6


こちらも問題なさそうです。Samba での書き込みも 12MB/sec 以上の速度が出ています。

written by sirius [/Linkstation] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2012年4月19日(木) 20:10

HD-HTGL 2TB で Raid したときの修復

試しに 2TB の HDD を一台外しデグレードさせた後に再度つないで修復できるかを試してみました。

まず、Web の管理画面から再構成させると、パーティションを勝手にきりなおしてしまうので、再構成に失敗します。

コマンドラインから、mdadm を使ってディスクの追加をしないとだめなようです。パーティションを適切に切り直し、たとえば次のようにします。


# mdadm --manage /dev/md2 -add /dev/hde3


すると、修復が始まります。


# cat /proc/mdstat



Personalities : [linear] [raid1] [raid5] [multipath]

read_ahead 1024 sectors

md1 : active raid1 hdc3[1] hda3[0]

      1952780992 blocks [2/2] [UU] [0 0 ]



      recovery mode = 2, limit = 20





md0 : active raid1 hdg1[1] hde1[3] hdc1[2] hda1[0]

      385408 blocks [4/4] [UUUU] [0 0 0 0 ]



      recovery mode = 2, limit = 20





md2 : active raid1 hdg3[1] hde3[2]

      1952780992 blocks [2/1] [_U] [0 0 ]

      [=>...................]  recovery =  8.3% (162203904/1952780992) finish=2631.7min speed=11336K/sec

      recovery mode = 2, limit = 20





unused devices: 


また二日ほど電源を入れっぱなしにしないとだめなようです。

written by sirius [/Terastation] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2012年4月18日(水) 21:02

Planex の NAS-01G に 2TB を内蔵させる。

Planex の NAS01G には 500GB の ATA を内蔵させていますが、容量が足らなくなったので 2TB を内蔵させてみました。SATA-IDE の変換には以前購入していたフリーダムの FHC-360S を使いました。



手順は、まず、USB で 2TB をつなぎ、パーティションをきります。



パーティションは二番目に swap を作成しますが、NAS-01G の fdisk ではうまくいきませんでした


# fdisk /dev/sda



The number of cylinders for this disk is set to 243201.

There is nothing wrong with that, but this is larger than 1024,

and could in certain setups cause problems with:

1) software that runs at boot time (e.g., old versions of LILO)

2) booting and partitioning software from other OSs

   (e.g., DOS FDISK, OS/2 FDISK)



Command (m for help):p





Disk /dev/sda: 2000.3 GB, 2000398934016 bytes

255 heads, 63 sectors/track, 243201 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes



   Device Boot    Start       End    Blocks   Id  System

 /dev/sda1               1 18446744073709527403 18446744073515049824   83  Linux



Command (m for help):


上は、1 〜 243136 シリンダまでを確保した状態です。

これにスワップパーティションを追加しようとしましたがうまくいきませんでした。

そこで玄箱につないで見たところ、きちんと一番目のパーティションは作成できていたようなので玄箱でスワップを作成しました。

次に、また NAS-01G につなぎ、


# mke2fs -j /dev/sda1

# mkswap /dev/sda2


とし、ファイルシステムを作成しました。ここで、マウントしてみました。


# mkdir /mnt2

# mount /dev/sda1 /mnt2


大丈夫なようなので、HDD の中身をコピーしました。


# cd /mnt

# tar cf - . | (cd /mnt2;tar xvf -)


コピーが終わったところで、2TB を内蔵させ起動しました。

正常に起動したようなのでディスクを見てみます。


# fdisk -l /dev/hda



Disk /dev/hda: 2000.3 GB, 2000398934016 bytes

255 heads, 63 sectors/track, 243201 cylinders

Units = cylinders of 16065 * 512 = 8225280 bytes



   Device Boot    Start       End    Blocks   Id  System

 /dev/hda1               1 18446744073709527403 18446744073515049824   83  Linux

 /dev/hda2          243136      243201      530145   82  Linux swap

# df

Filesystem           1k-blocks      Used Available Use% Mounted on

 /dev/ram                 11895      9505      2390  80% /

 /dev/hda1            1922336432 575110640 1249576700  32% /mnt

# hdparm -i /dev/hda



 /dev/hda:



 Model=Hitachi HDS5C3020ALA632, FwRev=ML6OA800, SerialNo=XXXXXXXXXXXXXX

 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs }

 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=56

 BuffType=DualPortCache, BuffSize=26129kB, MaxMultSect=16, MultSect=16

 CurCHS=16383/16/63, CurSects=-66060037, LBA=yes, LBAsects=268435455

 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}

 PIO modes: pio0 pio1 pio2 pio3 pio4

 DMA modes: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6


転送速度も 12MB/sec は出ているし、DMA もきちんと動いているようだし問題はなさそうです。

fdisk の表示がオーバーフローしているだけだと思います。

written by sirius [その他] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2012年4月17日(火) 23:40

GLANTANK の Raid をミラーに変更

グラタンの Raid も 300GB x 4 の Raid5、500GB x 4 の Raid5 構成から、1.5GB x 2 の Raid1 x 2, 500GB x 2 の Raid1 に変えました。なぜミラーかというと、Raid5 構成だと、本体が壊れたとき、HDD を他の Linux につなげて認識させることが面倒なためです。ミラーなら、Raid1 の HDD の片方をつなげてファイルシステムを指定してやればマウントできます。データの吸い上げが簡単なのです。万が一のことを考えて、Raid はミラーを使うことにしました。

こちらの速度なんですが、TeraStation よりちょっと遅く感じます。読み込みは 10MB/sec、書き込みは、場合によって 7MB/sec 位になってしまいます。まあ、倉庫代わりなので我慢します。

written by sirius [グラタン] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2012年4月16日(月) 21:59

HD-HTGL で 2TB x 4

2TB x 2 の Raid1 のチェックに本当に 50 時間。バックアップの書き戻しにやはり同じくらい時間がかかりました。

もう一台の 400GB x 4 の方のデータもあったので、全部で約 1.7 TB ほど書き込みましたが、エラーもなく終わりました。

バックアップに使っていた 2TB を内蔵させ、もうひとつ Raid1 を作りました。これで Raid1 x 2 となりました。

2TB x 4

書き込みの速度はだいたい 9.1MB/sec、読み込みは 12.5MB/sec 位です。

もう一台の TeraStation(400GB x 4) もそのうち 2TB x 4 にしていこうと思います。

written by sirius [/Terastation] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2012年4月10日(火) 22:42

TeraStation で 2TB のミラーを作成

TeraStation に 2TB の HDD を追加してミラーにしてみました。

DISK1 と DISK2 に追加しました。

HDD 追加の手順は前回の通りです。

Web の管理画面からフォーマットして、手動でパーティションを切り直し、再起動後に XFS でフォーマットします。

また、DMA を有効にするため /etc/init.d/hdparm を書き換えます。

パーティションは次のようにしました。


# mfdisk -c /dev/hda



Command (m for help): p



Disk /dev/hde: 255 heads, 63 sectors, 243201 cylinders

Units = cylinders of 16065 * 512 bytes



   Device Boot    Start       End    Blocks   Id  System

 /dev/hda1             1        48    385528+  fd  Linux raid autodetect

 /dev/hda2            49        65    136552+  82  Linux swap

 /dev/hda3            66    243175 1952781075   fd  Linux raid autodetect

 /dev/hda4        243176    243201    208845   fd  Linux raid autodetect



Command (m for help):




再起動後の状態。



2TB HDD



この状態で Raid アレイ1を Web の管理画面から作成しました。



2TB Raid1



Raid チェックの様子


# cat /proc/mdstat



Personalities : [linear] [raid1] [raid5] [multipath]

read_ahead 1024 sectors

md1 : active raid1 hdc3[1] hda3[0]

      1952780992 blocks [2/2] [UU] [0 0 ]

      [>....................]  resync =  0.0% (868620/1952780992) finish=2956.6min speed=11000K/sec

      recovery mode = 2, limit = 20





md0 : active raid1 hdg1[1] hde1[2] hdc1[3] hda1[0]

      385408 blocks [4/4] [UUUU] [0 0 0 0 ]



      recovery mode = 2, limit = 20





unused devices: 


50時間くらいかかりそうです。

written by sirius [/Terastation] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2012年4月9日(月) 20:59

カーネル 2.6.39.4 をコンパイルする。

カーネルが 2.6.25 なので 2.6 系最新の 2.6.39.4 をコンパイルします。

起動に u-boot を使う予定なので mkimage が必要なのでインストールします。




# aptitude install u-boot-mkimage


バニラカーネルのソースを取得します。


# cd /usr/src

# wget http://www.ring.gr.jp/archives/linux/kernel.org/kernel/v2.6/linux-2.6.39.4.tar.gz

# tar xvzf linux-2.6.39.4.tar.gz


コンパイルの方法は LinkStation/TeraStation/玄箱/PPC/kernel/2.6.30.5 - PukiWiki を参考にさせていただきました。



コンパイルは玄箱本体で行うのでクロスコンパイルのオプションははずします。

初期設定

# cd linux-2.6.39.4

# make ARCH=powerpc linkstation_defconfig

# cp -p ./.config ./.config.orig

# make ARCH=powerpc menuconfig



コンフィグでは、Device Drivers -> Memory Technology Device (MTD) support -> Mapping drivers for chip access -> Physmap compat support を y にPhysical start address of flash mapping を 0xffc00000 にPhysical length of flash mapping を 0x400000 に

Bank width in octets を 1 に設定すします。



コンパイルしたカーネルで起動するかどうかを確認するので上記設定のみを行って他は変えません。

time を使って時間を計ってみました。 3 時間ほどかかりました。


# time make ARCH=powerpc uImage modules



real    174m3.926s

user    165m29.204s

sys     7m34.824s


/boot にカーネル等をコピーします。


# cp -p System.map /boot/System-kuro-hg.map

# cp -p arch/powerpc/boot/uImage /boot/uImage-kuro-hg-2.6.39.4

# scripts/dtc/dtc -f -I dts -O dtb -o /boot/kuroboxHD.dtb -V 16 arch/powerpc/boot/dts/kuroboxHD.dts

# scripts/dtc/dtc -f -I dts -O dtb -o /boot/kuroboxHG.dtb -V 16 arch/powerpc/boot/dts/kuroboxHG.dts

# cd /boot

# ln -s uImage-kuro-hg-2.6.39.4 uImage

# ln -s uImage vmlinux.UBoot


モジュールのインストール


# make ARCH=powerpc modules_install


時間はかかりましたがこれでコンパイルできました。

このまま再起動と行きたいのですが、環境の変更を行わないと起動しません。

環境の変更はまた後で説明します。

written by sirius [玄箱] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2012年4月8日(日) 18:06

TeraStation(HD-HTGL/R5) の HDD を交換

300GB x 4 で RAID5 で使っている Terastation の HDD を 2TB x 4 で RAID1 x 2 に変更しようと試しに一台交換してみました。



SATA-IDE の変換には、玄人志向の SATAD-IDE を使いました。

まず、データを全てバックアップし、RAID を解除しました。

その後、DISK3 を HGST の 2TB(HDS5C3020ALA632) に交換し、電源を入れます。

当然、DISK3 がエラーとなるので、Web の管理画面から DISK3 をフォーマットします。ここでのフォーマットは失敗します。

Web管理画面からフォーマットするのは、md0 と swap を作成するためです。

以降は、TeraStation にログインしてコマンドで設定していきますので、シリアルコンソールか telnet/SSH が使える環境じゃないとだめです。



TeraStation にログインしパーティションをきりなおします。

DISK3 なので、デバイスは /dev/hde になります。hde3 と hde4 を削除し、切り直しました。



# mfdisk -c /dev/hde



hde3 を 1952781075 ブロック、hde4 を 208845 ブロックにしました。



ここでパーティション情報を書き込んで、XFS でフォーマットしようとしてもフォーマットできませんでした。

パーティションを書き換えたら再起動しないとだめなようです。

再起動後に、XFS でフォーマットします。



# mkfs.xfs -f /dev/hde3



フォーマット後に再起動すれば DISK3 が使えるようになります。

しかし、このままだと、DMA が有効にならないので、/etc/init.d/hdparm に /sbin/hdparm -d1 /dev/hde > /dev/null を追加しておきます。







2TB が使えることがわかったので余裕ができた時に、さらに交換し、RAID1 を構築したいと思います。

written by sirius [/Terastation] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

<< 前のページ

Sirius -旧ブログ、更新されません-

MySketch 2.7.2 written by 夕雨