banner
Kerronex

Kerronex

兴趣使然,一个随手记笔记本

小型サーバーを購入することに決めたとき

当然は All in boom のために使います,
PVE + OpenWrt + 黒群晖 DSM + Windwos10 + Ubuntu + Docker + HAOS
そして亡命者は直接 RAID0 に行きます!!

PVE のインストール#

公式サイトから ISO イメージをダウンロードします。私は Ventoy を使ってブートしていますが、書き込みツールを使って ISO を直接 U ドライブに書き込むこともできます。最初は loading で止まってしまいましたが、Ventoy のバージョンが古かったため、アップグレードしたら正常になりました(フォーマットは不要です)。

PVE のインストールに関するチュートリアルはたくさんありますが、特に注意すべき点はありません。IP を正しく書けば問題ありません。

参考動画: PVE 仮想マシンを利用して、自分だけの All In One システムを作りましょう!

PVE インストール後の便利なツール 2 つ:

https://bbs.x86pi.cn/thread?topicId=20

https://github.com/ivanhao/pvetools
ソースを変更し、サブスクリプションの通知を削除し、ハードディスクのパススルーを使用するために pvetools を利用できます。

マークについて:データセンターをクリック - オプション - マークスタイル設定 - 完全;その後、各ノードの最上部にマークを追加します。

OpenWrt#

ソフトルーターはインストールをお勧めしますが、メインでの使用は推奨しません。サイドゲートウェイを作るだけで良いです。例えば、魔法をインストールして Docker がイメージを取得できない問題を解決します。

ソフトルーターについては不良林の動画をお勧めします。非常にわかりやすいです:https://youtu.be/JfSJmPFiL_s?si=09dZqcEKDu1anurs

ファームウェアをダウンロード:https://firmware-selector.immortalwrt.org/?version=23.05.4&target=x86%2F64&id=generic 、COMBINED-EFI (SQUASHFS-COMBINED-EFI.IMG.GZ) を選択することをお勧めします。

イメージをアップロードし、次のコマンドを使用して:qm importdisk 100 /var/lib/vz/template/iso/openwrt.img local-lvm 仮想マシンにインポートします。

魔法の三点セットをインストールします:openClash、homeProxy、passwall

ネットワークカードの半仮想化がうまくいかない場合は、E1000 に戻します。

スピードテストの結果、少なくとも PVE8 では img2kvm ツールは必要なく、直接 qm コマンドでインポートできます。一般的には 2 コア 1G の構成で十分です。

しかし、今でも OpenWrt を理解するのは難しく、かなり複雑です。後で再研究しますが、今はネットワークカードを削除してしまいました。。。


DDNS-Go をルーターのポートフォワーディングと組み合わせることで外部からアクセス可能にするには、ドメイン名が必要で、光モデムはブリッジモードで、パブリック IP が必要です。

DSM#

使用しているのは GXNAS のブートファイルで、または有名なネイティブ RR ブートを見てみることもできます、復活版です https://github.com/RROrg/rr

GXNAS のイメージは直接仮想ネットワークカードをサポートしているので、半仮想化を選択すれば性能が向上します。

All in boom として、私は当然 RAID0 を選択し、データの安全性は定期的な冷却バックアップに依存しています。

Windows/Linux#

私は Win10 LTSC をインストールしています。Win11 は少し複雑で、UEFI + TPM を有効にし、Microsoft アカウントにログインする必要があるため、そんなに複雑にしたくありません。

PS:現在の最新の Win11 は最適化が進んでおり、2G のメモリで軽いタスクを実行するのも非常にスムーズです。

VirtIO ドライバーのイメージは、ページにアクセスして download the latest stable をクリックしてダウンロードできます。詳細は https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers を参照してください。

Win は一般的にリモートデスクトップを使用します。コンピュータの右クリックプロパティで開くことができ、mstsc を使用して接続できます。Win10 の LTSC を新しくインストールした場合、ファンが異常に回転することがありますが、これはバグで、システムを更新して再起動すれば解決します。


Linux については特に言うことはなく、手順通り進めば実機と変わりません。私は Ubuntu Server をインストールしました。
Docker のインストールには [ワンキースクリプト](bash <(curl -sSL https://linuxmirrors.cn/docker.sh)) を使用できます。ソースを変更するための類似の [ワンキースクリプト](bash <(curl -sSL https://linuxmirrors.cn/main.sh)) もあります。

リモートログインを許可する必要がある場合は、/etc/ssh/sshd_config を修正し、PermitRootLogin prohibit-passwordPermitRootLogin yes に変更してからサービスを再起動します service ssh restart

Docker#

ここでは LXC を使用して Docker を作成することを選択しました。まず、CT テンプレートをダウンロードする必要があります。私は Ubuntu のものを使用しています。DockerHub を使用するために、前述の OpenWrt のゲートウェイを使用します。特権コンテナのチェックを外す必要があります。完了したら、オプション内の機能でネストなどをすべてチェックします。

注意が必要なのは、LXC 仮想化は効率が高いですが、完全な仮想化ではなく、ホストマシンの一部のリソースを共有したり制限があったりするため、Linux では LXC を使用していませんが、Docker はまだ使えると感じています。

Docker を起動できるようにするために、PVE で対応する LXC の設定を変更する必要があります。/etc/pve/lxc/{CTID}.conf に次の内容を追加します:

lxc.apparmor.profile: unconfined
lxc.cgroup.devices.allow: a
lxc.cap.drop:

ほとんどの場合、Docker は正常に動作します。

ショートカットコマンド bash <(curl -sSL https://linuxmirrors.cn/docker.sh) を使用して Docker をインストールし、ソースは変更しません。

インストールが完了したら、まずポータイナーをインストールします:

docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data outlovecn/portainer-cn:latest

サービスの推奨:ローカルネットワークの速度を測定するために speedtest を実行するか、iperf3 を使用することもできます。

HAOS#

冬瓜 HAOS の使用をお勧めします。PE バージョンの ISO を直接使用し、一発インストールします。

まだ詳しく研究する時間がありませんが、いくつかのプラグイン:

Tailscale#

最初は Docker にインストールしようと思いましたが、特に良い記事を見つけられず、自分でやりたくもありませんでした。その後、多くの人が OpenWrt にインストールしているのを見ましたが、大部分は愛快にインストールしているもので、比較的簡単ですが、明らかに私には適していません。しかし、2 つのプロジェクトは良さそうです:

しかし、残念ながらインストール後にログインできましたが、設定したサブネットルーティングが無効でした。おそらく OpenWrt の前の作業でネットワークポートを削除したことが関係していると思います。結局、あきらめました。

最終的に この方 の方法を採用し、LXC を使用してインストールしました。Docker の設定と同様に、/etc/pve/lxc/{CTID}.conf ファイルに TUN を有効にするための設定を追加する必要があります:

# この 10 200 は pve 上で ls -al /dev/net/tun を実行することで得られます。一般的には 10 200 です。
lxc.cgroup2.devices.allow: c 10:200 rwm
lxc.mount.entry: /dev/net/tun dev/net/tun none bind,create=file

また、LXC 内の /etc/sysctl.conf で転送を有効にする必要があります:

net.ipv4.ip_forward=1
net.ipv6.conf.all.forwarding=1

# 実行して有効にする
# sysctl -p /etc/sysctl.conf

その後、公式のスクリプトを使用してインストールします:curl -fsSL https://tailscale.com/install.sh | sh

tailscale up --authkey=xxxxx --accept-routes --advertise-routes=192.168.0.0/24 を実行して有効にし、自分のネットワークセグメントと authkey に置き換えることを忘れないでください。

自動起動の設定:

systemd を使用して自動起動を設定します。/etc/systemd/system に新しい設定ファイル tailscale.service を作成し、ファイルの内容は以下の通りです:

Description=AutoStart tailscale
   After=tailscale.service
Requires=tailscale.service
   [Service]
   Type=oneshot
   ExecStart=/usr/bin/tailscale up --authkey=あなたのauthKey --accept-routes --advertise-routes=あなたの転送範囲
   ExecStop=/usr/bin/tailscale down
   RemainAfterExit=yes
   Restart=on-failure
   [Install]
   WantedBy=multi-user.target

次に、以下のコマンドを実行します:

systemctl enable tailscale.service
systemctl start tailscale.service

LXC#

LXC のホスト名を変更します:

/var/lib/lxc/コンテナのid番号/config
/etc/pve/lxc/コンテナのid番号.conf

後者のファイルだけを変更しても構いませんが、両方を変更することをお勧めします。

読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。