我正在尝试使用 Ansible 在服务器主机文件中添加条目。我有一组服务器,我需要通过专用 LAN 相互通信。
我的库存文件:
[server_list]
server1
server2
Run Code Online (Sandbox Code Playgroud)
我试图开始工作的任务:
- lineinfile: dest=/etc/hosts line="{{ hostvars[" {{ item }} "]['ansible_eth1']['ipv4']['address'] }} {{ hostvars[" {{ item }} "]['ansible_hostname'] }}"
with_items: groups['server_list']
Run Code Online (Sandbox Code Playgroud)
它没有做到这一点,我明白了:
fatal: [server1] => host not found: {{item}}
fatal: [server2] => host not found: {{item}}
Run Code Online (Sandbox Code Playgroud)
这是基本相同,这样,但在新的Ansible变量访问格式{{ }}
。
任何想法如何完成这项工作?
我有 Nginx 作为 Apache 的反向代理,但所有网站都需要很长时间才能加载。我也觉得 Nginx 没有按预期工作。
我确定虚拟主机配置有问题。以下是我使用的虚拟主机配置:
server {
root /home/username/public_html;
listen xx.xx.xx.xx:80;
server_name domain.com www.domain.com;
access_log /dev/null;
error_log /usr/local/nginx/logs/vhost-error_log warn;
index index.php index.html index.htm;
location / {
location ~.*.(3gp|gif|jpg|jpeg|png|ico|wmv|avi|asf|asx|mpg|mpeg|mp4|pls|mp3|mid|wav|swf|flv|txt|js|css|exe|zip|tar|rar|gz|tgz|bz2|uha|7z|doc|docx|xls|xlsx|pdf|iso|woff|ttf|svg|eot)$ {
gzip_static on;
proxy_cache nginx-cache;
root /home/username/public_html;
tcp_nodelay On;
tcp_nopush On;
access_log /dev/null;
log_not_found Off;
expires 7d;
}
error_page 404 403 502 505 506 = @apachebackend;
add_header X-Cache "HIT from Backend";
proxy_pass http://xx.xx.xx.xx:8080;
include /usr/local/nginx/conf/proxy.conf;
}
location @apachebackend {
internal;
proxy_pass http://xx.xx.xx.xx:8080;
include /usr/local/nginx/conf/proxy.conf;
}
}
Run Code Online (Sandbox Code Playgroud)
还有以下内容proxy.conf
: …
/var/log/journal
不小心删除了我的后,我无法从后果中恢复过来。systemd-journald
每次我尝试启动它时都会一遍又一遍地失败。当我运行时:
$ journalctl --verify
PASS: /run/log/journal/system.journal
Run Code Online (Sandbox Code Playgroud)
这并没有让我更接近解决它,因为它/run/log/journal/system.journal
是在我/usr/lib/systemd/systemd-journald
直接运行时创建的,它自己输出
$ /usr/lib/systemd/systemd-journald
Failed to open runtime journal: Invalid argument
Run Code Online (Sandbox Code Playgroud)
我已经尝试过的事情:
/var/log/journal and
/run/log/journal`。/var/log/journal
从另一台机器复制到两条路径,运行journalctl --verify
检查它们,并再次使用--file
标志。/etc/systemd/journald.conf
为Storage=volatile
只是禁用/var/log/journald
.我正在尝试自动配置 Windows 2012 服务器,但我无法让 PHP 工作。
这是我用来向 IIS 添加处理程序映射的命令:
New-WebHandler -Name "PHP-FastCGI" -Path "*.php" -Verb "*" -Modules "FastCgiModule" -ScriptProcessor "c:\php\php-cgi.exe" -ResourceType File
Run Code Online (Sandbox Code Playgroud)
这正确添加了处理程序映射,到目前为止一切顺利。
但是,我仍然需要为可执行文件手动创建一个 FastCGI 应用程序以使其工作。自动执行此操作的 PowerShell 命令是什么?我找不到任何指向正确方向的东西。
动态清单的文档提到了很多动态清单,但没有提到 VMware。
我非常喜欢 Amazon EC2 中标记服务器的功能,并希望在我们的 VMware 环境中重新创建一个类似的系统。
获取 vSphere 中所有带有“environment=testing”和“application=helloworld”标签的服务器,并在它们上运行这个 Ansible playbook。
我想将以前与 Ansible(独立)一起使用的现有清单包括 group_vars 和保险库文件导入 Ansible Tower (3.2.0)。
但是,一旦 Vault 文件发挥作用,它似乎就不起作用了。一旦我设置了 Vault 密码文件凭据并使用源类型“源自项目”创建清单 - 我无法在“源详细信息”下选择 Vault 凭据。
当我手动将其放入并保存源时 - 同步失败并出现以下错误:
1.735 INFO Updating inventory 10: TEST
1.753 DEBUG Using system install of ansible-inventory CLI: /usr/bin/ansible-inventory
1.753 INFO Reading Ansible inventory source: /var/lib/awx/projects/_6__ansible_master/inventories/test/hosts
1.754 DEBUG Using private credential data in '/tmp/awx_123_LXUj9p'.
1.755 DEBUG Using fresh temporary directory '/tmp/awx_proot_ZURWmR' for isolation.
1.755 DEBUG Running from `/var/lib/awx/projects/_6__ansible_master/inventories/test` working directory.
Traceback (most recent call last):
File "/usr/bin/awx-manage", line 9, in <module>
load_entry_point('awx==3.2.0', 'console_scripts', 'awx-manage')()
File …
Run Code Online (Sandbox Code Playgroud) 我花了很多时间在网上搜索有关如何缩小 KVM 虚拟磁盘映像的信息,尤其是对于 Windows 客户机,但没有成功。
我所发现的只是将 VM 可用空间归零,对虚拟磁盘进行碎片整理(来自 Windows),然后运行qemu-img convert -c ...
(-c
压缩标志)。
我有一个 Windows 7 VM,虚拟驱动器大小为 100 GB。最初,这个 VDD 在主机存储上花费了 40 GB。归零后,VDD 将占用主机上的实际 100 GB。并qemu-img -c ...
创建了 91 GB,这完全不是我所期望的。
在 Modernie 网站上,我们可以下载小于 10 GB 的 W7 VM,这怎么可能?有没有办法“真正”压缩 VM 映像?
感谢@dyasny,我用virt-sparsity
. 我清理了 W7 VM 磁盘,禁用休眠,因此 VDD 仅消耗 20 GB。再次降级磁盘,并再次运行sdelete -z
。virt-sparsity
使用该--compress
标志运行会提供 80 GB 的虚拟驱动器。远非我所希望的。
EDIT-2016-02-16:“刷新”这个问题,因为这里讨论的缩小 VM 的方法非常有效,但有一个主要缺点:它会删除所有 VM 快照。如果有人知道如何在保留快照的同时缩小 VM,请随时分享!
我想验证并授权一个 LDAP 组(Windows 上的 ApacheDS 2.0.0-20,使用组中的多个 uniqueMember 属性以及 httpd 配置中的“需要 ldap-group”语句)的所有用户访问 Web 资源。
尝试进行身份验证的用户也是此 LDAP 组的一部分,如果我在 httpd 配置中使用“需要有效用户”语句而不是“需要 ldap 组”语句,则该用户将获得授权。
设置:
ApacheDS LDAP 中的组配置:
httpd的配置摘录:
<AuthnProviderAlias ldap ldapconfig>
LDAPReferrals Off
AuthLDAPBindDN "cn=query,ou=users,o=WJWext"
AuthLDAPBindPassword secretpassword
AuthLDAPURL "ldap://ldap.hostname:10389/o=WJWext?uid?sub"
</AuthnProviderAlias>
...
LogLevel trace7
<Location /xy>
...
AuthType Basic
AuthName "xy"
AuthBasicProvider ldapconfig
AuthLDAPGroupAttributeIsDN on
AuthLDAPGroupAttribute uniqueMember
AuthLDAPMaxSubGroupDepth 0
AuthLDAPSubGroupClass groupOfUniqueNames
Require ldap-group cn=groupname,ou=groups,o=WJWext
...
</Location>
Run Code Online (Sandbox Code Playgroud)
httpd的日志文件显示用户可以通过身份验证,但没有被组授权:
[Tue Nov …
Run Code Online (Sandbox Code Playgroud) 在 SAN 上创建的 VM 存储与直接在 SAN 上使用存储来读写数据的性能有何不同?
我的意思是,我们有基于 VM 安装的 SQL 服务器并使用虚拟硬盘驱动器。
VM 在我的 SAN 上。
直接通过SQL server 读写数据到SAN 是否更好?我的解决方案有更好的性能吗?
我的目的是生成一个包含 1 到 22 数字的列表,为此我在 Ansible 脚本下面写了。
- hosts: localhost
gather_facts: no
tasks:
- name: Generate sequance
set_fact:
mysequence: "{{ item | list }}"
with_sequence: start=1 end=22
- debug: var=mysequence
Run Code Online (Sandbox Code Playgroud)
当我运行代码时,我得到了这个奇怪的结果
$ ansible-playbook test.yml
PLAY [localhost] **************************************************************************************************************************
TASK [Generate sequance] ******************************************************************************************************************
ok: [localhost] => (item=1)
ok: [localhost] => (item=2)
ok: [localhost] => (item=3)
ok: [localhost] => (item=4)
ok: [localhost] => (item=5)
ok: [localhost] => (item=6)
ok: [localhost] => (item=7)
ok: [localhost] => (item=8)
ok: [localhost] => (item=9)
ok: [localhost] => …
Run Code Online (Sandbox Code Playgroud) ansible ×4
apache-2.4 ×1
compression ×1
fastcgi ×1
httpd ×1
iis-8.5 ×1
journalctl ×1
journald ×1
ldap ×1
nginx ×1
php ×1
powershell ×1
qemu ×1
systemd ×1
windows ×1