sambaでNAS-補足3

その10回目。補足その3

今回、NASがトラブルになり、CentOS7をSSDにインストールして安定させ、HDDは後で追加してゆくことにした。もしHDDが壊れても、その中のデータは失われるが、他のHDDのデータは生きている。古いHDDばかり集めて使っているので、この苦肉の策となった次第。

そこで、HDDを使えるようにして(Linux、UNIXではマウントと言う)さらには、sambaでも設定して、WindowsPCから読み書き出来るようにする。

昔なら、Linux(UNIX)でHDDをマウントするとなると、mountコマンドを使ったものだ。しかし今はGNOMEのデスクトップアプリでマウントは簡単に管理できる。まずこのディスクアプリを起動する。CentOS7のNASにrootでログインするか、VNCでCentOS7のNASにログインして、「アプリケーション」メニューから「ユーティリティ」を選択、さらに右に表示される「ディスク」をクリック。

すると、現在マウント中のディスクやマウント可能なディスクが表示されるので、左のHDDのリストからマウントするディスクをクリックする。すると右側にそのHDDの様子が表示されるので、中央少し左のギアマークのアイコンをクリックする。もし、新品のHDDの場合はここに「+」ボタンがあると思うので、これでパーティーションを作るところからやることになる。もしWindowsPCなどで使っていたHDDならまず「-」ボタンをクリックしてパーティーションを削除後、「+」ボタンで新たにパーティーションを作る。

すると、HDDの設定のリストが出るので、「マウントオプションの編集」をクリックする。

すると、現在のマウント関連の情報が表示される。基本的には、デスクトップ上でマウント操作をしたときにそのHDDがマウントされるようになっている。これは、USBメモリーなどを刺したとき同じ設定。マウント用の文字も大変長く分かりにくい設定になっているので、それを解除して、sambaの設定時も楽なようにマウント用の文字も分かりやすい物にしておく。

まず、一番上の「User Session Default」をオフにする。その下の「Mount at system startup」にチェックを入れる。そして、「表示名」に分かりやすいHDD名、今回hds7220とHDDの型番にした。さらに、「マウントポイント」の長い文字列を/mnt/以下の部分を分かりやすい文字列に変更しておく。下の例ではHITACHIの2TBのHDDなので、/mnt/hds7220としている。

設定したら「OK」をクリック。この設定したマウントポイントは後でsambaの設定に使うので、記録しておく。

この作業を、マウントしたいHDDごとに行うと、デスクトップにマウントされたHDDのアイコンが出る。

これを、各HDDに対して行う。

続いて、各HDDのマウント先に、samba共有のフォルダーを作っておく。またアクセス権限なども設定しておく。

samba用ディレクトリ作成、オーナーチェンジ
# mkdir /mnt/hds7220/samba
# chown nobody:nobody /mnt/hds7220/samba
# chmod 777 /mnt/hds7220/samba

sambaの設定ファイルをいじる。viを使う場合。
[root@localhost xxx]# vi /etc/samba/smb.conf

publicの設定箇所を増やす。各HDDに共有フォルダーを作ったら、その分だけ書き足すことになる。

[Public01]
comment = hds7220
path = /mnt/hds7220/samba
public = yes
writable = yes
only guest = yes

ディレクトリの作成や権限の設定は、デスクトップからも出来る。マウントされたHDDは普通のディレクトリとしてアクセスできる。

ここで一つ注意点として、マウントされたHDDは最初は読込のみの権限しかないことが多い。この権限を読み書きOKにしておかないと、samba共有後読み書き出来ない。

デスクトップでのディレクトリの選択は、まず左上のホームフォルダーをダブルクリック。そして、「他の場所」をクリック。

すると、コンピュータ内の色々なデバイスが表示されるので、一番上の「コンピュータ」をクリック。

すると、Linuxのシステムのフォルダーが色々表示される。HDDのマウント先である「mnt」フォルダーをダブルクリック。

そして、HDDのフォルダーhds7220を右クリック、メニューの「プロパティ」を選択。

すると、プロパティが表示されるので、「アクセス権」タブをクリック。

「作成と削除」がどれからも出来るようにしておく。

ディスクの利用状況は、「システムモニター」からも見ることができる。「アプリケーション」メニューから、「システムツール」、「システムモニター」と選択する。

「ファイルシステム」タブをクリックするとディスクの利用状況が確認できる。

色々データを書き込んだので、結構な領域を使っている。

 

sambaでNAS-7

その7回目。sambaを動かす

それでは、いよいよsambaのインストールと設定。

NASの本体かTeraTermからログインして、sambaのインストールを行う。NAS本体のログインの場合、rootでログイン、端末を起動する。

TeraTermの場合は、1個作ったユーザーでログインする。そしてsuコマンドでroot権限を取得しておく。

まずはyumでインストール。

[root@localhost xxx]# yum -y install samba

samba用ユーザー(centos)の作成。ここでは仮にcentosというユーザーを作成することにします。ユーザー名は自由に決められます。

[root@localhost ~]# useradd centos

samba用ユーザー(centos)にパスワードを設定

[root@localhost ~]# passwd centos

samba用ユーザー centos のパスワードを変更。
新しいパスワード:
新しいパスワードを再入力してください:
passwd: すべての認証トークンが正しく更新できました。

samba用ユーザー(centos)の設定

[root@localhost ~]# pdbedit -a centos
new password:
retype new password:
Unix username: centos
NT username:
Account Flags: [U ]
User SID: S-1-5-21-1204239262-578675828-4075209457-1000
Primary Group SID: S-1-5-21-1204239262-578675828-4075209457-513
Full Name:
Home Directory: \\localhost\centos
HomeDir Drive:
・・・ 中略 ・・・

samba用ディレクトリ作成、オーナーチェンジ
[root@localhost xxx]# mkdir /home/samba
[root@localhost xxx]# chown nobody:nobody /home/samba
[root@localhost xxx]# chmod 777 /home/samba

sambaの設定ファイルをいじる。viを使う場合。
[root@localhost xxx]# vi /etc/samba/smb.conf

以下、設定ファイルの内容の変更点
[global]

# Linux側日本語文字コードとWindows側日本語文字コードの設定
unix charset = UTF-8
dos charset = CP932

# Windowsのワークグループの設定と、Windows側からの表示名の設定
workgroup = xxxx
server string = Samba Server Version %v

netbios name = LinuxSamba

#プリンタは使わないので、#でコメントアウトもしくはno設定
#printing = cups
#printcap name = cups
load printers = no
disable spooles
#cups options = raw

# Public公開の設定この部分がWindowsPCから見えるようになる

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

以上、設定が終わったら、sambaの起動。smbとnmbの二つがあるので、両方必ず起動する。
[root@localhost xxx]# systemctl start smb
[root@localhost xxx]# systemctl start nmb

そして、sambaの自動起動設定
[root@localhost xxx]# systemctl enable smb
[root@localhost xxx]# systemctl enable nmb

これで、WindowsPCから見えるようなっているはずです。ネットワークから見てみます。ネットワークの所にNASに設定したIPアドレスを入力します。(例。¥¥192.168.xxx.xxx xxx.xxxは設定したIPアドレスに合わせてください)

すると、「ネットワーク資格情報の入力」が表示されるので、作成したsamba用ユーザとパスワードを入力して、「資格情報を記憶する」をチェックしておきます。すると次回から「ネットワーク資格情報の入力」をせずにログインできるようになります。

NAS内が見えたら、publicフォルダー内が自由に読み書き出来るはずなので、フォルダーを作ったりデータを書いたりテストしてみます。

中が見えないとなると、sambaの設定や、ファイアウォールの設定、SElinuxの設定等をもう一度チェックします。

動作が安定してくると、NASに付けた名前でもアクセスできます。ネットワークに表示されるようになります。さらに、HDDをマウントしてpublicフォルダーを追加設定するとこのように見えてきます。

sambaでNAS-1

NASの動作も大体落ち着いて来たので、今回CentOS7のsambaでNASを作成した手順をまとめておきます。

今回はその1回目。下準備。CentOS7インストール用DVDの作成です。

以前もNASを再インストールした時にインストールDVDは作成していたものの、ちょっと時間も経ったので、なるべく新しいバージョンがいいかと、CentOS7のCentOSのHPへダウンしに行った。

CentOSのHPは、https://www.centos.org/

Get CentOS Nowをクリック。すると、どうもCentOSの最新版CentOS8が出ているようだった。Downloadページで、CentOS Linux DVD ISOをクリックすると、

出てくるのは、CentOS8のダウンロード先、

しかし、CentOS8は若干ハードウエアの要求事項が上がっていて、メモリは2GB推奨になっていた。今使っているNASのハードはメモリーが2GBしかなく、オンボードグラフィック用にメモリーを使うと1.6GB程度しかないので、ちょっと厳しい感じだった。

メモリーを増やしてもいいのだが、マザボとCPUの対応メモリーがDDR3-1066なのだが、古すぎてないので、使っているメモリーがDDR3-1333。

-広告-

これをマザボの各スロットに刺すと4GBにはなるのだが、そうするとなぜだか起動しない。いわゆる相性問題だ。1枚刺しの2GBなら普通に動く。CPUが省電力のPentium G630Tで対応メモリーがDDR3 1066ということも関連しているのかもしれない。

ということで、1つ前の使い慣れたCentOS7の最新版をさがしてみることにした。

またDownloadページに戻って、下へスクロールすると、

Older Versionsという項目があるので、そこの「then click here」のリンクをクリック。するとwikiに飛んで、各バージョンのリストが出る。

ここで、リストを探すと、

あった、CentOS7。一応、バージョンは1908でサポートは2024年7月までとなっている。あと4年はあるので、その頃までマザボやCPUが持つかどうかもわからないし、サポートがなくなっても、LAN内でしか使わないので、CentOS7でこのままいこう。「mirrors」をクリックすると、各ftpのダウンロード先が表示される。いつも理研のサーバーを回線も安定しているので使わせてもらっているので、そこをクリック。

DVD用ISOファイルを選択

ダウンロードが終わるまでしばし待つ。

ダウンが終わったら、ISOファイルから、DVDを作成する。Windows10なら、ISOファイルを右クリックして「ディスクイメージの書き込み」をクリックするとできる。

DVDが書きあがるまで、しばし待つ。

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-samba-2

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

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

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

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

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

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