それは何のためですか?
ハイバネーション(スリープモード)は、RAMの状態を含む現在の状態が不揮発性ストレージに保存されるシステムシャットダウンモードです。
このモードをProxmoxと組み合わせて使用すると、ゲスト仮想システムをシャットダウンすることなく、メインホストシステムをシャットダウンするプロセスを大幅に高速化できます。 Windowsのターミナルサーバーがゲストシステムとして展開されている場合、特に便利です。 実際、そのようなシステムの通常のシャットダウンでは、編集されたドキュメントを保存するようにユーザーのウィンドウに要求が表示されます。ユーザーが
もちろん、これを実現するには、サーバーのUPSを構成する必要があります。 ハイバネーションモードへの移行は、UPSバッテリーが少なくなったときにイベントとして都合よく割り当てられます。このモードへの移行速度により、バッテリーの容量要件を大幅に削減できます。
仕組み
Proxmox 2.2はdebian 6で動作し、以下で説明するほぼすべてが多かれ少なかれそれに関連しています。
ハイバネーションモードをアクティブにするには、ブート時にGRUBから直接見える専用ディスク、またはシステムディスク上の個別のスワップパーティションが必要です。 LVM内へのインストール中にスワップ論理ボリュームが自動的に作成されたため、休止状態を開始できませんでした。 同時に、proxmoxでは、インストール中にこのモードに必要なディスク構造を作成できません。 これはおそらく、主婦でさえも処理できるシステムの展開の最大限の容易さの概念によるものです。
最も簡単な解決策は、サーバーに別のハードドライブを追加し、それを休止モードのストレージとして指定することですが、proxmoxがインストールされた同じドライブの空き領域を見つけるより複雑なオプションを検討します。
ソースデータ
proxmoxをインストールすると、ディスクの1つが完全に利用され、その上のすべての情報が破壊され、特定のパーティション構造が作成されます。
# parted /dev/sda print free Model: ATA WDC WD3200AAKS-7 (scsi) Disk /dev/sda: 320GB Sector size (logical/physical): 512B/512B Partition Table: msdos Number Start End Size Type File system Flags 32.3kB 1049kB 1016kB Free Space 1 1049kB 537MB 536MB primary ext3 boot 2 537MB 320GB 320GB primary lvm 320GB 320GB 352kB Free Space
したがって、パーティション用の物理ディスク上の未割り当て領域は352kBのみであり、休止中にシステムが使用中のRAMの状態を保存するスワップパーティションには明らかに十分ではないことがわかりました。 このようなセクションのサイズは、RAMノードのサイズ以上でなければなりません。
必要なサイズが32 GBであることを受け入れましょう。
次に、2番目のセクションで、物理ボリュームがどの論理ボリュームで構成されているかを見てみましょう。
# lvs
ほら
LV VG Attr LSize Pool Origin Data% Move Log Copy% Convert data pve -wi-ao-- 203.09g root pve -wi-ao-- 74.50g swap pve -wi-ao-- 4.00g
メディアの準備
LVM2物理ボリューム内にすでにどのくらいの空きスペースがあるかを調べます。
# pvs
PFreeの価値を見ます
PV VG Fmt Attr PSize PFree /dev/sda2 pve lvm2 a-- 297.59g 16.00g
つまり、物理ディスク上のパーティションをすぐに16.00 GB削減できますが、タスクは32 GBを取得することなので、追加のデータを探します。
論理ボリュームデータから必要なスペースを選択します。 これを行うには、/ dev / pve / dataのサイズを16 GB削減します。
このプロセスは2段階で実行されます。 最初に、ファイルシステムのサイズが小さくなり、次に論理ボリューム自体のサイズが小さくなります。 この手順は潜在的に安全ではないため、ファイルシステムはサイズ変更期間中にアンマウントされます。したがって、/ var / lib / vzにあるすべての仮想マシンをこの時間停止する必要があります。
# lvresize /dev/pve/data -r -L-16Gb Do you want to unmount "/var/lib/vz"? [Y|n]
yと答える
もう一度実行する
# pvs PV VG Fmt Attr PSize PFree /dev/sda2 pve lvm2 a-- 297.59g 32.00g
物理ボリューム内の空き容量が32 GBに増加していることがわかります。
これで、セキュリティのために、使用可能な空き領域のサイズ+ 1 GBに安全にサイズを縮小できます。
物理ボリューム297-32 + 1 = 266の合計サイズを計算します
# pvresize /dev/sda2 --setphysicalvolumesize 266Gb
再び何が起こったのか見てみましょう
# pvs PV VG Fmt Attr PSize PFree /dev/sda2 pve lvm2 a-- 266.00g 412.00m
LVMの物理ボリュームサイズを次のように削減
297.59-266 + 0.412 = 32.002 GB
ただし、これにもかかわらず、ハードディスク上のLVM構造を含むパーティションのサイズは変更されませんでした。
# parted /dev/sda print free Number Start End Size Type File system Flags 32.3kB 1049kB 1016kB Free Space 1 1049kB 537MB 536MB primary ext3 boot 2 537MB 320GB 320GB primary lvm 320GB 320GB 352kB Free Space
物理ディスクのパーティションテーブルに新しいパーティション用の空き領域を取得する必要があるため、これは私たちには適していません。
現時点では、lvm2構造を含むパーティションを変更できる既製のユーティリティを見つけることができなかったため、ハードドライブ上のパーティションを削除して再作成します。 これは潜在的に非常に危険な手順です。
結果として取得したい2番目のセクションのパラメーターを計算します。 現在の32 GBより小さくする必要があります
320-32 = 288 GB
したがって、2番目のセクションにはパラメーターがあります。
プライマリタイプ
537MBから開始
288Gbを終了
警告を無視してセクション2を削除します
# parted /dev/sda rm 2
zanのセクションを作成しますが、それよりも小さくします
# parted /dev/sda mkpart primary 537MB 288GB
パーティションにlvmフラグを割り当てます
# parted /dev/sda set 2 lvm on
結果を見る
# parted /dev/sda print free
物理ディスクには、将来のパーティション用の空き領域があることがわかります
Number Start End Size Type File system Flags 32.3kB 1049kB 1016kB Free Space 1 1049kB 537MB 536MB primary ext3 boot 2 537MB 288GB 287GB primary lvm 288GB 320GB 32.1GB Free Space
タイプswapのセクションを作成します。 そのパラメーターは次のとおりです。
プライマリタイプ
fs linux-swap
288GBから開始
320GBの終わり
実行:
# parted /dev/sda mkpart primary linux-swap 288GB 320GB # mkswap /dev/sda3
準備作業が完了し、休止状態のセットアップに直接進むことができます
休止状態のアクティベーション
コンポーネントのインストール
# apt-get update # apt-get install pm-utils
grubとfstabにパラメーターを追加する
# echo 'GRUB_CMDLINE_LINUX_DEFAULT="resume=/dev/sda3"' >> /etc/default/grub # echo '/dev/sda3 none swap sw 0 0' >> /etc/fstab
新しいパーティションをスワップファイルとしてシステムに接続します
# swapon /dev/sda3
ブートローダーを更新する
# update-grub
休止状態モードのテストを直接開始できます。 しかし、以前は、メディアの構造にかなりの重大な変更があったため、これが可能であれば、サーバーを再起動することをお勧めします!
# reboot
システム電源をオフにして完全な休止状態を実行します
# pm-hibernate
UPSでバッテリーが放電した場合にこのコマンドの実行を割り当てることは今でも残っていますが、これは次の記事で説明する別の話です。
上記のすべては、新しくインストールされたproxmox 2.2でテストされています。