投稿者: manualmaton Page 3 of 278

RHEL系Linux(Rocky Linux)でDockerのビルド領域変更

Dockerならではの問題に対処したのでメモを残します。

背景と課題

RHEL / Rocky Linux 9 環境のGPUサーバーにおいて、Dockerビルド(大規模LLMモデルの生成など)を実行した際、ルートパーティション(/)の使用率が100%に達する事象が発生しました。

  • 原因: Dockerはデフォルトで /var/lib/docker(ルート配下)にイメージやビルドキャッシュを保存します。
  • 環境: ルート領域は70GB程度ですが、/home 領域には数TBの空きがります。
  • 対策: パーティションリサイズ(LVM操作)はリスクが高いため、Dockerのデータ保存先(data-root)を /home 配下へ物理的に移行して解決します。

さっくりとした手順

  1. 現状を確認し、サービスを停止します。
  2. Dockerの移行ディレクトリを作成します。
  3. rsyncを用いて安全にデータを移行します。
  4. Dockerの設定ファイルを変更します。
  5. Dockerサービスの再起動を行います。
  6. 設定変更を確認します。

現状の確認とサービスの停止

まず、現在のDocker設定とディスク使用量を確認し、Dockerサービスを停止します。

  • Dockerの保存先確認
docker info | grep "Docker Root Dir"

(デフォルトは /var/lib/docker)

  • Dockerサービスを停止します。
sudo systemctl stop docker docker.socket
  • Dockerサービスの停止を確認します。
systemctl status docker

inactive(dead)を確認します。

移行先ディレクトリを作成します。

大容量領域(今回は /home 配下)に新しい保存用ディレクトリを作成します。

  • ディレクトリ作成
sudo mkdir -p /home/docker/data

データの移行(最重要)

既存のイメージやコンテナデータを保持するため、rsync を用いてデータを同期します。
cp コマンドよりも、権限やタイムスタンプを正確に保持できる rsync を推奨します。
rsyncはRocky9に最初から入っているコマンドです。

  • /var/lib/dockerの中身を、新ディレクトリへコピー
sudo rsync -aqxP /var/lib/docker/ /home/docker/data/

-a: アーカイブモード(権限等を保持)
-x: ファイルシステム境界を越えない
注意: コピー元のパス末尾に / を付けることで、ディレクトリそのものではなく「中身」を転送先に展開します。

設定ファイルの変更 (daemon.json)

  • ファイルのバックアップを取ります。(凄く重要)

何かあったときの切り戻しのため。特に、後述するjsonの編集をミスると地獄行きの通過駅無しの特急が待っています。

sudo cp -pi /etc/docker/daemon.json /path/to/backup/directory/daemon.json.$(date +%Y%m%d)
  • ファイルのバックアップをdiffで取ります。
sudo diff -u /path/to/backup/directory/daemon.json.$(date +%Y%m%d) /etc/docker/daemon.json

一般ユーザが読み取れないディレクトリ構造も考慮して、念のためsudoをつけます。

→ エラーがなければバックアップ成功。ここでコピー元とコピー先を逆にしているのは編集後のdiffを取るためです。

  • Dockerに新しい保存先を認識させるため、/etc/docker/daemon.json を編集します。(エディタは宗教問題のため、自分の教義・信仰に沿ったものを利用してください)

変更例:
data-root オプションを追記します。
JSON形式のため、行末のカンマ(,)の有無に注意してください。

{
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    },
    "data-root": "/home/docker/data"
}
  • 編集後の差分をdiffで確認します。
sudo diff -u /path/to/backup/directory/daemon.json.$(date +%Y%m%d) /etc/docker/daemon.json

以下のようになっていることを確認します。

-     "data-root": "/var/lib/docker"
+     "data-root": "/home/docker/data"

サービスの起動と確認

Dockerを起動し、設定が反映されているか確認します。

  • Dockerサービスを起動します。
sudo systemctl start docker
  • Dockerサービスの起動を確認します。
systemctl status docker

active(running)を確認します。

  • 設定反映の確認
docker info | grep "Docker Root Dir"

=> Docker Root Dir: /home/docker/data となっていれば成功です。

不要データの削除(任意)

動作確認後、元の /var/lib/docker を削除または退避させて、ルートパーティションの空き容量を回復させます。

安全のため、バックアップを取るか慎重に削除してください。この作業を行うときは深呼吸を3回ほど行い、飲み物を飲むなどして落ち着いてから行いましょう。

sudo rm -rf /var/lib/docker

結果

本対応により、ルートパーティションの圧迫が解消されました。

Before:

Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/rl-root   70G   70G   20K 100% /

After:

Filesystem           Size  Used Avail Use% Mounted on
/dev/mapper/rl-root   70G  6.0G   65G   9% /
/dev/mapper/rl-home  6.9T  198G  6.7T   3% /home

トラブルシューティング

  • SELinux: 起動に失敗する場合、SELinuxが非標準ディレクトリへのアクセスをブロックしている可能性があります。一時的に setenforce 0 で切り分けを行うか、適切なコンテキストを設定してください。
  • JSON構文エラー: daemon.json の記述ミス(カンマ忘れなど)があるとDockerが起動しません。編集後は慎重に確認を行いましょう。

IDEA SPHERE 『前任者の罠を解除せよ』使い手の意図を読み解く

再掲しますが『ハリー・ポッターと賢者の石』のオリバンダー翁の言葉

The wand chooses the wizard, Mr. Potter. It's not always clear why.
「杖が魔法使いを選ぶのです、Mr.ポッター。何故そうなるかは、はっきりとは分かりませんが」

これをまたもや引き合いに出し、「前の魔法使いを選んだ杖」をどう制御したかというお話です。

降ってわいた幸運

本当に些細なきっかけで「カメラの引き取り手を探している人がいる」という家族からの依頼に二つ返事。

「まぁ、何らかの収穫はあるだろう」程度の認識でしたが、その認識を遙かに上回るものがありました。

OLYMPUS E-P5 レンズ付き。

一瞬、自分の目を疑いました。というか三回ぐらい確認しました。

空き箱だけかと思えば

  • レンズ
  • バッテリー
  • 充電セット
  • オプションストラップ
  • カメラカバー
  • カメラケース

と、メモリーカードを除く全てがそこにありました。

筆者はその後継であるE-P7を使っていますが、その前々モデルは眠気も一週間の疲れも吹っ飛ぶものです。

試し撮りの違和感

早速、試し撮りを行いますが、大きな「?」がつくもの。普段のフィギュア撮影を鑑みても

「何かが違う。このレンズ、ここまでズームしないはず」
「なんでこんなにブレるんだ? (15年ぐらい前に買った)E-PL1でもここまで揺れないぞ?」

が最初に思ったこと。広角なのにやたらとズームしている。標準レンズとほぼ同等の60mmがやたらと近い。マイクロフォーサーズの距離感は体で知っているのに、その体感が「明らかに違う」と見て取れるもの。

では、故障か? それはあり得ません。傷一つ無いボディにレンズプロテクターと純正アクセサリ。そしてボロボロに読み込まれたマニュアルは「大切に扱われた代物」という明白なサインです。

そこで、検証を行います。

設定の見直し

設定の中に答え(というか前の持ち主が残した罠)の一つがありました。

それは「デジタルテレコン(カメラ内部でズームする機能)がOn」になっていたという罠。

これを解除して、ようやく見慣れた画角が蘇りました。これを伴って、終わりつつある紅葉を撮りに出かけます。

屋外での検証結果

冬の澄み切った空気での撮影は成功。特に広角レンズの描写力には感動です。紅葉の赤と青空がしっかり決まっています。

これで満足……という訳にはいきませんでした。

カメラからの挑戦状

さて、撤収するかと言うときに、カメラが語りかけるような「声」が聞こえてくるかのようでした。折しも作業用に見ていた『アカギ』の盲目の裏プロ、市川のこの言葉が引っかかったのです。

「まだ半分しか済んでない そうだろう?
 君はわしに向けて引き金を引いた……
 ならば自分に向けても一度引くべきだ
 それでこそ この場は丸く収まろうというもの……
 違うかい? アカギくん…………」

つまり「撮ったときのもう一つの違和感」である「ブレ」を確認しなければならないという、もう一つの決定的な違和感です。

この、カメラ自身からの挑戦状に等しい検証として選んだのが、筆者がよく訪れる葛西臨海水族園。

  • 格段に落ちる光量
  • 動く被写体
  • 多種多様な光源

と、カメラの「ストレステスト」には十分すぎる条件が揃っています。

見つけたカメラの「枷」

水槽を前にして、泳ぐ魚で撮影しましたが:「やはりシャッタースピードが遅くてブレる」でした。念のため、携行していたE-P7は問題なく撮影できます。レンズを差し替えてもです。

  • 屋外では問題なく撮影できた
  • 屋内では真価を発揮できない
  • デジタルテレコンはオフにした

ここで考えられる状況は何か? と、液晶を確認し、一つの決定的な答えを見つけました。

「そういえばISOが全然変化していない!」

です。光量が格段に落ちる屋内。ましてや水族館。ここで求められるのはISO1600を超える超高感度です。マニュアル撮影ならいざ知らず、Pモードでのこの光量はもはや何かの異常……

ではなく「カメラの設定」で、ISOが固定されていたという、もう一つの「枷」を見つけ、それを解放。

結果は歴然。そうして撮影した写真がこちら。「やはりこのカメラは大切に使われていた」という確信を持てました。

思ったこと

「この罠には気づかなかった」というよりも

「なぜ、前の持ち主はこういう設定にしていたのか?」です。おそらく、

  • 三脚大前提
  • スタジオのような強烈な光のもと
  • 細かいものを撮影する

運用をしていたのでしょう。前述した「杖が魔法使いを選ぶ」とは、「杖(カメラ)が魔法使い(使い手)の好みに合うよう、設定で最初からこうなった」と考える方が自然です。

なので、道具というものは、使い手の意志に沿って成長していく。それこそが、オリバンダー翁の言う

「 It's not always clear why / 何故そうなるかは、はっきりとは分かりませんが」

のwhyの正体だと思いました。

時間のROIを測ってみよう(IDEA SPHERE)

投資やらなんやら色々と言われている中、「自分への時間」という投資はしているでしょうかという話。

ROI (Return on Investment/投資利益率)とは?

ビジネスやITでも取り入れられている「投資効率」を測る指標、ROI (Return on Investment)。

これは、投じた費用に対してどれだけの純粋な利益が得られたかを測る指標です。この数値が高いほど、投資の効率が良かったことになります。

計算式は極めてシンプル。

ROI(%) = 純利益 ÷ 投資額 × 100

ROI計算の具体例

例えば、1,000万円の売上を得るために、投資額その他の費用を合わせて800万円かかったとします。この場合の純利益は 1,000万円 - 800万円 = 200万円 です。

200万円 (純利益) ÷ 800万円 (投資額) × 100 = 25

つまり、投じた金額に対して25%の利益が得られたという計算です。

応用:時間のROI(Return on Investment)

このROIの概念、お金だけではなく時間にも適用できます。

  • この作業は面倒だから後回しにしよう
  • 当日できる作業だから

と後回しにしがちです。ですが、これは「機会損失」や「未来の時間の質を下げる」リスクを伴います。

ユースケース:弁当の手間

筆者は弁当を毎朝作っていますが、その中でも厄介なのは「食材の下ごしらえ」です。肉と魚は言うに及ばず。野菜も結構な下処理が発生します。

ある日(といっても先週の土日ですが)大量のキャベツをもらったので、これを「時間の投資」と考えてみます。

さっくりとしすぎた手順

  1. キャベツをざっと洗う
  2. かなり適当に切っていく
  3. チャック式バッグに詰める
  4. 他に野菜があればマッチベター。

こうしてできたのがこちら。

この下ごしらえで得たROI(Return on Investment)

この、野菜の下処理は休日の夕方という、最もやる気が出ない時間に「せめてこんだけやっておくか」と、20分ほどの手間をかけて実施。

ですが、これで得られる時間は、少なく見積もっても「平日5日につき10分の時短」が見込めます。

なぜなら、

  • 作業を中断して野菜を切ったりまな板・包丁を洗うスイッチングコスト
  • 道具の出し入れと、シンク洗いなどの細かいオーバヘッド

を一気に解決。冷凍状態であっても、冷凍庫から袋を取り出して中身を鍋やフライパンに入れれば一発です。

それ以上に大事なのが

  • 「平日の朝」という、最もSAN値(精神力)が削られやすい時間帯における「判断コストの削減」

が見込めます。

では、そのROIを改めて見てみましょう。

  • 投資額: 20分
  • 総削減時間: 5日 × 10分/日 = 50分
  • 純粋なリターン(利益): 50分(総削減) - 20分(投資額) = 30分

リターンとして得られた時間は単純計算で30分です。

30分 (純利益) ÷ 20分 (投資額) × 100 = 150

なんと、そのROIは150%!これは、『桃太郎電鉄』の高効率物件とされる出雲そばが、独占ボーナスを考慮しない場合の年間収益率(50%)と比べても、その効率の良さが歴然としています。

「タイパ」とやらは時短だけではない

さて、翻り、ここ数年の「タイパ」」とやらの手法は、筆者は苦手です。

  • 倍速再生:論外です。役者のリズムや間の取り方、BGMと言った「芸術」が損なわれるからです。
  • 切り抜き動画:便利ではありますが、「切り抜いた者のバイアス」に囚われます。これは自分の判断力をいざというときに頼ることができません。
  • ながら再生:時と場合により。歩きながら等は自らの命が危険です。

なので、「多少の一時的な損失が、後のリターン」となって返ってくるのであれば、それは「必要経費」として支払う必要があるというお話。

余談

その一種のROIとして最も秀逸な例が『ハリー・ポッターと賢者の石』。

最終盤、寮杯ポイント、優勝確実だったスリザリンと160点のビハインドがあったグリフィンドールは三人組の活躍で立て続けに160点を獲得。

しかし、最後の一押しとなったのはネビル・ロングボトムへの10点でした。

この、「友に立ち向かう勇気」という、ダンブルドア校長の「ささやかな投資」が彼の自信という自己肯定感を涵養し、後の

  • ダンブルドア軍団のサブリーダー
  • 特にハリー不在時の精神的支柱
  • 最強の分霊箱「ナギニ」討伐
  • 10数年後の薬草学教授

として返ってきたのです。「この程度の投資」と軽視しても、適切に行えば莫大なリターンになってくると言う

「お前、最後のそれが言いたかっただけだろ」

という突っ込みに「Exactly」と答えて本稿は終わりにします。

RHEL系LinuxサーバにRTX 6000を認識させる。

※昨今のトレンドである「GPU前提のLinuxサーバ」つまり、AI環境に必須の

  • データセンタークラスのGPU
  • それをRHEL系Linuxに認識させ
  • 更にDockerというトレンドでも動かす

という難易度が高く――そして、インフラ屋にとって極上の素材を得る経験がありました。

そのときのメモです。(氷見の本マグロを捌くことになった調理師のような気分でした)

“逸般”の誤家庭的な環境

まず、これを一般家屋に置くと言うことはないでしょう。

  • OS:
    • Rocky Linux 9.x (Minimal Install)
  • Kernel:
    • 5.14.0-x (RHEL 9 Standard)
  • GPU:
    • NVIDIA RTX 6000 Ada Generation x 1
      • →2025/12/06時点でもちょっとした軽自動車が買えるやつです
  • Driver:
    • NVIDIA Driver 590.xx (Open Kernel Module)
  • Container Runtime:
    • Docker CE 27.x + NVIDIA Container Toolkit

前提環境の整備

  1. OSインストールを行います。(Rocky Linux Minimal)
  2. ネットワークの設定を行います。
  3. dnf updateを済ませます。

NetworkManagerによるネットワーク設定

固定IP化および自動接続設定を行う。

  • 接続プロファイル名の正規化 (デバイス名と合わせる)
sudo nmcli connection modify "Wired connection 1" connection.id eno2
  • 固定IP設定
sudo nmcli connection modify eno2 ipv4.addresses xx.xx.x.x/16
sudo nmcli connection modify eno2 ipv4.gateway Gateway IP
sudo nmcli connection modify eno2 ipv4.dns "DNS1 DNS2"
sudo nmcli connection modify eno2 ipv4.method manual
sudo nmcli connection modify eno2 connection.autoconnect yes

→ これをやっておかないと、再起動したときにNW設定が消えます。

  • 設定反映
sudo nmcli connection up eno2

システム更新とリポジトリ適用

RHEL 9 系でサードパーティ製パッケージを入れるため、これは必須です。特に、CRB (CodeReady Builder) の有効化を忘れると依存解決ができず、高性能GPUを認識させることができません。

  • dnf全更新
sudo dnf update -y
  • サーバ再起動
sudo reboot

→ カーネルアップデートも含まれるため。

  • CRB有効化 (旧 PowerTools)
sudo dnf config-manager --set-enabled crb
  • EPEL導入
sudo dnf install epel-release -y

NVIDIA Driver の導入

ここまで来たらいよいよ本命。(先のマグロの例に例えると、いよいよマグロの身に刃を当てていきます)

【重要】 RTX 6000 Ada はプロプライエタリ版ドライバではなく、Open Kernel Module (open-dkms) を要求します。これに気づかずハマりかけました。

依存関係の解決とリポジトリの導入。

  • 開発ツールの導入
sudo dnf groupinstall "Development Tools" -y
  • カーネルヘッダの導入
sudo dnf install kernel-devel-$(uname -r) kernel-headers-$(uname -r) -y
  • NVIDIA公式リポジトリ (RHEL9用) 追加
sudo dnf config-manager --add-repo https://developer.download.nvidia.com/compute/cuda/repos/rhel9/x86_64/cuda-rhel9.repo

旧ドライバ/競合の排除

以前のインストール試行や(ハマったところ)、OSに入っているであろうGPUドライバを取り除かないと詰まります。

  • nvidia dkmsドライバのアンインストール
sudo dnf remove nvidia-driver kmod-nvidia-latest-dkms -y
  • nvidia dkmsドライバのリセット
sudo dnf module reset nvidia-driver -y

Open Kernel Module 版のインストール

  • dnf module機能を使って open-dkms ストリームを指定してインストール
sudo dnf module install nvidia-driver:open-dkms -y
  • サーバ全体を再起動してカーネルモジュールをロード
sudo reboot

ドライバ動作確認

nvidia-smi

-> `Driver Version: 590.xx / GPU Name: RTX 6000 Ada / VRAM: xxGB が表示されることを確認します。

コンテナ基盤の構築

筆者はコンテナが好みではないのですが、それはそれです。相手のオーダーに答えるのもまたお仕事。

Docker CE のインストール

ここではpodman ではなく Docker CE を採用しました。

  • Docker CEレポジトリ追加
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • Docker CEインストール
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
  • Docker 自動起動有効化
sudo systemctl enable --now docker
  • 現在のユーザをDockerグループに加える
sudo usermod -aG docker $USER

NVIDIA Container Toolkit の導入

DockerコンテナでGPUが見えないと、せっかく「Dockerを入れろ」というオーダーが無になります。

  • Toolkitインストール
sudo dnf install nvidia-container-toolkit -y
  • Dockerランタイム設定 (daemon.jsonの更新)
sudo nvidia-ctk runtime configure --runtime=docker
  • Tookit/ランタイム反映
sudo systemctl restart docker

動作確認 (パススルーテスト)

コンテナ内部から GPU が見えるか確認します。

sudo docker run --rm --gpus all nvidia/cuda:12.4.1-base-ubuntu22.04 nvidia-smi

成功時、コンテナ内からホスト同様の nvidia-smi 結果が出力されれば動作完了です。

追加要素:最新トレンドに合わせた開発環境の用意。

言語ランタイム (Modern Runtime)の導入

OS標準を汚さず、最新の開発環境を整備する。

  • Node.js 22+:
    • NodeSourceリポジトリより導入。これは割愛です。(どっかしら探せば出てくるので)
  • Python 3.12:
    • Rocky Linuxは3.9。しかも、OSの核となっているプログラムなので、ソースコードを用いて altinstall (共存インストール) しないとサーバそのものが吹っ飛びます。

※実行例

  • 開発環境導入
sudo dnf install -y openssl-devel bzip2-devel libffi-devel zlib-devel readline-devel sqlite-devel tk-devel xz-devel
  • ソースコードダウンロード
wget https://www.python.org/ftp/python/3.12.8/Python-3.12.8.tgz
  • ソースコード展開
tar xzf Python-3.12.8.tgz && cd Python-3.12.8
  • ソースコードconfigure(最適化オプション)
./configure --enable-optimizations
  • CPUコアフルに用いての高速メイク
make -j $(nproc)
  • altinstall
sudo make altinstall

altinstallを入れないと上述したようにサーバが吹っ飛びます。

トラブルシューティング (Tips)

以下のエラーに出くわしたときの原因と対策です。

  • NVRM: requires use of the NVIDIA open kernel modules:
    • 原因: Ada世代のGPUに対し、従来のプロプライエタリドライバを入れたため。
    • 対策: dnf module install nvidia-driver:open-dkms を使用しました。
  • Secure Boot:
    • ドライバ導入前に BIOS/UEFI で Disabled になっていることを確認すること(署名周りのトラブル回避)。

RHEL系サーバ、実物環境下でのネットワーク設定

はじめに

GUIが多くなったとは言え、Linuxサーバは基本的にCLI(コマンドライン)・SSH接続によるリモート操作が基本です。この、CLIの環境下でのネットワーク設定という基本のメモです。

環境とやったこと

極めてよくあるユースケースです。即ち

「サーバ実機はこれである。ひとまず組織内(社内)ネットワークにつなげ」

という指令への対処。

  • 物理サーバ
    • 今回はVPSではありません。実機です。
    • その大きさ、重さを知るのもインフラ屋の醍醐味です。
  • Rocky Liunx 9.x
    • (RHEL系フォーク、ミニマルインストール)
  • ローカルNWにサーバのIPを割り当てる。
  • NW設定を有効化する。
    • 固定IP。クライアントならいざ知らず、サーバ運用は固定IPであるべきです。
    • IP: 172.xx.xx.xx/16 (/16はサブネットマスク255.255.0.0を意味します)
    • GW: 172.xx.254.254 (※これはあくまでも例です)
    • DNSサーバ/ドメイン:ローカルで定められているもの。

さっくりとした手順

ではありますが、かなり慎重に書いています。

  1. RockyLinuxサーバをMinimalでインストールします。
  2. サーバコンソールに直接ログインします。
  3. ネットワークインタフェースを確認します。
  4. nmcliによりネットワークを設定します。
  5. ネットワークインタフェースを有効化します。
  6. サーバを結線してリンクアップを確認します。
  7. 最初のdnf updateを行います。

RockyLinux 9.6インストール

インストール方法については割愛。GUI無しのMinimalをインストールします。というのも、多くのサービスが入ってしまうと、自分が管理しきれない部分が増えると共に、そこが脆弱性となるからです。

また、ここでは最初からネットワークにつなぎません。設置する組織によってはLAN接続も許可制になっているパターンが極めて多いです。(IPも指定されたものを使うというのが実情でしょう)

サーバコンソールにログイン

この段階ではrootでも構いません。何せ、物理的に言葉通りの意味で切断されているのですから。

物理ネットワークの確認

vpsと違い、最初からネットワークにつながっていません。当然、IPも振られていません。なので「どのLANポートを使うか?」から始まります。

nmcli

を実行します。これはNetwork Manager Command Line Interfaceの略であり、RHELサーバの肝と言えるネットワーク設定コマンドです。(普段Ubuntuサーバを使う筆者は少々混乱しました)

筆者環境では

  • eno2
  • eno3

がありました。ここではeno2を確認していきます。

ネットワーク設定

  • 現状確認
nmcli connection show

以下のような例が出てきます。

NAME     UUID                                  TYPE      DEVICE
eno2     UUID文字列                             ethernet  eno2
lo       UUID文字列                             loopback  lo
eno3     UUID文字列                             ethernet  eno3

この、eno2というポートを使います。

  • ※例外

もし、もし NAME 列に Wired connection 1 とあり、DEVICE 列が eno2 ならば、次の手順で名前を変更します。

  • ※例外時の実施- "Wired connection 1" を "eno2" にリネーム
sudo nmcli connection modify "Wired connection 1" connection.id eno2
  • IPとサブネット設定 (CIDR表記でスマートに)
sudo nmcli connection modify eno2 ipv4.addresses 172.xx.xx.xx/16

→ 実際に指定されたIPアドレスを入力します。このとき、二重チェックで「同一ネットワーク内にIPアドレスが無いか? / 打ち間違いがないか?」を確認しましょう。被ってしまうと単純な破滅が待っています。

  • ゲートウェイ設定
sudo nmcli connection modify eno2 ipv4.gateway 172.xx.254.254

こちらも同様。別のゲートウェイを設定していないかを確認。

  • DNS設定
sudo nmcli connection modify eno2 ipv4.dns "DNS1 IPアドレス DNS2 IPアドレス"

→ DHCPと異なり、固定IPはDNSサーバを指定します。組織内では冗長性のため複数あるケースがほとんどです。

  • ドメイン設定
sudo nmcli connection modify eno2 ipv4.dns-search "組織内ドメイン"

→ 組織内ドメインで、FQDNの名前解決を効率化するため。

  • メソッドを手動にしてIPアドレス固定
sudo nmcli connection modify eno2 ipv4.method manual
  • 【重要】自動接続をONにする (これを忘れると再起動後に死ぬ)
sudo nmcli connection modify eno2 connection.autoconnect yes

→ autoconnect no の状態だと、システムが再起動した後、NetworkManagerは設定ファイルは認識していますが、その接続を自発的に起動しません。つまり、何らかの事情でサーバそのものを再起動した場合、このネットワーク設定が断たれます。即ち、あらゆるネットワークから完全に切り離されます。

ネットワーク設定の有効化

ここまで来たらいよいよサーバにネットワークを認識させます。このコマンドの前に深呼吸をして落ち着きましょう。(サーバ室/データセンターからの離席を許されるならこの段階で)

  • 再起動して設定をロード
sudo nmcli connection up eno2
  • IPアドレスの確認
ip addr show eno2

→ インターフェース eno2 に正しいIPアドレス、ネットマスクが割り当てられたか。

eno2: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
  • ルーティングの確認
ip route

→ デフォルトゲートウェイ(外部ネットワークへの出口)が正しく設定されたか。

IPアドレスが正しくても、どこへパケットを送るか(経路情報)がなければ、ローカルネットワーク外へは通信できません。

default via  172.xx.254.254 dev eno2

などの行がないと、外部環境は無意味です。初歩的ですが非常に詰まりやすいポイントです。

  • DNS設定の確認
cat /etc/resolv.conf

→ ネームサーバーと検索ドメインが設定ファイルに反映されたか。

nameserver: 設定した社内のDNSサーバーのIPアドレス(例: nameserver 192.168.1.53)が正しくリストアップされているか。
もしこれらが正しく反映されていなければ、名前解決ができず、Webサイトの閲覧やホスト名でのサーバーアクセスができなくなります。

サーバの結線

上記が確認できたら、サーバという鉄の箱を「ネットワークと通信ができる」状態へと落とし込みます。ここでも、単純ながら致命的なミスが待ち構えています。

以下を確認しましょう。

  • LANポートの接続先と接続元は合っているか?
    • 特に、LANポートの迷路とも言えるサーバ室やデータセンターではこれらを間違えると地獄が待っています。比喩的な意味では無く。
  • LANケーブルは断線が無いか?
    • 切り分けの手間を減らします。
  • ストレートとクロスを間違えていないか?
    • たまにありますが結構盲点です。

疎通確認

  1. Gatewayへの Ping:ping -c 4 172.xx.254.254
    • これが通れば、L2/L3(組織/社内ネットワークへの物理・論理接続)は成功しています。
  2. DNSサーバへの Ping:ping -c 4 [DNSサーバーのIP]
    • これが通れば、名前解決の準備OKです。
  3. 外の世界への Ping:ping -c 4 google.com
    • これで初めて「インターネット接続完了」です。

DNFアップデート

サーバ全体のLinuxシステムを「最新の状態にする」おまじないです。

sudo dnf update -y

ここでの注意点はトラフィック。大容量のデータがこのサーバに流れます。貧弱な回線ではたちまちパンクします。

Complete!と表示されたら、

sudo reboot

で物理的に再起動します。というのも、dnfアップデートはたいがいカーネルの更新も伴うからです。

この再起動後、「先ほどのネットワーク設定が活きているか? 失われていないか?」が伴い、初めてこのネットワーク設定という初歩的な設定が完了します。

ハリポタツアーでの収穫。弁当箱入れ。

ハリポタツアーでは例によって沢山の買い物をしました。

そんな中での収穫はHONEY DUKEのマドレーヌ…… に入っていた保冷バッグ。

この通り、弁当箱とスープジャーがジャストサイズ。

中身のマドレーヌは職場に提供することで、在庫管理と職場の人間関係の円滑さもちゃっかり手に入れました。

こうして得た弁当箱も、しっかり機能。冬でも温かいスープが食べられる利点も大きいです。

萎びかけた野菜の再活用。

個人的な問題ではありますが、かなり重要な問題に対処しました。

帰宅して明日の弁当をどうするかという時に、冷蔵庫の野菜室に転がっていたほうれん草……

葉の1割以上が黄色くなっていて「明日と持たず今日消費しないとダメだ」

と判断。そこで、AIの力を借りながらも、冷凍庫にある食材を利用。冷凍の塩鮭を軸に組み立てていきます。

この時に活躍したのは「レンジの魚焼き器」。

  • 冷凍から魚を焼ける。
  • 一度セットしてしまえば火加減を気にする必要は一切無し。

そして、空いた時間で野菜の下ごしらえができるという利点もあります。

特にほうれん草の直接レンジはシュウ酸/硝酸塩→亜硝酸塩への変化の危険も鑑みて、しっかりと茹でて洗って切っておきます。

そうして片面を焼いている間に野菜の下ごしらえが完了。

裏返したあとにレンジの魚焼き器の隙間にほうれん草を敷き、バターで味付け。

完成はこちら。この魚焼き器の利点の一つは、これがそのまま器になること。

  • 解凍
  • 加熱

を一手で統合です。待っている時間をただぼーっと過ごすのではなく、食器洗いやお茶の仕込みなどで効率化。

味も問題なし。

  • 塩鮭の塩気
  • ほうれん草の鉄分
  • バターの香り

という、三位一体。また、これにより、食材の廃棄という危機も回避できた次第です。

広角の練習と本番。(2025年2回目のハリポタスタジオツアー)

ふと、「広角レンズをしっかり活かす構図はないものか」と思い立ち、こんな画像を撮ってみました。

唐突に思いついたので被写体はアクキー。アクキースタンドもないため手持ちのレンズキャップで行うという間に合わせでしたが

  • 広角はもともと手前を大げさに、更に全体を撮ることができるレンズ
  • 手すりの隙間をフレームに使える
  • ぼけ味を活かせる

として、こんな形で撮影。手応えはあったと思いながら、それを活かす格好の舞台がありました。

2025年2回目のスタジオツアー

本当にひょんなことから訪れることが出来たスタジオツアー。

これらすべてを広角側で撮影。

もともと映画のスタジオはダイナミックさを活かすため、広角レンズが映えるようになっている…… と、話で聞いてみると、実際に確かめてみるとその理由がよく分かります。

最初は使い道を持て余していたこのレンズですが、方向性が見えてきました。

『ライザのアトリエ3DX』で詰まった所-1-。(サイドエピソード:ストーリー上のネタバレはなし)

『ライザのアトリエ3DX』で追加されたエピソード「それぞれの『宝』」に関するメモです。

ノーヒントは結構厳しいものがありました。

ギミック「足踏み」

マップの各所に

このような「いかにも押してくれ」というフットスイッチが今回のメインギミックです。

>に○がついたものがスタート。○がゴール。>が途中。

基本的にスタートからゴールまで「矢印がある方向に」進んでいきます。

途中に待ち受けるギミック

扉を開けるためにも

スイッチがあります。

途中のクリスタルを調べていくギミックがあります。

中には同フロアに複数のゴールとスタート

岩を壊さなくては出てこないギミックまであります。

その他メモ

  • 調合、採取はありません。
  • 途中で出てくるボスは恐らく勝てないステータスです。無視しましょう。
  • 敵と戦ったところで旨味はありません。

ライザのアトリエ3(DX)素材によるステータス(パラメータ)上昇で、初期武器を強化。(シナリオに絡まないネタバレあり)

ライザのアトリエ1~3(DX含む)はアトリエの伝統「調合時に材料を投入することでパラメータが上昇するというフィーチャーがあります。

そこで、ちょっとした実験です。

最初に装備されているアイテムを

  • 作法に則り
  • 厳選素材で

調合・リビルドしたらステータスはどこまで上がるのか?

この、ゲーム開始時に装備されている「錬金術士の杖」で実験です。

ステータスは

  • 攻撃力8
  • 素早さ3

と、「何故前作/前々作で作った最高の武器がこのステータスになっているのか」と腑に落ちないレベルですが、図鑑で

クーケン島での平和な生活に強い力は必要ないため、オシャレさに力を入れて作った

と明言されているので致し方なし。「なら、オシャレさと強さの両方を」という形でリファインです。

真・錬金術士の杖への路

  • 調合

調合メニューから錬金術士の杖を選択。

インゴットを投入します。

  • 装備作成 攻撃+3
  • 装備作成 防御+3

が備わっています。

グランツオルゲンを投入回数リミットまで入れていきます。(煩雑な手順を踏みますが、序盤から調合は技術的に可能です)

  • 装備作成 全能+6
  • 装備作成 攻速+7

を持っています。また、特性として

  • 全能力強化++ 99
  • 攻速強化++ 99
  • 攻防強化++ 99

は嗜みとして選んでいます。

この時点で

  • HP 54
  • 攻撃力 128
  • 防御力 57
  • 素早さ 120

と、大幅に上昇。

そしてリビルドした数値は

  • HP 104
  • 攻撃力 378
  • 防御力 207
  • 素早さ 270

と上昇。「平和な生活」の終わりを告げるには十分な強さへとリファインされました。

おまけ

シリーズにつきものの「前作の最強武器は何故弱くなったのか」に対して、『ライザのアトリエ2』では

ちなみに、前に使っていた杖はなくした

という、ライザらしい説得力で担保されました。

Page 3 of 278

Powered by WordPress & Theme by Anders Norén