NAS用HDD

SeagateのHDD ST2000DL003がどうも寿命な感じなので、交換HDDを色々考えてみた。

Seagate ST2000DL003 Seagate ST2000DL003

壊れかかっているとはいえ、Seagateの製品が品質が悪い訳ではない。もともと2011年頃の製造なのでもう9年、たしかWindows用に起動ドライブとしても使っていた記憶もあるので、相当ストレスの多い環境でも使っていた感じなので、これくらい持てば十分な品質だ。なので、同じSeagateで調べてみた。というのもSeagateが同じ容量でも安いようなので。この2TBのHDDは7千円台で買った記憶がある。同じ価格でも今や3TBの容量が買える。
Seagate ST3000DM007 [3TB/3.5インチ内蔵ハードディスク]

もう600円程プラスするともう4TBのモデルも買える。

Seagate ST4000DM004 [4TB/3.5インチ内蔵ハードディスク]

どうするかなあ。まあすぐには問題はなさそうなので、ゆっくり検討しよう。というのもこの容量クラスのHDDは若干値下がり傾向なそうだ。コロナウイルスの影響も余りないようで。

NAS復旧-5

読み書きテストを色々やっていたら、SeageteのHDD、ST2000DL003はやばい、不良セクタがさらに増えて584個になった。

なので、このSeagateのHDDは使わないことにして、その他のHDDにバックアップファイルを分散して書いておくことにした。

HITACHIの2TBのHDD、HDS722020ALA330は48個不良セクタが出ている。こちらは製造年月はFEB-2010。しかし、今の所読み書きをやってもこの不良セクタは増えないのでこちらはまだ使えそうだ。

そのうちに、このHDDは新しいHDDと交換しよう。まあ順にHDDは壊れてゆくのだろうから、次は48個不良セクタが出ている、HITACHIのHDDかな。順に交換してゆこう。マザボやCPUが生きているうちはHDDを交換して、マザボCPUが壊れたら、本格的なNASに入れ替えるかなあ。

NAS復旧-4

SeagateのST2000DL003は、不良セクタが480個に増えたせいか、書き込んだデータを読み出してみていたら、時々出てこない事が起こった。やはりちょっとやばそうだ。
それでというわけでもないが、SDD取り付け時にはずしていた東芝の500GBのHDDをケーブルを追加して、また取り付けた。

Windows側からみると、結構共有領域が沢山になってしまった。

NAS復旧-3

Windows側からはこのように見える。

以前は複数のHDDを1つの大きな論理HDDとして認識させていたので、共有の場所は1つだけだったが、今回HDDごとに共有領域を作ったので、複数の共有領域が見える。どこに保存するか自分で考えないといけない。

不良セクタが480個に増えたSeageteのHDDにはあまり重要なものは保存しないようにするのがいいのか?難しい所。

500GBのHDDのうち、一番新しかった東芝のHDDはSSDと入れ替えに外してしまったが、これはそのうちまた付けて、ごく最近の消えては困るデータを主に保存するようにしようかとも考えている。

NAS復旧-2

SSDが来たので、さっそく取り付けた。

古いマザボだけれども、問題なくBIOSで認識できた。

当然OSからもう一度入れることになった。手順は。

  1. CentOSのインストールし直し
  2. VNCのインストールと稼働設定
  3. ファイアウォールの設定
  4. SELiunxの設定
  5. sambaのインストールと設定

手順の詳しい内容はそのうちに。
これで、Windowsから普通に見えるようになった。

ただ、やはりこの前起動に失敗した、SeageteのHDD、ST2000の具合が悪い。不良セクタが480個に増えた。困ったものだ。

NAS復旧-1

NASの復旧作業。HDDに色々バックアップデータを書き込んで、様子をみている。今の所HDDは普通に動作している。

一応念のため、例の/bootを割り振っていたHDDは10GB程度の使わないパーティーションを作って、その他の部分を使うようにした。

40個の不良セクタはあるが、使えるとは出ている。

HDDを取り付けていると、どのHDDがどこについているかわかりずらいので、型番等を見える部分に書いておいた。

これで、どのHDDが壊れても、新しいHDDに取り換える時に迷わずにすむ。HDDが壊れて読み書き出来なくなったら、順に交換してゆきマザボやCPUが壊れるまではこのまま使うかな。

ところで、今回HDDからの読み込みに失敗して起動しなかったようなので、取り付けているHDDはどれも古いものばかり。今の起動HDDも2014年製でもう6年経っていることになる。

そこで、起動ドライブはHDDでなくSSDにすることにした。CentOSを入れるだけなので、SSDも120GB程度あれば十分で、安いやつを見繕って発注した。シリコンパワー の SSD A55シリーズ 128GB SPJ128GBSS3A55B

どうもSSDもコロナウイルス騒ぎで価格がじわりと上がっているらしい。このクラスでも500円程上がっているらしい。まあ、3千円前後なので安いのでちょっとはしかたがない。

NAS起動せず!!

NASが起動しない。電源をいれてしばらくして、なにやらメッセージが表示される。どうもCentOSが起動に失敗しているようだ。

ブート失敗のメッセージ


そもそも/bootが書かれていたHDDは、SeagateのST2000DL003、2TBで、製造年月日は2011年!!、動いていた時も代替セクターが40個ほどでていた。

左がSeagateの2TBHDD。このHDDからブートするようにしていた。
/bootの割り振りの様子 。40個の不良セクタ!!


NASはバックアップデータが主なので、特には困らないので、しばらくほっておいた。しかし、まったくバックアップしないのも怖いので、修理を始めた。
まず、起動HDDを一番新しい東芝製のDT01ACA050、500GBにした。まあ新しいと言っても2014年製。

今回起動ドライブにしたのは、左の東芝の500GBHDD。少しは新しい2014年製。

さらにいままでは4台のHDDをまとめて1個の論理ドライブにしてCentOSをいれていたが、それはやめて起動ドライブは前述の東芝のHDDにし、他の3個のHDDは別々にマウントして別個のドライブで使うことにした。こうすれば例えば1個HDDが壊れてもそこのデータはなくなるが、他の分は残っているという考え。CentOSを入れ直し、SAMBAで共有をかけて、各HDDにデータを読み書きして、HDDがまだ使えるか具合をみている。

なお、使っているマザーボードはGigabyteのGA-H67M-D2-B3、CPUはインテルのPentium G630T省電力CPU。メモリーは2GBのDDR3-1333。1066で動作。

Centos7のリーモート環境

CentOS7でのNAS構築、sambaも稼働し使えるようになったが、普段使っているLAN内のPCからもNASの操作が行えると便利だ。すぐにSSHでの接続は可能だが、せっかくGUIが動いているので、GUIベースでのリモート操作ができるようにする。
これができるようにするにはVNCを稼働させる。まずはyumでインストール

[root@centos7 ~]# yum install vnc-server
読み込んだプラグイン:fastestmirror
Loading mirror speeds from cached hostfile

‐‐‐‐‐‐‐‐‐‐ 中略 —————

総ダウンロード容量: 215 k
インストール容量: 509 k
Is this ok [y/d/N]: y
Downloading packages: tigervnc-server-1.8.0-13.el7.x86_64.rpm | 215 kB 00:00
Running transaction check Running transaction test Transaction test succeeded
Running transaction
インストール中 : tigervnc-server-1.8.0-13.el7.x86_64 1/1
検証中 : tigervnc-server-1.8.0-13.el7.x86_64 1/1
インストール: tigervnc-server.x86_64 0:1.8.0-13.el7
完了しました!

vncサーバを起動する。その時、接続先のPCでの画面の解像度を指定しておく。 -geometry 1280×1024 がそれ、当たり前だが、接続するPCの解像度より小さくしておくと便利。またもし、接続するPCでフルスクリーンで使いたい時は、同じ解像度にしておく。接続用のパスワードも聞かれるので、設定しておく。見るだけのパスワードはなしにしておいた。

[root@centos7 ~]# vncserver -geometry 1280×1024

You will require a password to access your desktops.

Password:
Verify:
Would you like to enter a view-only password (y/n)? n
A view-only password is not used
———- 中略 ———-

なお、vncサーバを止めるには、

[root@centos7 ~] # vncserver -kill :1

とする。-killと:1の間にはスペースが1個入るので要注意。

そして、ファイアウォールにVNCサーバに接続できるよう穴をあける。「アプリケーション」メニューから「諸ツール」->「ファイアウォール」を選択。

そして、vnc-serverのところにチェックを入れる。

これで、サーバ(NAS)側の設定は終わり。続いて、LAN内のPCにこのVNCサーバへ接続するアプリをインストールする。
ここからダウンロードできる。(https://www.realvnc.com/en/connect/download/viewer/
その他Vectorなどからもダウンできる。

EXEファイルの場合は、ダウンロードしたファイルをダブルクリックすると、起動できる。起動したら、NASのIPアドレス+「 :1 」を上部に入力する。この「:1」は重要で、VNCサーバはメモリーなどのリソースが許す限り何個も起動でき、順に番号が付く。どれと接続するかの設定。

つながると、暗号化されていない通信だと警告がでるが、LAN内の使用なので、問題ないので、「Continue」ボタンをクリックしそのまま次へ進む。

するとパスワードの入力になるので、先ほどサーバ(NAS)で設定したパスワードを入力する。

無事つながったら、サーバ(NAS)のデスクトップが見えるはず。デスクトップの背景によっては表示がおかしい場合もあるので、その場合は、VNCビュアーの上側にマウスを持ってくると、操作パネルが出てくるので、ギアマークをクリックして、グラフィックの色数を多くすると良くなる。

調整が終わったら、これで接続設定は完了。以後、サーバまで行かなくてもサーバ内の設定や状況確認がLAN内のPCからもできるようになった。

centos7-samba-2

LAN内のWindowsマシンからはこのように見えるはず。

見えるまで時間がかかる場合もあるので、見えないときはしばらく待つ。または、上のアドレスのところに「¥¥CENTOS7」の様に、sambaのネットバイオス名に指定した文字を直接打ってもいい。

するとユーザー認証になるので、samba用に作成したユーザー名とパスワードを入力する。

「資格情報を記憶する」にチェックを入れておくと、次回からパスワード入力なしでログインできる。セキュリティの面からは入れないほうがいいが。

入力が終わると、NASの中が見えるはず。

これでNASの稼働が無事開始。あとは、データをアップしたりダウンしたりしてみる。

centos7-samba-1

CentOS7にsambaを入れて、NAS機能を持たせる。
まずは、sambaをインストール。CentOS7インストール時に「 ソフトウエアの選択 」から 「サーバー(GUI使用)」をクリック、そして「選択した環境のアドオン」では、「ファイルとストレージサーバー」 を選択していれば、自動的に入っているはずだが、これをチェックを兼ねて。

[root@centos7 ~]# yum install samba
読み込んだプラグイン:fastestmirror, langpacks
Loading mirror speeds from cached hostfile

---------- 中略 ----------

パッケージ samba-4.8.3-4.el7.x86_64 はインストール済みか最新バージョンです
何もしません

ちゃんとはいっているようだ。入っていなければ、ここでインストールされるはず。
次に、samba用ディレクトリを作成。 HDDの領域が一番ある/homeに作成。

[root@centos7 ~]# mkdir /home/samba
[root@centos7 ~]# chmod 777 /home/samba

次に、sambaの設定ファイルをいじる。

[root@centos7 ~]# nano /etc/samba/smb.conf

エディターは最近nanoを使いだしたが、もちろんviでもOK。
まずは、[global]セクション。

workgroupの設定(XXXX)はLAN環境に応じて設定してください。
netbios name = CENTOS7 これも自由に設定可
192.168.11.のLAN内からのみアクセスokに。
プリンタは使わないので、止めておく。
[global]
workgroup = EKBT
server string = CentOS7 smb %v
security = user
netbios name = CENTOS7
host allow = 192.168.11.

passdb backend = tdbsam
dos charset = cp932

# printing = cups
# printcap name = cups
load printers = no
disable spooles = yes
# cups options = raw

次に、[Publoc]設定を追加。

[Public]
comment = Nas Public
path = /home/samba
public = yes
writable = yes
guest ok = yes
guest only = yes

これで設定はおわり。一応設定ファイルをチェックしておく。

[root@centos7 ~]# testparm

問題なさそうだったら、続いて、samba用のユーザーを作る。ユーザーはCentOS7インストール時作っているので、それを使用。
また別にユーザーを作ってそれを使ってもいい。

[root@centos7 ~]# pdbedit -a user1

あとはSELinuxがうごいているはずなので、これを止める。
まずは動作状況を確認。

[root@centos7 ~]# getenforce
Enforcing

動いているようだ。
一応動作を止めて、警告のみにする。

[root@centos7 ~]# setenforce 0
[root@centos7 ~]# getenforce
Permissive

LAN内のみのNAS運用の場合は、完全に止めてもいいと思われる。
そのためには、SELinuxの設定ファイルをいじる。

[root@centos7 ~]# nano /etc/sysconfig/selinux

SELINUX=disabledと入力し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 – No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted – Targeted processes are protected,
# minimum – Modification of targeted policy. Only selected processes are pr$
# mls – Multi Level Security protection.
SELINUXTYPE=targeted

これでsambaの動作の下準備は終了。sambaを起動する。

[root@centos7 ~]# systemctl start smb
[root@centos7 ~]# systemctl start nmb

sambaは起動ステップが二つあるので両方とも起動する。
さらに、NAS起動時に自動で起動するよう設定。

[root@centos7 ~]# systemctl enable smb
[root@centos7 ~]# systemctl enable nmb

これで、LAN内から見えるようになっているはずなので、LAN内のWindowsマシンに移動して、ネットワークを見てみる。

RSS
Follow by Email