見出し画像

【第3回】Ubuntuでファイルサーバーつくってみた。

なんとか第3回、発信を意識しているとネタになる作業せんと!となって
考えている習得ロードマップのタスクをこなせていいですね。
僕はなかなか続かない怠惰な性格なので続けないといけない仕組み作りは
めちゃくちゃ大切です。

Ubuntuでファイルサーバーを構築する。

今回はコマンドライン習得ステップ2みたいなところでしょうか。コマンドラインを使う以上、サーバーを動かすのは醍醐味みたいなもんだと思っているので初心者にも比較的優しく、実用性もそこそこなファイルサーバーを構築します。稼働してから一部つまずいたのでその点を重点的に備忘録として。
サーバーを利用する環境はOSがMacOSとWin10が入り乱れるPC10台ほどがアクセスして動画ファイル(30GB以上)をやり取りする想定です。

使用するPCスペック

今回構築するサーバーは今後テストサーバーとしていろいろ動作検証なども想定しているので壊れてもOKなお安いコンパクトPCを使用しています。

本体 : asrock 4x4 ベアボーンキット
CP : UIntel Celeron N3000 @ 1.04GHz
メモリ : 8GB
メインストレージ : 余っていたSATA SSD240GB (5年モノ)
OS : Ubuntu 20.04.2 LTS

スペックはこんなところです。ベアボーンキットはOSが付属していない安いキットも多いので僕みたいなOSいらないからやっすいPCないんか!って稀有な人にお勧めです。Amazonで後継機種のパワフルなCPUを搭載したものや低スペックで安価なものなどバリエーション豊富で用途に応じたものを選べます。最近ではBTOだとOSは強制的に付属しているので微妙に高いんですよね。

いざサーバー構築

今回サーバーを構築するにあたって超絶わかりやすく解説してくれている動画があったのでこちらを参考に作業をしました。

動画通りに作業を進めてとくにつまずくことなく構築してSSH接続まで設定を完了しました。セキュリティ面で貧弱なデフォルト設定なので今後そのあたりをチューニングしていきたいなと思っています。

いざサーバー稼働

一通り動作確認を終わらせ、稼働をはじめたのですが気がついたらMac上でマウント解除のポップアップが。Ubuntuのスリープでサーバー接続が切断する問題が発生。もちろんSSH接続も解除されます。

あーはいはい、スリープ設定を無効にすればいいんでしょ!とGUIから設定を試みるも該当メニューなし。
まじか。

ネットで調べたところ/etc/systemd/logind.confのファイルの中にある

 ​#HandleLidSwitch=suspend

の部分、HandleLidSwitchはノートPCを使用する場合などにモニターを閉じてもそのまま稼働する設定ですね。ここを「ignore(シカト)」にします。

HandleLidSwitch=ignore

更に/usr/share/gdm/dconf/90-debian-settingsにある1200(20分)で節電するで!っていう下の部分を0(なし)に指定。

[org / gnome / settings-daemon / plugins / power]
sleep-inactive-ac-timeout = 0
sleep-inactive-battery-timeout = 0

これで完了!いったん20分待ってみたらば再びスリープ。
寝るな!起きろ!

更に調べたものの

いろいろ調べ回ったのですが大体上記の設定で解決するようで、そもそもバージョン20.04.2の情報が少ない。
少し古い情報でしたがsystemctlコマンドでスリープ、サスペンド周辺を強制的に無効にする方法を発見。

$ systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target

実行、20分経っても起きてる!解決!

とはいえ。

いまのところ1週間ほど連続稼働していますが問題なく働いてくれています。
僕の現環境下では解決したとはいえ、systemctlで強制的に無効にするのはシステム上、今後なにか別のサーバーを走らせたりする際にどんな不具合があるかわからず、好ましくないようなので最終手段ですね。
できれば今後のOSアップデートで当該項目のGUIが実装されることを祈ります。

いただいたサポートは「ホームスクーリングサポート」運営費用として学校に通えない子供たちの学習のために使用します。