标签: virtual-machine

虚拟化CPU仿真

我有一个关于虚拟机 CPU 虚拟化的问题。我无法理解即时到本机代码翻译和陷阱和模拟翻译之间的区别。

据我了解,在第一种情况下,假设我模拟来自不同平台的二进制代码,如果我有 x86 CPU,则代码将转换为等效的 x86 指令。现在,在捕获和模拟方法中,虚拟机从客户操作系统接收 ISA 调用,并将其转换为主机操作系统的等效 ISA 调用。

为什么我们需要从 ISA 转换为 ISA?假设我在 Windows 主机上运行 Ubuntu 客户机。Ubuntu ISA 调用与 Windows ISA 调用不同吗?据我了解,来宾无法访问主机上的系统 ISA,只有监视器可以访问。但为什么需要转换为Host ISA呢?ISA还依赖于操作系统吗?

virtualization virtual-machine

2
推荐指数
1
解决办法
2036
查看次数

在开始之前,如何检查特定服务器是否正在运行(使用 virsh 命令)| 重新启动吗?

我正在尝试重新启动、启动、关闭特定虚拟机。在这里,首先我想在运行脚本之前检查虚拟机是否已处于所需状态。

这些是虚拟机列表。

[root@demohost05 ~]# virsh list --all
Id    Name                           State
----------------------------------------------------
5     OwnCloud01                     running
6     OwnCloud02                     running
7     SiteMon                        running
-     vmtest                         shut off
Run Code Online (Sandbox Code Playgroud)

我想在实施之前检查 vmtest 是否正在运行

virsh start vmtest
Run Code Online (Sandbox Code Playgroud)

如何在 shell 脚本中使用 if 条件检查状态?

当我必须使用 sudo 命令时,如何避免输入密码。

sudo virsh start vmtest
Run Code Online (Sandbox Code Playgroud)

我还尝试使用授予 root 权限

sudo -i
virsh start vmtest
Run Code Online (Sandbox Code Playgroud)

但脚本结束时没有执行第二行。如何在同一个脚本文件中使用这两个命令?

if [conditions]
then
{

}
fi
Run Code Online (Sandbox Code Playgroud)

我不知道如何检查此类脚本的条件。

谢谢。

linux bash shell virtual-machine virsh

2
推荐指数
1
解决办法
1万
查看次数

Google Cloud VM 当 sudoing 要求输入密码时

我一直在使用 Google Cloud debian 虚拟机,并且使用 sudo 执行超级用户任务完全没有问题(sudo 不要求输入密码)。

今天我像往常一样通过 SSH 连接,当我尝试sudo 某些操作时,它开始要求输入密码:

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

    #1) Respect the privacy of others.
    #2) Think before you type.
    #3) With great power comes great responsibility.

[sudo] password for -----:
Run Code Online (Sandbox Code Playgroud)

根据文档,它不应要求输入密码,因为已经是 SSL 密钥身份验证的连接。

debian sudo virtual-machine google-cloud-platform

2
推荐指数
1
解决办法
4014
查看次数

我无法访问虚拟机上运行的 php 内置服务器

我有一个太基本的 php 应用程序,我想通过内置 php 服务器运行它,并且它位于 Windows 计算机的虚拟机中:

\n\n
<?php\nuse \\Psr\\Http\\Message\\ServerRequestInterface as Request;\nuse \\Psr\\Http\\Message\\ResponseInterface as Response;\n\nrequire \'../vendor/autoload.php\';\n\n$app = new \\Slim\\App();\n\n$app->get(\'/\', function (Request $req, Response $res, $arg = []) {\n    return \'hello world!!\';\n});\n\n$app->run();\n
Run Code Online (Sandbox Code Playgroud)\n\n

我的项目结构

\n\n
tree -I vendor\n.\n|-- cache\n|   `-- 6a\n|       `-- 532bg9987gt23f4356546poo999vvb234234.php\n|-- composer.json\n|-- composer.lock\n|-- public\n|   `-- js\n|       `-- app.js\n|-- routes\n|   `-- web.php\n`-- views\n    `-- templates\n        `-- index.html\n\n7 directories, 7 files\n
Run Code Online (Sandbox Code Playgroud)\n\n

当我从虚拟机中运行curl时,它显然可以工作:

\n\n
php -S localhost:9899&\ncurl localhost:9899/routes/web.php\n\nHello world!!\n
Run Code Online (Sandbox Code Playgroud)\n\n

问题是当我尝试从浏览器(Windows 机器)连接到该服务器时,我得到

\n\n
This site can\xe2\x80\x99t be reached\n
Run Code Online (Sandbox Code Playgroud)\n\n

虽然这不适用于我的 php …

php remote-access virtual-machine php-builtin-server

2
推荐指数
1
解决办法
484
查看次数

如何将标准虚拟机导入开发测试实验室

我已在 Azure 中创建并配置了 VM。我想在开发测试实验室中使用从该虚拟机创建的映像。但是,我发现开发测试实验室中的映像只能从 VHD 磁盘创建。

是否可以将普通的 Azure 映像转换为 VHD 磁盘?如果是,具体如何?

vhd image virtual-machine azure azure-devtest-labs

2
推荐指数
1
解决办法
974
查看次数

docker镜像的磁盘大小

作为一个刚刚接触 docker 世界并具有虚拟机思维的人。我从 docker hub 下载了一个用于弹性搜索的 docker 镜像。我正在考虑我需要做的任何配置,因为大量数据将转发到该镜像。我需要考虑可用磁盘空间。在虚拟机世界中,我总是可以添加额外的 vhd 以增加磁盘大小等。在 docker 世界中类似的操作是什么?

virtual-machine elasticsearch docker

2
推荐指数
1
解决办法
2万
查看次数

使用 Powershell 使用 Azure VM 创建自动关机策略

我正在尝试使用 Powershell 为我的 Azure VM 创建自动关闭策略,但一直遇到此错误:

New-AzureRmResource : MissingRequiredProperty :缺少必需的属性 TargetResourceId。在 C:\Users\home\Documents\CreateAzureVM.ps1:167 char:1 + New-AzureRmResource -Location $Loc -ResourceId $ScheduledShutdownReso ... + ~~~~~~~~~~~~~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ~~~ + CategoryInfo : CloseError: (:) [New-AzureRmResource], ErrorResponseMessageException +fullyQualifiedErrorId : MissingRequiredProperty,Microsoft.Azure.Commands.ResourceManager.Cmdlets.Implementation.NewAzureResourceCmdlet

我对如何解决这个错误一无所知,到目前为止,这是我的脚本:

 $SubscriptionId = $AzContext.Context.Subscription.Id;  
$VMResourceId = (Get-AzureRmVM).id
$ScheduledShutdownResourceId = "/subscriptions/$SubscriptionId/resourceGroups/$RSGName/providers/microsoft.devtestlab/schedules/shutdown-computevm-$VMName"

$Properties = @{}
$Properties.Add('status', 'Enabled')
$Properties.Add('taskType', 'ComputeVmShutdownTask')
$Properties.Add('dailyRecurrence', @{'time'= 1159})
$Properties.Add('timeZoneId', "Eastern Standard Time")
$Properties.Add('notificationSettings', @{status='Disabled'; timeInMinutes=15})
$Properties.Add('targetResourceId', $VMResourceId)

#Error
New-AzureRmResource -Location $Loc -ResourceId $ScheduledShutdownResourceId -Properties $Properties -Force
Run Code Online (Sandbox Code Playgroud)

powershell virtual-machine azure

2
推荐指数
1
解决办法
2271
查看次数

为什么 Docker 虚拟化比 VM 更快

据我了解,VM 使用硬件虚拟化,而 docker 使用软件虚拟化,因此具有更好的性能(例如,我在 Windows 机器上运行 Dockerized Linux)。但操作系统虚拟化比硬件虚拟化更快的原因究竟是什么?

virtual-machine docker

2
推荐指数
2
解决办法
5639
查看次数

如何在 Ubuntu 19.04 VirtualBox VM 上进行名称解析?

我在 Windows 7 主机上使用多个 VirtualBox Ubuntu 18.10/19.04 VM。在某一时刻,其中一个名称解析停止工作。与互联网的连接仍然有效。

ax@buildvm:~$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=51 time=40.5 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=51 time=35.5 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=51 time=42.4 ms
64 bytes from 8.8.8.8: icmp_seq=4 ttl=51 time=36.2 ms
^C
--- 8.8.8.8 ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3004ms
rtt min/avg/max/mdev = 35.456/38.635/42.408/2.906 ms
ax@buildvm:~$ ping google.com
ping: google.com: Temporary failure in name …
Run Code Online (Sandbox Code Playgroud)

networking virtualbox virtual-machine nat ubuntu-19.04

2
推荐指数
1
解决办法
6211
查看次数

Xdebug 3 配置文件

我需要有关调试 Xdebug 3 配置的工作步骤的帮助。我在 Ubuntu 服务器 20.04 上使用 nginx 运行 Xdebug 3.0.1,安装在 Oracle VirtualBox 上。我的 IDE 是 PhpStorm。

一切正常(SSH 隧道、SFTP、端口转发),连接已建立,但未开始分步调试。

我当前的 Xdebug 3 配置:

zend_extension=xdebug.so
xdebug.mode = debug
xdebug.client_host = 127.0.0.1
xdebug.client_port = 9003
XDEBUG_SESSION=PHPSTORM
xdebug.start_with_request=yes
Run Code Online (Sandbox Code Playgroud)

任何人都在工作步骤调试配置中配置了 Xdebug 3 并且可以帮助我?

从浏览器捕获的 phpinfo() Xdebug 部分 - 非常长

xdebug 版本 3.0.1

Feature Enabled/Disabled    Docs
Development Aids    ? disabled  
Coverage    ? disabled  
GC Stats    ? disabled  
Profiler    ? disabled  
Step Debugger   ? enabled   
Tracing ? disabled  
Debugger    enabled
IDE Key no value
Directive …
Run Code Online (Sandbox Code Playgroud)

php xdebug virtual-machine phpstorm xdebug-3

2
推荐指数
1
解决办法
4996
查看次数