我知道如何通过openstack
CLI 通过用户凭证和令牌对 OpenStack 进行身份验证。现在我想知道如何使用应用程序凭据进行身份验证。
使用application_credential
or application_credentials
as auth_type
/OS_AUTH_TYPE
只会触发关于找不到像这样命名的插件的消息。
可悲的是,我找不到任何文档,甚至没有提到这一点。Keystone 客户端是否需要单独的身份验证插件?
CLI 版本为 5.4.0。
我知道如何通过openstack
CLI 通过用户凭证和令牌对 OpenStack 进行身份验证。现在我想知道如何使用应用程序凭据进行身份验证。
使用application_credential
or application_credentials
as auth_type
/OS_AUTH_TYPE
只会触发关于找不到像这样命名的插件的消息。
可悲的是,我找不到任何文档,甚至没有提到这一点。Keystone 客户端是否需要单独的身份验证插件?
CLI 版本为 5.4.0。
我发现了一个 Mumble 服务器的性能问题,我在上一个问题中描述的是由未知来源的 I/O 延迟问题引起的。由于我不知道是什么原因造成的,也不知道如何进一步调试它,所以我想征求您对这个主题的看法。
我正在运行一个Hetzner EX4S 根服务器作为 KVM 管理程序。服务器运行 Debian Wheezy Beta 4,并通过 LibVirt 使用 KVM 虚拟化。
服务器有两个不同的 3TB 硬盘驱动器,因为在报告 SMART 错误后更换了一个硬盘驱动器。第一个硬盘是 Seagate Barracuda XT ST33000651AS(512 字节逻辑,4096 字节物理扇区大小),另一个是 Seagate Barracuda 7200.14 (AF) ST3000DM001-9YN166(512 字节逻辑和物理扇区大小)。有两个 Linux 软件 RAID1 设备。一个用于未加密的启动分区,一个作为加密其余部分的容器,使用两个硬盘驱动器。
在后一个 RAID 设备中有一个 AES 加密的 LUKS 容器。在 LUKS 容器内有一个 LVM 物理卷。hypervisor 的 VFS 在所描述的 LVM 物理卷上分为三个逻辑卷:一个用于 /,一个用于 /home,一个用于 swap。
下面是块设备配置栈的示意图:
sda (Physical HDD)
- md0 (RAID1)
- md1 (RAID1)
sdb (Physical HDD)
- md0 (RAID1)
- md1 (RAID1)
md0 (Boot RAID)
- ext4 (/boot)
md1 (Data RAID)
- LUKS container
- LVM Physical volume
- LVM volume hypervisor-root
- LVM volume hypervisor-home
- LVM volume hypervisor-swap
- … (Virtual machine volumes)
来宾系统(虚拟机)也大多运行 Debian Wheezy Beta 4。我们有一个额外的 Ubuntu Precise 实例。他们也从 LVM 物理卷中获取块设备。这些卷是通过 Virtio 驱动程序以本机写入模式访问的。管理程序和来宾系统上的 IO 调度程序(电梯)都设置为deadline
默认值cfs
,因为根据我们的 bonnie++ 测试系列,这恰好是性能最高的设置。
I/O 延迟问题不仅会在客户系统内部出现,还会影响在管理程序系统本身上运行的服务。设置看起来很复杂,但我确信不是基本结构导致了延迟问题,因为我以前的服务器运行了四年,基本设置几乎相同,没有任何性能问题。
在旧设置中,以下内容有所不同:
根据数据表,当前硬盘驱动器和旧机器之一的平均延迟为 4.12 毫秒。
我在 Debian Wheezy Beta 4 系统上运行 PowerDNS 3.1。区域数据通过 PostgreSQL 数据库访问,服务器响应 IPv4 和 IPv6 查询。
如果 DNS 服务器知道区域中 NS 记录引用的其中一个名称服务器的 A 记录,它会自动将这些 A 记录作为附加信息返回到对该区域的 NS 查询的响应中。现在,即使它知道 NS 记录的其中一个名称服务器的 AAAA 记录,它目前也永远不会返回 AAAA 记录作为附加信息。
我怎样才能启用它?或者有什么我可能做错的吗?
输出dig @ns.mydomain.tld NS mydomain.tld
:
;; QUESTION SECTION:
;mydomain.tld. IN NS
;; ANSWER SECTION:
mydomain.tld. 86400 IN NS ns3.nsprovider.de.
mydomain.tld. 86400 IN NS ns2.nsprovider.de.
mydomain.tld. 86400 IN NS ns.mydomain.tld.
mydomain.tld. 86400 IN NS ns.nsprovider.de.
;; ADDITIONAL SECTION:
ns2.nsprovider.de. 86400 IN A 1.2.3.1
ns.nsprovider.de. 86400 IN A 1.2.3.2
ns.mydomain.tld. 600 IN A 192.0.2.194
ns3.nsprovider.de. 86400 IN A 1.2.3.3
输出dig @ns.mydomain.tld A ns.mydomain.tld
:
;; QUESTION SECTION:
;ns.mydomain.tld. IN A
;; ANSWER SECTION:
ns.mydomain.tld. 600 IN A 192.0.2.194
输出dig @ns.mydomain.tld AAAA ns.mydomain.tld
:
;; QUESTION SECTION:
;ns.mydomain.tld. IN AAAA
;; ANSWER SECTION:
ns.mydomain.tld. 86400 IN AAAA 2001:db8:100:3022:1::3
我在 Debian Wheezy Beta 4 (x86_64) KVM 来宾上运行 Mumble 服务器 (Murmur),它在 Debian Wheezy Beta 4 (x86_64) KVM 管理程序上运行。来宾计算机通过 Virtio 网络接口连接到管理程序系统上的桥接设备。Hypervisor 连接到 100Mbit/s 上行链路,并在来宾计算机和其余 Internet 之间进行 IP 路由。
在此设置中,我们在双击客户端中的频道和发生频道加入操作之间经历了明显可识别的延迟。在 Linux 和 Windows 系统上,1.2.3 和 1.2.4 之间的许多不同客户端都会发生这种情况。
语音质量和延迟似乎完全不受此影响。大多数时候,客户端的信息对话表明语音和控制通道都有 16 毫秒的延迟。控制通道的偏差大多比语音通道之一高很多。在某些情况下,控制通道显示为 100ms ping 和大约 1000 的偏差。看来 TCP 性能是这里的一个问题。
我们在早期的设置上没有遇到任何问题,这在原则上与新设置非常相似。我们使用基于 Debian Lenny 的 Xen 虚拟机管理程序和软虚拟化来宾机器以及 Mumble 1.2.3 系列的早期版本。
目前murmurd --version
说:1.2.3-349-g315b5f5-2.1
更新:我在这个讨论中发现有人在虚拟化系统上运行 Mumble,他们遇到的问题与我完全相同。
到目前为止我尝试过的(完全没有成功):
更新:之前我说过我已经测试过将 Mumble 数据库和日志文件放在tmpfs
内存文件系统中,但没有解决问题。我在那里犯了一个错误,所以它实际上并没有存储在tmpfs
. 现在我已经真正做到了,性能问题就消失了。但是将它存储在 atmpfs
中并不能真正解决我的问题。
自 OpenSSH 5.4 以来,有一个称为 natcat 模式的新功能,它允许您将本地 SSH 客户端绑定STDIN
到STDOUT
可通过远程 SSH 服务器访问的 TCP 端口。只需调用即可启用此模式ssh -W [HOST]:[PORT]
从理论上讲,这应该非常适合用于ProxyCommand
每台主机 SSH 配置的设置,它以前经常与nc
(netcat) 命令一起使用。ProxyCommand
允许您将一台机器配置为本地机器和目标 SSH 服务器之间的代理,例如,如果目标 SSH 服务器隐藏在防火墙后面。
现在的问题是,它没有工作,而是在我面前抛出一条神秘的错误信息:
Bad packet length 1397966893.
Disconnecting: Packet corrupt
这是我的摘录~/.ssh/config
:
Host *
Protocol 2
ControlMaster auto
ControlPath ~/.ssh/cm_socket/%r@%h:%p
ControlPersist 4h
Host proxy-host proxy-host.my-domain.tld
HostName proxy-host.my-domain.tld
ForwardAgent yes
Host target-server target-server.my-domain.tld
HostName target-server.my-domain.tld
ProxyCommand ssh -W %h:%p proxy-host
ForwardAgent yes
正如您在此处看到的,我正在使用 ControlMaster 功能,因此我不必为每个主机打开多个 SSH 连接。
我测试的客户端机器是 Ubuntu 11.10 (x86_64),代理主机和目标服务器都是 Debian Wheezy Beta 3 (x86_64) 机器。
当我打电话时发生错误ssh target-server
。当我用-vvv
标志调用它时,这是我另外得到的:
OpenSSH_5.8p1 Debian-7ubuntu1, OpenSSL 1.0.0e 6 Sep 2011
debug1: Reading configuration data /home/aef/.ssh/config
debug1: Applying options for *
debug1: Applying options for target-server.my-domain.tld
debug1: Reading configuration data /etc/ssh/ssh_config
debug1: Applying options for *
debug1: Applying options for target-server.my-domain.tld
debug1: auto-mux: Trying existing master
debug1: Control socket "/home/aef/.ssh/cm_socket/[email protected]:22" does not exist
debug2: ssh_connect: needpriv 0
debug1: Executing proxy command: exec ssh -W 192.0.2.195:22 gateway-host.my-domain.tld
debug1: identity file /home/aef/.ssh/id_rsa type -1
debug1: identity file /home/aef/.ssh/id_rsa-cert type -1
debug1: identity file /home/aef/.ssh/id_dsa type -1
debug1: identity file /home/aef/.ssh/id_dsa-cert type -1
debug1: identity file /home/aef/.ssh/id_ecdsa type -1
debug1: identity file /home/aef/.ssh/id_ecdsa-cert type -1
debug1: permanently_drop_suid: 1000
Host key fingerprint is 1a:2b:3c:4d:5e:6f:7a:8b:9c:ad:be:cf:de:ed:fe:ef
+--[ECDSA 521]---+
| |
| |
| |
| |
| |
| |
| |
| |
| |
+-----------------+
debug1: Remote protocol version 2.0, remote software version OpenSSH_6.0p1 Debian-3
debug1: match: OpenSSH_6.0p1 Debian-3 pat OpenSSH*
debug1: Enabling compatibility mode for protocol 2.0
debug1: Local version string SSH-2.0-OpenSSH_5.8p1 Debian-7ubuntu1
debug2: fd 5 setting O_NONBLOCK
debug2: fd 4 setting O_NONBLOCK
debug3: load_hostkeys: loading entries for host "192.0.2.195" from file "/home/aef/.ssh/known_hosts"
debug3: load_hostkeys: loaded 0 keys
debug3: load_hostkeys: loading entries for host "192.0.2.195" from file "/etc/ssh/ssh_known_hosts"
debug3: load_hostkeys: found key type ECDSA in file /etc/ssh/ssh_known_hosts:49
debug3: load_hostkeys: found key type RSA in file /etc/ssh/ssh_known_hosts:50
debug3: load_hostkeys: loaded 2 keys
debug3: order_hostkeyalgs: prefer hostkeyalgs: [email protected],[email protected],[email protected],[email protected],[email protected],ecdsa-sha2-nistp256,ecdsa-sha2-nistp384,ecdsa-sha2-nistp521,ssh-rsa
debug1: SSH2_MSG_KEXINIT sent
Bad packet length 1397966893.
Disconnecting: Packet corrupt
更新:现在有-vvv
而不是只有-v
输出。
我知道有一个名为的参数ip
可以让你通过引导加载程序在 Linux 内核上配置 IPv4 地址。看起来像下面这样:
ip=192.0.2.1::192.0.2.62:255.255.255.192::eth0:none
我正在寻找 IPv6 配置的相等参数。我在内核文档中找不到任何相关信息。
更新:因为很多人问我为什么需要这个:使用内核配置的想法与这个问题有关。我怀疑常规启动界面配置没有完成,因为界面已经启动。这样做的原因可能是我正在使用带有 Dropbear SSH 服务器的预引导环境来解锁我的加密根分区。此环境的 IP 地址是通过 GRUB 使用ip=
参数配置的。该以太网段上没有可用的 DHCP 或路由器通告,并且由于这是大型托管公司提供的上行链路段,因此无法改变这一事实。
使用如下这些命令,您可以在 Linux 中添加邻居代理
ip -6 neigh add proxy 2001:db8:100:3022:1::4 dev eth0
有没有办法列出已经定义了哪些代理?