是否可以在不让 libvirt 引导虚拟机的情况下将 XML 文件导入 libvirt?
如果我做:
virsh create centos63.xml
Run Code Online (Sandbox Code Playgroud)
然后 libvirt 会导入 XML 文件并立即尝试启动映像,这不是我想要的。
(我有几个脚本将 libvirt 域作为参数,该域对应于当前未运行的 VM,这就是我要执行此操作的原因)。
我正在设置一个 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) 我在 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) 在尝试使用 OpenStack调试网络问题时,我遇到了最奇怪的事情。我正在虚拟机之间进行 ping 测试。如果我在运行 nova-network 的节点上的网桥接口上执行了“tcpdump”,ICMP 请求数据包才会到达目标主机,该节点会转发数据包。如果我停止在该接口上执行 tcpdump,则不再看到请求到达主机。
一般来说,如何/为什么在 Linux 网桥接口上执行 tcpdump 会影响数据包是否被转发?
当我重新启动我的 Ubuntu 10.04 节点时,我希望能够在使用 LAN 串行模式 (ttyS0) 连接到 IPMI 接口时看到内核启动消息。我需要做什么才能将这些消息重定向到 ttyS0?
理想情况下,当我将显示器直接插入盒子时,我希望它们仍然出现在通常的位置(tty0,我认为)。
我正在管理多个 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 手动安装它们,文件夹就会干净地安装。
我不知道如何去调试这个问题。这似乎与启动顺序有关,当操作系统尝试安装文件夹时,某些相关进程尚未启动。
当我尝试使用 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 中显示?
我在服务器上静态配置了一个接口的 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) 我想使用 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 驱动器,但我无法在文件资源管理器中访问该驱动器。
我正在运行一个 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 上执行此操作?
icmp ×2
libvirt ×2
linux ×2
nfs ×2
openstack ×2
ubuntu ×2
apache-2.2 ×1
arp ×1
boot ×1
bridge ×1
chef ×1
grub ×1
ipmi ×1
jenkins ×1
mac-address ×1
networking ×1
nic ×1
ping ×1
powershell ×1
sni ×1
tcpdump ×1
ubuntu-10.04 ×1
ubuntu-9.10 ×1
virtualhost ×1