小编Lor*_*ein的帖子

无需启动虚拟机即可将 XML 导入 libvirt

是否可以在不让 libvirt 引导虚拟机的情况下将 XML 文件导入 libvirt?

如果我做:

virsh create centos63.xml
Run Code Online (Sandbox Code Playgroud)

然后 libvirt 会导入 XML 文件并立即尝试启动映像,这不是我想要的。

(我有几个脚本将 libvirt 域作为参数,该域对应于当前未运行的 VM,这就是我要执行此操作的原因)。

libvirt

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

Jenkins 报告使用带有 SNI 的虚拟主机的 Apache 反向代理设置不正确

我正在设置一个 Jenkins 服务器,在 Apache 后面的 Tomcat 下运行。我正在使用 SNI 使用带有 SSL 的虚拟主机,所以我可以在https://jenkins.example.com访问它,并在http://www.example.com上提供其他服务。

我已经启动并运行了,但是当我单击“管理 Jenkins”时,它告诉我您的反向代理设置似乎已损坏

请注意,我使用的是自签名 SSL 证书,并且 jenkins.example.com 不是默认的虚拟主机。

相关的 apache 配置如下所示:

<VirtualHost *:80>
        ServerName jenkins.example.com
        Redirect / https://jenkins.example.com/
</VirtualHost>

<VirtualHost *:443>
  ServerName jenkins.example.com

  SSLEngine on

  SSLCertificateFile    /etc/ssl/certs/jenkins.example.com.crt
  SSLCertificateKeyFile /etc/ssl/private/jenkins.example.com.key

  <Location />
     AuthType Digest
     AuthName "Jenkins"
     AuthUserFile "/etc/htpasswords"
     Require valid-user
   </Location>

   ProxyRequests     Off
   ProxyPreserveHost On

   <Proxy http://localhost:8080*>
     Order deny,allow
       Allow from all
   </Proxy>

   ProxyPass         /  http://localhost:8080/
   ProxyPassReverse  /  http://localhost:8080/
   ProxyPassReverse  /  https://jenkins.example.com

</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

如果我做:

curl …
Run Code Online (Sandbox Code Playgroud)

virtualhost sni jenkins apache-2.2

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

为什么厨师将我的节点名称列为“localhost”?

我在 Linux 节点上安装了 Chef-client,它似乎已成功连接到我的 Chef 服务器。但是,当我这样做时:chef node list,它显示为“本地主机”。

为什么 Chef 不选择节点的正确名称?如果我询问更多详细信息,我会看到:

$ chef node show localhost
node Name:   localhost
Environment: _default
FQDN:        localhost
IP:          192.168.1.5
Run List:    
Roles:       
Recipes:     
Platform:    ubuntu 11.10
Run Code Online (Sandbox Code Playgroud)

它有一个正确的域名设置。例如,如果我这样做:hostname,它返回“mynodename”,而不是“localhost”。

Chef 如何确定节点的名称?为什么它在 FQDN 中显示正确的名称?

编辑:为了回应下面的 cjc,这里有一些输出ohai | grep host

(注意:此节点运行在 EC2 上)

"fqdn": "localhost",
"hostname": "mynodename",
"public_hostname": "ec2-...-.amazonaws.com",
"local_hostname": "ip-...ec2.internal",
"hostname": "ip-...ec2.internal",
Run Code Online (Sandbox Code Playgroud)

此外,主机名 -s 给出了预期的输出:

$ hostname -s
mynodename
Run Code Online (Sandbox Code Playgroud)

chef

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

只有在桥上运行 tcpdump 时才会转发数据包

在尝试使用 OpenStack调试网络问题时,我遇到了最奇怪的事情。我正在虚拟机之间进行 ping 测试。如果我在运行 nova-network 的节点上的网桥接口上执行了“tcpdump”,ICMP 请求数据包才会到达目标主机,该节点会转发数据包。如果我停止在该接口上执行 tcpdump,则不再看到请求到达主机。

一般来说,如何/为什么在 Linux 网桥接口上执行 tcpdump 会影响数据包是否被转发?

linux icmp bridge tcpdump openstack

6
推荐指数
1
解决办法
2914
查看次数

如何在 Ubuntu 10.04 上重定向内核控制台输出

当我重新启动我的 Ubuntu 10.04 节点时,我希望能够在使用 LAN 串行模式 (ttyS0) 连接到 IPMI 接口时看到内核启动消息。我需要做什么才能将这些消息重定向到 ttyS0?

理想情况下,当我将显示器直接插入盒子时,我希望它们仍然出现在通常的位置(tty0,我认为)。

ubuntu ipmi grub boot ubuntu-10.04

5
推荐指数
1
解决办法
5796
查看次数

在 /etc/fstab 中挂载 NFS 条目时,Ubuntu 在启动时挂起,但否则它们会干净地挂载

我正在管理多个 Ubuntu 9.10 服务器,这些服务器 NFS 挂载了多个文件夹(包括 /home)。我希望在启动时安装这些文件夹。我想在我的 /etc/fstab 中有几个条目来完成这个,例如

192.168.1.100:/home           /home           nfs     rw 0 0
192.168.1.100:/usr/ansys_inc  /ansys_inc      nfs     ro 0 0
Run Code Online (Sandbox Code Playgroud)

不幸的是,使用这种配置,服务器在尝试执行 NFS 挂载时通常(尽管并非总是)在启动序列期间挂起。

如果我注释掉这些 fstab 条目,重新启动机器,取消注释它们并使用 shell 手动安装它们,文件夹就会干净地安装。

我不知道如何去调试这个问题。这似乎与启动顺序有关,当操作系统尝试安装文件夹时,某些相关进程尚未启动。

nfs ubuntu-9.10

4
推荐指数
1
解决办法
7730
查看次数

libvirtError 该域已存在,但 virsh 列表未显示它

当我尝试使用 OpenStack 启动一个实例时,我在 nova-compute.log 中收到以下错误:

(nova.rpc): TRACE: libvirtError: operation failed: domain 'instance-0000000a' already exists with uuid 5f81a7d2-1b0f-8c72-4e1e-377c275e9289
Run Code Online (Sandbox Code Playgroud)

但是, virsh 不显示任何域:

$ sudo virsh list
 Id Name                 State
----------------------------------
Run Code Online (Sandbox Code Playgroud)

如果该域在那里,为什么不在 virsh 中显示?

libvirt openstack

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

ping 本地网络上不存在的主机时,接口上的 tcpdump

我在服务器上静态配置了一个接口的 IP 地址:

ip addr add 10.40.0.6/16 broadcast 10.40.255.255 dev eth1
Run Code Online (Sandbox Code Playgroud)

如果我尝试 ping 网络上的机器(例如 10.40.0.1),它会失败并显示“目标主机无法访问”。

当 ping 运行时,如果我执行以下操作,我根本看不到任何活动

tcpdump -i eth1 icmp
Run Code Online (Sandbox Code Playgroud)

但是,如果我改为监听回送接口:

tcpdump -i lo icmp
Run Code Online (Sandbox Code Playgroud)

然后我看到类似的东西:

16:02:57.369632 IP 10.40.0.6 > 10.40.0.6: ICMP host 10.40.0.1 unreachable, length 92
Run Code Online (Sandbox Code Playgroud)

我的问题是:为什么 ICMP 数据包没有通过 eth1 接口显示出来?

编辑:

# ip r ls
10.40.0.0/16 dev eth1 proto kernel scope link src 10.40.0.6
Run Code Online (Sandbox Code Playgroud)

networking linux arp ping icmp

4
推荐指数
1
解决办法
2500
查看次数

在 Windows 2012 上从 PowerShell 挂载 NFS 并在其他地方可见

我想使用 PowerShell 从 Windows 2012 挂载 NFS 共享,并使该挂载在调用它的 PowerShell 会话以外的上下文中可见。如果我使用 New-PSDrive 命令(cmdlet?),例如:

New-PSDrive Z -PsProvider FileSystem -Root \\10.40.1.1\export\isos
Run Code Online (Sandbox Code Playgroud)

然后它将 NFS 服务器安装到 Z 驱动器,但我无法在文件资源管理器中访问该驱动器。

powershell nfs windows-server-2012

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

在 Ubuntu 中,确保每次出现相同的 NIC 时都会为其分配相同的接口

我正在运行一个 Ubuntu 9.10 服务器,其中有多个 NIC。我想确保每次内核启动时,具有 MAC 地址的 NIC01:23:45:67:89:ab被分配给 eth0,而具有 MAC 地址的 NICba:98:76:54:32:10被分配给 eth1。

在 Fedora 上,我可以通过在 /etc/sysconfig/network-scripts/ifcfg-eth0 中指定 MAC 地址来做到这一点

DEVICE=eth0
HWADDR=01:23:45:67:89:ab
# the rest of the configuration goes here
Run Code Online (Sandbox Code Playgroud)

(对于 ifcfg-eth1 也是如此)。

在 /etc/network/interfaces 中是否有一些等效的语法可以在 Ubuntu 上执行此操作?

ubuntu nic mac-address

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