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...

M1 Macの仮想マシンでUbuntu

 M1 Mac速いけどまだ足りない…

M1 Chip搭載のMacbookProを入手して、いろいろとテストしている。

確かに速い!メモリ8GBで苦しいんじゃ?と思ったけど全然そんなことないし、Intelの16GB相当と言えるような感じ。

バッテリーの持ちも本当に良いし、ZoomやSkypeを使うときはメインマシンとなっている。

さて、今回はこれまでx86対応が遅れている箇所を検証してみた。


目的はM1 Mac上に仮想環境を構築し、その中でLinuxを動作させること。

VirtualBoxが動作しないので、他に方法はないのかと探してみると、OpenSource Base(QEMUを使用したもの)で、UTMというのが存在することがわかった。



しばらく、OSXから離れていたので、情報不足でした。
そこで、こいつを使用して構築を試みる。

intel系のコードの場合、rosset2が変換して動かすものの、初期変換に時間がかかることと、ドライバ等は正常動作しないことが多い。

仮想マシンは、M1のnativeで動作させたいので、以下の方針で進める。

  • 仮想マシンはArm64 CPUとする
  • OSは、Arm64に対応したもの
  • できれば、使い慣れているUbuntuもしくは他のLinux
色々と探してみると、すでに同じ構成でのレポートがあった。
参考にしたのは、「第672回 UTMを使ってM1 Mac上でUbuntuを動かす」だ。


UTMのインストール

これは、どのインストール方法を選択するかで、変わってくる。自分のマシンはHomebrewを導入済みなので、当然brewでインストールする。
(https://github.com/utmapp/UTM/releases/tag/v2.1.2)

$ brew update
$ arch -arm64 brew upgrade
$ arch -arm64 brew install --cask utm

何の問題もなく進む。
brewを使用していない人は、dmgを落とすか、AppleStoreで有料購入できるらしい。

仮想マシンの構築

さて、UTMを起動して、仮想マシンを作成する。
メモリは8GBしかないので、とりあえず3GB割り当てることにした。
Ubuntu程度なら、2GBでも充分動くけど、快適に動かせるように少し余分に…。

UbuntuのISOイメージはArm64のサーバ版を落とす。
(ubuntu-20.04.2-live-server-arm64.iso2)

Arm64のDesktop版は存在していないようなので、あとから日本語関係、デスクトップ関係を入れることにする。

光学ドライブの設定だけ、最初戸惑ったが、Removable Driveを選択さえすれば大丈夫。
電源を入れると、見慣れたBoot画面が続きCUIでのインストールができる。

設定項目は、GUIとそれほど変わらないし、Server版を入れたことがあれば、戸惑うところはない。
インストールが完了して、ログインできれば最初のステップは完了。

デスクトップ環境の構築

ログイン後、そのまま以下を実行。

$ sudo apt install tasksel
$ sudo tasksel install ubuntu-desktop

これで、作業完了。
先のサイトでは途中で止まったりすることがあるとのことだが、何の問題もなく完了した。

このまま再起動する。


しばらくすれば(ほんの数秒だけど…)いつもの見慣れたログイン画面が表示される。
ここまで来れば、もうしめたもの。楽勝です。


あとは、細かな設定を行えば完了。(図はすでに日本語環境導入済み)
  • タイムゾーンの設定
  • 日本語環境の導入
  • 必要なアプリケーションのインストール

問題点

  • GPUが機能しない
    • まぁ、開発に使うのであれば全く問題ない速度で描画できている。
    • ゴリゴリにゲームを行いたい人には、厳しいかも…。
  • ネットワークがNATしかない
    • bridgeが使用できれば楽なんだけど、仕方ない。
    • サーバとして使用するならポートフォワードを設定してやることで、一応利用できる。
    • クライアントとして使うだけならNATで問題なし。
  • 一部のキーが効かない
    • これは、本当に困った(後述)

と、いくつか問題点はあるが、大きく問題になるのは最後のキーバインドがおかしいことだ。
それ以外は、使い方の問題でなんとかできる部分なので、注意すれば良いだけだ。

キーバインドを変更する

まず、一番の問題は、パイプ[|]が効かないこと。
コマンド操作するのに、これがなければ意味がない。
もちろん、毎度temporarily fileに落として、それを喰わせることで、なんとか回避はできる場合もあるが…。

2つ目は、[_]が効かないこと。
これは、ファイル名や変数名に多用するので、使えないのは厳しい。
とりあえず、ホスト側とゲスト側のクリップボードは共有されるので、一旦Mac側でコピーして、貼り付ければ入力できなくはないが、不便すぎる。

まずは、調査から…。

$ xev

で反応を見る。
すると、[¥]キーは、[⌘command]キーと同一の扱いになっているようだ。
[ろ]キーは完全に無視されている。

一応、キー設定の問題かもと思い、対応しそうなキーボードを全て試したがダメだった。

$ sudo dpkg-reconfigure keyboard-configuration

続いて、X環境で切り替えられないかと思い、キーボードのレイアウトを変更してみる。
もう、手当たり次第設定し確認し、試してみたが…。
$ setxkbmap -print -verbose 10
$ setxkbmap -layout jp
$ setxkbmap -print -verbose 10
$ setxkbmap -model macbook78
$ setxkbmap -print -verbose 10
$ setxkbmap -model macbook79
$ setxkbmap -model apple_laptop
$ setxkbmap -model apple
$ setxkbmap -print -verbose 10
$ setxkbmap -model macbook79
$ setxkbmap -print -verbose 10
$ setxkbmap -layout jp
$ setxkbmap -print -verbose 10

まったくだめだ…。

で、あちこち探してみるが、もっとも関係ありそうなのがQemuのバージョンによる不具合らしい。UTMが使用しているQemuのバージョンが上がれば自然に解消しそうだ。
とはいえ、キーが使えないのは不便なので、どこかに割り当てることにする。

キーバインドの変更

xevで調べているときに、shift+[0]に「~」が割り当てられていた。
キートップ上は何も割り当てがないはずなのに…。
しかも、shift+[^]にも「~」の割り当てがあるので、ダブっている。

そこで、shift+[^]を押したときに、[|]を出力するように変更する。
もう一つの、[_]は、空いているキーがないので、shift+spaceに割り当てることにした。

$ xmodmap -pke > .XmodmapNow

と、現在の設定を一旦ファイルに吐き出す。
これを、参考にエディタで編集して読み込ませれば、完了。

$ nano .Xmodmap
と親近ファイルを作成し、先のファイルを参考に関連する項目を作成する。

keycode  21 = asciicircum bar equal plus
keycode  65 = space underscore space

最終的には、上記の2項目のみで完了。

$ xmodmap .Xmodmap

と実行することで、設定が反映される。
これを、手入力するのはだるいので、key.shに書き込んで実行させることにした。

本当は起動時に実行させても良いのだけど、今後バージョンが変わることを期待して、必要に応じて実行することに…。
まあ、1度実行するだけなので、手間ではない。

これで、仮想マシンないのCUIでも気持ちよくコマンド入力ができるし、エディタでも入力ができるようになった。

使用感

ちなみに、仮想マシンの操作感は、びっくりするぐらい快適。
メインマシンのUbuntu(仮想ではなく直インストール)で使用しているマシンより、早く感じる部分もあって少々驚いている。

MacOSを入れなくても、Arm版をそのまま入れれば、驚くほど快適になりそうで、その誘惑にいつまで我慢できるか…。



コメント

このブログの人気の投稿

Ubuntu24.04 でGUIが死んだ

VirtualBoxが異常

MEGAにも弱点があった?