AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-188683

dsl101's questions

Martin Hope
dsl101
Asked: 2020-07-29 07:20:23 +0800 CST

无法启动使用 virt-clone 克隆的域

  • 0

底部的最终更新

我有一个工作的 KVM 域,我已经配置并希望将其用作其他来宾的“模板”。所以,我的流程大致是这样的:

  1. 关闭“源”域 ( 07xQBuild)
  2. 跑virt-clone --original 07xQBuild --name 07x2 --file ./07x2.qcow2
  3. 使用挂载新创建的07x2.qcow2映像guestmount,并编辑网络配置(/etc/netplan/01-config.yaml、/etc/hostname等)等内容
  4. 卸载图像并开始virsh start 07x2

但这总是以:

error: Failed to start domain 07x2
error: Cannot open log file: '/usr/local/var/log/libvirt/qemu/07x2-fs0-virtiofsd.log': Device or resource busy

没有07x2-fs0-virtiofsd.log文件,07x2.log文件只包含:

2020-07-28 13:42:29.400+0000: shutting down, reason=failed

我尝试运行LIBVIRT_DEBUG=1 virsh start 07x2,但在 400 多行输出中,我只能看到以下错误:

2020-07-28 13:15:00.954+0000: 40737: info : virObjectNew:250 : OBJECT_NEW: obj=0x56440bb29480 classname=virDomain
2020-07-28 13:15:00.954+0000: 40737: info : virObjectRef:385 : OBJECT_REF: obj=0x56440bb25be0
2020-07-28 13:15:00.954+0000: 40737: debug : virDomainGetID:1721 : dom=0x56440bb29480, (VM: name=07x2, uuid=761c9104-b8de-474a-a5d6-31be46b50562)
2020-07-28 13:15:00.955+0000: 40737: debug : virDomainCreate:6544 : dom=0x56440bb29480, (VM: name=07x2, uuid=761c9104-b8de-474a-a5d6-31be46b50562)
2020-07-28 13:15:00.955+0000: 40737: debug : virNetMessageNew:45 : msg=0x56440bb27df0 tracked=0
2020-07-28 13:15:00.955+0000: 40737: debug : virNetMessageEncodePayload:388 : Encode length as 60
2020-07-28 13:15:00.955+0000: 40737: info : virNetClientSendInternal:2108 : RPC_CLIENT_MSG_TX_QUEUE: client=0x56440bb26f60 len=60 prog=536903814 vers=1 proc=9 type=0 status=0 serial=7
2020-07-28 13:15:00.955+0000: 40737: debug : virNetClientCallNew:2061 : New call 0x56440bb39290: msg=0x56440bb27df0, expectReply=1, nonBlock=0
2020-07-28 13:15:00.955+0000: 40737: debug : virNetClientIO:1879 : Outgoing message prog=536903814 version=1 serial=7 proc=9 type=0 length=60 dispatch=(nil)
2020-07-28 13:15:00.955+0000: 40737: debug : virNetClientIO:1931 : We have the buck head=0x56440bb39290 call=0x56440bb39290
2020-07-28 13:15:00.955+0000: 40737: info : virEventGLibHandleUpdate:196 : EVENT_GLIB_UPDATE_HANDLE: watch=1 events=0
2020-07-28 13:15:00.955+0000: 40737: debug : virEventGLibHandleUpdate:206 : Update handle data=0x56440bb27420 watch=1 fd=4 events=0
2020-07-28 13:15:00.955+0000: 40737: debug : virEventGLibHandleUpdate:227 : Removed old handle watch=15
2020-07-28 13:15:00.955+0000: 40738: debug : virEventRunDefaultImpl:340 : running default event implementation
2020-07-28 13:15:00.955+0000: 40737: info : virEventGLibTimeoutUpdate:381 : EVENT_GLIB_UPDATE_TIMEOUT: timer=2 interval=5000
2020-07-28 13:15:00.955+0000: 40737: debug : virEventGLibTimeoutUpdate:390 : Update timeout data=0x56440bb27dc0 timer=2 interval=5000 ms
2020-07-28 13:15:00.955+0000: 40738: debug : virEventRunDefaultImpl:340 : running default event implementation
2020-07-28 13:15:02.363+0000: 40737: info : virEventGLibTimeoutUpdate:381 : EVENT_GLIB_UPDATE_TIMEOUT: timer=2 interval=3000
2020-07-28 13:15:02.363+0000: 40737: debug : virEventGLibTimeoutUpdate:390 : Update timeout data=0x56440bb27dc0 timer=2 interval=3000 ms
2020-07-28 13:15:02.363+0000: 40737: debug : virNetMessageDecodeLength:160 : Got length, now need 304 total (300 more)
2020-07-28 13:15:02.363+0000: 40737: info : virNetClientCallDispatch:1263 : RPC_CLIENT_MSG_RX: client=0x56440bb26f60 len=304 prog=536903814 vers=1 proc=9 type=1 status=1 serial=7
2020-07-28 13:15:02.363+0000: 40737: debug : virKeepAliveCheckMessage:369 : ka=0x56440bb28bb0, client=0x56440bb26f60, msg=0x56440bb26fc8
2020-07-28 13:15:02.363+0000: 40737: info : virEventGLibTimeoutUpdate:381 : EVENT_GLIB_UPDATE_TIMEOUT: timer=2 interval=5000
2020-07-28 13:15:02.363+0000: 40737: debug : virEventGLibTimeoutUpdate:390 : Update timeout data=0x56440bb27dc0 timer=2 interval=5000 ms
2020-07-28 13:15:02.363+0000: 40737: debug : virNetMessageClear:73 : msg=0x56440bb26fc8 nfds=0
2020-07-28 13:15:02.363+0000: 40738: debug : virEventRunDefaultImpl:340 : running default event implementation
2020-07-28 13:15:02.363+0000: 40737: debug : virNetClientIOEventLoopPassTheBuck:1559 : Giving up the buck 0x56440bb39290
2020-07-28 13:15:02.363+0000: 40737: debug : virNetClientIOEventLoopPassTheBuck:1573 : No thread to pass the buck to
2020-07-28 13:15:02.363+0000: 40737: info : virEventGLibHandleUpdate:196 : EVENT_GLIB_UPDATE_HANDLE: watch=1 events=1
2020-07-28 13:15:02.363+0000: 40737: debug : virEventGLibHandleUpdate:206 : Update handle data=0x56440bb27420 watch=1 fd=4 events=1
2020-07-28 13:15:02.363+0000: 40737: debug : virEventGLibHandleUpdate:222 : Added new handle watch=19
2020-07-28 13:15:02.363+0000: 40737: debug : virNetClientIO:1956 : All done with our call head=(nil) call=0x56440bb39290 rv=0
2020-07-28 13:15:02.363+0000: 40737: debug : virNetMessageFree:86 : msg=0x56440bb27df0 nfds=0 cb=(nil)
2020-07-28 13:15:02.363+0000: 40738: debug : virEventRunDefaultImpl:340 : running default event implementation
2020-07-28 13:15:02.363+0000: 40737: debug : virDomainGetName:1642 : domain=0x56440bb29480
error: Failed to start domain 07x2
2020-07-28 13:15:02.363+0000: 40737: debug : virDomainFree:562 : dom=0x56440bb29480, (VM: name=07x2, uuid=761c9104-b8de-474a-a5d6-31be46b50562)
2020-07-28 13:15:02.364+0000: 40737: info : virObjectUnref:347 : OBJECT_UNREF: obj=0x56440bb29480
2020-07-28 13:15:02.364+0000: 40737: info : virObjectUnref:349 : OBJECT_DISPOSE: obj=0x56440bb29480
2020-07-28 13:15:02.364+0000: 40737: debug : virDomainDispose:323 : release domain 0x56440bb29480 07x2 761c9104-b8de-474a-a5d6-31be46b50562
2020-07-28 13:15:02.364+0000: 40737: info : virObjectUnref:347 : OBJECT_UNREF: obj=0x56440bb25be0
error: Cannot open log file: '/usr/local/var/log/libvirt/qemu/07x2-fs0-virtiofsd.log': Device or resource busy

我尝试转储源域的 XML(有效)和克隆的 XML(无效),唯一的 4 个区别是名称、uuid、源文件和 mac 地址:

# diff 07xQBuild.xml 07x2.xml
2,3c2,3
<   <name>07xQBuild</name>
<   <uuid>24ed7962-518e-4151-8635-84cb72a8a9b4</uuid>
---
>   <name>07x2</name>
>   <uuid>761c9104-b8de-474a-a5d6-31be46b50562</uuid>
45c45
<       <source file='/fast_data/kvm/images/07xQBuild.qcow2'/>
---
>       <source file='/fast_data/kvm/images/07x2.qcow2'/>
83c83
<       <mac address='52:54:00:01:7c:fc'/>
---
>       <mac address='52:54:00:c6:4a:e4'/>

使用 克隆域后是否还需要其他东西virt-clone?

2020-07-28 17:10 英国夏令时更新

好的,这似乎很简单——我可以创建一个名为 07x3 的新来宾,并且一切正常。由于我一直在重建和测试 07x2 几次,看起来有些东西卡住了。要删除和重新创建域,我一直在这样做:

# virsh destroy 07x2
# virsh undefine 07x2
# rm 07x2.qcow2

这对所有其他域都有效,但 07x2 总是会导致该错误。所以我想新的问题是如何找出我还需要删除/清除/清除什么才能重新创建它?

2020-08-14 11:31 英国夏令时更新

根据@gediz-gÜrsu 的回答,我尝试了这个:

  1. # cp -a /fast_data/kvm/images/07xTemplate.qcow2 /fast_data/kvm/images/07x2.qcow2
  2. # cp -a /usr/local/etc/libvirt/qemu/07xTemplate.xml /usr/local/etc/libvirt/qemu/07x2.xml
  3. 编辑那个xml,替换名字、uuid、磁盘源和mac地址
  4. # virsh define /usr/local/etc/libvirt/qemu/07x2.xml
  5. 用于guestmount更新磁盘映像设置(IP 地址等)
  6. # virsh start 07x2

我得到了完全相同的错误,并且没有名为07x2-fs0-virtiofsd.log. 07x2.log看起来与原始问题完全相同。所以我想我们可以排除virt-clone问题的原因。

然而,运行lsof | grep virtiofsd.log产生了这个:

virtlogd   3255                   root   15w      REG              253,1           0    5773534 /usr/local/var/log/libvirt/qemu/07x1-fs0-virtiofsd.log
virtlogd   3255                   root   17w      REG              253,1           0    5773535 /usr/local/var/log/libvirt/qemu/07x1-fs1-virtiofsd.log
virtlogd   3255                   root   19w      REG              253,1           0    5773536 /usr/local/var/log/libvirt/qemu/07x1-fs2-virtiofsd.log
virtlogd   3255                   root   21w      REG              253,1           0    5773537 /usr/local/var/log/libvirt/qemu/07x1-fs3-virtiofsd.log
virtlogd   3255                   root   23w      REG              253,1           0    5773538 /usr/local/var/log/libvirt/qemu/07x1-fs4-virtiofsd.log
virtlogd   3255                   root   27w      REG              253,1           0    5767384 /usr/local/var/log/libvirt/qemu/07x2-fs0-virtiofsd.log (deleted)
virtlogd   3255                   root   29w      REG              253,1           0    5767385 /usr/local/var/log/libvirt/qemu/07x2-fs1-virtiofsd.log (deleted)
virtlogd   3255                   root   31w      REG              253,1           0    5773542 /usr/local/var/log/libvirt/qemu/07x3-fs0-virtiofsd.log
virtlogd   3255                   root   33w      REG              253,1           0    5773543 /usr/local/var/log/libvirt/qemu/07x3-fs1-virtiofsd.log
virtlogd   3255                   root   35w      REG              253,1           0    5773807 /usr/local/var/log/libvirt/qemu/07x3-fs2-virtiofsd.log
virtlogd   3255                   root   37w      REG              253,1           0    5773808 /usr/local/var/log/libvirt/qemu/07x3-fs3-virtiofsd.log
virtlogd   3255                   root   39w      REG              253,1           0    5774205 /usr/local/var/log/libvirt/qemu/07x3-fs4-virtiofsd.log

对不起,它很宽 - 滚动查看(deleted)我猜是问题原因的 2 个条目。因此,解决方案似乎很简单service virtlogd restart。我现在能够成功启动该域!

kvm-virtualization libvirt virsh
  • 1 个回答
  • 418 Views
Martin Hope
dsl101
Asked: 2020-05-15 05:52:39 +0800 CST

在 Ubuntu 18.04 上通过 systemd 诊断高 CPU 使用率

  • 1

不知道这到底是什么时候开始的,但我想是最近几天。我在服务器上安装了 Ubuntu 18.04,并注意到它的负载非常高。它几乎什么也没做(我已经安装了 2 个 KVM 来宾,但现在只有 1 个在运行)。它有24个逻辑核心,重启后负载一直是12个。启动/停止 KVM 来宾没有任何区别

快照htop:

htop

运行systemd-cgtop显示更多:

systemd-cgtop

在该过程上运行 stracehtop主要显示如下所示的行:

epoll_pwait(4, [], 1024, 345, NULL, 8)  = 0
epoll_pwait(4, [], 1024, 154, NULL, 8)  = 0
epoll_pwait(4, [], 1024, 500, NULL, 8)  = 0
epoll_pwait(4, [], 1024, 345, NULL, 8)  = 0
epoll_pwait(4, [], 1024, 155, NULL, 8)  = 0

偶尔会混合:

epoll_pwait(4, [], 1024, 160, NULL, 8)  = 0
epoll_pwait(4, [{EPOLLIN, {u32=13, u64=13}}], 1024, 500, NULL, 8) = 1
read(13, "{\"id\":90,\"jsonrpc\":\"2.0\",\"error\""..., 2048) = 64
futex(0xa15408, FUTEX_WAKE_PRIVATE, 1)  = 1
futex(0xa153a0, FUTEX_WAKE_PRIVATE, 1)  = 1
epoll_pwait(4, [{EPOLLIN, {u32=9, u64=9}}], 1024, 164, NULL, 8) = 1
read(9, "\1\0\0\0\0\0\0\0", 1024)       = 8
epoll_pwait(4, [], 1024, 164, NULL, 8)  = 0

如果我只是终止该进程,一切似乎都会恢复正常——当然是加载明智的,并且 KVM 来宾似乎不受影响。

还有什么我可以尝试找出根本原因是什么吗?

其他信息——请询问其他有用的信息:

# dpkg -l systemd
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                    Version          Architecture     Description
+++-=======================-================-================-===================================================
ii  systemd                 237-3ubuntu10.40 amd64            system and service manager

# apt list --installed | grep systemd
libnss-systemd/bionic-updates,now 237-3ubuntu10.40 amd64 [installed]
libpam-systemd/bionic-updates,now 237-3ubuntu10.40 amd64 [installed]
libsystemd0/bionic-updates,now 237-3ubuntu10.40 amd64 [installed]
python3-systemd/bionic,now 234-1build1 amd64 [installed]
systemd/bionic-updates,now 237-3ubuntu10.40 amd64 [installed]
systemd-sysv/bionic-updates,now 237-3ubuntu10.40 amd64 [installed]

输出perf top --pid=$(pgrep systemd -d,):

Samples: 4M of event 'cycles:ppp', Event count (approx.): 455698006733
Overhead  Shared Object             Symbol
   4.07%  systemd                   [.] hashAes1Rx4<false>
   2.90%  systemd                   [.] fillAes1Rx4<false>
   0.44%  systemd                   [.] randomx::JitCompilerX86::generateProgramPrologue
   0.32%  perf-1597.map             [.] 0x00007f4fe9795105
   0.28%  perf-1597.map             [.] 0x00007f4fe97c5105
   0.28%  perf-1597.map             [.] 0x00007f4fe97b5105
   0.28%  perf-1597.map             [.] 0x00007f4fe9795129
   0.28%  perf-1597.map             [.] 0x00007f4fe97a5105
   0.27%  perf-1597.map             [.] 0x00007f4fe97e5105
   0.27%  perf-1597.map             [.] 0x00007f4fe97d5105
   0.25%  perf-1597.map             [.] 0x00007f4fe97c5129
   0.25%  perf-1597.map             [.] 0x00007f4fe97b5129
   0.25%  perf-1597.map             [.] 0x00007f4fe97d5129
   0.25%  perf-1597.map             [.] 0x00007f4fe97e5129
   0.25%  perf-1597.map             [.] 0x00007f4fe97a5129
   0.24%  perf-1597.map             [.] 0x00007f4fe9845129
   0.24%  perf-1597.map             [.] 0x00007f4fe9825129
   0.24%  perf-1597.map             [.] 0x00007f4fe9815129
   0.24%  perf-1597.map             [.] 0x00007f4fe9835129
   0.24%  perf-1597.map             [.] 0x00007f4fe9845105
   0.23%  perf-1597.map             [.] 0x00007f4fe9805129
   0.23%  perf-1597.map             [.] 0x00007f4fe9835105
   0.23%  perf-1597.map             [.] 0x00007f4fe97f5129
   0.23%  perf-1597.map             [.] 0x00007f4fe9825105
   0.23%  perf-1597.map             [.] 0x00007f4fe9815105
   0.23%  perf-1597.map             [.] 0x00007f4fe97f5105
   0.23%  perf-1597.map             [.] 0x00007f4fe9805105
   0.16%  systemd                   [.] randomx::JitCompilerX86::h_CBRANCH
   0.09%  systemd                   [.] randomx::JitCompilerX86::h_ISTORE
   0.08%  systemd                   [.] fillAes4Rx4<false>
   0.08%  systemd                   [.] randomx::JitCompilerX86::h_FMUL_R
   0.05%  systemd                   [.] randomx::JitCompilerX86::h_IADD_RS
   0.05%  systemd                   [.] randomx_reciprocal_fast
   0.05%  systemd                   [.] randomx::JitCompilerX86::h_IMUL_R
   0.05%  systemd                   [.] randomx::JitCompilerX86::h_ISUB_R
   0.04%  systemd                   [.] randomx::JitCompilerX86::h_IXOR_R
   0.04%  systemd                   [.] randomx::JitCompilerX86::h_FSUB_R
systemd ubuntu-18.04
  • 1 个回答
  • 3660 Views
Martin Hope
dsl101
Asked: 2017-03-17 08:14:38 +0800 CST

通过端口 22 的 SFTP 或通过端口 20 / 21 的 vsftp - 保护对服务器的 FTP 访问的最佳方式

  • 0

我已经阅读了很多关于 SF 的文章和问题,但仍然无法弄清楚我这样做的方式是否 (a) 可能,并且 (b) 安全。

服务器在 AWS EC2 上运行,所有访问都通过 SSH 密钥。我也只向我自己的 IP 开放端口 22,但似乎如果我想允许其他人通过 SFTP 访问,我需要向全世界开放端口 22(或者花我的时间管理动态 IP 地址的防火墙规则)。这真的比端口 21 上的 vsftp 更好吗?

假设目前端口 22 上的 SFTP 是最好的,这就是我所做的:

  • 使用公钥/私钥创建了一个“ftp”用户
  • 设置/home/ftp/.ssh/authorized_keys和测试 SSH 访问
  • 在指向中添加了一个ChrootDirectory条目/etc/ssh/sshd_config/var/www/html
  • 从向下调整权限,/var/www使 chroot '工作'

现在,我陷入了一个看似 22 的问题,我怀疑(希望)只是配置错误。如果没有 sshd_config 中的 chroot 块,我可以通过 Putty 或 SFTP 客户端进行连接,一切都很好——除了可以访问整个文件系统。有了 chroot 块,我Could not chdir to home directory /home/ftp在身份验证期间遇到了错误,因为现在该/home/ftp/.ssh文件夹无法访问,因此密钥不起作用。这个老问题/答案建议在.ssh文件夹中放置一个文件/var/www/html/夹,但这对我来说似乎很奇怪 - 这样做真的可以吗,因为它可以被 Web 服务器访问?

是否有更“正确”的方式让用户通过 SSH 密钥连接然后仅限于 /var/www/html?

ssh sftp chroot
  • 1 个回答
  • 4942 Views
Martin Hope
dsl101
Asked: 2015-03-22 09:26:13 +0800 CST

如何检查 Exim 是否有外发邮件的副本

  • -1

我们使用了一个非常简单的 Exim 配置,它基本上通过 Smarthost 将所有传入的邮件转发给少数最终收件人。通常这工作正常 - 我们不会在服务器本身上读取任何邮件,并且转发非常可靠。然而,在 48 小时内,由于 Smarthost 上的配置错误,Smarthost 默默地丢弃了邮件,但它向 Exim 报告邮件发送正常。因此,所有 Exim 日志都表明成功。当然,现在我们已经丢失了几十封非常重要的电子邮件:(。

我已经询问了我们的 Smarthost 提供商是否可以恢复它们,但作为 B 计划,我想知道如何检查 Exim 在某处的队列/存档/发送文件夹中是否仍有副本。dpkg-reconfigure exim4鉴于我们实际上并没有在服务器上运行邮件客户端,除了简单地设置 Smarthost之外,我什么也没做。从周围阅读来看,让 Exim 保留副本似乎需要做很多工作,所以我假设我们不会有任何东西。但我很想知道如何确定——如果确实有可能的话。

exim
  • 1 个回答
  • 588 Views
Martin Hope
dsl101
Asked: 2015-03-21 04:44:48 +0800 CST

通配符 DNS 条目和 SPF 之间的冲突

  • 1

我在亚马逊的 Route53 上设置了一个域,似乎以下条目不起作用(显然,实际值已被替换)。谁能建议如何设置?

这是初始设置,工作正常:

sub.example.com.        A       1.2.3.4
*.sub.example.com.  CNAME   sub.example.com.

这允许我们使用类似的 URLdave.sub.example.com/pages并让 Apache 将其重写为sub.domain.com/users/dave/pages.

然后我去为 SPF 添加一条 TXT 记录:

sub.example.com.        TXT     "v=spf1 include:spf.mandrillapp.com ?all"

但是现在 Mandrill 报这个错误:

We found a record named sub.example.com.sub.example.com. Try changing it to sub.example.com.

我的(未受过教育的)猜测是CNAME记录胜过TXT记录。有没有办法让这些和平共存并保留*.sub.example.com重写?

domain-name-system
  • 1 个回答
  • 706 Views
Martin Hope
dsl101
Asked: 2013-11-20 02:50:51 +0800 CST

第一次尝试将 EC2 MySQL 迁移到 Amazon RDS 不顺利 - 超级特权

  • 12

我一直在尝试将现有数据库从运行在 EC2 上的 MySQL 移动到新的 Amazon RDS 实例(一个实验,看看我们是否可以移动)。到目前为止,进展并不顺利。在设置复制之前,我被困在初始导入(此处的说明)。

我已经按照描述准备了 RDS 实例,并且可以使用 mysql 从 EC2 实例连接到它。我运行 mysqldump 命令为:

mysqldump --master-data --databases db1 db2 > dump.sql

然后尝试将其上传到 RDS:

mysql -h RDSHost -P 3306 -u rdsuser --password=rdspassword < dump.sql

第一个问题出现在转储的第 22 行:

将 MASTER 更改为 MASTER_LOG_FILE='mysql-bin.000002', MASTER_LOG_POS=106;

此行导致错误ERROR 1227 (42000) at line 22: Access denied; you need (at least one of) the SUPER privilege(s) for this operation。没问题,只是注释掉了那行,希望稍后通过mysql.rds_set_external_master() 修复它。重试上传,得到一个非常相似的错误:ERROR 1227 (42000) at line 7844: Access denied; you need (at least one of) the SUPER privilege(s) for this operation. 第 7844 行周围的部分如下所示:

/*!50001 CREATE ALGORITHM=UNDEFINED */
/*!50013 DEFINER=`dev`@`localhost` SQL SECURITY DEFINER */
/*!50001 VIEW `jos_contributor_ids_view` AS select `jos_resource_contributors_view`.`uidNumber` AS `uidNumber` from `jos_resource_contributors_view` union select `jos_wiki_contributors_view`.`uidNumber` AS `uidNumber` from `jos_wiki_contributors_view` */;

通过注释掉前两行并在第三行添加“CREATE”,我能够通过这一行。但是有很多这样的部分。有没有办法在没有所有编辑的情况下解决这个问题?喜欢mysqldump不生产任何需要超级特权的东西的选项?

似乎很多人都遇到过类似的问题,比如不得不sed针对 mysqldump / mysqlbinlog 的输出运行!我也将在 AWS 论坛上发帖——我真的认为 RDS 应该有一种更宽容的从 mysqldump 导入的方式,或者可以针对现有数据库运行的特定工具来创建一个与 RDS 安全性有关的转储。只是想知道是否有人有其他可能对这里有所帮助的食谱或技巧。

谢谢,

戴夫

mysql
  • 2 个回答
  • 14937 Views
Martin Hope
dsl101
Asked: 2013-09-06 03:04:34 +0800 CST

/etc/hosts 中具有不同 IP 地址的多个主机名条目的预期行为是什么?

  • 4

我知道这已经在 几个 地方讨论过,但似乎还没有一个明确的答案——至少对于 RHEL 6 来说不是。我只是希望有人能够指出它是如何工作的,这样我就可以挖掘一个小的。

简短版本:我有一个带有公共 IP 地址的 OpenVZ 主机节点,它充当一组具有私有 IP 地址的 OpenVZ 容器的反向代理。我创建了 2 个具有相同名称的容器(如果您想知道原因,请跳到下面的长版本),并且 HN 在其中也有这些条目(以及其他条目)/etc/hosts:

# Generated by make_clone.sh
10.0.0.130 testbackup.xxx.yy
10.0.0.131 testbackup.xxx.yy

我可以使用 OpenVZ 通过 ID 暂停/恢复这些主机中的任何一个,并且反向代理似乎神奇地将请求路由到正在运行的任何主机(例如,到 IP 地址10.0.0.130或10.0.0.131. 但我终生无法找到哪个软件在做这个。它是 Apache 吗?它是在 HN 的网络系统中的东西吗?其他的东西?它似乎有效,但我想知道更多关于为什么/如何,因为似乎也有关于它是否应该工作存在很大的意见分歧。要明确的是,我不是在这里寻找循环或负载平衡。只是简单的,从一个 OpenVZ 容器手动切换到另一个容器。

Lomg 版本:在设置一些脚本来创建和管理一系列 OpenVZ 容器时,我创建了一个名为的脚本make_clone.sh,它接受一个模板并创建一个新容器。该脚本采用 2 个参数 - 容器 ID 和所需的主机名。它所做的一件事是10.0.0.*为容器分配一个新的 IP 地址并配置一些网络,其中一个元素是将一个条目放入主机节点的/etc/hosts文件中。

在为这些容器测试一些备份/恢复脚本时,我想“假装”一个特定的容器已经死亡,启动另一个具有相同名称的容器并恢复备份。我没有实际删除原始容器,而是vzctl stop 130将其离线。然后我创建了一个 ID 为 131 但名称相同的新容器。启动后,我恢复了 MySQL 数据库并检查(通过浏览器)我可以访问它 - 它运行 Joomla 并进行了一些自定义 - 一切都很好。

但后来我注意到在主机节点中/etc/hosts,我有这两个条目(以及其他条目):

# Generated by make_clone.sh
10.0.0.130 testbackup.xxx.yy
10.0.0.131 testbackup.xxx.yy

主机节点还充当反向代理。只有主机节点有外部 IP 地址,其 Apache 配置有效地将子域映射到容器。因此,除了 /etc/hosts 中的上述条目外,它在 httpd 配置中也有类似这样的部分:

` 服务器名 testbackup.xxx.yy

    ProxyRequests Off
    <Proxy *>
            Order deny,allow
            Allow from all
    </Proxy>

    ProxyPass /server-status !
    ProxyPass / http://testbackup.xxx.yy/
    ProxyPassReverse / http://testbackup.xxx.yy/

    <Location />
            Order allow,deny
            Allow from all
    </Location>

`

在我描述的场景中,由于脚本,它实际上会以其中两个部分结束,但它们是相同的——它通过主机名而不是 IP 来引用容器,这让我认为不是 Apache 本身在挑选“工作”容器。我现在可以浏览到http://testbackup.xxx.yy/(显然是使用真实域名),Apache 似乎很乐意将请求路由到其中的任何一个10.0.0.130或10.0.0.131已启动。我可以通过简单地暂停/恢复 OpenVZ 容器来在它们之间切换。

我没想到这会起作用 - 但它确实很好。我的问题是,应该吗?可以依靠吗?或者它只是一个侥幸,当某个地方的其他配置文件中的任何一点绒毛被整理后,它就会停止工作?

reverse-proxy
  • 1 个回答
  • 2479 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve