LoginSignup
15
16

More than 5 years have passed since last update.

NASを作った話

Posted at

やること

  • 2TBのHDDを4基使用してRAID10を構築して
  • Sambaを使ってネットワークアクセスできるようにして
  • NASとして運用する

RAIDってなに

Wikipediaへどうぞ→RAID

  • 複数のストレージを組み合わせて、大容量を目指したり速度や冗長さを向上させようというもの
  • 今回使用するのはRAID10という構成
  • RAID1とRAID0の組み合わせ
  • RAID0はストライピング(分散書き込み) →速度向上と大容量化が期待できる
  • RAID1はミラーリング(全く同じ物を書き込む) →分散して読み込みをするようにすれば速度向上、ストレージが片方ぶっ壊れてももう片方から修復可
  • RAID10はRAID1の構成をRAID0する →分散書き込みするストレージでそれぞれ独自にミラーリング

構成

CPU Intel Celeron G550
M/B GA-H77-DS3H
RAID AREA TTH QUATTRO SD-PE4SA3ES4L
HDD WD20EZRX x4

M/Bには別途SSDとHDDが各1基ずつ接続されている。それぞれシステム用とデータ庫用として運用。

RAIDを構築する

説明書を見ながら素直に接続。説明書はネットでも見れる。便利。使うポートがどこなのかをジャンパーピンで設定する。

説明書通りに、OS起動前にCtrl+Mで設定画面を呼び出して構成する。説明書ではHDDを2つ選択した画面しか例示がないが、RAIDを構成するHDDを選択する時に、4つ全部選択すればRAID10を構成できた

アレイがどのデバイスとして認識されたか確認する

方法はいくつかあるのでてきとうに

dmesgを眺める

めんどいのでdmesgをそれっぽい文字でgrepしてみた(以下は更に必要そうな部分のみ抜粋)

dmesg|grepからさらに抜粋
$ dmesg | grep sd
[    1.528286] sd 6:0:0:0: [sdc] 7813730560 512-byte logical blocks: (4.00 TB/3.63 TiB)
[    1.528324] sd 6:0:0:0: [sdc] Write Protect is off
[    1.528326] sd 6:0:0:0: [sdc] Mode Sense: 00 3a 00 00
[    1.528340] sd 6:0:0:0: [sdc] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    1.528464] sd 6:0:0:0: Attached scsi generic sg3 type 0
[    1.536928]  sdc: unknown partition table
[    1.537083] sd 6:0:0:0: [sdc] Attached SCSI disk

煩雑、見にくい。dmesgが今必要じゃないような情報もわんさか出してくれるので、目的の情報を見つけ出すのが多少面倒。

fdiskで確認

fdiskで確認(必要部分のみ抜き出し)
$ sudo fdisk -l
   Device Boot      Start         End      Blocks   Id  System
/dev/sdb1               1  4294967295  2147483647+  ee  GPT
Partition 1 does not start on physical sector boundary.

Disk /dev/sdc: 4000.6 GB, 4000630046720 bytes
255 heads, 63 sectors/track, 486382 cylinders, total 7813730560 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00000000

Disk /dev/sdc doesn't contain a valid partition table

こっちの方がデバイスごとに分かれて表示されるので見やすい。

アレイはsdcとして認識されたっぽい。

exFATを使えるようにする

exFATを使えるように
$ sudo apt-get install fuse-exfat exfat-utils
[sudo] password for tea: 
Reading package lists... Done
Building dependency tree       
Reading state information... Done
E: Unable to locate package fuse-exfat

標準では含まれていないのでリポジトリを追加して再度実行

exFATを使えるように
$ sudo add-apt-repository ppa:relan/exfat
$ sudo apt-get update
$ sudo apt-get install fuse-exfat exfat-utils

HDDをフォーマットする

まずはパーティションを切る

$ sudo parted /dev/sdc
(parted) print
Error: /dev/sdc: unrecognised disk label
(parted) mklabel gpt
(parted) unit TB
(parted) mkpart primary 0.00TB 4.00TB
(parted) print
Model: ATA MARVELL Raid VD (scsi)
Disk /dev/sdc: 4.00TB
Sector size (logical/physical): 512B/512B
Partition Table: gpt

Number  Start   End     Size    File system  Name     Flags
 1      0.00TB  4.00TB  4.00TB               primary

(parted) quit
Information: You may need to update /etc/fstab.

exFATでフォーマット

exFATでフォーマット
$ sudo mkfs.exfat /dev/sdc
mkexfatfs 1.0.1
Creating... done.
Flushing... done.
File system created successfully.

マウントする

UUIDを調べる

抜粋
$ ls -l /dev/disk/by-uuid
total 0
lrwxrwxrwx 1 root root  9  4月  3 11:32 8580-9D7B -> ../../sdc

fstabに追記

/etc/fstab
UUID=8580-9D7B /mnt/r_array exfat async,auto,dev,exec,gid=65534,rw,uid=65534 0 0

マウントしてからは権限の変更等ができないのでマウント時に指定
これをしないでchownとかするとFunction not implementedとか言われる。

マウントポイントの作成

$ mkdir /mnt/r_array

fstabを反映させる

$ sudo mount -a

てきとうにファイルを作ったり書き込んだりして正常に動作しているっぽいことを確認する

Sambaを使ってアクセスできるようにする

共有するフォルダを作る

$ mkdir /mnt/r_array/share

Sambaの設定をする

まぁ適宜、といった感じで。

/etc/samba/smb.conf
[global]
   workgroup = WORKGROUP

dos charset = CP932
unix charset = UTF-8
display charset = UTF-8

map to guest = Bad User


[r_array_share]
path = /mnt/r_array/share
writeable = yes
force create mode = 0666
force directory mode = 0777
guest ok = yes
guest only = yes

Sambaを再起動

$ sudo service smbd restart
smbd stop/waiting
smbd start/running, process 3847

他のマシンからアクセスして動作チェック

てきとうにファイルやフォルダを作ったりデータをコピーしたり

ベンチマーク

未計測

NICチーミング

ベンチマークの数値を見てから、やるか判断します

15
16
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
16