お品書き
書き直し中…
とりあえず、中へどうぞ
↓↓↓
スポンサーリンク

久々に Linux Samba でハマる

PC/ネット
仕事用のファイルサーバーが、年末から何度か落ちた。

Linuxで立てたファイルサーバー、もう5~6年使っているが、HDD の寿命が来ているのか?

2~3ヶ月前まで数年間、落ちた記憶がないというのは、考えてみたら、やはり、Linuxはすごい安定性だと思う。

応答しない状態なので、電源を一度切って再起動、起動画面を見ていたらディスクチェックが走り始めた。

保存用HDDは暗号化しているので、ディスクチェックはパスワードを入力して復号化された後、マウントされる前に行われる。(マウントした状態ではできない)

考えてみたら、あまりに長期連続運転で、何年もディスクチェックも行われていない状態だったか。

※ファイルシステムはジャーナリングファイルシステムのext4
Linuxは一定期間が経つと自動的にディスクチェックが走るが、再起動時に行われるので、連続運転状態では作動しない。

別に再起動しなくてもディスクチェックは fsck コマンドで実行できるが、マウント中のドライブではできないのだ。マウント解除してしまうとファイル共有ができなくなってしまうので、再起動と大差ない。

誰かしらがアクセスしている、作業中の状況では、ファイルサーバーを停止できない、みんな激忙しい状況で、業務を止めるのには忍びない。

しかし、いよいよ挙動が怪しくなってきたのと、休みの人間と外出中の人間が多い日があったので、バックアップ用のファイルサーバーと切り替えてしまうことにした。(バックアップ機はやや性能が劣るが、それで対応している間にメイン機のHDD交換を行う。)

が、なにせ長いことトラブル知らずで稼働してしまうので、Linuxに触るのが二年に一度とかそういうレベル・・・まず使い方から復習しないとという状態(^^;)

本当はもっと時間をかけて準備したかったが、どっかでやらないといつまで経ってもチャンスがないので思い切ってやってしまおう。

とりあえず、残っている人間にサーバーが停止する旨を伝え、作業開始。

ここから、ハマるハマる(笑)

慣れてれば一瞬で終わる作業に数時間を要してしまった(笑)

まず、代替機にファイルサーバーの中身をすべて転送コピー ⇒ これは昨日行ってあるので、残りは今日変更が加えられた分だけ。

次に、代替機にメイン機とまったく同じようにファイル共有の設定を行う。

しかし、代替機とメイン機でOS・サーバーソフトのバージョンが違う。

メイン機は(いまだに)debian 7 (wheezy)、代替機は後年セットアップしたものなので debian 8 (jessie)だった。※この記事現在の時点の debian の最新は 9 (stretch)

Windowsとのファイル共有は Samba というサーバーソフトウェアで行うが、その設定を行うためのツールとして、メイン機は 古い wheezy なので SWAT で行っていたが、SWATは開発停止になってしまっていて、代替機( jessie )では使えない。

ローカルオンリーのファイルサーバーなので無理やり古い SWAT を入れても問題ないとは思うけれど、将来用の事も考えて、jessie のほうは webmin で設定していたのだった。

逆に、wheezyの頃はイマイチだった webmin を入れていない。

jessieにswatを入れるか、wheezyに webmin を入れるか、と言う事で、放棄されたSWATよりは webmin をということで、wheezyに webmin を入れる事に。

しかし、 webmin はdebian公式リポジトリにはないので、自分で入れる必要がある。というのをjessieの時にメモしてあった。

⇒ debian Jessie に webmin インストール

しかし、すんなり行かない。ローカルファイルサーバーはインターネットに接続されておらず、プロクシ経由にする必要があったのを失念していたため、wgetが作動しないのだった(これも前回書いていたが忘れていた・・・笑)

⇒ wget をプロキシ経由で作動させるには

次に、共有設定を一つ一つ手動で行おうとしたら、日本語の共有名が webmin からでは使用できない文字でハネられてしまう。

以前のSambaでは普通に使えていましたが?(これはsambaの仕様制限ではなく、webmin の制限な気もする。)

wheezyのsambaは 3、jessie からはsambaが4系になっているけど、まさか使えなくなったとか???

webmin 上から設定ファイルを直接編集することもできるので、古いほうの webmin の設定ファイルの内容をそのまま代替機の設定にコピペしてみたら普通に日本語のファイル共有名も使えたので、それでOKとした。

設定コピペなら共有フォルダをひとつひとつ手動で設定しなくて良いので楽ですしね。

ネットワーク関係の設定ファイルを変更、サーバーのドメイン名を修正、Windows側から、代替機がメイン機の名前で見えるようになった。

webmin 上から NetBIOS 名を修正する場所を見つけられず、設定ファイル直接編集で変えたけれど、よく見たらここにあったorz





さて、古いファイルサーバーから代替機のほうへ、今日加えられた変更分をBunBackup を使ってコピー~完了

さぁ、皆さんに使っていいですよと伝えたところ、アクセスできないとの声、声、声・・・

あれ???

Linux側にちゃんとユーザー登録してパスワードも設定しましたが・・・

自分だけはアクセスできているので、サーバーはちゃんと起動している。。。

アクセス権がないと言われる。

ユーザー名とパスワードが一致してないっぽい。

しばし考えて、思い出しました(笑)

パスワードはLinuxユーザーだけでなくサンバユーザーも別途登録が必要なんでした。

ところが・・・設定しても相変わらずアクセスできない。

いくらやっても接続できないので、ちょっと調べてみたところ、どうやらSambaのコマンドが変わっていたようですね・・・orz

Samba3までは「smbpasswd」というコマンドだったのが、新しいSamba4系では「pdbedit」でないとダメだったようです・・・orz

なんか覚えがあるな・・・って過去に自分で同じとこにハマってたのメモってたorz

⇒ Linux/SAMBA ユーザーの追加とパスワード変更

ダメだ、本当にたまにしか触らないので忘れている・・・(^^;)

さらに、SAMBA4からUTF-8の記述が不要になったようですね。

Samba3の設定をそのままSamba4にコピペってしまったので、削除する。。。

それから、serviceの再起動コマンドも変更になったようです

× service Samba restart

→「Failed to restart samba.service: Unit samba.service is masked.」になる

○ service smbd restart
○ service nmbd restart

これも自分でちゃんとメモってた・・・orz

⇒ SAMBA 再起動コマンド

焦らずちゃんと復習してからやればよかったですね、やっぱり(笑)

それでもまだアクセスできない人がいて。。。

どうしても原因が分からない。

試しにパスワードを変えてみたらアクセスできる・・・(?!)

落ち着いて、よーく見てみたら・・・

パスワード間違えて売っとる・・・orz

raraという文字を含んでいるパスワードだとしたら、raraと打っていたとか、記号を二文字続きだと思いこんでいたら、一個だけだったとか、そういう感じ。。。

先入観・思い込み・記憶は不正確ですねぇ・・・orz

新旧混在してるから、コマンドが違ったりしてややこしいですね。

旧サーバーはHDDを新品に総入れ替えだから、どうせだからOSも最新版stretchに変えるかぁ

そしてまたハマるかも知れないけど、それもまぁネタとして楽しむということで(笑)

コメント