#author("2023-02-02T18:00:46+09:00","default:dramsukohome","dramsukohome") [[LinuxServer]] #shadowheader(1,"Proxmox") #contents * 参考サイト [#qdba0148] -[[GPUパススルーも簡単にできる仮想化プラットフォーム「Proxmox VE」(Internet Watch):https://internet.watch.impress.co.jp/docs/column/shimizu/1442466.html]] -[[ラズパイが高いなら5千円の中古シンクラを使えばいいじゃない。シンクラ×3で作る家庭用ハイパーコンバージド環境(PC Watch):https://pc.watch.impress.co.jp/docs/column /kaimono/1464643.html]] --ちなみにこのシンクライアント端末は既に市場には無いので、ヤフオクでCeleronでVT-x対応の安いPCを探す方が良い -[[ProxMox公式:https://pve.proxmox.com/pve-docs/]] * 最初に[#c5d32a2d] ** 概要 [#m3454561] - Proxmox VE という仮想化プラットフォームがある事を知ったので~ ちょっと構築してみようかと思いました〜(^^) - 検証時のVersion -> 7.3 - 古いPCを有効活用できる技術です。 ** 特徴 [#sca653f4] +フリー +vCenterありのVMWareの機能(複数サーバでのHA, クラスタリング、仮想マシンの移動など)が可能 +VMWareでいうvSANのような機能をcephで実現 +GUIあり +対応CPUの幅が広い~ (Debianのため)~ (Intel VT-x機能があれば大抵動く。Celronでも可能)~ (VMWareはほぼXEONでしか動かない) + 既存システムとの共存可能 -- Debianのため * Install, Download [#zcc85cbf] ** Download [#w2a5a012] - [[https://www.proxmox.com/en/downloads/category/iso-images-pve]] - ISO をダウンロードしてDVDを作成しインストール ** 初回アップデート [#ebd86128] -参考:[[Install Proxmox VE:https://pve.proxmox.com/wiki/Install_Proxmox_VE_on_Debian_11_Bullseye#Install_Proxmox_VE]] + Sources list を変更 echo "deb [arch=amd64] http://download.proxmox.com/debian/pve bullseye pve-no-subscription" > /etc/apt/sources.list.d/pve-install-repo.list +gpg keyのダウンロード wget https://enterprise.proxmox.com/debian/proxmox-release-bullseye.gpg -O /etc/apt/trusted.gpg.d/proxmox-release-bullseye.gpg +pve-enterprise.list のコメントアウト vi /etc/apt/sources.list.d/pve-enterprise.list -- 変更前 deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise -- 変更後 #deb https://enterprise.proxmox.com/debian/pve bullseye pve-enterprise +repository の更新とアップグレード apt update && apt full-upgrade ** 最低限のソフトのインストール [#j5e1e551] apt install vim ethtool tmux clamav iftop iotop qemu-guest-agent sudo ** IPV6 の無効化 [#b8b16c21] -以下を追加 -sudo vi /etc/sysctl.conf net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 -反映 sudo sysctl -p ** LDAP参加 [#xa209052] -サイト内リンク:[[openldap#l7ae19bd]] * 起動後の初期ユーザー名 [#f452b50f] - root - URL : https://(IP address):8006 -- 例) https://123.123.123.123:8006/ * クラスタの作成 [#h4744fb4] + 「データセンター」-> 「クラスタ」(上から4つめ) + 「クラスタの作成」 + クラスタ名を入力してそのまま作成する。 ** クラスへの参加(Join) [#k8db5acb] *** 既存ホストでの作業 [#t89e7b19] + 既存のホストから「データセンター」を選択 -> 「クラスタ」->「Join情報」 + 「Join情報」をコピー *** 新規ホストでの作業 [#wa8fe57e] +「データセンター」を選択 -> 「クラスタ」 +「クラスタに参加」 ++ 先程のJoin情報を貼り付け ++ rootのパスワードの入力(不要?) * ストレージ関連 [#x77b0ae0] ** 通常(ceph以外) [#r86b9499] *** 新規HDDの追加(thin diskの追加) [#jbff0ebb] +GPT初期化 ++左ツリーから個別のホストを選択 ++ディスクを選択 ++新規に追加したdisk(sdbとかsdc)を選択 ++「GPTでディスクを初期化」ボタンを押す +LVM-Thinを作成 ++「LVM-Thin」を選択 ++「作成: Thinpool」ボタンを押す ++ディスクを選んで名前を適当に付ける。例) prox01SdbThin *** 消す場合 [#wcac7127] +左ツリーから個別のホストを選択 +ディスクを開く +「LVM-Thin」の中の消したい名前を選択 +右上の「More」を開き「破棄」を選択 ** 分散ファイルストレージ(ceph)を構成 [#o4ac2ecc] *** 概要 [#ee696468] - とりあえず最低限、3台のPCやサーバが必要 - Thin は無い *** インストール [#e3bf8ebf] + 「データセンター」-> 「Ceph」(上から5つめ)をクリック + 「Cephをインストール」をクリック + 「Quincyのインストールを開始」をクリック ++ 「Do you want to continoue」 と聞かれるので「y」 Enterを入力 ++ インストールが完了したら「次へ」を押す *** 設定 [#sa18540f] + 「Public Network IP/CIDR」は選べるのを選んでおく + 「Cluster Network IP/CIDR」もとりあえず選べるのを選んでおく + 「Number replicas」と「Minimum replicas」はとりあえず標準のままで「次へ」 + 「完了」ボタンを押す *** モニタ [#qf4cd17e] + 新規 ceph サーバを立てたら登録が必要 *** OBD [#j6d2997a] + ディスクの登録が必要 *** pool [#f9155443] + 仮想マシンを保存できるcephのストレージ + これがないとvMotion的な「マイグレート」もストレージ移動が伴うと思う - サイズ : レプリカ数(最小3) - minサイズ : 縮退運転のサイズ(最小2) *** 状況確認, Status,等 [#afdae74d] -cephの容量が一杯になるのはどのタイミングでなるのか -参考サイト ++[[6 クラスタの状態の判断(SUSE):https://documentation.suse.com/ja-jp/ses/6/html/ses-all/ceph-monitor.html]] ++[[9 保存データの管理(SUSE):https://documentation.suse.com/ja-jp/ses/6/html/ses-all/cha-storage-datamgm.html]] +まず一杯になる前兆などの指標 ++ OSD_NEARFULL : もうそろそろリバランスできなくなりますよ、って警告 ++ OSD_BACKFILLFULL:既にリバランスができないよ、って警告 ++ OSD_FULL:クラスタの書き込みが実行できなよ、って警告 +weight関連 -- 参考サイト[[2.5.3. OSD の in 重みの設定(RedHat):https://access.redhat.com/documentation/ja-jp/red_hat_ceph_storage/4/html/storage_strategies_guide/_set_an_osds_in_weight]] ceph osd reweight {id} {weight} --- 例 ceph osd reweight 2 0.8 *** 仮想マシンの中のディスクが[No Such File or Directory]で消せない [#c25c5bb5] -rbdコマンドを使用して直接消す -参考サイト:[[Basic Block Device Commands(ceph):https://docs.ceph.com/en/quincy/rbd/rados-rbd-cmds/]] -コマンド -- rbd rm {pool-name}/{image-name} -- 例 rbd rm cephPoolName/vm-106-disk-1 *** cephをフルに近くしてめちゃくちゃ遅くなった時 [#j1b8bab6] +とりあえずモニタサーバを順番に再起動 +容量を見るのはOSD一覧(cephのサマリでは容量逼迫を検知できない) +HDDの1つがやたらと遅い可能性もある。 -- OSD一覧からLatencyも確認 +rewaightの調整 +以下、チラ裏。。。 -- 大きいディスクを消す時、めちゃくちゃ重い。~ 1時間に1% 位しか進まない。。。~ そのおかげで、他のサーバに影響が出ていて、DNSやDHCP, Proxyなどインフラ周りのサーバはもちろん、~ Webサーバやデータベースサーバにも影響が出ていてしんどい。。。~ 日記用のプライベートWordpressにもアクセスできないし、SKKのGoogle IMEも利用できないので、~ 日本語変換もままならん。。。早く解決しないかなぁ。。。 -- 次の日には直りました(^^) *** ディスクエラーの消し方 [#i7de75bc] -当該仮想ホストを再起動 *** CephFS [#xccd7503] -特徴 ++ファイルサーバ機能。 ++仮想マシンは作れない +消し方 -- 参考サイト[[Destroy CephFS(ProxMox):https://pve.proxmox.com/pve-docs/chapter-pveceph.html#_destroy_cephfs]] ++ ストレージのアンマウント(データセンターから) ++ 各ノードの「Ceph」->「CephFS」からメタバースを停止 -> 破棄 ++ 以下のコマンドを実行 pveceph fs destroy NAME --remove-storages --remove-pools ** ディスク, disk, キャッシュ関連 [#l14c8a9b] -参考サイト:[[]] +参考サイトからの結論 ++ キャッシュはHDDの場合、Write back ++ キャッシュはSSDの場合、Write back(unsafe) ++ SSDならSSD エミュレーションはON ++ IO ThreadはON ++ SCSIコントローラーはVirtio SCSI Single ++ Barrier無効化は効果があるがリスク対効果を考えて設定 *** CentOS6ではエラー [#w15ee231] -ひっかかったのは、SCSIコントローラ -- Virtio SCSI Singleではパニックエラー(panic+0xa7)が起きるため、「LSI 53C895A」とした。 ** ISOイメージ用のストレージ [#g52994f9] -参考サイト:[[Storage(ProxMox):https://pve.proxmox.com/wiki/Storage]] -対応状況:とりあえず代表的なものだけ ++ Directory ++ NFS ++ CIFS ++ CephFS * 仮想マシンの追加 [#df683a94] +ProxMoxのWeb管理コンソール、右上「VMを作成」ボタンを押す~ (コンテナはceph poolでは作れないので注意) +全般 ++ 「ノード」(ProxMoxのホスト)を選択 ++ 「VM ID」:適当にダブらない3桁の数字 例) 123 ++ 「名前」:仮想コンピュータの名前 ++ 「リソースプール」:空白 +OS ++ISOイメージの選択(ISOが格納できるファイルシステムは->[[Proxmox VE#g52994f9]]) ** 仮想マシンの初期設定(お好みで) [#c5d91448] +apt install vim tmux clamav iftop iotop qemu-guest-agent ntp +ntpの設定 sudo vim /etc/ntp.conf ** Windows10 [#p3d113ec] *** 仮想マシン [#j71c4183] -HDDはSATAを選択 -HDDが認識されなかった時は、仮想マシンごと作り直す。 *** Windows Guest Agent, VirtIO [#g3ab1277] +Windows10 --参考サイト: --[[ダウンロードサイト(ProxMox):https://pve.proxmox.com/wiki/Windows_VirtIO_Drivers]] ---以下から落とす ----Using the ISO~ You can download the [[latest stable:https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/stable-virtio/virtio-win.iso]] +Windows 2008 Server --I had a similar problem and I fixed it with old virtio driver version 137.~ You can find old version of virtio here:~ [[https://fedorapeople.org/groups/virt/virtio-win/direct-downloads/archive-virtio/]] -- [Control Panel]->[Device Manager]->Add device(Legacy) --- 64bit vioscsi\2k8\amd64\vioscsi --- 32bit vioscsi\2k8\x86\vioscsi * バックアップとリストア [#v399b62d] ** バックアップ [#g0f851ce] +「データセンター」 -> ホスト -> 仮想マシン -> バックアップを選択 +「今すぐバックアップ」を押す +バックアップ先やモードを選択 +「バックアップ」ボタンを押す ** cephのバックアップ [#uc4f3f74] -参考サイト[[Ceph RBD Mirroring:https://pve.proxmox.com/wiki/Ceph_RBD_Mirroring]] ** ストレージ・レプリケーション [#q4bb1efa] -対応ファイルシステムはzfsのみ。。。 ** リストア [#c7874e3a] +「データセンター」 -> ホスト -> 仮想マシン -> バックアップを選択 +リストアするイメージを選択 -> 「リストア」ボタンを押す +ターゲットのストレージを選択して「リストア」ボタンを押す * vMotion的な(マイグレート) [#c9645451] -仮想マシンを右クリック -> 「マイグレート」 -マイグレート先を選択 * WOL(参考) [#z420377d] -参考サイト : [[ProxmoxでのWOL(Wake On Lan)起動で個人的につまずいたところ個人メモ(Ragy Note):https://ragy.work/?p=27]] +BIOS(UEFI)で設定しておくこと。 +proxmox側での設定 ++ ProxMoxサーバへrootでログイン ++ 以下のコマンドでネットワーク・アダプタを確認 ip addr show ++ 自分の場合のNIC名は「enp2s0」 ++ ethtoolのインストール apt install ethtool ++ 対応状況の確認 ethtool enp2s0 ++ Wake-on: のあとの文字を確認 --- Wake-on: dなら次へ --- Wake-on: gならWOLの設定はできてる ++ ethtoolでWOLを設定 ethtool -s enp2s0 wol g ++ 元に戻ってしまうので自動で設定 crontab -e --- 以下を追加 @reboot /usr/sbin/ethtool -s enp2s0 wol g ++ ProxMox サーバへWOL用のIPを登録(マックアドレスは例) pvenode config set -wakeonlan 12:34:56:78:90:ab ** ASROCK マザーボードのUEFI設定 [#v0456f7d] -[[参考サイト:https://mimimopu.com/asrock-mb-wol/]] -[アドバンスド] > [ACPI Configurarion(ACPI設定)] -- [PCIE Devices Power On(PCIEデバイス電源オン)]:有効 * VMwareからの移行 [#q4fea201] -[[参考サイト:https://pve.proxmox.com/wiki/Migration_of_servers_to_Proxmox_VE]] ** 移行手順 [#m621ae71] + VMwareの仮想マシンをシャットダウンする + 「エクスポート」を選択(イメージは不要) + 一旦PCへファイルを落とす + ProxMox VEのホストへファイル転送(自分はSCPで送りこみました) + ProxMox VEのホストで以下のコマンドを実行 -- qm importovf (仮想マシンNo) (ovfファイルpath) (ストレージ) sudo qm importovf 200 /tmp/exported-vm.ovf cephPool ** CentOS 6 [#pb2f1e77] +ネットワークカードの追加 +eth0 -> eth1へ変更 ++ CentOS6(ネットワークマネージャーを使用しない場合) +++ cd /etc/sysconfig/network-scripts/ +++ cp ifcfg-eth0 ifcfg-eth1 +++ vi ifcfg-eth1 DEVICE=eth1 #HWADDR=00:0C:29:FD:61:33 NAME="System eth1" +qemu-guest-agent のインストール apt install qemu-guest-agent ** CentOS 7 [#ke1201ab] +起動エラーの回復 ++エラー内容 Starting Dracut Emergency Shell... Warning: /dev/centos/root does not exist Warning: /dev/centos/swap does not exist Warning: /dev/mapper/centos-root does not exist Generating "/run/initramfs/rdsosreport.txt" Entering emergency mode. Exit the shell to continue. Type "journalctl" to view system logs. You might want to save "/run/initramfs/rdsosreport.txt" to USB stick or /boot after mounting them and attach it to a bug report. dracut:/ --このエラー、本当に調べるのに時間かかった。。。6時間位調べてようやくわかりました。。。 --結論:HDDをIDEに変更する --手順 +++ import先(proxmox)の対象のバーチャル・マシンを開く +++ ハードウェア +++ ハードディスクを1回「デタッチ」する +++ 再度ハードディスクをダブルクリックしてIDEとして実装する +++ 通常通りバーチャル・マシンを起動する +fstabからネットワークドライブを一時的にコメントアウトする +Network Manager の設定 nmtui -参考:起動エラーの確認コマンド journalctl -xb -- Page up down でスクロールできる ** VMWareへの移行 [#l7977bda] -[[参考サイト:https://edywerder.ch/proxmox-to-vmware/]] * ctrl + alt + f1 などの押し方 [#k9d082bf] ** 「モニタ」機能を使う方法 [#wb0fb754] -[[参考サイト:https://pve.proxmox.com/wiki/Troubleshooting#Switch_novnc_KVM_console]] +ProxMoxのコンソールで対象の仮想マシンを開く +「モニタ」を選択(コンソールではない) + 以下のコマンド(例)を入力、送信 sendkey ctrl-alt-f1 ** noVNCの左側にある四角の中にAが書いてあるボタン [#je88a235] + 例) Ctrl + Alt + F1 -- Ctrl と Alt を押し反転させる -- 「F1」を押す * USB [#p1802fde] ** 参考サイト [#ccc13628] +[[https://pve.proxmox.com/wiki/USB_Devices_in_Virtual_Machines]] ** 設定 [#o15920d6] + ProxMox VEへSSH + USB一覧の取得 lsusb -- 注目するのは以下のID(例) --- Bus 001 Device 037: ID &color(red,){0511:083f}; N'Able (DataBook) Technologies, Inc. PXW3U4 + 追加したい仮想マシンの番号を指定し以下のコマンドを実行して追加 -- sudo qm set (仮想マシンのID) -usb(USB番号任意) host=(上記USBのID) -- 例) sudo qm set 804 -usb0 host=0511:083f -追加されたUSBはWeb consoleからも見る事が可能 * その他 [#uc7b917a] ** ロックの解除方法 [#f33452bd] -ホストで以下を実行 sudo qm unlock <VM ID> -- 例) sudo qm unlock 110 ** 仮想マシン一覧の表示方法 [#af1fb03b] -「データセンター」->「検索」から一覧が見える * 調査、設定中 [#b57c10a2] ** Win11(調査中) [#pe3c60ac] ** Zabbix(調査中) [#nf6e045b] ** マイクラ・サーバ [#zac6a3cd] ** ファイルサーバ機能(ceph pool) [#b3c61605] *** どうやってファイルサーバ機能を実現するか [#md5e5e85] - LVMだと思ってたら、ext4でも普通にオンラインで容量の追加、削減ができた。 -- -> 仮想マシン場でかつext4で実現する。 - あとはNFSとSMBのどっちにするか。。。 ** 耐障害性 [#p4bf630a] -ディスクの欠落 -ホストの停止 ** ディスクの容量減らし方 [#u8a56c4d] ** アラート, Alert関連 [#z3a369bc] -[[参考サイト:https://forum.proxmox.com/threads/resetting-ceph-warnings.65778/]] ** SPICE(画面共有) [#zce278dd] *** noVNCで画面が更新されない場合 [#ze2eb0be] + noVNCを使っても「ハードウェア」の「ディスプレイ」を「SPICE(qxl)」へ変更する。 * 調査完了 [#t08ae2e3] ** Moose File System との共存 [#t17ee4ba] -可能 * 個人メモ [#m12d43a9] ** VM migration [#t016d119] + 基本設定 ++ ホスト ++ 仮想マシン -- 項目 +++ [[openldap#l7ae19bd]] ** SATA2つ追加 [#uddfafed] **backup [#pfa0d1a2] * (おまけ) テスト環境PCについて [#b781d728] ** HP ProDesk 400 G2.5 Small Form Factor Business PC [#bf578a6a] ***BIOS(UEFI) 設定 [#hfaf0808] - F10 -変更箇所 ++ストレージ --- 起動順序 ---- UEFI USB DVD を一番上へ ---- F10 で終了 ++ セキュリティ +++ システムのセキュリティ ---- 仮想化技術(VTx/Vtd) -> 有効 ---- F10で終了 +++ 安全なブートの構成 ---- 安全なブート -> 無効 ---- 高速ブート -> 無効 ++ 電源 +++ ハードウェア・パワー・マネージメント ---- S5ウェイク オンLAN -> 有効 ++ カスタム --- 電源投入時オプション ---- POSTメッセージ -> 有効 ---- 電源コード抜き差し後 -> オン