Proxmoxでサーバ構築

イメージ
これまでテスト用にi5第8世代の廃棄PCを使用してきた。 とはいえ今の所何も問題は起きていないが、入れ替えも視野に入れ予備サーバを用意することに。 - メモリ:16GB - SSD:500GB - DDNS+Let's Encrypt - Ubuntu24.04 この環境なので、すぐに構築し直すことは可能だが、とりあえずこのまま置いておいて別のサーバを立てることにする。 最初はRaspberryPiで構築しようと思ったけれど、本体電源+外付けHDD電源+ディスプレイ電源と考えると、邪魔なので廃案。 そこで廃棄しようと思っていた「Lavie NS300/N」が手元にあったので、これを利用することに。 一応バッテリーは正常に動作するので、UPS代わりにそのまま。 - Core™ i3-8145U(やや非力) - メモリ:8GB(少ないが…) - HDD:1TB なので、これまで使用しているものより、若干スペックダウン。 ただ用途は、非常勤で教えに行っている専門学校生用の練習マシンとする予定なので、まぁ問題なさそう。 Proxmox導入 直接、Linuxを導入してもよいのだけれど、今回は Proxmox を導入し、その上でUbuntu Serverを動作させる計画。 USBにProxmoxのイメージを焼いて、インストールすれば問題なく完了。 ただ、現在のバージョンはdebian - trixieがベースになっているので、若干参考になるサイトが少なめ。とはいえ旧版のは参考になるので調べつつ… HDDなだけあって、最初の起動は少し遅いものの、立ち上がってしまえば問題ない。 さぁ、VMにするかCTにするか…。 GUI使うのであれば、VMかなぁ。サーバだしCTでいいかぁ。 という程度の選定で、CT(コンテナ)で進めることに。 - メモリ:4GB - CPU:2 - HDD:20GB(root disk) - HDD:400GB(home用) - Ubuntu24.04 という構成で進めることにした。 テンプレートを用意して、初期設定を行い起動。 まぁすんなりと入った。 液晶を閉じたら、Suspendになってしまったので、若干設定変更。 $ sudo nano /etc/systemd/logind.conf HandleLidSwitch=ignore $ sudo sy...

p2vでの仮想化完了

Redhatからのデータ

リプレイスのためのサーバ上のディスクデータは、吸い出すことが出来た。
今度は、このデータを元に仮想環境で動作させることになる。

前回の作業で、/bootには問題が多々あり、データ領域として利用している部分しか完全には吸い出せていない。

このディスクを展開すると、80GBかっちりありました。(これはかなり時間かかりました)
しかし、カーネルだとか、起動用のイメージなどが無いわけで、swapもない。
むむむ、どうしようか思案。

Redhat環境を構築

そこで、まずはRedhat 9を起動できる環境を作成する。
探してみると、さすがオープンソース。未だにCDイメージが配布されている。3枚構成なのですべてダウンロード。

適当なHDDサイズを可変で作成して、インストール。
何も問題なく、起動まで進む。

今度は、吸いだしたデータディスクをmountし、ここに/bootなどを作成し、インストールしたばかりのディスクから、コピーする。

この吸い出したディスクからブートしてやれば、今まで通り動くのでは?という発想。
ただし、swapはパーティションを切り直す必要があるので、それはしたくない。

ということで、可変で新規に作成したDiskのswap領域だけは、そのまま利用することにする。
つまり、こんな感じ。
hda1・・・/boot
hda2・・・/swap
hda3・・・/
hdb1・・・旧サーバの/(/boot以外)

だったのを、
hda1・・・使用せず
hda2・・・swap
hda3・・・使用せず
hdb1・・・/
この状態で、ブートイメージはパーティションにせず、hdb1内にコピーした/bootを利用する。

この設定をgrubを利用して設定する。
実際にmountして、ディレクトリを確認すると、ちゃんと見えているのに、起動すると、思い通りにならず、使用しないはずの領域を利用して、起動してしまう。
調べてみると、/etc/fstabの内容がこんな風になっている(デフォルト)

LABEL=/  /  ext3 default 1 1
LABEL=/boot /boot ext3 default 1 2

これは、ドライブ構成が変わっても、記述を変えなくても良いようになっているわけだが、LABELを使用しなければ、/dev/xxxと記述すべき所。

分かりました!!
最初に作ったパーティションにラベルが設定されているのが、原因ですな。
# e2label /dev/hda1 ""
# e2label /dev/hda3 "" 
として、LABELを削除する。
これで、再起動すると、grubの設定通り起動してくれるようになった。

fstabを書き直すのもありだけど、実際と異なるLABELが残っているのは気持ち悪いので、良しとしよう。

ネットワークが認識しない

起動して動いたなと思ったら、NICが動いていない。
ifconfigで確認するも、eth0自体無い。

dmesgやsyslogを見ると、どうやらモジュールが読み込めていない。
modprobeしても、ダメだと言われる。

よく調べたら、古いサーバのboot内はvmlinuz-2.4.20-8/initrd-2.4.20-8.imgを利用しているのだけれど、moduleは20-6の物しか置いていない。

どうやら、前の担当者はkernelのみ新しいものに置換えたらしい。
でもって、環境が変わってNICが異なるため、モジュールを読み込もうとするけれど、kernelのバージョンと合わないため、読み込めないらしい。

ということで、さっきインストールしたばかりのディスクで立ち上げ、/lib/modules/以下に2.4.20-8フォルダをコピーする。

再度、ディスクの設定をして、起動する。
# modprobe e1000
OK無事に、NICを認識した。
ifconfigでupして見る。DHCPからIPを拾ってきている。

あとは、サーバの時と同じIPを固定で割り振り、起動時にeth0がupするように、設定しなおして完了。

はぁ、書くとすんなり行ったように見えるかもしれないけれど、結構泥沼にハマった感じで、苦戦しました。

見えるはずのものが見えないとか、動くはずのものが動かないとか…。

最近、こんな泥臭い作業をあまりしていないので、疲労しましたゎ。
実質3時間ほど、設定だけにかかりました。トホホ。

でも、思い通りに動いた時は、「やった!」と声を出してしまいましたが…。



 

コメント

このブログの人気の投稿

Ubuntu24.04 でGUIが死んだ

VirtualBoxが異常

MEGAにも弱点があった?