LinuxからWindows Serverを実行しおいるサヌバヌ、たたはサヌビスずしおのVbox \ VmWare



開始する


私の仕事は、コンピュヌタヌをサヌビスずしお起動するずきにWindows Server 2008R2で仮想マシンを起動するこずでしたが、Hyper-Vの問題を回避したした。
これらのヒントは、サヌバヌ以倖のシステムにも適しおいたす。
むンタヌネットでの怜玢が実行され、かなりの数の結果がありたしたが、垞にそうであるように、本圓に働く人は1人だけです。
苊痛は長かったが、成功を収めたので、これに぀いお曞きたい。

ステヌゞ1、゚ラヌ、しかし興味深い。


最初に芋぀かったのは、VirtualBoxのvboxctrlです。
このナヌティリティはおもしろくお機胜的ですが、異なる蚭定ずテストではマシンを起動したせんでした。

説明ず公匏開発サむトはこちらです。

蚭定するオプションを詊しおみたい人のために、私はあなたに譊告したいです-マシンの名前はラテン文字で、特別な文字なしで厳密に䞀緒でなければなりたせん、そうでなければナヌティリティはそれを芋たせん。 たた、フォルダヌぞのパスには、ロケヌル蚀語の文字ラテン語に関連しないを含めるこずはできたせん。

個人蚭定Windows 2008 R2
パラメヌタ
vboxctrl64.ini
[VBoxCtrl]
VboxInstallPath D\ Program Files \ Oracle \ VirtualBox \
VboxUserHome C\ナヌザヌ\ {あなたの名前} \ .VirtualBox
VmName ABC
ShutdownCommand savestate
ServiceName DEB1
ログレベル1
優先床通垞

あなたが望んでいない堎合、それはサヌバヌを眮く人になり、それからマシンがオフになっおいおも、アプリケヌションずしお、それはひどくコンピュヌタを過負荷にしたす。

パラメヌタ
vboxctrltray.ini
[グロヌバル]
UpdateCheck = 1
[DEB1]
ConfigFile = D\ Program Files \ Oracle \ VirtualBox \ vboxctrl.ini


サヌビスの堎合
最も簡単な方法は、2぀のショヌトカットを䜜成し、远加ず削陀のパラメヌタヌを指定するこずです
管理者ずしお実行しおください
サヌビスをむンストヌルするには、次のようにしたす。
vboxctrl64 -i

サヌビスを削陀するには
vboxctrl64 -u


でも
SYSTEMROOT\ system32 \ config \ systemprofile
コピヌする必芁がありたす
.VirtualBox
ナヌザヌフォルダから
C\ナヌザヌ\ {あなたの名前} \
必須、ずしお 圌はナヌザヌのフォルダから蚭定を確認したすが、䜿甚せず、システム蚭定のみを䜿甚したす問題を理解しおいたせんでした。

vmvareの間違った手順は省略したす。なぜなら、 それは本圓に間違っおいる、そのパフォヌマンスはれロです。

ステヌゞ2、修正、実行可胜、VirtualBox


サヌビスをむンストヌルするには、叀い小さなものが䜿甚されたす。マシンを起動するナヌザヌプロセスを䜜成するためのWindowsリ゜ヌスキットの2぀のファむルです。

Windows Resource Kitに含たれおいるSrvany.exeおよびInstsrv.exeファむルは、ここから取りたした。 䞡方のファむルをC\ Windows \ system32に配眮する必芁がありたす

DEB1は䟋で、私が持っおいたマシンの名前です。
次に、コン゜ヌルstart> cmd管理者ずしおを起動し、倪字の゚ントリを将来のサヌビスの名前に眮き換えお゚ントリを远加したす。最初の名前にはスペヌスを入れず、2番目には奜きな説明を含める必芁がありたす。
sc create DEB1 binPath = "SystemRoot\ System32 \ srvany.exe" start = auto DisplayName = " VB VM Debian "

すべおがうたくいけば、「正垞に」曞き蟌たれたす。
プロセスが䜜成されたこずを確認するには、services.mscを実行するか、「サヌビス」タブを確認する必芁がありたす。

次に、パラメヌタヌをレゞストリに远加し、ファむルを䜜成したす
パスずマシン名はシステム䞊のものです。
DEB1.reg
Windowsレゞストリ゚ディタヌバヌゞョン5.00
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ DEB1 \パラメヌタヌ]
"アプリケヌション" = "\" D\\プログラムファむル\\ Oracle \\ VirtualBox \\ VBoxHeadless.exe \ ""
"AppParameters" = "\"-s DEB1 -vrdp = off \ ""
"AppDirectory" = "\" D\\プログラムファむル\\ Oracle \\ VirtualBox \\ \ ""

次に、コンピュヌタヌのシャットダりン時にコンピュヌタヌの状態を保持する堎合は、gpedit.mscを実行しお、コンピュヌタヌの構成/ Windowsの蚭定/スクリプト/シャットダりンコンピュヌタヌの構成\ Windowsの構成\スクリプト開始\シャットダりン\シャットダりン\を芋぀けたす。
スクリプトを䜜成しお名前を付けたす
D\ Program Files \ Oracle \ VirtualBox \ VBoxManage.exe
たたは、参照ボタンでパスを遞択し、パラメヌタを蚭定したす
vboxmanage controlvm DEB1 savestate
DEB1は、マシンの名前に眮き換える必芁がありたす。
.VirtualBoxフォルダヌをC\ Users \ {Your name} \{Your name}はアカりントの名前からC\ Windows \ System32 \ config \ systemprofile \にコピヌしたす。これは、マシンのプロパティを倉曎するたびに繰り返す必芁がありたす。開始されない堎合がありたす。たたは、次回、䞍適切な無関係な倉曎で開始されたす。
マシンが起動しおいるかどうかは、VBoxHeadless.exeプロセスを調べるこずで確認できたす。プロセスが起動しおいる堎合は、マシンが実行されおいたす。

ステヌゞ3、VMware Player、サヌビスずしお



仮想マシンの新しいバヌゞョンVMwareでは、Vmxファむルにいく぀かのパラメヌタヌを远加するだけで、利甚可胜な物理メモリを考慮しお仮想マシンのRAMメモリを自動的にスケヌリングできたす。
memsize = "2048"
MemAllowAutoScaleDown = "TRUE"

この堎合、仮想マシンは2 GBのRAMを砎棄したす存圚する堎合。
RAMが2 GB未満のマシンでは、プレヌダヌは䜿甚可胜なRAMに基づいお䜿甚量を自動的に調敎したす。
Memsize 2048は制限ではありたせん。
2 GBを超えるメモリがむンストヌルされおいる堎合、この数を増やすこずができたす。

サヌビスを実行するマシンにVMware Playerをむンストヌルしたす。
VMWare Playerのサヌビスの䜜成は、VirtalBoxに䌌おいたす。
2぀のファむルが必芁ですinstsrv.exeおよびSrvany.exe、 Windows 2003リ゜ヌスキットから 。 䞡方のファむルをC\ Windows \ system32 \に配眮する必芁がありたす

VMware Playerがナヌザヌむンタヌフェむスによっお生成されるすべおの「OK」メッセヌゞを抑制し、ナヌザヌむンタヌフェむスを衚瀺しないように、Vmxファむルにフィヌルドを远加したす。
DEB1r.vmx
... ...
hints.hideAll = "TRUE"
msg.noOk = "TRUE"
...


instsrv.exeを䜿甚しお、タヌゲットマシンにVirtualServerサヌビスを䜜成したす。
instsrv VirtualServer "SYSTEMROOT\ System32 \ srvany.exe"
Srvany.exeのレゞストリキヌを远加しお、仮想マシンでvmplayer.exeを実行したす。
DEB1.reg

Windowsレゞストリ゚ディタヌバヌゞョン5.00
[HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ DEB1 \パラメヌタヌ]
"アプリケヌション" = "\" C\\プログラムファむル\\ VMware \\ VMware Player \\ vmplayer.exe \ ""
"AppParameters" = "\" C\\ VM \\ DEB1.vmx \ ""
"AppDirectory" = "\" C\\ VM \\\ ""

ACEなどの別のVmware補品を䜿甚するには、アプリケヌションキヌの倀を倉曎したす。 別の仮想マシンを䜿甚するには、「AppParameters」の倀を倉曎したす。

start-vm.batずいう仮想マシンを起動するバッチファむルを䜜成したす。 このスクリプトは最初に、仮想マシンファむルがむンストヌルされおいるかどうか、およびサヌビスが実行されおいないかどうかを確認したす。 次に、叀いVMwareプロセスをすべお匷制終了し、仮想マシンの最埌の起動からさたざたな状態ファむルを削陀したす。 最埌に-仮想マシンのサヌビスが開始されたす。
:: :: start-vm.bat :: :: If the service is already running, then skip starting it net start | grep -q -i "DEB1" if %ERRORLEVEL% == 0 goto noServer :: To make sure that lingering processes are dead, force kill the process taskkill /F /IM vmplayer.exe taskkill /F /IM vmware-vmx.exe :: Remove *.lck, *.vmss from the grid directory del "C:\VM\*.lck" del "C:VM\*.vmss" del "C:\VM\*.vmem" :: Start the server service net start DEB1 :noServer 


バッチファむルを䜜成しお、stop-vm.batずいう仮想マシンを停止したす。 仮想サヌビスシャットダりンスクリプトは、実行䞭の仮想マシンに関連付けられおいるすべおのVMwareプロセスを匷制終了したす。
 :: :: stop-vm.bat :: :: Stop the service net stop DEB1 :: Force kill the processes taskkill /F /IM vmplayer.exe taskkill /F /IM vmware-vmx.exe :noServer 


仮想マシンのプロセスを砎棄するこずは、物理コンピュヌタヌの壁のコンセントからコヌドを匕いた堎合ず同じです。 仮想マシンの状態が重芁でない堎合は、非氞続ディスク機胜を䜿甚できたす。 仮想マシンの実行䞭はディスクの内容が倉曎されないため、このようなプロセスの終了は仮想ディスクの状態に圱響を䞎えるこずはできたせん。

Windowsの起動時に仮想マシンを起動するには、SYSTEMROOT\ System32 \ GroupPolicy \ Machine \ Scripts \ Startupに起動スクリプトを配眮する必芁がありたす。 この䟋では、起動スクリプトはstart-vm.batファむルです。
コンピュヌタヌ䞊で、グルヌプポリシヌの自動起動のリストに远加するこずにより、システムの起動時にstart-vm.batを起動する必芁がありたす。 これは、gpedit.msc-グルヌプポリシヌ゚ディタヌを䜿甚しお実行できたす。 [コンピュヌタヌの構成]、[Windowsの蚭定]、[スクリプト]、[スタヌトアップのプロパティ]コンピュヌタヌの構成\ Windowsの構成\スクリプト開始\終了\開始\グルヌプポリシヌ゚ディタヌで開きたす。 [远加]ボタンをクリックしお、仮想マシンの起動スクリプトの名前を入力したす前のスクリプトず同様。

グルヌプポリシヌシャットダりンの堎合も実行したすが、シャットダりンスクリプトずしおstop-vm.batを䜿甚したす。 シャットダりングルヌプポリシヌの远加は厳密には必芁ありたせんが、仮想マシンプロセスを終了するだけでなく、より倚くのコマンドが含たれおいる堎合はstop-vm.batを実行するこずが重芁です。

たずめ


私の個人的な経隓では、VirtualBoxオプションはよりシンプルであるこずが刀明したしたが、BSDシステムを実行する必芁がある堎合、VmWareが必芁であり、はるかに安定しお動䜜したすが、VirtualBoxではLinuxの方がうたく機胜したす。

Source: https://habr.com/ru/post/J160553/


All Articles