NAS復旧-1

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

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

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

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

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

ところで、今回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マシンに移動して、ネットワークを見てみる。