Proxmox VE
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
単語検索
|
最終更新
|
ヘルプ
]
開始行:
[[LinuxServer]]
#shadowheader(1,"Proxmox")
#contents
* 参考サイト [#qdba0148]
-[[GPUパススルーも簡単にできる仮想化プラットフォーム「Pro...
-[[ラズパイが高いなら5千円の中古シンクラを使えばいいじゃ...
/kaimono/1464643.html]]
--ちなみにこのシンクライアント端末は既に市場には無いので...
-[[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-ima...
- ISO をダウンロードしてDVDを作成しインストール
** 初回アップデート [#ebd86128]
-参考:[[Install Proxmox VE:https://pve.proxmox.com/wiki/...
+ Sources list を変更
echo "deb [arch=amd64] http://download.proxmox.com/debia...
+gpg keyのダウンロード
wget https://enterprise.proxmox.com/debian/proxmox-relea...
+pve-enterprise.list のコメントアウト
vi /etc/apt/sources.list.d/pve-enterprise.list
-- 変更前
deb https://enterprise.proxmox.com/debian/pve bullseye p...
-- 変更後
#deb https://enterprise.proxmox.com/debian/pve bullseye ...
+repository の更新とアップグレード
apt update && apt full-upgrade
** 最低限のソフトのインストール [#j5e1e551]
apt install vim ethtool tmux clamav iftop iotop qemu-gue...
** 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]]
** tmux の設定 [#h0a66ce1]
-サイト内リンク:[[LinuxCommon#q477635c]]
* 起動後の初期ユーザー名 [#f452b50f]
- root
- URL : https://(IP address):8006
-- 例) https://123.123.123.123:8006/
* クラスタの作成 [#h4744fb4]
+ 「データセンター」-> 「クラスタ」(上から4つめ)
+ 「クラスタの作成」
+ クラスタ名を入力してそのまま作成する。
** クラスタへの参加(Join) [#k8db5acb]
*** 既存ホストでの作業 [#t89e7b19]
+ 既存のホストから「データセンター」を選択 -> 「クラスタ...
+ 「Join情報」をコピー
*** 新規ホストでの作業 [#wa8fe57e]
+「データセンター」を選択 -> 「クラスタ」
+「クラスタに参加」
++ 先程のJoin情報を貼り付け
++ rootのパスワードの入力(不要?)
** クラスタから削除 [#l0f4184a]
-ProxMoxホストのシャットダウン
-別のホストに ssh でログインして、対象ノードを削除する。
-- sudo pvecm delnode pve2
-以下のディレクトリを削除
--sudo rm -fr /etc/pve/nodes/pve2
* ストレージ, 通常(ceph以外) [#r86b9499]
** 新規HDDの追加(thin diskの追加) [#jbff0ebb]
***GPT初期化 [#he7cfa19]
+左ツリーから個別のホストを選択
+ディスクを選択
+新規に追加したdisk(sdbとかsdc)を選択
+「GPTでディスクを初期化」ボタンを押す
***LVM-Thinを作成 [#q535ce37]
+「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.su...
++[[9 保存データの管理(SUSE):https://documentation.suse.c...
+まず一杯になる前兆などの指標
++ OSD_NEARFULL : もうそろそろリバランスできなくなります...
++ OSD_BACKFILLFULL:既にリバランスができないよ、って警告
++ OSD_FULL:クラスタの書き込みが実行できなよ、って警告
** 仮想マシンの中のディスクが[No Such File or Directory]...
-rbdコマンドを使用して直接消す
-参考サイト:[[Basic Block Device Commands(ceph):https://...
-コマンド
-- ディスク一覧の確認
sudo rbd ls cephPoolName
-- 消去のコマンド
sudo 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, Prox...
Webサーバやデータベースサーバにも影響が出ていてしんどい。...
日記用のプライベートWordpressにもアクセスできないし、SKK...
日本語変換もままならん。。。早く解決しないかなぁ。。。
-- 次の日には直りました(^^)
** ディスクエラーの消し方 [#i7de75bc]
- alertを消すコマンド
sudo ceph crash ls
sudo ceph crash rm 2022-04-28T05:36:52.440294A_5c65D2b3-...
-- 一括消去コマンド
sudo ceph crash ls | cut -d ' ' -f 1 | sudo xargs -I{} c...
-マネージャーの停止-> 起動
++ ホスト
++ Ceph
++ モニタ
++ マネージャー
--- 2つ以上のマネージャーが必要(でないと止まっちゃうので)
-仮想マシンに実装したディスクを消せなくなった
++ sudo rbd ls cephPool
++ sudo rbd rm vm-106-disk-1
++ sudo vi /etc/pve/nodes/pveHostName/qemu-server/106.conf
--- delete below row
vm-106-disk-1,cache=writeback,size=2470G
** リカバリ, リバランスのために仮想マシンが重い, 遅い(cep...
- 参考サイト
++ [[OSD Config Reference(ceph公式,英語):https://docs.ce...
++ [[OSD リカバリを高速化または低速化する方法(SUSE,日本語...
++ [[テラバイトでの OSD の重みの設定(redhat,日本語):https...
--- [[使用状況による OSD の重みの設定(redhat,日本語):http...
++ [[How to speed up or slow down osd recovery(SUSE,英語)...
- ProxMoxのホストへログオンして実行する
+ 一番効果が高い方法(osd_recovery_op_priority, osd_client...
-- 数字が低い方が高優先度
-- 自分は一晩放置したら反映されてました
-- 値は1〜64
-- 例
--- sudo ceph config set osd osd_recovery_op_priority 63
--- sudo ceph config set osd osd_client_op_priority 1
+ どうしても重い時はリカバリ, リバランスを停止
-- 停止
sudo ceph osd set nobackfill
-- 再開
sudo ceph osd unset nobackfill
+ その他、効きそうな設定
++ sudo ceph config set osd osd_max_backfills 1
++ sudo ceph config set osd osd_recovery_max_active 1
++ sudo ceph config set osd osd_max_pg_log_entries 1
++ sudo ceph config set osd bluestore_cache_autotune 1
++ sudo ceph config set osd osd_memory_target 2G
--- これはあまり効いてる感じはしないかな。。。
++ osd_memory_cache_min 2147483648
--- 2GB
++ sudo ceph config set osd osd_backfill_full_ratio 0.3
--- 自分の環境では以下のエラーで動かなかった。。。
Error EINVAL: unrecognized config option 'osd_backfill_f...
--- Ceph OSD のフル比率がこの値以上の場合、バックフィル要...
++ ceph tell 'osd.*' injectargs '--osd-max-backfills 1'
++ sudo ceph config set osd osd_backfill_scan_max 128
++ sudo ceph config set osd osd_op_num_threads_per_shard 0
--- これはbackfill, recoveryにあまり影響しないので、デフ...
0以外だとストレージがやたらと重くなる
*** full ratio [#i83ac23b]
-sudo ceph osd set-nearfull-ratio <float[0.0-1.0]>
-sudo ceph osd set-full-ratio <float[0.0-1.0]>
-sudo ceph osd set-backfillfull-ratio <float[0.0-1.0]>
** その他, コマンドなど [#i0a63a4c]
+ 参考サイト
++ [[Red Hat Ceph Storage:https://access.redhat.com/docum...
++ [[SUSE Enterprise Storage 6とCeph:https://documentatio...
++ [[Red Hat PG数の増加:https://access.redhat.com/documen...
+ sudo ceph config set mon mon_osd_down_out_interval 600
-- OSDがdownしてパフォーマンス低下した場合、outにするまで...
+ osd recovery threads
-- デフォルトで 1 つのスレッドでリカバリープロセスのスレ...
+ sudo ceph config set osd osd_recovery_max_active 3
-- ceph OSD が送信に失敗するのを防ぐために Ceph OSD が同...
+ osd_max_backfills
-- Ceph OSD から 10 への同時バックフィルの最大数を設定し...
+ ワークロードによっては、通常のリカバリーを完全に回避し...
バックフィルはバックグラウンドで実行されるため、I/O は OS...
osd_min_pg_log_entries オプションを 1 に設定し、osd_max_p...
リカバリーではなくバックフィルを強制できます。
+ PG(Placement Group)の数を変更する(256へ変更)
sudo ceph osd pool set cephPool pg_num 256
+ scrub関連
-- scrubコマンド
sudo ceph pg deep-scrub <PG_ID>
--- 例
sudo ceph pg deep-scrub 6.ce
-- osd_deep_scrub_interval
osd_deep_scrub_interval
** weight, reweight関連 [#nf06f16a]
+ reweight
-- ''個人的にはreweightよりweightの変更がおすすめかと思い...
--- ストレージに余裕があっても degrated が残る時があるの...
-- 参考サイト[[2.5.3. OSD の in 重みの設定(RedHat):https:...
-- reweightコマンド
sudo ceph osd reweight {osd id} {weight}
---- 例
sudo ceph osd reweight 2 0.8
++ 使用状況による OSD の重みの設定(自動, reweight)
+++ &color(red,){この方法は大量のBackfillを産むので注意!...
+++ 設定
---- sudo ceph osd reweight-by-utilization [threshold] [...
----- threshold : 101〜120
----- weight_change_amount : weight を変更する値。0.01〜1...
例えば 0.5 で設定すると、Max 0.5の加減でreweight値を変更...
----- number_of_OSDs : いくつのosdを変更するか。5個のosd...
----- --no-increasing : Weightを増やさない。個人的にはこ...
---- 例)
sudo ceph osd reweight-by-utilization 101 0.5 10
+++テスト
sudo ceph osd test-reweight-by-utilization 101 0.1 11
++ 手動(reweight)
---[[#afdae74d]]
+ weight
++ 1つずつ更新(weight)
sudo ceph osd crush reweight name weight
--- 例
sudo ceph osd crush reweight osd.1 0.8
++ ceph pool バケット名による一括更新(weight)
--- sudo osd crush reweight-subtree <buckets name> <weight>
--- 例
sudo osd crush reweight-subtree hostName 0.9
--- ceph pool bucket名は以下から参照
---- 「データセンター」-> 個別ホトト ->「Ceph」->「設定」...
** ネットワークBonding(Teaming) [#q96a3f4b]
- cephのネットワーク帯域がアップアップで遅いので、Bonding...
(今回はLinuxなので「Bonding」の言葉で統一します)
- 設定手順
++ bond0の作成
+++ 「データセンター」配下からBondingしたいホストを選択
+++ 「システム」->「ネットワーク」~
ネットワークの設定は「設定を適用」ボタンを押すまで反映さ...
それまで自由にいじれます。戻したい時は「リバート」を選択
+++ ホストにsshして、以下のファイルをバックアップしておい...
/etc/network/interfaces
sudo cp /etc/network/interfaces /etc/network/interfaces....
---- 戻す時(切り戻し時、設定したけどネットワークが繋らな...
sudo cp /etc/network/interfaces.bak /etc/network/interfa...
sudo systemctl restart networking
+++ 今の「vmbr0」のIPアドレスをメモしておく
+++ 今の「vmbr0」を削除
+++ 「作成」->「Linux Bond」
---- 名前:bond0
---- IPv4/CIDR : (空白)
---- ゲートウェイ : (空白)
---- スレーブ:enp0s31f6 enp1s0
----- スレーブはNIC2枚を指定。スペース区切り
---- モード : balance-alb~
&color(red,){(balance-alb以外を選択する時は、上位スイッチ...
&color(red,){ここの設定を間違えるとホストがネットに繋らな...
++ vmbr0の作成
+++ 「作成」->「Linux Bridge」
---- 名前:vmbr0
---- IPv4/CIDR : 123.123.123.123/24
---- ゲートウェイ : 123.123.123.254
---- ブリッジポート : bond0
++ 「設定を適用」を押す~
&color(red,){このボタンを押す時はサーバの前に居る事を強く...
&color(red,){ネットワークに繋がらなくなるとコンソールでの...
** Cluster network [#l8765999]
-vim /etc/ceph/ceph.conf
-- cluster_network = 192.168.123.123/24
-- [mon.hostA]
public_addr = 192.168.121.121
cluster_addr = 192.168.123.123
** パブリック・ネットワークを別セグメントとする [#caf2d647]
- sudo vi /etc/ceph/ceph.conf
- Monitorアドレスの変更
mon_host = 192.168.123.123 192.168.124.123 192.168.123.1...
- 以下も変更
[mon.hostName]
public_addr = 192.168.124.123
- ネットワークのサブネットマスクやルータはちゃんと設定す...
-- & 上記の設定とネットワーク設定などを変更したあとはping...
** Crush map の編集 [#r6ae4250]
- 参考サイト : [[Ceph(Octopus)の構築(設定編 Crush Map)(Qi...
+ crush map の出力
sudo ceph osd getcrushmap -o /tmp/crush
+ テキストへ変換
sudo crushtool -d /tmp/crush -o /tmp/crush.txt
+ cruch map の編集
sudo vim /tmp/crush.txt
+ テキストをバイナリへ
sudo crushtool -c /tmp/crush.txt -o /tmp/crush.new
+ バイナリをアップロード
sudo ceph osd setcrushmap -i /tmp/crush.new
+ 反映
ceph -w
** osd, monitorサーバの削除(削減)方法 [#e0c28647]
*** osd [#tdf33db0]
+ OSDの止める
+ OSDを選択し、「More」->「破棄」を選択
*** Monitor [#c8fa81ae]
+ マネージャー登録がある場合は、最初にマネージャーを破棄
+ モニターを停止
+ 破棄
*** 色々ミスった時(消せなくなった時) [#c4b686d5]
+sudo vim /etc/ceph/ceph.conf
+crush mapの編集[[c#r6ae4250]]
+sudo ceph mon remove (nodename)
++ 例
ceph mon remove proxve07
** osd の class を hdd から ssd へ変更する [#mb14fa85]
-参考サイト:[[17 保存データの管理(SUSE):https://documenta...
+最初に osd の class を削除
-- 例
sudo ceph osd crush rm-device-class osd.2 osd.3
+class を設定
-- 例
sudo ceph osd crush set-device-class ssd osd.2 osd.3
** possible data damage 1 pg inconsistent [#edf34c30]
+ sudo ceph health detail
HEALTH_ERR 115 scrub errors; Possible data damage: 2 pg...
[ERR] OSD_SCRUB_ERRORS: 115 scrub errors
[ERR] PG_DAMAGED: Possible data damage: 2 pgs inconsist...
pg 6.60 is active+clean+scrubbing+deep+inconsistent+r...
pg 6.a0 is active+clean+inconsistent, acting [12,10,9]
+以下、繰り返す
++ sudo ceph pg repair 6.60
++ sudo ceph pg repair 6.a0
++ sudo ceph health detail
** CephFS [#xccd7503]
***特徴 [#p517c621]
+ファイルサーバ機能。
+仮想マシンは作れない
***消し方 [#xc0611f0]
- 参考サイト[[Destroy CephFS(ProxMox):https://pve.proxmox...
+ ストレージのアンマウント(データセンターから)
+ 各ノードの「Ceph」->「CephFS」からメタバースを停止 -> ...
+ 以下のコマンドを実行
pveceph fs destroy NAME --remove-storages --remove-pools
** 課題と今後 [#qe6d2aff]
*** 課題 [#f1d5facc]
+ とにかく遅い。
-- Moose File Systemの方が体感的には圧倒的に早い
-- 参考サイト1:[[【ストレージ初心者向け】分散ストレージ...
-- 参考サイト2:[[「Ceph」を高速化する方法と、Windows環境...
+++
+ リバランスの負荷が実環境に影響を与える(遅いので)
-- 結果、DNS, DHCP, Proxyのようなネットワーク基幹となるシ...
+ ストレージの使用率がばらける(Weight調整がマニュアル指向)
-- 結果、osdがフルになり止まる
-- rewight より weight を直接変更した方が良い
+ ProxMox用を起動するストレージの一部をcephへ転用できない。
-- できるのかもしれないけどやり方がわからない
***今後 [#ae5b7e45]
+ ファイルサーバ機能はMoose File Systemを継続
+ 仮想環境の共通ストレージのみcephとする
* その他、ストレージ関連 [#f8f39d1e]
** ディスク, 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)が起き...
** ISOイメージ用のストレージ [#g52994f9]
-参考サイト:[[Storage(ProxMox):https://pve.proxmox.com/w...
-対応状況:とりあえず代表的なものだけ
++ Directory
++ NFS
++ CIFS
++ CephFS
* 仮想マシンの追加 [#df683a94]
+ProxMoxのWeb管理コンソール、右上「VMを作成」ボタンを押す~
(コンテナはceph poolでは作れないので注意)
+全般
++ 「ノード」(ProxMoxのホスト)を選択
++ 「VM ID」:適当にダブらない3桁の数字 例) 123
++ 「名前」:仮想コンピュータの名前
++ 「リソースプール」:空白
++ ネットワーク(NIC)の「ファイアウォール」チェックボック...
+OS
++ISOイメージの選択(ISOが格納できるファイルシステムは->[[...
** 仮想マシンの初期設定(お好みで) [#c5d91448]
+apt install vim tmux clamav iftop iotop qemu-guest-agent...
+ntpの設定
sudo vim /etc/ntp.conf
+lxde化
sudo apt install lxde
** Windows10 [#p3d113ec]
*** 仮想マシン [#j71c4183]
-HDDはSATAを選択
-HDDが認識されなかった時は、仮想マシンごと作り直す。
*** Windows Guest Agent, VirtIO [#g3ab1277]
+Windows10
--参考サイト:
++[[ダウンロードサイト(ProxMox):https://pve.proxmox.com/w...
---以下から落とす
----Using the ISO~
You can download the [[latest stable:https://fedorapeople...
++ ViirtIO serial
+++ デバイス・マネージャー
+++ 他のデイバイス
+++ PCIシンプル通信コントローラー
+++ ダブルククリック
+++ 「コンピューターを参照して...」
+++ d:\vioserial\w10\adm64
+++ 次へ
++ その他
--- 種類
---- guest-agent
---- NetKVM
---- viostor
---- vioscsi
---- qxldod
---- Balloon
--- インストール
++++ デバイスマネージャ
++++ 操作
++++ 「レガシー...追加」
++++ 「一覧から選択...」
++++ 「全てのデバイス...」
++++ 「ディスク使用」
++++ 「参照」
++++ DVDから適宜選択
+Windows 2008 Server
++I had a similar problem and I fixed it with old virtio ...
You can find old version of virtio here:~
[[https://fedorapeople.org/groups/virt/virtio-win/direct-...
++ [Control Panel]->[Device Manager]->Add device(Legacy)
--- 64bit
vioscsi\2k8\amd64\vioscsi
--- 32bit
vioscsi\2k8\x86\vioscsi
++ guest-agent のインストール
--- d:\guest-agent\qemu-ga-x86_64.msi
* バックアップとリストア [#v399b62d]
** バックアップ [#g0f851ce]
+「データセンター」 -> ホスト -> 仮想マシン -> バックアッ...
+「今すぐバックアップ」を押す
+バックアップ先やモードを選択
+「バックアップ」ボタンを押す
** cephのバックアップ [#uc4f3f74]
-参考サイト[[Ceph RBD Mirroring:https://pve.proxmox.com/w...
** ストレージ・レプリケーション [#q4bb1efa]
-対応ファイルシステムはzfsのみ。。。
** リストア [#c7874e3a]
+「データセンター」 -> ホスト -> 仮想マシン -> バックアッ...
+リストアするイメージを選択 -> 「リストア」ボタンを押す
+ターゲットのストレージを選択して「リストア」ボタンを押す
* vMotion的な(マイグレート) [#c9645451]
-仮想マシンを右クリック -> 「マイグレート」
-マイグレート先を選択
* WOL(参考) [#z420377d]
-参考サイト : [[ProxmoxでのWOL(Wake On Lan)起動で個人的に...
+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_s...
** 移行手順 [#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" ...
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/Troubleshootin...
+ProxMoxのコンソールで対象の仮想マシンを開く
+「モニタ」を選択(コンソールではない)
+ 以下のコマンド(例)を入力、送信
sendkey ctrl-alt-f1
** noVNCの左側にある四角の中にAが書いてあるボタン [#je88a...
+ 例) Ctrl + Alt + F1
-- Ctrl と Alt を押し反転させる
-- 「F1」を押す
* USB [#p1802fde]
** 参考サイト [#ccc13628]
+[[https://pve.proxmox.com/wiki/USB_Devices_in_Virtual_Ma...
** 設定 [#o15920d6]
+ ProxMox VEへSSH
+ USB一覧の取得
lsusb
-- 注目するのは以下のID(例)
--- Bus 001 Device 037: ID &color(red,){0511:083f}; N'Abl...
+ 追加したい仮想マシンの番号を指定し以下のコマンドを実行...
-- sudo qm set (仮想マシンのID) -usb(USB番号任意) host=(...
-- 例)
sudo qm set 804 -usb0 host=0511:083f
-追加されたUSBはWeb consoleからも見る事が可能
* Zabbix [#nf6e045b]
** 設定 [#cdfab4be]
*** ProxMox側 [#m792ad52]
+APIトークンの作成
++ 「データセンター」->「アクセス制限」->「APIトークン」
++ 「追加」
++ 「トークンID」:任意のIDを指定 例としてtokenName
++ 以下2つを無くさないようにメモる
--- トークンID : 例) root@pam!tokenName
--- シークレット:例) abcde123-123a-123a-123a-1234567890ab
*** Zabbix6側 [#c993e3b5]
+ 「設定」->「ホスト」
+ 右上「ホストの作成」
+ 「ホスト」タブ
|ホスト名|適当に|
|表示名|適当に|
|テンプレート|Proxmox VE by HTTP|
|グループ|適当に選択|
|インターフェース|エージェント, IP or DNS名, ポート:10050|
+ 「マクロ」(以下は例)
|マクロ|値|h
|{$PVE.TOKEN.ID}|root@pam!tokenName|
|{$PVE.TOKEN.SECRET}|abcde123-123a-123a-123a-1234567890ab|
+ テスト
++ 「設定」->「ホスト」->「名前」:サーバ名 ->「アイテム」
-> 「Proxmox: API service status」
++ 一番下「テスト」ボタン
++ 一番下「値の取得とテスト」ボタン
++ 結果に「200」が帰れば成功
* その他 [#uc7b917a]
** ロックの解除方法 [#f33452bd]
-ホストで以下を実行
sudo qm unlock <VM ID>
-- 例) sudo qm unlock 110
** 仮想マシン一覧の表示方法 [#af1fb03b]
-「データセンター」->「検索」から一覧が見える
** ProxMox Webタブを複数開いた状態でブラウザを起動した時...
+ どこかのタブで1回認証する
+ 隣のタブでももう一度認証する
+ 再度、元のタブに戻る
+ 上記2つ以外のタブを再読み込みする
** クラスター内のホストのIPアドレスを変更しようとして失敗...
*** 前提 [#xbb05c88]
+IPを変更しようとしたホスト名をAとする。
+その他のホスト名をBとする。
*** やってしまった事と現象 [#r0bfdcb2]
+ホストAのIPを変更したらホストB経由で確認したクラスター内...
+ホストAのIPを戻してもホストB経由で確認したクラスター内で...
*** ホストAをクラスタへ再参画させる [#m42841ab]
- 参考サイト:[[Cluster Manager(Ceph,英語):https://docs.ce...
-- [Remove a Cluster Node]を参照
+ 再参画準備
++ 上記 Remove a Cluster Node のコマンド
+++ sudo pvecm nodes
+++ sudo pvecm delnode (Name)
---- 例) sudo pvecm delnode hp4
+++ sudo systemctl stop pve-cluster
+++ sudo systemctl stop corosync
+++ sudo pmxcfs -l
+++ sudo rm /etc/pve/corosync.conf
+++ sudo rm -r /etc/corosync/*
+++ sudo killall pmxcfs
+++ sudo systemctl start pve-cluster
+++ sudo pvecm delnode oldnode
+++ sudo pvecm expected 1
+++ sudo rm /var/lib/corosync/*
++ その他(再参画するホスト上で実行)
+++ sudo cp -fr /etc/pve/nodes /etc/pve/nodes.bak
+++ sudo rm -fr /etc/pve/nodes
+ あとは普通に再参画
** 仮想マシンが重たい現象について [#v1dd6e0b]
- 自分はMoose File Systemと併用してるので、Moose File Sys...
合わせたものが重たい時に仮想マシンが重たくなる。
** ** ファイルサーバ機能(ceph pool) [#b3c61605]
** どうやってファイルサーバ機能を実現するか [#md5e5e85]
- LVMだと思ってたら、ext4でも普通にオンラインで容量の追加...
-- -> 仮想マシン場でかつext4で実現する。
- あとはNFSとSMBのどっちにするか。。。
-- 以下で普通に実装できたけど、ファイルサーバ機能としては...
cephでは構築しない事にした。
-- Linux からはNFS
-- Windows からは SMB
** swap(スワップ)の使用率がやたらと多い [#seeae9e5]
+以下のファイルを編集
sudo vim /etc/sysctl.conf
+以下を追加
vm.swappiness = 10
+反映
sudo sysctl -p
** Win11 [#pe3c60ac]
- 問題無く動いた
** SPICE(画面共有) [#zce278dd]
*** noVNCで画面が更新されない場合 [#ze2eb0be]
+ noVNCを使っても「ハードウェア」の「ディスプレイ」を「SP...
** Snapshotが消せない,スナップショット, [#u1921b41]
-対象の仮想マシンがあるホストへログイン
sudo qm delsnapshot 100 BeforeEashRSA -force
** DNSが反映されない,Cache,キャッシュ [#y7adc7d1]
+ ホスト
+ システム
+ DNS
+ 編集で一時的に別のDNSを設定して戻す
** CTテンプレート(コンテナ) [#se12d2f3]
+「データセンター」->「検索」->「storage-local」をダブル...
+「CTテンプレート」
+「テンプレート」
-- 「検索」-> nextcloud
+「turnkey-nextcloud」->「ダウンロード」
+ 対象ホストを右クリック->「CTを作成」
+ あとは大体、画面通りに操作すれば作れます
* 調査完了 [#t08ae2e3]
** Moose File System との共存 [#t17ee4ba]
-可能
* 個人メモ [#m12d43a9]
** VM migration [#t016d119]
+ 基本設定
++ ホスト
++ 仮想マシン
-- 項目
+++ [[openldap#l7ae19bd]]
** LANケーブル、タグ付け [#o9049017]
**Cephチューニング [#ndc0e41d]
-[[Logging and Debugging(ceph):https://docs.ceph.com/en/l...
-[[Cephのチューニング REPORT DOCUMENTATION BUG#(SUSE):htt...
* (おまけ) テスト環境PCについて [#b781d728]
** HP ProDesk 400 G2.5 Small Form Factor Business PC [#bf...
***BIOS(UEFI) 設定 [#hfaf0808]
- F10
-変更箇所
++ストレージ
--- 起動順序
---- UEFI USB DVD を一番上へ
---- F10 で終了
++ セキュリティ
+++ システムのセキュリティ
---- 仮想化技術(VTx/Vtd) -> 有効
---- F10で終了
+++ 安全なブートの構成
---- 安全なブート -> 無効
---- 高速ブート -> 無効
++ 電源
+++ ハードウェア・パワー・マネージメント
---- S5ウェイク オンLAN -> 有効
++ カスタム
--- 電源投入時オプション
---- POSTメッセージ -> 有効
---- 電源コード抜き差し後 -> オン
* Upgrade, update, Version up, バージョンアップ, アップグ...
** Version7 -> Version8 [#d947c7d8]
*** 参考サイト [#ae0d1161]
[[参考サイト(ProxMox公式):https://pve.proxmox.com/wiki/Up...
*** 現状(Version7)の最新バージョンへ上げる [#m6f24a74]
sudo apt update
sudo apt upgrade
*** upgrade check [#afbeec05]
sudo pve7to8
*** レポジトリの変更 [#v82a5b67]
+本体
--以下のファイルを下の内容へ変更
sudo vim /etc/apt/sources.list
--内容
deb http://ftp.debian.org/debian bookworm main contrib
deb http://ftp.debian.org/debian bookworm-updates main c...
# Proxmox VE pve-no-subscription repository provided by ...
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve bookworm pve-...
# security updates
deb http://security.debian.org/debian-security bookworm-...
+ceph
-file
sudo vim /etc/apt/sources.list.d/ceph.list
-内容
deb http://download.proxmox.com/debian/ceph-reef bookwor...
deb http://download.proxmox.com/debian/ceph-quincy bookw...
+ sudo apt update
*** upgrade [#cceaa78f]
sudo apt dist-upgrade
-サーバの再起動
-- 自分はcephのnobackfillを設定したから再起動~
(再起動中にbackfillが走ると重いので。。。)
+++ host
+++ ceph
+++ OSD
+++ 「Global Flagsの管理」ボタン
+++ 「nobackfill」のチェックボックスをオン
+++ 再起動後、cephがAll greenになったらチェックオフ
終了行:
[[LinuxServer]]
#shadowheader(1,"Proxmox")
#contents
* 参考サイト [#qdba0148]
-[[GPUパススルーも簡単にできる仮想化プラットフォーム「Pro...
-[[ラズパイが高いなら5千円の中古シンクラを使えばいいじゃ...
/kaimono/1464643.html]]
--ちなみにこのシンクライアント端末は既に市場には無いので...
-[[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-ima...
- ISO をダウンロードしてDVDを作成しインストール
** 初回アップデート [#ebd86128]
-参考:[[Install Proxmox VE:https://pve.proxmox.com/wiki/...
+ Sources list を変更
echo "deb [arch=amd64] http://download.proxmox.com/debia...
+gpg keyのダウンロード
wget https://enterprise.proxmox.com/debian/proxmox-relea...
+pve-enterprise.list のコメントアウト
vi /etc/apt/sources.list.d/pve-enterprise.list
-- 変更前
deb https://enterprise.proxmox.com/debian/pve bullseye p...
-- 変更後
#deb https://enterprise.proxmox.com/debian/pve bullseye ...
+repository の更新とアップグレード
apt update && apt full-upgrade
** 最低限のソフトのインストール [#j5e1e551]
apt install vim ethtool tmux clamav iftop iotop qemu-gue...
** 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]]
** tmux の設定 [#h0a66ce1]
-サイト内リンク:[[LinuxCommon#q477635c]]
* 起動後の初期ユーザー名 [#f452b50f]
- root
- URL : https://(IP address):8006
-- 例) https://123.123.123.123:8006/
* クラスタの作成 [#h4744fb4]
+ 「データセンター」-> 「クラスタ」(上から4つめ)
+ 「クラスタの作成」
+ クラスタ名を入力してそのまま作成する。
** クラスタへの参加(Join) [#k8db5acb]
*** 既存ホストでの作業 [#t89e7b19]
+ 既存のホストから「データセンター」を選択 -> 「クラスタ...
+ 「Join情報」をコピー
*** 新規ホストでの作業 [#wa8fe57e]
+「データセンター」を選択 -> 「クラスタ」
+「クラスタに参加」
++ 先程のJoin情報を貼り付け
++ rootのパスワードの入力(不要?)
** クラスタから削除 [#l0f4184a]
-ProxMoxホストのシャットダウン
-別のホストに ssh でログインして、対象ノードを削除する。
-- sudo pvecm delnode pve2
-以下のディレクトリを削除
--sudo rm -fr /etc/pve/nodes/pve2
* ストレージ, 通常(ceph以外) [#r86b9499]
** 新規HDDの追加(thin diskの追加) [#jbff0ebb]
***GPT初期化 [#he7cfa19]
+左ツリーから個別のホストを選択
+ディスクを選択
+新規に追加したdisk(sdbとかsdc)を選択
+「GPTでディスクを初期化」ボタンを押す
***LVM-Thinを作成 [#q535ce37]
+「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.su...
++[[9 保存データの管理(SUSE):https://documentation.suse.c...
+まず一杯になる前兆などの指標
++ OSD_NEARFULL : もうそろそろリバランスできなくなります...
++ OSD_BACKFILLFULL:既にリバランスができないよ、って警告
++ OSD_FULL:クラスタの書き込みが実行できなよ、って警告
** 仮想マシンの中のディスクが[No Such File or Directory]...
-rbdコマンドを使用して直接消す
-参考サイト:[[Basic Block Device Commands(ceph):https://...
-コマンド
-- ディスク一覧の確認
sudo rbd ls cephPoolName
-- 消去のコマンド
sudo 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, Prox...
Webサーバやデータベースサーバにも影響が出ていてしんどい。...
日記用のプライベートWordpressにもアクセスできないし、SKK...
日本語変換もままならん。。。早く解決しないかなぁ。。。
-- 次の日には直りました(^^)
** ディスクエラーの消し方 [#i7de75bc]
- alertを消すコマンド
sudo ceph crash ls
sudo ceph crash rm 2022-04-28T05:36:52.440294A_5c65D2b3-...
-- 一括消去コマンド
sudo ceph crash ls | cut -d ' ' -f 1 | sudo xargs -I{} c...
-マネージャーの停止-> 起動
++ ホスト
++ Ceph
++ モニタ
++ マネージャー
--- 2つ以上のマネージャーが必要(でないと止まっちゃうので)
-仮想マシンに実装したディスクを消せなくなった
++ sudo rbd ls cephPool
++ sudo rbd rm vm-106-disk-1
++ sudo vi /etc/pve/nodes/pveHostName/qemu-server/106.conf
--- delete below row
vm-106-disk-1,cache=writeback,size=2470G
** リカバリ, リバランスのために仮想マシンが重い, 遅い(cep...
- 参考サイト
++ [[OSD Config Reference(ceph公式,英語):https://docs.ce...
++ [[OSD リカバリを高速化または低速化する方法(SUSE,日本語...
++ [[テラバイトでの OSD の重みの設定(redhat,日本語):https...
--- [[使用状況による OSD の重みの設定(redhat,日本語):http...
++ [[How to speed up or slow down osd recovery(SUSE,英語)...
- ProxMoxのホストへログオンして実行する
+ 一番効果が高い方法(osd_recovery_op_priority, osd_client...
-- 数字が低い方が高優先度
-- 自分は一晩放置したら反映されてました
-- 値は1〜64
-- 例
--- sudo ceph config set osd osd_recovery_op_priority 63
--- sudo ceph config set osd osd_client_op_priority 1
+ どうしても重い時はリカバリ, リバランスを停止
-- 停止
sudo ceph osd set nobackfill
-- 再開
sudo ceph osd unset nobackfill
+ その他、効きそうな設定
++ sudo ceph config set osd osd_max_backfills 1
++ sudo ceph config set osd osd_recovery_max_active 1
++ sudo ceph config set osd osd_max_pg_log_entries 1
++ sudo ceph config set osd bluestore_cache_autotune 1
++ sudo ceph config set osd osd_memory_target 2G
--- これはあまり効いてる感じはしないかな。。。
++ osd_memory_cache_min 2147483648
--- 2GB
++ sudo ceph config set osd osd_backfill_full_ratio 0.3
--- 自分の環境では以下のエラーで動かなかった。。。
Error EINVAL: unrecognized config option 'osd_backfill_f...
--- Ceph OSD のフル比率がこの値以上の場合、バックフィル要...
++ ceph tell 'osd.*' injectargs '--osd-max-backfills 1'
++ sudo ceph config set osd osd_backfill_scan_max 128
++ sudo ceph config set osd osd_op_num_threads_per_shard 0
--- これはbackfill, recoveryにあまり影響しないので、デフ...
0以外だとストレージがやたらと重くなる
*** full ratio [#i83ac23b]
-sudo ceph osd set-nearfull-ratio <float[0.0-1.0]>
-sudo ceph osd set-full-ratio <float[0.0-1.0]>
-sudo ceph osd set-backfillfull-ratio <float[0.0-1.0]>
** その他, コマンドなど [#i0a63a4c]
+ 参考サイト
++ [[Red Hat Ceph Storage:https://access.redhat.com/docum...
++ [[SUSE Enterprise Storage 6とCeph:https://documentatio...
++ [[Red Hat PG数の増加:https://access.redhat.com/documen...
+ sudo ceph config set mon mon_osd_down_out_interval 600
-- OSDがdownしてパフォーマンス低下した場合、outにするまで...
+ osd recovery threads
-- デフォルトで 1 つのスレッドでリカバリープロセスのスレ...
+ sudo ceph config set osd osd_recovery_max_active 3
-- ceph OSD が送信に失敗するのを防ぐために Ceph OSD が同...
+ osd_max_backfills
-- Ceph OSD から 10 への同時バックフィルの最大数を設定し...
+ ワークロードによっては、通常のリカバリーを完全に回避し...
バックフィルはバックグラウンドで実行されるため、I/O は OS...
osd_min_pg_log_entries オプションを 1 に設定し、osd_max_p...
リカバリーではなくバックフィルを強制できます。
+ PG(Placement Group)の数を変更する(256へ変更)
sudo ceph osd pool set cephPool pg_num 256
+ scrub関連
-- scrubコマンド
sudo ceph pg deep-scrub <PG_ID>
--- 例
sudo ceph pg deep-scrub 6.ce
-- osd_deep_scrub_interval
osd_deep_scrub_interval
** weight, reweight関連 [#nf06f16a]
+ reweight
-- ''個人的にはreweightよりweightの変更がおすすめかと思い...
--- ストレージに余裕があっても degrated が残る時があるの...
-- 参考サイト[[2.5.3. OSD の in 重みの設定(RedHat):https:...
-- reweightコマンド
sudo ceph osd reweight {osd id} {weight}
---- 例
sudo ceph osd reweight 2 0.8
++ 使用状況による OSD の重みの設定(自動, reweight)
+++ &color(red,){この方法は大量のBackfillを産むので注意!...
+++ 設定
---- sudo ceph osd reweight-by-utilization [threshold] [...
----- threshold : 101〜120
----- weight_change_amount : weight を変更する値。0.01〜1...
例えば 0.5 で設定すると、Max 0.5の加減でreweight値を変更...
----- number_of_OSDs : いくつのosdを変更するか。5個のosd...
----- --no-increasing : Weightを増やさない。個人的にはこ...
---- 例)
sudo ceph osd reweight-by-utilization 101 0.5 10
+++テスト
sudo ceph osd test-reweight-by-utilization 101 0.1 11
++ 手動(reweight)
---[[#afdae74d]]
+ weight
++ 1つずつ更新(weight)
sudo ceph osd crush reweight name weight
--- 例
sudo ceph osd crush reweight osd.1 0.8
++ ceph pool バケット名による一括更新(weight)
--- sudo osd crush reweight-subtree <buckets name> <weight>
--- 例
sudo osd crush reweight-subtree hostName 0.9
--- ceph pool bucket名は以下から参照
---- 「データセンター」-> 個別ホトト ->「Ceph」->「設定」...
** ネットワークBonding(Teaming) [#q96a3f4b]
- cephのネットワーク帯域がアップアップで遅いので、Bonding...
(今回はLinuxなので「Bonding」の言葉で統一します)
- 設定手順
++ bond0の作成
+++ 「データセンター」配下からBondingしたいホストを選択
+++ 「システム」->「ネットワーク」~
ネットワークの設定は「設定を適用」ボタンを押すまで反映さ...
それまで自由にいじれます。戻したい時は「リバート」を選択
+++ ホストにsshして、以下のファイルをバックアップしておい...
/etc/network/interfaces
sudo cp /etc/network/interfaces /etc/network/interfaces....
---- 戻す時(切り戻し時、設定したけどネットワークが繋らな...
sudo cp /etc/network/interfaces.bak /etc/network/interfa...
sudo systemctl restart networking
+++ 今の「vmbr0」のIPアドレスをメモしておく
+++ 今の「vmbr0」を削除
+++ 「作成」->「Linux Bond」
---- 名前:bond0
---- IPv4/CIDR : (空白)
---- ゲートウェイ : (空白)
---- スレーブ:enp0s31f6 enp1s0
----- スレーブはNIC2枚を指定。スペース区切り
---- モード : balance-alb~
&color(red,){(balance-alb以外を選択する時は、上位スイッチ...
&color(red,){ここの設定を間違えるとホストがネットに繋らな...
++ vmbr0の作成
+++ 「作成」->「Linux Bridge」
---- 名前:vmbr0
---- IPv4/CIDR : 123.123.123.123/24
---- ゲートウェイ : 123.123.123.254
---- ブリッジポート : bond0
++ 「設定を適用」を押す~
&color(red,){このボタンを押す時はサーバの前に居る事を強く...
&color(red,){ネットワークに繋がらなくなるとコンソールでの...
** Cluster network [#l8765999]
-vim /etc/ceph/ceph.conf
-- cluster_network = 192.168.123.123/24
-- [mon.hostA]
public_addr = 192.168.121.121
cluster_addr = 192.168.123.123
** パブリック・ネットワークを別セグメントとする [#caf2d647]
- sudo vi /etc/ceph/ceph.conf
- Monitorアドレスの変更
mon_host = 192.168.123.123 192.168.124.123 192.168.123.1...
- 以下も変更
[mon.hostName]
public_addr = 192.168.124.123
- ネットワークのサブネットマスクやルータはちゃんと設定す...
-- & 上記の設定とネットワーク設定などを変更したあとはping...
** Crush map の編集 [#r6ae4250]
- 参考サイト : [[Ceph(Octopus)の構築(設定編 Crush Map)(Qi...
+ crush map の出力
sudo ceph osd getcrushmap -o /tmp/crush
+ テキストへ変換
sudo crushtool -d /tmp/crush -o /tmp/crush.txt
+ cruch map の編集
sudo vim /tmp/crush.txt
+ テキストをバイナリへ
sudo crushtool -c /tmp/crush.txt -o /tmp/crush.new
+ バイナリをアップロード
sudo ceph osd setcrushmap -i /tmp/crush.new
+ 反映
ceph -w
** osd, monitorサーバの削除(削減)方法 [#e0c28647]
*** osd [#tdf33db0]
+ OSDの止める
+ OSDを選択し、「More」->「破棄」を選択
*** Monitor [#c8fa81ae]
+ マネージャー登録がある場合は、最初にマネージャーを破棄
+ モニターを停止
+ 破棄
*** 色々ミスった時(消せなくなった時) [#c4b686d5]
+sudo vim /etc/ceph/ceph.conf
+crush mapの編集[[c#r6ae4250]]
+sudo ceph mon remove (nodename)
++ 例
ceph mon remove proxve07
** osd の class を hdd から ssd へ変更する [#mb14fa85]
-参考サイト:[[17 保存データの管理(SUSE):https://documenta...
+最初に osd の class を削除
-- 例
sudo ceph osd crush rm-device-class osd.2 osd.3
+class を設定
-- 例
sudo ceph osd crush set-device-class ssd osd.2 osd.3
** possible data damage 1 pg inconsistent [#edf34c30]
+ sudo ceph health detail
HEALTH_ERR 115 scrub errors; Possible data damage: 2 pg...
[ERR] OSD_SCRUB_ERRORS: 115 scrub errors
[ERR] PG_DAMAGED: Possible data damage: 2 pgs inconsist...
pg 6.60 is active+clean+scrubbing+deep+inconsistent+r...
pg 6.a0 is active+clean+inconsistent, acting [12,10,9]
+以下、繰り返す
++ sudo ceph pg repair 6.60
++ sudo ceph pg repair 6.a0
++ sudo ceph health detail
** CephFS [#xccd7503]
***特徴 [#p517c621]
+ファイルサーバ機能。
+仮想マシンは作れない
***消し方 [#xc0611f0]
- 参考サイト[[Destroy CephFS(ProxMox):https://pve.proxmox...
+ ストレージのアンマウント(データセンターから)
+ 各ノードの「Ceph」->「CephFS」からメタバースを停止 -> ...
+ 以下のコマンドを実行
pveceph fs destroy NAME --remove-storages --remove-pools
** 課題と今後 [#qe6d2aff]
*** 課題 [#f1d5facc]
+ とにかく遅い。
-- Moose File Systemの方が体感的には圧倒的に早い
-- 参考サイト1:[[【ストレージ初心者向け】分散ストレージ...
-- 参考サイト2:[[「Ceph」を高速化する方法と、Windows環境...
+++
+ リバランスの負荷が実環境に影響を与える(遅いので)
-- 結果、DNS, DHCP, Proxyのようなネットワーク基幹となるシ...
+ ストレージの使用率がばらける(Weight調整がマニュアル指向)
-- 結果、osdがフルになり止まる
-- rewight より weight を直接変更した方が良い
+ ProxMox用を起動するストレージの一部をcephへ転用できない。
-- できるのかもしれないけどやり方がわからない
***今後 [#ae5b7e45]
+ ファイルサーバ機能はMoose File Systemを継続
+ 仮想環境の共通ストレージのみcephとする
* その他、ストレージ関連 [#f8f39d1e]
** ディスク, 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)が起き...
** ISOイメージ用のストレージ [#g52994f9]
-参考サイト:[[Storage(ProxMox):https://pve.proxmox.com/w...
-対応状況:とりあえず代表的なものだけ
++ Directory
++ NFS
++ CIFS
++ CephFS
* 仮想マシンの追加 [#df683a94]
+ProxMoxのWeb管理コンソール、右上「VMを作成」ボタンを押す~
(コンテナはceph poolでは作れないので注意)
+全般
++ 「ノード」(ProxMoxのホスト)を選択
++ 「VM ID」:適当にダブらない3桁の数字 例) 123
++ 「名前」:仮想コンピュータの名前
++ 「リソースプール」:空白
++ ネットワーク(NIC)の「ファイアウォール」チェックボック...
+OS
++ISOイメージの選択(ISOが格納できるファイルシステムは->[[...
** 仮想マシンの初期設定(お好みで) [#c5d91448]
+apt install vim tmux clamav iftop iotop qemu-guest-agent...
+ntpの設定
sudo vim /etc/ntp.conf
+lxde化
sudo apt install lxde
** Windows10 [#p3d113ec]
*** 仮想マシン [#j71c4183]
-HDDはSATAを選択
-HDDが認識されなかった時は、仮想マシンごと作り直す。
*** Windows Guest Agent, VirtIO [#g3ab1277]
+Windows10
--参考サイト:
++[[ダウンロードサイト(ProxMox):https://pve.proxmox.com/w...
---以下から落とす
----Using the ISO~
You can download the [[latest stable:https://fedorapeople...
++ ViirtIO serial
+++ デバイス・マネージャー
+++ 他のデイバイス
+++ PCIシンプル通信コントローラー
+++ ダブルククリック
+++ 「コンピューターを参照して...」
+++ d:\vioserial\w10\adm64
+++ 次へ
++ その他
--- 種類
---- guest-agent
---- NetKVM
---- viostor
---- vioscsi
---- qxldod
---- Balloon
--- インストール
++++ デバイスマネージャ
++++ 操作
++++ 「レガシー...追加」
++++ 「一覧から選択...」
++++ 「全てのデバイス...」
++++ 「ディスク使用」
++++ 「参照」
++++ DVDから適宜選択
+Windows 2008 Server
++I had a similar problem and I fixed it with old virtio ...
You can find old version of virtio here:~
[[https://fedorapeople.org/groups/virt/virtio-win/direct-...
++ [Control Panel]->[Device Manager]->Add device(Legacy)
--- 64bit
vioscsi\2k8\amd64\vioscsi
--- 32bit
vioscsi\2k8\x86\vioscsi
++ guest-agent のインストール
--- d:\guest-agent\qemu-ga-x86_64.msi
* バックアップとリストア [#v399b62d]
** バックアップ [#g0f851ce]
+「データセンター」 -> ホスト -> 仮想マシン -> バックアッ...
+「今すぐバックアップ」を押す
+バックアップ先やモードを選択
+「バックアップ」ボタンを押す
** cephのバックアップ [#uc4f3f74]
-参考サイト[[Ceph RBD Mirroring:https://pve.proxmox.com/w...
** ストレージ・レプリケーション [#q4bb1efa]
-対応ファイルシステムはzfsのみ。。。
** リストア [#c7874e3a]
+「データセンター」 -> ホスト -> 仮想マシン -> バックアッ...
+リストアするイメージを選択 -> 「リストア」ボタンを押す
+ターゲットのストレージを選択して「リストア」ボタンを押す
* vMotion的な(マイグレート) [#c9645451]
-仮想マシンを右クリック -> 「マイグレート」
-マイグレート先を選択
* WOL(参考) [#z420377d]
-参考サイト : [[ProxmoxでのWOL(Wake On Lan)起動で個人的に...
+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_s...
** 移行手順 [#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" ...
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/Troubleshootin...
+ProxMoxのコンソールで対象の仮想マシンを開く
+「モニタ」を選択(コンソールではない)
+ 以下のコマンド(例)を入力、送信
sendkey ctrl-alt-f1
** noVNCの左側にある四角の中にAが書いてあるボタン [#je88a...
+ 例) Ctrl + Alt + F1
-- Ctrl と Alt を押し反転させる
-- 「F1」を押す
* USB [#p1802fde]
** 参考サイト [#ccc13628]
+[[https://pve.proxmox.com/wiki/USB_Devices_in_Virtual_Ma...
** 設定 [#o15920d6]
+ ProxMox VEへSSH
+ USB一覧の取得
lsusb
-- 注目するのは以下のID(例)
--- Bus 001 Device 037: ID &color(red,){0511:083f}; N'Abl...
+ 追加したい仮想マシンの番号を指定し以下のコマンドを実行...
-- sudo qm set (仮想マシンのID) -usb(USB番号任意) host=(...
-- 例)
sudo qm set 804 -usb0 host=0511:083f
-追加されたUSBはWeb consoleからも見る事が可能
* Zabbix [#nf6e045b]
** 設定 [#cdfab4be]
*** ProxMox側 [#m792ad52]
+APIトークンの作成
++ 「データセンター」->「アクセス制限」->「APIトークン」
++ 「追加」
++ 「トークンID」:任意のIDを指定 例としてtokenName
++ 以下2つを無くさないようにメモる
--- トークンID : 例) root@pam!tokenName
--- シークレット:例) abcde123-123a-123a-123a-1234567890ab
*** Zabbix6側 [#c993e3b5]
+ 「設定」->「ホスト」
+ 右上「ホストの作成」
+ 「ホスト」タブ
|ホスト名|適当に|
|表示名|適当に|
|テンプレート|Proxmox VE by HTTP|
|グループ|適当に選択|
|インターフェース|エージェント, IP or DNS名, ポート:10050|
+ 「マクロ」(以下は例)
|マクロ|値|h
|{$PVE.TOKEN.ID}|root@pam!tokenName|
|{$PVE.TOKEN.SECRET}|abcde123-123a-123a-123a-1234567890ab|
+ テスト
++ 「設定」->「ホスト」->「名前」:サーバ名 ->「アイテム」
-> 「Proxmox: API service status」
++ 一番下「テスト」ボタン
++ 一番下「値の取得とテスト」ボタン
++ 結果に「200」が帰れば成功
* その他 [#uc7b917a]
** ロックの解除方法 [#f33452bd]
-ホストで以下を実行
sudo qm unlock <VM ID>
-- 例) sudo qm unlock 110
** 仮想マシン一覧の表示方法 [#af1fb03b]
-「データセンター」->「検索」から一覧が見える
** ProxMox Webタブを複数開いた状態でブラウザを起動した時...
+ どこかのタブで1回認証する
+ 隣のタブでももう一度認証する
+ 再度、元のタブに戻る
+ 上記2つ以外のタブを再読み込みする
** クラスター内のホストのIPアドレスを変更しようとして失敗...
*** 前提 [#xbb05c88]
+IPを変更しようとしたホスト名をAとする。
+その他のホスト名をBとする。
*** やってしまった事と現象 [#r0bfdcb2]
+ホストAのIPを変更したらホストB経由で確認したクラスター内...
+ホストAのIPを戻してもホストB経由で確認したクラスター内で...
*** ホストAをクラスタへ再参画させる [#m42841ab]
- 参考サイト:[[Cluster Manager(Ceph,英語):https://docs.ce...
-- [Remove a Cluster Node]を参照
+ 再参画準備
++ 上記 Remove a Cluster Node のコマンド
+++ sudo pvecm nodes
+++ sudo pvecm delnode (Name)
---- 例) sudo pvecm delnode hp4
+++ sudo systemctl stop pve-cluster
+++ sudo systemctl stop corosync
+++ sudo pmxcfs -l
+++ sudo rm /etc/pve/corosync.conf
+++ sudo rm -r /etc/corosync/*
+++ sudo killall pmxcfs
+++ sudo systemctl start pve-cluster
+++ sudo pvecm delnode oldnode
+++ sudo pvecm expected 1
+++ sudo rm /var/lib/corosync/*
++ その他(再参画するホスト上で実行)
+++ sudo cp -fr /etc/pve/nodes /etc/pve/nodes.bak
+++ sudo rm -fr /etc/pve/nodes
+ あとは普通に再参画
** 仮想マシンが重たい現象について [#v1dd6e0b]
- 自分はMoose File Systemと併用してるので、Moose File Sys...
合わせたものが重たい時に仮想マシンが重たくなる。
** ** ファイルサーバ機能(ceph pool) [#b3c61605]
** どうやってファイルサーバ機能を実現するか [#md5e5e85]
- LVMだと思ってたら、ext4でも普通にオンラインで容量の追加...
-- -> 仮想マシン場でかつext4で実現する。
- あとはNFSとSMBのどっちにするか。。。
-- 以下で普通に実装できたけど、ファイルサーバ機能としては...
cephでは構築しない事にした。
-- Linux からはNFS
-- Windows からは SMB
** swap(スワップ)の使用率がやたらと多い [#seeae9e5]
+以下のファイルを編集
sudo vim /etc/sysctl.conf
+以下を追加
vm.swappiness = 10
+反映
sudo sysctl -p
** Win11 [#pe3c60ac]
- 問題無く動いた
** SPICE(画面共有) [#zce278dd]
*** noVNCで画面が更新されない場合 [#ze2eb0be]
+ noVNCを使っても「ハードウェア」の「ディスプレイ」を「SP...
** Snapshotが消せない,スナップショット, [#u1921b41]
-対象の仮想マシンがあるホストへログイン
sudo qm delsnapshot 100 BeforeEashRSA -force
** DNSが反映されない,Cache,キャッシュ [#y7adc7d1]
+ ホスト
+ システム
+ DNS
+ 編集で一時的に別のDNSを設定して戻す
** CTテンプレート(コンテナ) [#se12d2f3]
+「データセンター」->「検索」->「storage-local」をダブル...
+「CTテンプレート」
+「テンプレート」
-- 「検索」-> nextcloud
+「turnkey-nextcloud」->「ダウンロード」
+ 対象ホストを右クリック->「CTを作成」
+ あとは大体、画面通りに操作すれば作れます
* 調査完了 [#t08ae2e3]
** Moose File System との共存 [#t17ee4ba]
-可能
* 個人メモ [#m12d43a9]
** VM migration [#t016d119]
+ 基本設定
++ ホスト
++ 仮想マシン
-- 項目
+++ [[openldap#l7ae19bd]]
** LANケーブル、タグ付け [#o9049017]
**Cephチューニング [#ndc0e41d]
-[[Logging and Debugging(ceph):https://docs.ceph.com/en/l...
-[[Cephのチューニング REPORT DOCUMENTATION BUG#(SUSE):htt...
* (おまけ) テスト環境PCについて [#b781d728]
** HP ProDesk 400 G2.5 Small Form Factor Business PC [#bf...
***BIOS(UEFI) 設定 [#hfaf0808]
- F10
-変更箇所
++ストレージ
--- 起動順序
---- UEFI USB DVD を一番上へ
---- F10 で終了
++ セキュリティ
+++ システムのセキュリティ
---- 仮想化技術(VTx/Vtd) -> 有効
---- F10で終了
+++ 安全なブートの構成
---- 安全なブート -> 無効
---- 高速ブート -> 無効
++ 電源
+++ ハードウェア・パワー・マネージメント
---- S5ウェイク オンLAN -> 有効
++ カスタム
--- 電源投入時オプション
---- POSTメッセージ -> 有効
---- 電源コード抜き差し後 -> オン
* Upgrade, update, Version up, バージョンアップ, アップグ...
** Version7 -> Version8 [#d947c7d8]
*** 参考サイト [#ae0d1161]
[[参考サイト(ProxMox公式):https://pve.proxmox.com/wiki/Up...
*** 現状(Version7)の最新バージョンへ上げる [#m6f24a74]
sudo apt update
sudo apt upgrade
*** upgrade check [#afbeec05]
sudo pve7to8
*** レポジトリの変更 [#v82a5b67]
+本体
--以下のファイルを下の内容へ変更
sudo vim /etc/apt/sources.list
--内容
deb http://ftp.debian.org/debian bookworm main contrib
deb http://ftp.debian.org/debian bookworm-updates main c...
# Proxmox VE pve-no-subscription repository provided by ...
# NOT recommended for production use
deb http://download.proxmox.com/debian/pve bookworm pve-...
# security updates
deb http://security.debian.org/debian-security bookworm-...
+ceph
-file
sudo vim /etc/apt/sources.list.d/ceph.list
-内容
deb http://download.proxmox.com/debian/ceph-reef bookwor...
deb http://download.proxmox.com/debian/ceph-quincy bookw...
+ sudo apt update
*** upgrade [#cceaa78f]
sudo apt dist-upgrade
-サーバの再起動
-- 自分はcephのnobackfillを設定したから再起動~
(再起動中にbackfillが走ると重いので。。。)
+++ host
+++ ceph
+++ OSD
+++ 「Global Flagsの管理」ボタン
+++ 「nobackfill」のチェックボックスをオン
+++ 再起動後、cephがAll greenになったらチェックオフ
ページ名: